:root{--font-ui:"Segoe UI", Roboto, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--radius:2px;--ink:#17273d;--coral:#f06951;--bg:#f4efe5;--panel:#fffdfa;--panel-2:#f4efe5;--line:#17273d3d;--rule:#17273d4d;--line-strong:#17273d;--cell:#fffdfa;--block:#17273d;--block-ink:#f4efe5;--text:#17273d;--dim:#66717c;--accent:#3979a8;--accent-dim:#dbe8ee;--mark:#66717c;--met:#3f6b46;--error:#a8221c;--sel:#be963c57;--peer:#17273d0d;--same:#3979a81f;--spot:#be963c6b;--shadow:#17273d1f;--primary-bg:#17273d;--primary-text:#fff;--k-face:#fffdfa;--k-face-line:#17273d59;--k-edit:#e9ded0;--k-edit-line:#17273d40;--k-aid:#dbe8ee;--k-aid-line:#3979a866;--k-session:#f6e6df;--k-session-line:#c4503c59}:root[data-theme=night]{--bg:#111c2b;--panel:#17263a;--panel-2:#1e2e44;--line:#f4efe52e;--rule:#f4efe538;--line-strong:#f4efe5;--cell:#152234;--block:#0b1422;--block-ink:#dfe6ee;--text:#f4efe5;--dim:#b9c4cf;--accent:#8fb4d6;--accent-dim:#33465a;--mark:#b9c4cf;--met:#7fbf8e;--error:#e2564b;--sel:#d6b25e42;--peer:#ffffff0d;--same:#8fb4d626;--spot:#d6b25e4d;--shadow:#00000073;--primary-bg:#f4efe5;--primary-text:#111c2b;--k-face:#1e2e44;--k-face-line:#f4efe559;--k-edit:#17263a;--k-edit-line:#f4efe533;--k-aid:#1c2d42;--k-aid-line:#8fb4d655;--k-session:#2a2432;--k-session-line:#f28b7655}:root[data-theme=contrast]{--bg:#000;--panel:#000;--panel-2:#0d0d0d;--line:#fff;--rule:#fff;--line-strong:#fff;--cell:#000;--block:#fff;--block-ink:#000;--text:#fff;--dim:#e6e6e6;--accent:#56b4e9;--accent-dim:#004a6e;--mark:#e6e6e6;--met:#009e73;--error:#d55e00;--sel:#f0e44266;--peer:#ffffff29;--same:#56b4e94d;--spot:#f0e44273;--shadow:#000000e6;--k-face:#000;--k-face-line:#fff;--k-edit:#000;--k-edit-line:#fff;--k-aid:#000;--k-aid-line:#fff;--k-session:#000;--k-session-line:#fff;--primary-bg:#0072b2;--primary-text:#fff}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-ui);-webkit-text-size-adjust:100%;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;padding:0}input,textarea{-webkit-user-select:text;user-select:text}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#app{max-width:34rem;margin:0 auto;padding:.75rem}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.42;cursor:default}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}p{margin:0}.menu{flex-direction:column;gap:.55rem;display:flex}.play-bar{align-items:center;gap:.5rem;padding:.25rem 0 .75rem;display:flex}.titlebar{background:var(--panel);border:2px solid var(--line-strong);border-radius:var(--radius);align-items:center;gap:.5rem;min-height:2.9rem;padding:.3rem .35rem .3rem .75rem;display:flex}.titlebar .id{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text);white-space:nowrap;font-size:.82rem;font-weight:800}.titlebar-actions{gap:.35rem;margin-left:auto;display:flex}.icon-button{background:var(--panel-2);place-items:center;width:2.35rem;height:2.35rem;font-size:1.05rem;line-height:1;display:grid}.icon-button svg{width:1.2rem;height:1.2rem;display:block}.hero{padding:.75rem .1rem .15rem}.hero .kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0 0 .6rem;font-size:.69rem;font-weight:700}.hero .kicker:before{content:"";vertical-align:middle;background:var(--coral);width:31px;height:2px;margin-right:12px;display:inline-block}.hero h1{letter-spacing:-.045em;font-size:2.375rem;font-weight:800;line-height:1}.hero p{color:var(--dim);margin-top:.4rem;font-size:.82rem}.sizes h2,.levels h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin-bottom:.4rem;font-size:.69rem;font-weight:700}.levels{flex-direction:column;gap:5px;display:flex}.level-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) 2.6rem;display:grid}.level-play{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.6rem;width:100%;padding:.5rem .65rem;display:grid}.level-info{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;place-items:center;display:grid}.level-play:active,.level-info:active{background:var(--accent-dim)}.level-info-badge{border:1px solid var(--dim);width:17px;height:17px;color:var(--dim);border-radius:50%;place-items:center;font-size:11px;font-weight:800;line-height:1;display:grid}.level-head{flex-direction:column;gap:1px;min-width:0;display:flex}.belt-line{align-items:center;gap:.5rem;min-width:0;display:flex}.belt-line .name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;line-height:1.15;overflow:hidden}.level-head .rank{font-family:var(--font-mono);letter-spacing:.03em;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:.69rem;font-weight:700;line-height:1.15;overflow:hidden}.level-asks{color:var(--dim);font-size:.69rem;line-height:1.15}.level-meta{justify-items:end;gap:.1rem;padding-top:.15rem;display:grid}.level-left{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem;font-weight:700}.level-done{font-family:var(--font-mono);color:var(--dim);white-space:nowrap;font-size:.66rem}.level-done:empty{display:none}.belt{flex:none;display:block}.belt-stroke{stroke:var(--line-strong);stroke-width:1.2px;stroke-linejoin:miter}.belt-stitch{stroke:var(--line-strong);stroke-width:.7px;opacity:.4}.belt-fold{stroke:var(--line-strong);stroke-width:.9px;opacity:.55}.belt-dan{font-family:var(--font-ui);letter-spacing:.06em;fill:#fff;font-size:5px;font-weight:800}.resume-open{background:var(--primary-bg);border-color:var(--primary-bg);width:100%;color:var(--primary-text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;box-shadow:4px 4px 0 var(--coral);margin-top:.3rem;padding:.75rem .6rem;font-size:.82rem;font-weight:700;transition:transform 60ms,box-shadow 60ms}.resume-open:active{box-shadow:0 0 0 var(--coral);transform:translate(4px,4px)}.hint-line{color:var(--dim);font-family:var(--font-mono);text-align:center;margin-top:.5rem;font-size:.7rem}.menu-foot{text-align:center;color:var(--dim);opacity:.65;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.66rem}.play-bar>*{flex:none}.play-id{flex:auto;gap:.05rem;min-width:0;display:grid}.play-id>*{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.play-id b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.play-id span,.play-claim{letter-spacing:.04em;color:var(--accent);font-size:.72rem}.clock{font-variant-numeric:tabular-nums;text-align:center;background:var(--panel-2);min-width:4.2rem;margin-left:auto;padding:.35rem .5rem}.play{height:calc(100dvh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;gap:.5rem;display:flex;position:relative;overflow:hidden}.board-area{flex:1 1 0;min-width:0;min-height:0;display:grid;position:relative;container-type:size}.board-wrap{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.board{grid-template-columns:repeat(var(--n), minmax(0, 1fr));grid-template-rows:repeat(var(--n), minmax(0, 1fr));background:var(--rule);border:2px solid var(--line-strong);width:min(100cqw,100cqh);height:min(100cqw,100cqh);box-shadow:9px 11px 0 var(--shadow);-webkit-user-select:none;user-select:none;touch-action:none;gap:1px;display:grid;container-type:size}.board-wrap.zoomed{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;cursor:grab;padding-bottom:var(--bar-h,0px);display:block;overflow:auto;container-type:normal}.board-wrap.zoomed.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.board-wrap.zoomed .cell,.board-wrap.zoomed .board{--cell-size:max(2.3rem, min(100cqw, 100cqh) / var(--n) * 1.5)}.board-wrap.zoomed .board{width:calc(var(--n) * var(--cell-size));height:calc(var(--n) * var(--cell-size));touch-action:pan-x pan-y;max-width:none;max-height:none;margin:0 auto;container-type:normal}.cell{--cell-size:calc(100cqh / var(--n));font-size:calc(var(--cell-size) * .52);background:var(--cell);place-items:center;min-width:0;min-height:0;font-style:normal;line-height:1;display:grid;position:relative;overflow:hidden}.cell.clue{background:var(--block);color:var(--block-ink)}.cell.clued:before{content:"";background:linear-gradient(to top right, transparent calc(50% - .55px), var(--rule) calc(50% - .55px), var(--rule) calc(50% + .55px), transparent calc(50% + .55px));position:absolute;inset:0}.cell.clue b{font-size:calc(var(--cell-size) * .3);font-variant-numeric:tabular-nums;font-weight:600;line-height:1;position:absolute}.cell.clue b.across{top:8%;right:8%}.cell.clue b.down{bottom:8%;left:8%}.cell.clue:has(b.bust){background:color-mix(in srgb, var(--block) 62%, var(--error))}.cell.answer.settled{background:color-mix(in srgb, var(--cell) 84%, var(--met))}:root[data-theme=contrast] .cell.answer.settled{background:color-mix(in srgb, var(--cell) 60%, var(--met));box-shadow:inset 0 0 0 1px var(--met)}:root[data-theme=contrast] .cell.clue:has(b.bust){background:var(--error);color:#000}.cell.answer .digit{font-variant-numeric:tabular-nums;font-weight:500}.cell.answer .marks{color:var(--mark);font-size:calc(var(--cell-size) * .25);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-style:normal;display:none;position:absolute;inset:6%}.cell.answer .marks.on{display:grid}.cell.answer .marks em{place-items:center;font-style:normal;line-height:1;display:grid}.cell.answer.peer{background:color-mix(in srgb, var(--cell), var(--peer))}.cell.answer.same{background:color-mix(in srgb, var(--cell), var(--same))}.cell.spot,.cell.lit{box-shadow:inset 0 0 0 100px var(--spot)}.cell.sel{box-shadow:inset 0 0 0 100px var(--sel)}.cell.wrong .digit{color:var(--error);text-underline-offset:.14em;text-decoration:underline}.board-overlays{z-index:5;pointer-events:none;flex-direction:column;gap:.4rem;display:flex;position:absolute;bottom:0;left:0;right:0}.board-overlays>*{pointer-events:auto}.sizes{margin-bottom:.2rem}.size-row{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.size-choice{justify-items:center;gap:.25rem;padding:.5rem .3rem .45rem;display:grid}.size-choice b{font-size:.8rem;font-weight:600}.size-choice span{font-family:var(--font-mono);color:var(--dim);font-variant-numeric:tabular-nums;font-size:.66rem}.size-choice.on{background:var(--accent-dim);border-color:var(--line-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}.size-glyph{border:1px solid var(--line-strong);background-image:repeating-linear-gradient(to right, var(--rule) 0 1px, transparent 1px var(--step)), repeating-linear-gradient(to bottom, var(--rule) 0 1px, transparent 1px var(--step)), linear-gradient(to right, var(--block) 0 var(--step), transparent var(--step)), linear-gradient(to bottom, var(--block) 0 var(--step), transparent var(--step));background-color:var(--cell);width:1.75rem;height:1.75rem}.size-9{--step:.34rem}.size-12{--step:.26rem}.size-16{--step:.2rem}.size-20{--step:.16rem}.side{display:contents}.combos-wrap{border:1px solid var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 92%, transparent);max-height:45%;box-shadow:4px 4px 0 var(--shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:.4rem .45rem;overflow-y:auto}.combos-wrap.folded{display:none}.combos{gap:.3rem;display:grid}.combos-idle{color:var(--dim);font-size:.78rem}.combos-row{align-items:flex-start;gap:.4rem;min-width:0;display:flex}.combos-clue,.combos-left{margin-top:.1rem}.combos-clue{border-radius:var(--radius);background:var(--block);color:var(--block-ink);flex:none;justify-items:center;padding:.15rem .35rem;line-height:1;display:grid}.combos-sum{font-variant-numeric:tabular-nums;font-size:.85rem}.combos-dir{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:.5rem}.combos-left{color:var(--dim);font-variant-numeric:tabular-nums;flex:none;font-size:.7rem}.combos-note{color:var(--dim);font-size:.75rem}.combos-note.done{color:var(--met)}.combos-note.wrong{color:var(--error)}.combos-options{flex-wrap:wrap;flex:auto;gap:.25rem;min-width:0;display:flex}.combo{border-radius:var(--radius);background:var(--k-face);border-color:var(--k-face-line);font-variant-numeric:tabular-nums;flex:none;gap:.1rem;padding:.2rem .35rem;font-size:.8rem;display:inline-flex}.combo em{font-style:normal}.combo-open{gap:.1rem;display:inline-flex}.combo em.placed{color:var(--met);margin-left:.25rem;font-weight:800}.combo em.gap{color:var(--dim);margin-left:.25rem}.combo-open.split{margin-left:.3rem}.combo .combo-eq{color:var(--dim);margin-right:.1rem;font-style:normal}.combo em.blocked{opacity:.35}.combo.unlikely{border-style:dashed}.combo.struck{opacity:.4;text-decoration:line-through}.controls{flex:none;grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.keypad,.tools{grid-template-columns:repeat(3,1fr);gap:.3rem;display:grid}:root[data-keypad=right] .controls>.keypad{order:2}.key{border-radius:var(--radius);place-items:center;min-height:2.75rem;padding:.25rem 0;display:grid}.key.digit{background:var(--k-face);border-color:var(--k-face-line);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:500}.key.edit{background:var(--k-edit);border-color:var(--k-edit-line)}.key.aid{background:var(--k-aid);border-color:var(--k-aid-line)}.key.session{background:var(--k-session);border-color:var(--k-session-line)}.key.edit,.key.aid,.key.session{font-size:.84rem}.key svg{width:1.3rem;height:1.3rem;display:block}.key:disabled{opacity:1;color:var(--dim)}.key:disabled svg{opacity:.45}.key.on{background:var(--accent-dim);border-color:var(--accent);font-weight:650}.key.holding{background:var(--sel)}.hint-note:empty{display:none}.hint-note{border:1px solid var(--accent);border-radius:var(--radius);background:var(--panel);border-left-width:4px;padding:.6rem 2rem .6rem .7rem;position:relative}.hint-body{gap:.2rem;display:grid}.hint-body b{font-size:.9rem}.hint-body span{color:var(--dim);font-size:.84rem;line-height:1.45}.hint-apply{background:var(--accent-dim);border-color:var(--accent);margin-top:.5rem;padding:.35rem .7rem;font-size:.82rem}.hint-close{width:1.5rem;height:1.5rem;color:var(--dim);background:0 0;border:0;padding:0;font-size:1rem;line-height:1;position:absolute;top:.3rem;right:.3rem}.shade{z-index:50;background:#00000073;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}@media (min-width:30rem){.shade{place-items:center}}.panel{background:var(--panel);border:2px solid var(--line-strong);border-radius:var(--radius);width:min(100%,32rem);max-height:86vh;box-shadow:8px 8px 0 var(--shadow);flex-direction:column;display:flex;overflow:hidden}.panel-head{padding:.9rem 1rem .6rem}.panel-head h2{font-size:1.1rem}.panel-head p{color:var(--dim);margin-top:.2rem;font-size:.85rem}.panel-body{padding:0 1rem .6rem;overflow-y:auto}.panel-foot{border-top:1px solid var(--line);background:var(--panel-2);justify-content:flex-end;gap:.5rem;padding:.7rem 1rem;display:flex}.panel-foot button{padding:.45rem .9rem}.panel-foot .primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-text);font-weight:600}.toast{z-index:80;opacity:0;pointer-events:none;border-radius:var(--radius);border:1px solid var(--accent);background:var(--panel);max-width:min(92vw,28rem);box-shadow:4px 4px 0 var(--shadow);text-align:center;padding:.55rem .9rem;font-size:.85rem;transition:opacity .18s,transform .18s;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%,1.5rem)}.toast.showing{opacity:1;transform:translate(-50%)}.menu-list{gap:.4rem;padding:.3rem 0;display:grid}.menu-item{text-align:left;gap:.12rem;padding:.6rem .75rem;display:grid}.menu-item span{color:var(--dim);font-size:.8rem}.help-section{border-bottom:1px solid var(--line);padding:.5rem 0 .7rem}.help-section:last-child{border-bottom:0}.help-section h3{text-transform:uppercase;letter-spacing:.09em;color:var(--dim);margin-bottom:.4rem;font-size:.78rem}.help-section p{margin-bottom:.45rem;font-size:.88rem;line-height:1.5}.help-lede{color:var(--dim)}.help-ladder p{gap:.1rem;margin-bottom:.55rem;display:grid}.help-ladder b{font-size:.86rem}.help-ladder span{color:var(--dim);font-size:.82rem;line-height:1.45}.section-tabs{margin-bottom:.35rem}.section-tabs .tabs button{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:.55rem .25rem;font-size:.75rem}.tabs{gap:5px;display:flex}.tabs button{background:var(--panel-2);flex:1 1 0;min-width:0;padding:.45rem .25rem;font-size:.82rem}.tabs button.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700}.setting{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;border-radius:0;align-items:center;gap:.6rem;width:100%;padding:.55rem .1rem;font-size:.86rem;display:flex}.setting:last-child{border-bottom:0}.setting.stacked{cursor:default;display:block}.setting.stacked .tabs,.setting.stacked .bg-grid{margin-top:.45rem}.setting .label{flex:auto;min-width:0}.setting .label small{color:var(--dim);margin-top:1px;font-size:.72rem;line-height:1.3;display:block}.switch{background:var(--panel);border:2px solid var(--line-strong);border-radius:2px;flex:none;width:44px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:var(--line-strong);border-radius:1px;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--line-strong)}.switch.on:after{background:var(--panel);transform:translate(20px)}.bg-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.bg-thumb{aspect-ratio:4/3;border:2px solid var(--line);background:var(--bg) center / cover no-repeat;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding:0;font-size:9px;font-weight:700;position:relative;overflow:hidden}.bg-thumb span{text-align:center;background:color-mix(in srgb, var(--panel) 85%, transparent);padding:2px 4px;position:absolute;bottom:0;left:0;right:0}.bg-thumb.on{border-color:var(--coral);box-shadow:3px 3px 0 var(--coral)}.bg-dim{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);align-items:center;gap:10px;margin-top:10px;font-size:11px;font-weight:700;display:flex}.bg-dim input[type=range]{min-width:0;height:22px;accent-color:var(--coral);flex:auto}.bg-dim output{text-align:right;min-width:3.2em;color:var(--text);font-variant-numeric:tabular-nums}.bg-photo{margin-top:8px}.won{gap:.35rem;padding:.4rem 0 .6rem;display:grid}.won-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2.4rem;font-weight:300}.won p{color:var(--dim);font-size:.88rem;line-height:1.45}.won-aids{font-size:.8rem}.share-link{overflow-wrap:anywhere;padding:.5rem 0;font-size:.82rem}.loading{min-height:60vh;color:var(--dim);place-items:center;gap:.9rem;font-size:.9rem;display:grid}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (min-width:46rem) and (min-height:34rem){#app{max-width:56rem}#app:has(.play){max-width:82rem}.play{--row-max:calc(100dvh - 5.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--frame,0px));height:auto;max-width:calc(var(--row-max) + 19rem + 1.25rem + var(--frame,0px));grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 19rem;gap:.5rem 1.25rem;margin-inline:auto;display:grid;overflow:visible}.play-bar{grid-area:1/1/auto/-1}.board-area{aspect-ratio:1;max-height:var(--row-max);grid-area:2/1}.side{min-height:0;max-height:var(--row-max);flex-direction:column;grid-area:2/2;gap:.55rem;display:flex}.controls{flex:none}.side>.combos-wrap{min-height:0;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--panel);flex:0 auto}.board-wrap{place-items:start center}}@media (orientation:landscape) and (max-height:560px){#app{max-width:none;padding:.4rem}.play{height:calc(100dvh - .8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,17rem);gap:.4rem .5rem;display:grid}.play-bar{grid-area:1/1/auto/-1;padding:0}.board-area{grid-area:2/1}.side{flex-direction:column;grid-area:2/2;gap:.4rem;min-height:0;display:flex}.controls{flex:none}.side>.combos-wrap{min-height:0;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--panel);flex:0 auto}.key{min-height:2.4rem}.key.digit{font-size:1.2rem}}.board-area.paused .board{filter:blur(9px);opacity:.5;pointer-events:none}.board-area.paused:after{content:"Paused";letter-spacing:.08em;text-transform:uppercase;color:var(--dim);place-items:center;font-size:1.1rem;display:grid;position:absolute;inset:0}.resume-open{text-align:left;gap:.1rem;width:100%;padding:.6rem .75rem;display:grid}.resume-open b{font-size:.9rem}.resume-open span{color:var(--dim);font-variant-numeric:tabular-nums;font-size:.76rem}.picker-summary{color:var(--dim);margin-bottom:.5rem;font-size:.82rem;line-height:1.45}.picker-rows{gap:.35rem;display:grid}.picker-row{gap:.35rem;display:flex}.picker-open{text-align:left;flex:1;grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:.5rem;padding:.5rem .65rem;display:grid}.picker-open b{font-variant-numeric:tabular-nums}.picker-what,.picker-when{color:var(--dim);font-variant-numeric:tabular-nums;font-size:.74rem}.picker-bin{color:var(--dim);flex:0 0 2.6rem;place-items:center;display:grid}.picker-bin:hover{color:var(--error);border-color:var(--error)}.level-info-belt{justify-content:center;margin:.2rem 0 .5rem;display:flex}.level-info-descriptor{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.72rem;font-weight:700}.level-info-lead{margin-bottom:.6rem;font-weight:650}.level-techniques{gap:.5rem;margin:0 0 .6rem;padding-left:1.1rem;display:grid}.level-techniques b{font-size:.88rem;display:block}.level-techniques span{color:var(--dim);font-size:.8rem;line-height:1.35}.level-info-foot{color:var(--dim);font-family:var(--font-mono);font-size:.7rem;line-height:1.4}.menu-tail{gap:.2rem;display:grid}body.has-bg{background:0 0}body.has-bg:before{content:"";z-index:-2;pointer-events:none;background:var(--bg-image) center / cover no-repeat;position:fixed;inset:0}body.has-bg:after{content:"";z-index:-1;pointer-events:none;background:var(--bg);opacity:var(--bg-dim,.55);position:fixed;inset:0}body.has-bg .menu,body.has-bg .play{background:var(--bg);border:2px solid var(--line-strong);box-shadow:9px 11px 0 var(--shadow);padding:.75rem}body.has-bg .play{--frame:calc(1.5rem + 4px)}body.has-bg .board{background:linear-gradient(var(--rule), var(--rule)), var(--bg)}@media (max-width:559px),(orientation:landscape) and (max-height:560px){body.has-bg .menu,body.has-bg .play{box-shadow:none;background:0 0;border:0;padding:0}body.has-bg .menu>.hero,body.has-bg .menu .sizes,body.has-bg .menu-tail{background:var(--panel);border:2px solid var(--line-strong);box-shadow:6px 7px 0 var(--shadow);padding:.6rem .75rem}body.has-bg .levels>h2{background:var(--panel);border:1px solid var(--line-strong);align-self:flex-start;padding:.2rem .5rem}body.has-bg .titlebar,body.has-bg .level-row{box-shadow:6px 7px 0 var(--shadow)}body.has-bg .play-bar{background:var(--panel);border:2px solid var(--line-strong);box-shadow:6px 7px 0 var(--shadow);padding:.3rem .4rem}body.has-bg .play .key{box-shadow:3px 3px 0 var(--shadow)}}@media (max-width:559px){#app:has(.menu){padding:.5rem}.menu{gap:.4rem}.titlebar{min-height:2.5rem;padding:.2rem .3rem .2rem .65rem}.titlebar .icon-button{width:2.15rem;height:2.15rem}.hero{padding:.35rem .1rem 0}.hero .kicker{margin-bottom:.35rem}.hero h1{font-size:1.85rem}.hero p{margin-top:.25rem}.sizes{margin-bottom:0}.sizes h2,.levels h2{margin-bottom:.3rem}.size-choice{gap:.15rem;padding:.35rem .2rem .3rem}.size-glyph{width:1.45rem;height:1.45rem}.level-play{padding:.4rem .6rem}.resume-open{margin-top:.15rem;padding:.6rem}.hint-line{margin-top:.15rem}body.has-bg .menu>.hero,body.has-bg .menu .sizes,body.has-bg .menu-tail{padding:.45rem .65rem}}@media (max-width:559px) and (max-height:780px){.hero p:not(.kicker),.level-asks,.hint-line{display:none}}@media (max-width:559px) and (max-height:680px){.hero h1{font-size:1.55rem}.levels{gap:4px}.level-play{padding:.32rem .55rem}.menu-tail{display:none}}@media (max-width:559px) and (max-height:600px){.menu>.hero,.sizes h2,.levels>h2{display:none}}.stats{flex-direction:column;gap:.55rem;padding-bottom:1rem;display:flex}body.has-bg .stats{background:var(--bg);border:2px solid var(--line-strong);box-shadow:9px 11px 0 var(--shadow);padding:.75rem}.stats-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin-top:.5rem;font-size:.69rem;font-weight:700}.stats-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.stats-tile{text-align:center;background:var(--panel);border:2px solid var(--line-strong);border-radius:var(--radius);min-width:0;padding:.5rem .3rem}.stats-tile b{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800;line-height:1.1;display:block}.stats-tile small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.68rem;display:block;overflow:hidden}.stats-spread{text-align:center;color:var(--dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:.66rem}.stats-tabs{flex-wrap:wrap}.stats-rows{gap:3px;display:grid}.stats-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;border-left-width:4px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:baseline;gap:.6rem;padding:.45rem .6rem;font-size:.8rem;display:grid}.stats-row.solved{border-left-color:var(--met);cursor:pointer}.stats-row.released{border-left-style:dashed;border-left-color:var(--met)}.stats-when{color:var(--dim);font-size:.72rem}.stats-time{font-weight:700}.stats-actions{gap:.4rem;margin-top:.5rem;display:grid}
