:root{--board:#EEF1EE;--surface:#FFFFFF;--ink:#1E2638;--muted:#5D6677;--line:#CDD3CC;--hi:#FFE14D;--hi-ink:#1E2638;--flag:#B3261E;--ok:#2F6B3F;--shelf:#B9A88E;--marker:"Permanent Marker", "Marker Felt", "Comic Sans MS", cursive;--body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--board:#161A21;--surface:#20252E;--ink:#E8ECF3;--muted:#A3ABB8;--line:#363D49;--hi:#FFD83A;--hi-ink:#1A1A1A;--flag:#FF8A80;--ok:#8FD19E;--shelf:#6E6352;color-scheme:dark}}:root[data-theme=dark]{--board:#161A21;--surface:#20252E;--ink:#E8ECF3;--muted:#A3ABB8;--line:#363D49;--hi:#FFD83A;--hi-ink:#1A1A1A;--flag:#FF8A80;--ok:#8FD19E;--shelf:#6E6352;color-scheme:dark}html{scroll-padding-top:env(safe-area-inset-top,0px)}*,*:before,*:after{box-sizing:inherit}body{margin:0;background:var(--board);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.45;padding-bottom:88px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--hi);outline-offset:2px}main{max-width:760px;margin:0 auto;padding:20px 16px 24px}h1{font-family:var(--marker);font-weight:400;font-size:2.1rem;line-height:1.05;margin:4px 0;letter-spacing:.01em}h2{font-size:1.15rem;margin:28px 0 10px}p{margin:0 0 12px;max-width:68ch}.sub{color:var(--muted)}.small{font-size:.88rem}section[data-view]{display:none}section[data-view].on{display:block}.btn{border:2px solid var(--ink);background:var(--ink);color:var(--board);border-radius:10px;padding:10px 16px;font-weight:700;min-height:44px}.btn.ghost{background:transparent;color:var(--ink)}.btn.quiet{border-color:var(--line);background:transparent;color:var(--ink);font-weight:400}.btn.danger{background:transparent;color:var(--flag);border-color:var(--flag)}.btn:disabled{opacity:.45;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}label.f{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:var(--muted)}input[type=text],input[type=number],select,textarea{background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:9px 10px;min-height:44px;color:var(--ink)}textarea{width:100%;min-height:84px;resize:vertical}input[type=number]{width:6.5em}.panel{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}.label{display:inline-flex;align-items:center;justify-content:center;min-width:2.6em;height:2.1em;padding:0 .45em;background:#fff;color:#1e2638;border:1.5px solid #C5CBC4;border-radius:3px;font-family:var(--marker);font-size:1.15rem;line-height:1;box-shadow:inset 0 -3px #1e263812}.label.big{font-size:1.9rem;height:1.9em}.label.hot{background:var(--hi);border-color:#c9a800;color:var(--hi-ink)}.label.done{opacity:.4}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1.5px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px)}nav.tabs a{flex:1;max-width:220px;text-align:center;padding:12px 6px 14px;color:var(--muted);text-decoration:none;font-weight:700;font-size:.95rem;border-top:4px solid transparent}nav.tabs a[aria-current=page]{color:var(--ink);border-top-color:var(--hi)}.drop{display:block;border:2px dashed var(--line);border-radius:14px;padding:22px 16px;text-align:center;background:var(--surface)}.drop.over{border-color:var(--ink)}.drop input{display:none}.paste{margin-top:12px}.paste summary{cursor:pointer;font-weight:700;padding:8px 0}.progress{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--board);padding:10px 0;display:flex;align-items:center;gap:12px}.bar{flex:1;height:10px;background:var(--line);border-radius:6px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--hi);width:0;transition:width .25s}.stop{margin:14px 0;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;overflow:hidden}.stop>header{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1.5px solid var(--line)}.stop>header .where{font-size:.92rem;color:var(--muted)}.stop>header .where b{color:var(--ink)}.pick{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.pick:last-child{border-bottom:0}.pick input{width:26px;height:26px;accent-color:var(--ok)}.pick .nm{font-weight:700}.pick .meta{font-size:.86rem;color:var(--muted)}.pick .num{font-family:var(--marker);font-size:1.1rem;text-align:right}.pick.done .nm{text-decoration:line-through;color:var(--muted)}.qty{display:inline-block;min-width:1.7em;text-align:center;background:var(--ink);color:var(--board);border-radius:5px;padding:0 .3em;margin-right:.35em;font-size:.85rem}.stop.miss>header{background:transparent}.why{color:var(--flag);font-size:.86rem}.shelves{display:flex;gap:18px;overflow-x:auto;padding:6px 2px 14px;align-items:flex-start}.shelf{flex:0 0 auto;min-width:240px}.shelf>h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font-size:1.05rem}.shelf>h3 button{border:0;background:none;color:var(--muted);text-decoration:underline;font-size:.88rem;padding:6px}.frame{border:6px solid var(--shelf);border-top-width:8px;border-radius:4px;background:var(--surface)}.level{display:flex;border-bottom:6px solid var(--shelf);min-height:86px}.level:last-child{border-bottom:0}.spot{flex:1 0 96px;padding:8px 6px;border-right:1.5px dashed var(--line);display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;justify-content:center;position:relative}.spot:last-child{border-right:0}.spot .tag{position:absolute;left:4px;bottom:2px;font-size:.7rem;color:var(--muted)}.hotel{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border:2px solid var(--muted);border-radius:4px}.hotel .cell{min-width:2.3em;height:1.9em;border:1px dashed var(--line);border-radius:2px}.hotel .label{min-width:2.3em;height:1.9em;font-size:.95rem}.spot button.label{cursor:pointer}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);align-items:center}.unplaced{display:flex;flex-wrap:wrap;gap:6px}.ranges .r{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;align-items:end;margin-bottom:8px}.ranges .r input[type=text]{width:100%}.ranges .r input[type=number]{width:5em}.sugg:empty{display:none}.sugg{font-size:.85rem;color:var(--muted);grid-column:1/-1;margin-top:-4px}.sugg button{border:0;background:none;padding:2px 0;color:var(--ink);text-decoration:underline;font-weight:700}.boxlist{display:grid;gap:8px}.boxitem{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;text-align:left;width:100%}.boxitem .rs{font-size:.92rem}.boxitem .loc{font-size:.85rem;color:var(--muted)}.mic.listening{background:var(--hi);color:var(--hi-ink);border-color:var(--hi)}.covered{display:grid;gap:4px;font-size:.92rem}.covered div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:4px 0}dialog{border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:18px;width:min(520px,92vw);max-height:85vh}dialog::backdrop{background:#0a0c1073}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--board);padding:10px 16px;border-radius:10px;z-index:40;max-width:90vw;display:none}.toast.on{display:block}.empty{border:2px dashed var(--line);border-radius:14px;padding:20px;color:var(--muted)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.ok{color:var(--ok)}.bad{color:var(--flag)}.btn.danger:disabled{opacity:.45}.who{font-size:.8rem;color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;color:var(--muted);margin-bottom:4px}.topbar button{border:0;background:none;color:var(--muted);text-decoration:underline;padding:8px 0;min-height:44px}.ranges .r{grid-template-columns:1fr 1fr}.ranges .r .game,.ranges .r .set{grid-column:1/-1}.ranges .r .rm{grid-column:1/-1;justify-self:start}.ranges .r{border-bottom:1px dashed var(--line);padding-bottom:10px}#build{margin-top:28px}.warnlist{padding-left:1.2em;margin:0 0 12px}.warnlist li{margin-bottom:8px}
