@font-face{font-family:Marcellus;src:url(/games/ringwright/play/fonts/marcellus.woff2)format("woff2");font-display:swap}@font-face{font-family:Manrope;font-weight:200 800;src:url(/games/ringwright/play/fonts/manrope.woff2)format("woff2");font-display:swap}:root{--page:#0b2e30;--page-deep:#061d1e;--ink:#f3e9cf;--muted:#a9c3bd;--gold:#e0b450;--panel:#103b3d;--line:#2a5a58;--grout:#04191a;--garnet:#d8443b;--display:"Marcellus", "Times New Roman", serif;--ui:"Manrope", system-ui, sans-serif;--dentil:repeating-linear-gradient(90deg, var(--gold) 0 7px, var(--grout) 7px 9px, var(--page-deep) 9px 16px, var(--grout) 16px 18px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background-color:var(--page);background-image:linear-gradient(90deg, #00000024 1px, transparent 1px), linear-gradient(#00000024 1px, transparent 1px), radial-gradient(120% 70% at 50% 0%, transparent 40%, var(--page-deep) 100%);color:var(--ink);font:500 16px/1.45 var(--ui);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background-size:11px 11px,11px 11px,100% 100%}#app{max-width:520px;min-height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin:0 auto}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}h1,h2{font-family:var(--display);margin:0;font-weight:400}.home{flex-direction:column;align-items:center;gap:10px;min-height:100dvh;padding:20px 20px 28px;display:flex}.hero{aspect-ratio:1;filter:drop-shadow(0 14px 30px #00000073);width:min(84vw,400px,46dvh);margin-top:8px}.mast{text-align:center}.mast h1{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:6px;padding-left:.14em;font-size:clamp(40px,12vw,56px);line-height:1}.mast .tag{color:var(--muted);margin:10px 0 0;font-size:15px}.home-actions{gap:12px;width:100%;max-width:360px;margin-top:auto;display:grid}.daily,.big{text-align:left;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:3px;background:var(--panel);width:100%;display:grid;position:relative}.daily{grid-template-columns:1fr auto;margin:4px 0 6px;padding:16px 18px}.daily:before{content:"";background:var(--dentil);height:4px;position:absolute;inset:-8px 18px auto}.kicker{font-family:var(--display);color:var(--gold);grid-column:1;font-size:22px}.daily-status{color:var(--muted);grid-column:1;font-size:14px}.daily .go,.daily .stones{grid-area:1/2/span 2;align-self:center}.daily .go{letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:var(--page-deep);padding:10px 16px;font-size:13px;font-weight:800}.big{border-color:var(--line);outline-color:#0000;grid-template-columns:1fr auto;align-items:baseline;padding:14px 18px;font-weight:700}.big .count{color:var(--muted);font-size:14px;font-weight:500}.home-nav{justify-content:center;gap:28px;margin-top:4px;display:flex}.home-nav button{color:var(--muted);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);padding:8px 4px;font-size:15px;font-weight:600}.stones{gap:4px;display:inline-flex}.stones i{background:var(--line);width:12px;height:12px;transform:rotate(45deg);box-shadow:inset 0 0 0 1px #00000040}.stones i.on{background:linear-gradient(135deg, #fff1bf, var(--gold) 45%, #8a6418)}.bar{grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;padding:8px 10px 4px;display:grid}.bar h2{text-align:center;color:var(--gold);white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.bar h2 small{font-family:var(--ui);color:var(--muted);vertical-align:3px;margin-right:4px;font-size:13px;font-weight:800}.bar-note{text-align:center;color:var(--muted);font-size:13px;font-weight:700}.icon{width:44px;height:44px;color:var(--ink);place-items:center;font-size:22px;font-weight:700;display:grid}.levels{min-height:100dvh}.grid{grid-template-columns:repeat(3,1fr);gap:18px 10px;padding:10px 14px 32px;display:grid}.card{text-align:center;justify-items:center;gap:4px;display:grid}.medal{aspect-ratio:1;place-items:center;width:92px;display:grid;position:relative}.medal canvas{width:100%;height:100%}.medal .num{background:var(--page-deep);border:1px solid var(--gold);min-width:26px;height:26px;color:var(--gold);font:800 12px/1 var(--ui);place-items:center;padding:0 4px;display:grid;position:absolute;bottom:-2px;right:-2px}.card.locked .medal{background:repeating-conic-gradient(var(--panel) 0 10deg, var(--page-deep) 10deg 20deg);box-shadow:inset 0 0 0 2px var(--line);border-radius:50%}.card.locked .num{color:var(--muted);font:400 30px/1 var(--display);background:0 0;border:0;position:static}.card-title{font-size:13px;font-weight:700;line-height:1.2}.card .note{color:var(--muted);font-size:12px}.card .stones i{width:9px;height:9px}.play{flex-direction:column;min-height:100dvh;display:flex}.tally{grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:4px;padding:0 16px;display:grid}.count{justify-items:center;display:grid}.count b{font:400 30px/1.05 var(--display);color:var(--ink)}.count span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.count.over b{color:var(--garnet)}.cartoon{justify-items:center;gap:2px;margin:0;display:grid}.cartoon canvas{width:64px;height:64px}.cartoon figcaption{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.stage{flex:1;align-content:center;width:min(100%,62dvh);margin:0 auto;padding:0 6px;display:grid;position:relative}.board{aspect-ratio:1;touch-action:none;width:100%;display:block}.say{text-wrap:balance;text-align:center;min-height:2.9em;color:var(--ink);margin:4px 22px 0;font-size:14px;font-weight:600}.legend{color:var(--muted);gap:4px;margin:0 auto;padding:0 16px;font-size:13px;font-weight:600;list-style:none;display:grid}.legend li{justify-content:center;align-items:center;gap:6px;display:flex}.jw{border:3px solid var(--c);border-radius:50%;width:14px;height:14px;display:inline-block}.jw.solid{background:var(--c)}.tools{grid-template-columns:1fr 1fr 1.5fr;gap:8px;padding:14px 14px 18px;display:grid}.tools button,.actions button{border:1px solid var(--line);background:var(--panel);min-height:48px;padding:10px 12px;font-size:15px;font-weight:700}.tools .primary,.actions .primary{background:var(--gold);color:var(--page-deep);border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--page-deep), inset 0 0 0 3px var(--gold)}.primary small,.tools small{letter-spacing:.08em;text-transform:uppercase;vertical-align:2px;border:1px solid;margin-left:4px;padding:0 4px;font-size:10px;font-weight:800}.sheet{z-index:10;background:#020c0c9e;place-items:end center;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.sheet-card{width:min(100%,520px);max-height:92dvh;padding:30px 22px calc(22px + env(safe-area-inset-bottom));background:var(--panel);border-top:2px solid var(--gold);text-align:center;animation:.28s cubic-bezier(.2,.9,.3,1.1) rise;position:relative;overflow:auto}.sheet-card:before{content:"";background:var(--dentil);height:5px;position:absolute;inset:8px 0 auto}.sheet-card h2{color:var(--gold);margin:8px 0 6px;font-size:28px}.sheet-card>.stones{margin-top:10px}.sheet-card>.stones i{width:22px;height:22px;margin:0 4px}.sub{color:var(--muted);margin:0 0 14px}.stats{grid-template-columns:repeat(3,1fr);margin:6px 0 16px;display:grid}.stats div{display:grid}.stats b{font:400 28px/1.1 var(--display)}.stats span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.actions{gap:10px;margin-top:12px;display:grid}.actions .plain{background:0 0}.howto{text-align:left;gap:10px;margin:6px 0 4px;padding-left:22px;display:grid}.howto li::marker{font-family:var(--display);color:var(--gold)}.howto b{color:var(--ink)}.toggle{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;padding:12px 4px;font-weight:600;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--gold)}.link{text-align:left;border-bottom:1px solid var(--line);width:100%;padding:12px 4px;font-weight:600;text-decoration:underline;display:block}.fine{color:var(--muted);margin:16px 0 0;font-size:12px}.fine a{color:var(--ink)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-card{animation:none}}@media (height<=700px){.count b{font-size:24px}.cartoon canvas{width:52px;height:52px}.say{min-height:2.2em;font-size:13px}}
