:root{color-scheme:light;--surface: #f2f4f7;--surface-raised: #fcfcfd;--ink: #2a3247;--ink-muted: #6b7386;--accent: #6a4c9c;--danger: #c9463b;--success: #3f9a63;--ink-rgb: 42 50 71;--white-rgb: 255 255 255;--on-accent: #fff;--radius: 14px;--radius-btn: 10px;--shadow-cushion: inset 0 -2px 0 rgba(0, 0, 0, .06), 0 1px 0 rgba(255, 255, 255, .6);--border: rgb(var(--ink-rgb) / .08);--border-strong: rgb(var(--ink-rgb) / .85);--font-round: ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-body: system-ui, -apple-system, Roboto, sans-serif;--fs-1: 28px;--fs-2: 22px;--fs-3: 17px;--fs-4: 15px;--fs-5: 13px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--board-size: min(100vw - 32px, 60vh);--dur-cat: .12s;--dur-x: 80ms;--dur-sheet: .22s}@supports (color: oklch(0 0 0)){:root{--surface: oklch(.965 .01 240);--surface-raised: oklch(.99 .005 240);--ink: oklch(.27 .03 255);--ink-muted: oklch(.55 .02 255);--accent: oklch(.52 .12 300);--danger: oklch(.6 .18 25);--success: oklch(.62 .13 150)}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface: #1c1f2b;--surface-raised: #262a38;--ink: #e9ecf3;--ink-muted: #a3a9b8;--accent: #b49ae0;--danger: #e5766a;--success: #6fc08f;--ink-rgb: 233 236 243;--on-accent: var(--surface);--shadow-cushion: inset 0 -2px 0 rgba(0, 0, 0, .25)}@supports (color: oklch(0 0 0)){:root:not([data-theme=light]){--surface: oklch(.21 .015 255);--surface-raised: oklch(.26 .015 255);--ink: oklch(.93 .01 240);--ink-muted: oklch(.7 .015 240);--accent: oklch(.75 .12 300);--danger: oklch(.72 .16 25);--success: oklch(.75 .12 150)}}}:root[data-theme=dark]{color-scheme:dark;--surface: #1c1f2b;--surface-raised: #262a38;--ink: #e9ecf3;--ink-muted: #a3a9b8;--accent: #b49ae0;--danger: #e5766a;--success: #6fc08f;--ink-rgb: 233 236 243;--on-accent: var(--surface);--shadow-cushion: inset 0 -2px 0 rgba(0, 0, 0, .25)}@supports (color: oklch(0 0 0)){:root[data-theme=dark]{--surface: oklch(.21 .015 255);--surface-raised: oklch(.26 .015 255);--ink: oklch(.93 .01 240);--ink-muted: oklch(.7 .015 240);--accent: oklch(.75 .12 300);--danger: oklch(.72 .16 25);--success: oklch(.75 .12 150)}}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dur-cat: 0ms;--dur-sheet: 0ms}}:root[data-motion=reduce]{--dur-cat: 0ms;--dur-sheet: 0ms}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-4);line-height:1.4;overflow-x:hidden}body.sheet-open{overflow:hidden}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,.num{font-family:var(--font-round);margin:0}h1{font-size:var(--fs-1);font-weight:700}h2{font-size:var(--fs-2);font-weight:600}h3{font-size:var(--fs-3);font-weight:600}.num,.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.small{font-size:var(--fs-5)}p{margin:0 0 12px}a{color:var(--accent);text-decoration:none}.screen{flex:1;display:flex;flex-direction:column;padding:0 max(16px,var(--safe-right)) calc(24px + var(--safe-bottom)) max(16px,var(--safe-left));width:100%;max-width:560px;margin:0 auto}.topbar{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;min-height:52px;padding-top:var(--safe-top);margin:0 -4px 8px}.topbar-title{font-size:var(--fs-3);font-weight:600;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-title.big{font-size:var(--fs-1);font-weight:700;text-align:left}.topbar-trailing{display:flex;align-items:center;gap:4px;justify-content:flex-end;min-width:44px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--radius-btn);background:transparent;color:var(--ink);font:inherit;font-size:22px;cursor:pointer;text-decoration:none}.icon-btn:active{background:rgb(var(--ink-rgb) / .06)}.icon-btn.placeholder{visibility:hidden}.section-title{font-size:var(--fs-5);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:20px 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--fs-4);font-weight:600;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none}.btn:active{filter:brightness(.96)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:transparent;color:var(--on-accent)}.btn-danger{background:var(--danger);border-color:transparent;color:var(--on-accent)}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-block{width:100%}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible,.switch:focus-visible,.tool:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.list{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row-label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.row-hint{font-size:var(--fs-5);color:var(--ink-muted)}.row-value{color:var(--ink-muted);font-size:var(--fs-4);white-space:nowrap}.row.compact{min-height:44px;padding:2px 0;border:0}.row.row-stack{flex-direction:column;align-items:stretch}.link-row{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:8px 0;color:var(--ink);border-bottom:1px solid var(--border)}.link-row:after{content:"›";color:var(--ink-muted);font-size:20px}.link-row:last-child{border-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;min-width:44px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--ink);font:inherit;font-family:var(--font-round);font-weight:600;cursor:pointer}.chip[aria-pressed=true]{background:var(--accent);border-color:transparent;color:var(--on-accent)}input[type=text],input[type=password],textarea,select{font:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-btn);padding:10px 12px;min-height:44px;width:100%}textarea{min-height:72px;resize:vertical}select{max-width:60%;width:auto}input[type=range]{width:100%;accent-color:var(--accent)}input[type=file]{display:none}.switch{position:relative;flex:none;width:50px;height:30px;border:0;border-radius:999px;background:rgb(var(--ink-rgb) / .18);cursor:pointer;padding:0;transition:background .15s}.switch-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}.switch:before{content:"";position:absolute;inset:-7px -4px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true] .switch-knob{transform:translate(20px)}.switch:disabled{opacity:.45;cursor:default}.toasts{position:fixed;left:0;right:0;bottom:calc(24px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:60}.toast{max-width:min(92vw,480px);padding:10px 16px;border-radius:var(--radius-btn);background:var(--ink);color:var(--surface);font-size:var(--fs-4);opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:none}.sheet-backdrop{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#0000;transition:background var(--dur-sheet);z-index:50}.sheet-backdrop.show{background:#00000059}.sheet{width:100%;max-width:560px;max-height:88vh;max-height:88dvh;overflow-y:auto;background:var(--surface-raised);border-radius:var(--radius) var(--radius) 0 0;padding:18px 20px calc(20px + var(--safe-bottom));transform:translateY(100%);transition:transform var(--dur-sheet) ease-out}.sheet-backdrop.show .sheet{transform:none}.sheet-title{margin-bottom:8px}.sheet-body{color:var(--ink-muted);margin-bottom:14px}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.sheet-actions .btn{width:100%}:root[data-motion=reduce] .sheet,:root[data-motion=reduce] .toast,:root[data-motion=reduce] .switch-knob{transition-duration:0ms}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .sheet,:root:not([data-motion=full]) .switch-knob{transition-duration:0ms}}.banner{display:flex;align-items:center;gap:8px;padding:6px max(12px,var(--safe-right)) 6px max(16px,var(--safe-left));padding-top:calc(6px + var(--safe-top));background:var(--surface-raised);color:var(--ink);border-bottom:1px solid var(--border);font-size:var(--fs-5)}.banner-text{flex:1}.banner-close{flex:none;font-size:18px}.empty{color:var(--ink-muted);padding:12px 0}.board{--cell: calc(var(--board-size) / var(--n));--cushion-r: calc(var(--cell) * .19);display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);width:var(--board-size);aspect-ratio:1;margin:0 auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board-row{display:contents}.cell{position:relative;display:flex;align-items:center;justify-content:center;padding:0;margin:0;min-width:0;min-height:0;font:inherit;line-height:1;color:var(--ink);background-color:var(--cell-bg-fallback);background-image:var(--cell-pattern, none);background-size:var(--cell-pattern-size, auto);box-shadow:var(--shadow-cushion);border:0 solid var(--cell-hairline);border-top-width:1px;border-left-width:1px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;outline:none}@supports (color: oklch(0 0 0)){.cell{background-color:var(--cell-bg)}}.cell.bt{border-top:1.5px solid var(--border-strong)}.cell.bl{border-left:1.5px solid var(--border-strong)}.cell.br{border-right:1.5px solid var(--border-strong)}.cell.bb{border-bottom:1.5px solid var(--border-strong)}.cell.et{border-top-width:3px}.cell.el{border-left-width:3px}.cell.er{border-right-width:3px}.cell.eb{border-bottom-width:3px}.cell.rtl{border-top-left-radius:var(--cushion-r)}.cell.rtr{border-top-right-radius:var(--cushion-r)}.cell.rbl{border-bottom-left-radius:var(--cushion-r)}.cell.rbr{border-bottom-right-radius:var(--cushion-r)}.board:not(.interactive) .cell{cursor:default}.board.frozen .cell{cursor:default}.cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:2}.glyph{display:block;line-height:1;pointer-events:none;font-family:var(--font-body)}.cell.cat .glyph{font-size:calc(var(--cell) * .62);text-shadow:0 1px 0 rgba(0,0,0,.12)}.cell.x .glyph,.cell.autox .glyph{font-size:calc(var(--cell) * .42);color:var(--cell-x);font-weight:700}.cell.autox .glyph{opacity:.8}.cell.cat .glyph.enter{animation:cat-in var(--dur-cat) cubic-bezier(.34,1.56,.64,1) both}.cell.x .glyph.enter,.cell.autox .glyph.enter{animation:x-in var(--dur-x) ease-out both}@keyframes cat-in{0%{transform:scale(.6);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes x-in{0%{opacity:0}to{opacity:var(--glyph-opacity, 1)}}.cell.autox .glyph.enter{--glyph-opacity: .8}.glyph.bounce{animation:cat-bounce .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes cat-bounce{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-22%) scale(1.12)}to{transform:translateY(0) scale(1)}}.cell.conflict{box-shadow:inset 0 0 0 3px var(--danger),var(--shadow-cushion)}.cell.mistake:after{content:"";position:absolute;top:9%;right:9%;width:16%;height:16%;border-radius:50%;background:var(--danger)}.cell.hint-soft{outline:2px solid var(--accent);outline-offset:-2px;opacity:.92;z-index:1}.cell.hint-strong{outline:3px solid var(--accent);outline-offset:-3px;z-index:2;animation:hint-pulse .9s ease-in-out 2}@keyframes hint-pulse{0%,to{outline-color:var(--accent)}50%{outline-color:transparent}}.thumb{display:inline-block;line-height:0}.thumb .board{--board-size: var(--thumb, 96px)}.board.compact{--cushion-r: 0px}.board.compact .cell{box-shadow:none;border-width:0;border-top-width:.5px;border-left-width:.5px;border-radius:0;cursor:default;pointer-events:none}.board.compact .cell.bt{border-top-width:1px}.board.compact .cell.bl{border-left-width:1px}.board.compact .cell.br{border-right-width:1px}.board.compact .cell.bb{border-bottom-width:1px}.board.compact .glyph{display:none}:root[data-motion=reduce] .cell.cat .glyph.enter,:root[data-motion=reduce] .glyph.bounce,:root[data-motion=reduce] .cell.hint-strong{animation:none}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .cell.cat .glyph.enter,:root:not([data-motion=full]) .glyph.bounce,:root:not([data-motion=full]) .cell.hint-strong{animation:none}}.hero{display:flex;flex-direction:column;gap:12px}.hero-head{display:flex;justify-content:space-between;align-items:baseline}.hero-kicker{font-size:var(--fs-5);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.hero-body{display:flex;gap:14px;align-items:center}.hero-meta{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.hero-tier{font-family:var(--font-round);font-size:var(--fs-2);font-weight:600}.hero-streak{color:var(--ink-muted)}.hero-solved{color:var(--success);font-weight:600}.hero-note{color:var(--ink-muted)}.continue-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 0;color:var(--ink);border-bottom:1px solid var(--border)}.continue-item:last-child{border-bottom:0}.continue-item .thumb{flex:none}.continue-title{flex:1;font-weight:600}.continue-time{color:var(--ink-muted)}.filter-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.filter-label{font-size:var(--fs-5);color:var(--ink-muted);font-weight:600}.home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:24px;color:var(--ink-muted)}.home-links a{color:var(--ink);font-weight:600;min-width:44px;min-height:44px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center}.play{padding-bottom:calc(12px + var(--safe-bottom))}.play-title{display:flex;align-items:baseline;justify-content:center;gap:10px}.timer{font-family:var(--font-round);font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:var(--fs-4)}.play-board{position:relative;margin:8px 0 16px}.play-board.wide{--board-size: min(100vw - 16px, 60vh);margin-left:-8px;margin-right:-8px}.play-board.paused .board{filter:blur(14px);pointer-events:none}.pause-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;border:0;background:rgb(var(--ink-rgb) / .04);color:var(--ink);font:inherit;font-family:var(--font-round);font-size:var(--fs-3);font-weight:600;cursor:pointer;border-radius:var(--radius);z-index:3}.play-board.paused .pause-overlay{display:flex}.hint-bar{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 auto 12px;width:var(--board-size);max-width:100%;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-btn);background:var(--surface-raised)}.hint-text{flex:1}.hint-sub{display:block;color:var(--ink-muted);font-size:var(--fs-5);margin-top:2px}.hint-bar .icon-btn{width:44px;height:44px;margin:-10px -12px -10px 0;font-size:18px}.toolbar{display:flex;flex-direction:column;gap:6px;width:var(--board-size);max-width:100%;margin:0 auto}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.toolbar-row-2{justify-content:space-between}.tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;position:relative;min-height:48px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.tool:disabled{opacity:.4;cursor:default}.tool-icon{font-size:20px;line-height:1}.tool-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-round);font-size:var(--fs-5);line-height:20px;text-align:center}.tool-text{flex:0 0 auto;padding:0 18px}.toolbar .row-toggle{flex:1;min-height:44px}.toolbar-row-2 .tool{min-height:44px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40}.particle{position:absolute;left:50%;top:40%;font-size:22px;line-height:1;animation:particle 1.2s ease-out forwards}@keyframes particle{0%{transform:translate(0) rotate(0) scale(.6);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1);opacity:0}}.win-sheet .sheet-title{font-size:var(--fs-1)}.win-sub{color:var(--ink-muted);margin-bottom:12px}.win-stats{display:flex;gap:20px;margin:8px 0 12px}.win-stat{display:flex;flex-direction:column;gap:2px}.win-stat .num{font-size:var(--fs-1);font-weight:700}.win-stat .label{font-size:var(--fs-5);color:var(--ink-muted)}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:var(--fs-5);font-weight:600;background:rgb(var(--ink-rgb) / .07)}.badge-clean{background:var(--success);color:var(--on-accent)}.badge-pb{background:var(--accent);color:var(--on-accent)}.group{margin-bottom:8px}.preview{display:flex;align-items:center;gap:16px;padding:12px 0 4px}.preview .board{--board-size: 132px;margin:0}.preview-caption{color:var(--ink-muted);font-size:var(--fs-5)}.slider-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--border)}.slider-row .row-head{display:flex;justify-content:space-between}.emoji-btn{min-width:56px;height:44px;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-raised);cursor:pointer}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}.emoji-option{height:48px;font-size:26px;line-height:1;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.emoji-option[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:-3px}.free-text{display:flex;gap:8px;align-items:center}.free-text input{flex:1;font-size:22px;text-align:center}.field-error{color:var(--danger);font-size:var(--fs-5);min-height:18px;margin-top:4px}.about-row .row-value{font-variant-numeric:tabular-nums}.credits{color:var(--ink-muted);font-size:var(--fs-5);padding:12px 0}.howto p{margin-bottom:10px}.rules-list{margin:0 0 16px;padding-left:20px}.rules-list li{margin-bottom:6px}.howto-example{margin:12px auto 20px;--board-size: min(100vw - 64px, 280px)}.howto-example .board{--board-size: min(100vw - 64px, 280px)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.streak-card{display:flex;justify-content:space-around;gap:8px}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}.stat-tile .num{font-size:var(--fs-2);font-weight:700}.stat-tile .label{font-size:var(--fs-5);color:var(--ink-muted)}.tabs{display:flex;gap:8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.tab{flex:1;min-height:44px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--ink-muted);font:inherit;font-weight:600;cursor:pointer}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.table-wrap th,.table-wrap td{padding:8px 6px;border-bottom:1px solid var(--border);font-size:var(--fs-4);white-space:nowrap}.table-wrap th{color:var(--ink-muted);font-size:var(--fs-5);font-weight:600;text-align:center}.table-wrap tbody tr:last-child td{border-bottom:0}.browse-filters{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.browse-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);margin-bottom:10px;overflow:hidden}.group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:8px 14px;border:0;background:transparent;color:var(--ink);font:inherit;font-family:var(--font-round);font-size:var(--fs-3);font-weight:600;text-align:left;cursor:pointer}.group-head:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.group-meta{display:inline-flex;align-items:center;gap:8px}.group-count{color:var(--ink-muted);font-family:var(--font-body);font-size:var(--fs-5);font-weight:400}.chev{color:var(--ink-muted);font-size:20px;line-height:1;transition:transform .15s}.group-head[aria-expanded=true] .chev{transform:rotate(90deg)}:root[data-motion=reduce] .chev{transition-duration:0ms}.group-body{padding:0 14px 8px}.browse-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:6px 0;color:var(--ink);border-top:1px solid var(--border)}.browse-row .thumb{flex:none}.browse-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.browse-id{font-weight:600}.browse-badges{display:flex;flex-wrap:wrap;gap:6px}.badge-progress{background:rgb(var(--ink-rgb) / .07);color:var(--ink)}.browse-time{color:var(--ink-muted)}.browse-row.solved .browse-time{color:var(--ink)}.show-more{width:100%;margin:8px 0 4px}.daily-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.daily-row{display:flex;align-items:center;gap:12px;min-height:68px;padding:8px 0;color:var(--ink);border-bottom:1px solid var(--border)}.daily-list>li:last-child .daily-row{border-bottom:0}.daily-row.muted{color:var(--ink-muted)}.daily-row .thumb{flex:none}.daily-date{width:64px;flex:none;display:flex;flex-direction:column;gap:2px}.daily-date .kicker{font-size:var(--fs-5);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.daily-day{font-weight:600}.daily-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.daily-tier{font-weight:600}.daily-state{font-size:var(--fs-5);color:var(--ink-muted);font-variant-numeric:tabular-nums}.daily-state.done{color:var(--success);font-weight:600}.thumb-empty{flex:none;width:var(--thumb, 56px);height:var(--thumb, 56px);border:1px dashed var(--border);border-radius:6px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{display:flex;flex-direction:column;gap:2px}.stat-card .num{font-size:var(--fs-1);font-weight:700;line-height:1.1}.stat-card .label{font-size:var(--fs-5);color:var(--ink-muted)}.count-row{display:flex}.count-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 0;min-width:0}.count-cell .num{font-size:var(--fs-2);font-weight:600}.count-cell .label{font-size:var(--fs-5);color:var(--ink-muted)}.times-hint{margin-bottom:6px}.times th[scope=row]{text-align:left;font-family:var(--font-round);font-size:var(--fs-4);color:var(--ink)}.times td{text-align:center;line-height:1.25}.times .best{display:block;font-weight:600}.times .med{display:block;color:var(--ink-muted);font-size:var(--fs-5)}.times .none{color:var(--ink-muted)}.heat-title{margin:14px 0 6px}.heat{display:flex;flex-direction:column;gap:3px}.heat-row{display:grid;grid-template-columns:30px repeat(12,1fr);gap:3px;align-items:center}.rowhead{font-size:11px;color:var(--ink-muted)}.heat-cell{display:block;aspect-ratio:1;border-radius:4px;background:rgb(var(--ink-rgb) / .06)}.heat-cell.solved{background:var(--success)}.heat-cell.missed{background:rgb(var(--ink-rgb) / .16)}.heat-cell.future{background:transparent;border:1px dashed var(--border)}.heat-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;min-height:44px}.board-note{color:var(--ink-muted);font-size:var(--fs-5);margin:0 0 6px}.board-error{color:var(--danger);font-size:var(--fs-5);margin:0 0 8px}.lb-card{margin-bottom:10px}.lb-title{margin-bottom:4px}.lb th.lb-name,.lb td.lb-name{text-align:left;white-space:normal}.lb td{text-align:center}.lb tr.you td{font-weight:600;background:rgb(var(--ink-rgb) / .05)}.lb-you{margin-left:6px;padding:1px 7px;font-size:11px;background:var(--accent);color:var(--on-accent)}@media(min-width:600px){:root{--board-size: min(560px - 32px, 60vh)}.play-board.wide{--board-size: min(560px - 32px, 60vh);margin-left:0;margin-right:0}}
