@font-face{font-family:Woods Display;font-weight:700;font-display:swap;src:url(/brand/fonts/montserrat-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Woods Display;font-weight:800;font-display:swap;src:url(/brand/fonts/montserrat-latin-800-normal.woff2) format("woff2")}:root{--ground: #ecebe8;--surface: #ffffff;--ink: #1d1c1b;--ink-soft: #5f5a55;--line: #d8d4cf;--tag: #c8432f;--tag-ink: #ffffff;--ok: #2f6a47;--ok-bg: #e2eee5;--warn: #a3541b;--warn-bg: #f6e7da;--ember: #c9461f;--sand: #cdb892;--knew: #2f6a47;--knew-bg: #e2eee5;--knew-ink: #ffffff;--missed: #a3541b;--missed-bg: #f6e7da;--sticker: #ffffff;--sticker-ink: #1b1a19;--focus: #c8432f;--font-marker: "Marker Felt", "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;--font-display: "Woods Display", "Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #141312;--surface: #1f1d1b;--ink: #efebe6;--ink-soft: #a9a29a;--line: #36322e;--tag: #e0583f;--ok: #5cb784;--ok-bg: #142a1d;--warn: #e6a160;--warn-bg: #2c2016;--knew: #5cb784;--knew-bg: #142a1d;--knew-ink: #0b1a11;--missed: #e6a160;--missed-bg: #2c2016;--focus: #f08a72;color-scheme:dark}}:root[data-theme=dark]{--ground: #141312;--surface: #1f1d1b;--ink: #efebe6;--ink-soft: #a9a29a;--line: #36322e;--tag: #e0583f;--ok: #5cb784;--ok-bg: #142a1d;--warn: #e6a160;--warn-bg: #2c2016;--knew: #5cb784;--knew-bg: #142a1d;--knew-ink: #0b1a11;--missed: #e6a160;--missed-bg: #2c2016;--focus: #f08a72;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--ground);color:var(--ink);font:1rem/1.45 var(--font-body);padding-inline:16px}.app{max-width:26rem;margin-inline:auto;min-height:100vh;display:flex;flex-direction:column;gap:1rem;padding-block:1rem 1.5rem}h1,h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;margin:0;line-height:1.08}h1{font-size:1.75rem}h2{font-size:1.05rem}p{margin:0}a{color:var(--tag)}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.label{font:700 .7rem/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:.75rem}.brand-band{position:relative;overflow:hidden;padding:1.2rem 1rem;background:linear-gradient(105deg,var(--ember) 0%,#d47a3f 40%,var(--sand) 78%,#c8bfb4 100%)}.brand-logo{display:block;height:3.4rem;width:auto}.bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.text-input{width:100%;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:2px;padding:.75rem .8rem;font-size:1rem}.text-input:focus{outline:none;border-color:var(--ink)}.btn{display:block;text-align:center;text-decoration:none;border-radius:2px;padding:1rem;font:800 .88rem/1.1 var(--font-display);text-transform:uppercase;letter-spacing:.05em;border:2px solid transparent;cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn-tag{background:var(--tag);color:var(--tag-ink)}.btn-plain{background:var(--surface);border-color:var(--ink);color:var(--ink)}.icon-btn{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);border-radius:2px;padding:.45rem .75rem;font:700 .7rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.toast{background:var(--ok-bg);color:var(--ok);border-left:4px solid var(--ok);padding:.6rem .8rem;font-weight:600}.error-msg{background:var(--warn-bg);color:var(--warn);border-left:4px solid var(--warn);padding:.6rem .8rem;font-weight:600}.note{border-top:1px solid var(--line);padding-top:.9rem;display:flex;flex-direction:column;gap:.4rem}.deck-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.deck-list li{background:var(--surface);border:1px solid var(--line);padding:.7rem .8rem;font-weight:600}.foot{margin-top:auto;text-align:center;font-size:.75rem;color:var(--ink-soft)}:focus-visible{outline:3px solid var(--tag);outline-offset:2px}.stack-tight{display:flex;flex-direction:column;gap:.35rem}.back-link{font:700 .75rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;align-self:flex-start}.tile-list{display:flex;flex-direction:column;gap:.5rem}.tile{display:flex;flex-direction:column;gap:.2rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--tag);padding:.85rem .9rem;color:var(--ink);text-decoration:none}.tile-title{font:800 .95rem/1.15 var(--font-display);text-transform:uppercase}a.icon-btn{text-decoration:none;display:inline-block}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer}.chip-on{border-color:var(--ink);background:var(--ink);color:var(--ground)}.people-list,.check-list,.problems,.counts,.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.person-row{display:grid;grid-template-columns:2.75rem 1fr auto;gap:.7rem;align-items:center;background:var(--surface);border:1px solid var(--line);padding:.5rem .6rem;color:var(--ink);text-decoration:none}.person-text{display:flex;flex-direction:column;min-width:0}.person-name{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;display:block}.avatar-empty{display:grid;place-items:center;background:var(--line);color:var(--ink-soft);font:800 .8rem/1 var(--font-display)}.photo-panel{display:flex;gap:1rem;align-items:center}.photo-panel .avatar{width:6rem;height:6rem;font-size:1.4rem}.badge{font-size:.72rem;font-weight:700;padding:.2rem .45rem;border-radius:2px;white-space:nowrap;justify-self:end}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-muted{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.file-btn{position:relative;overflow:hidden}.file-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;font-size:0}.link-btn{background:none;border:0;padding:0;color:var(--tag);text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;align-self:flex-start}.check{display:flex;gap:.55rem;align-items:center;padding:.35rem 0}.check input{width:1.2rem;height:1.2rem;accent-color:var(--tag);flex:none}textarea.text-input{resize:vertical;font:inherit}select.text-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.steps{gap:1.4rem}.steps>li{display:flex;flex-direction:column;gap:.6rem}.counts{flex-direction:row;flex-wrap:wrap;gap:.4rem 1rem}.problems li{font-size:.85rem;color:var(--warn)}.row-link{display:flex;justify-content:space-between;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none}.plain-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.plain-fieldset>legend{margin-bottom:.4rem}.bar-title{font:800 .85rem/1.2 var(--font-display);text-transform:uppercase;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{font:700 .85rem var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.hint{font-size:.85rem;color:var(--ink-soft)}.progress{height:4px;background:var(--line);overflow:hidden}.progress>i{display:block;height:100%;background:var(--tag);width:0;transition:width .2s ease}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:.25rem}.seg label{position:relative;text-align:center;border-radius:1px;padding:.55rem .3rem;font:700 .8rem/1 var(--font-display);text-transform:uppercase;cursor:pointer}.seg input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.seg label:has(input:checked){background:var(--ink);color:var(--ground)}.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}.presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.preset{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:2px;padding:.75rem;display:flex;flex-direction:column;gap:.3rem;cursor:pointer}.preset input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.preset:has(input:checked){border-color:var(--tag);box-shadow:inset 0 4px 0 var(--tag)}.preset:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.preset-name{font:800 .9rem/1.15 var(--font-display);text-transform:uppercase}.preset-desc{font-size:.85rem;color:var(--ink-soft)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.switch{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.switch strong{font:800 .85rem var(--font-display);text-transform:uppercase}.switch input{width:1.25rem;height:1.25rem;accent-color:var(--tag)}.slider{display:grid;grid-template-columns:minmax(0,1fr) 3.2rem;gap:.7rem;align-items:center}.slider input{width:100%;accent-color:var(--tag)}.slider output{font:800 1rem var(--font-display);font-variant-numeric:tabular-nums;text-align:right}.card{display:flex;flex-direction:column;align-items:center;gap:1rem}.portrait-btn{border:0;padding:0;background:none;cursor:pointer;width:min(17rem,100%)}.portrait-img{display:block;width:min(12.5rem,70%);aspect-ratio:5 / 6;object-fit:cover;border-radius:4px;background:var(--surface);box-shadow:0 14px 30px -20px #0000008c;margin-inline:auto}.portrait-img.big{width:100%}span.portrait-img{display:grid;place-items:center}span.portrait-img .avatar{width:60%;height:auto;aspect-ratio:1;font-size:2rem}.sticker{width:min(17rem,100%);border-radius:6px;background:var(--tag);color:var(--tag-ink);padding:.45rem .45rem .5rem;text-align:center;transform:rotate(-1.5deg);box-sizing:border-box}.sticker-hello{font:800 1.4rem/1 var(--font-display);letter-spacing:.04em}.sticker-sub{font:700 .68rem/1.3 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.sticker-write{margin-top:.4rem;background:var(--sticker);color:var(--sticker-ink);border-radius:3px;min-height:3.6rem;display:grid;place-items:center;padding:.3rem .6rem}.sticker-name{font:400 1.85rem/1.1 var(--font-marker);overflow-wrap:anywhere}.sticker-blank{font:400 1.6rem/1 var(--font-marker);color:#9a948d}.actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.btn-reveal{background:var(--ink);color:var(--ground)}.btn-knew{background:var(--knew);color:var(--knew-ink)}.btn-missed{background:transparent;color:var(--missed);border-color:var(--missed)}.play-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center}.stats{display:flex;justify-content:center;gap:1rem;min-width:0}.stats>span{display:flex;flex-direction:column;align-items:center;gap:.1rem}.stats .label{font-size:.6rem}.stats b{font:800 1.1rem/1.1 var(--font-display);font-variant-numeric:tabular-nums}.label.almost{color:var(--missed)}.ask{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:.8rem;align-items:start}.ask .portrait-img{width:100%}.answer-form{width:100%;display:flex;flex-direction:column;gap:.5rem}.answer-form .text-input{font-size:1.1rem}.answer-btns{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.answer-btns .btn{padding:.9rem .4rem}.strikes{display:flex;gap:.3rem;padding-top:.2rem}.strikes i{width:.85rem;height:.85rem;border-radius:50%;border:2px solid var(--tag)}.strikes i.on{background:var(--tag)}.timer{display:flex;flex-direction:column;gap:.3rem}.timer-track{height:8px;background:var(--line);overflow:hidden}.timer-fill{display:block;height:100%;background:linear-gradient(90deg,var(--ember),var(--sand));width:100%}.timer-fill.low{background:var(--tag)}.timer-text{font:700 .8rem var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink-soft);text-align:right}.feedback{width:100%;box-sizing:border-box;border-left:5px solid;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.25rem}.feedback.ok{background:var(--knew-bg);border-color:var(--knew)}.feedback.no{background:var(--missed-bg);border-color:var(--missed)}.verdict{font:800 1rem var(--font-display);text-transform:uppercase}.feedback.ok .verdict{color:var(--knew)}.feedback.no .verdict{color:var(--missed)}.points{font:800 1.55rem/1.1 var(--font-display);font-variant-numeric:tabular-nums}.card>.btn{width:100%}.result{display:flex;flex-direction:column;gap:.35rem}.tally{font:800 2.8rem/1 var(--font-display);font-variant-numeric:tabular-nums;margin:0}.tally .unit{color:var(--ink-soft);font-weight:700;font-size:1.1rem;text-transform:uppercase}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tiles>div{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:.6rem;display:flex;flex-direction:column;gap:.15rem}.tiles .val{font:800 1.3rem/1.1 var(--font-display);font-variant-numeric:tabular-nums}#missed-list .person-row{grid-template-columns:2.75rem 1fr}.grade-row{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.5rem;align-items:center}.link-btn.inline{display:inline;margin-right:.5rem}@media (prefers-reduced-motion: reduce){.progress>i{transition:none}}.app.playing{padding-block:.6rem 1rem;gap:.6rem}.app.playing .brand-band,.app.playing .foot{display:none}.code-card{background:var(--surface);border:2px solid var(--ink);padding:1rem;display:flex;flex-direction:column;gap:.35rem;text-align:center}.bigcode{font:800 2.6rem/1.1 var(--font-display);letter-spacing:.12em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.code-input{font:700 1.3rem/1.2 var(--font-display);letter-spacing:.12em;text-transform:uppercase}ul.chips{list-style:none;margin:0;padding:0}ul.chips .chip{cursor:default}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.board li{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.6rem;align-items:center;background:var(--surface);border:1px solid var(--line);padding:.55rem .6rem}.board li.me{box-shadow:inset 4px 0 0 var(--ink)}.board .rank{font:800 1.2rem/1 var(--font-display);text-align:center}.board .who{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.board .pts{font:800 1.15rem/1 var(--font-display);font-variant-numeric:tabular-nums}.podium li:first-child{border:2px solid var(--tag)}.podium li:first-child .rank{color:var(--tag)}.winner{text-align:center;display:flex;flex-direction:column;gap:.3rem;align-items:center}.winner-name{font:800 2rem/1.1 var(--font-display);text-transform:uppercase;overflow-wrap:anywhere}.result-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);padding:.5rem .7rem;font-weight:600}#host-play .card .portrait-img{width:min(16rem,80%)}.end-link{align-self:center;margin-top:.4rem}.offline-note{background:var(--warn-bg);color:var(--warn);border-left:4px solid var(--warn);padding:.5rem .75rem;font-size:.85rem;font-weight:600;margin:0}
