:root{--bg: #f7f1e6;--surface: #ffffff;--surface-border: rgba(60, 45, 30, .1);--ink: #ffffff;--text-primary: #2e241c;--text-muted: #6f6152;--accent: #a34e2e;--correct: #3a7550;--wrong-position: #a3792e;--shadow-sm: 0 1px 2px rgba(46, 36, 28, .06), 0 1px 1px rgba(46, 36, 28, .04);--shadow-md: 0 4px 16px rgba(46, 36, 28, .08), 0 1px 3px rgba(46, 36, 28, .06);--shadow-lg: 0 16px 48px rgba(46, 36, 28, .16), 0 2px 8px rgba(46, 36, 28, .08);--font-display: "Catamaran", sans-serif;--font-tile: "Noto Serif Tamil", serif;--text-2xs: .65rem;--text-xs: .7rem;--text-sm: .78rem;--text-base: .85rem;--text-md: .92rem;--text-lg: 1.1rem;--text-xl: 1.3rem;--text-hero: 2.5rem;font-family:var(--font-display)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text-primary);display:flex;justify-content:center;padding:28px 14px 48px;-webkit-font-smoothing:antialiased}#app{width:100%;max-width:480px}@media (min-width: 700px){body{padding-top:56px}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.title{font-size:var(--text-xl);font-weight:700;color:var(--accent-text);letter-spacing:.01em;margin:0 0 3px}.puzzle-number{font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.preview-badge{margin-left:6px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;color:#8a5a00;background:color-mix(in srgb,#e0a300 22%,var(--bg));border:1px solid color-mix(in srgb,#e0a300 45%,transparent);border-radius:999px;padding:2px 8px;vertical-align:middle}.tagline{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.45}.header-actions{flex:none;display:flex;align-items:center;gap:8px}.help-btn{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--surface-border);background:var(--surface);color:var(--text-muted);font-size:var(--text-base);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.help-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.theme-toggle-btn{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--surface-border);background:var(--surface);color:var(--text-muted);font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.variant-toggle{flex:none;display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-border)}.variant-toggle-btn{width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);font-family:var(--font-tile);font-size:var(--text-xs);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.variant-toggle-btn.active{background:var(--accent);color:var(--ink)}.variant-toggle.expanded .variant-toggle-btn{width:auto;height:auto;border-radius:999px;padding:5px 11px;font-family:var(--font-display);font-size:var(--text-2xs)}.result .variant-toggle{background:var(--bg)}.tutorial-toggle-row{display:flex;justify-content:center;margin:0 0 10px}.board{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.line{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid var(--surface-border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.line-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:3px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent);font-size:var(--text-2xs);font-weight:600}.line-body{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.line-tiles{display:flex;flex-wrap:wrap;gap:4px 4px}.line.line-complete{background:var(--correct);border-color:var(--correct)}.line.line-complete .line-num{color:#fff;border-color:#fff9}.line-complete-text{flex:1;margin:0;padding-top:2px;font-family:var(--font-tile);font-size:var(--text-lg);font-weight:700;line-height:1.5;color:#fff}.line-complete-annotation{margin:0;font-size:var(--text-sm);font-weight:500;line-height:1.5;color:#ffffffd9}.line-complete-annotation a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px}@keyframes line-complete-in{0%{transform:scale(.97);opacity:.5}60%{transform:scale(1.008);opacity:1}to{transform:scale(1)}}.line.just-completed{animation:line-complete-in .38s ease-out}@media (prefers-reduced-motion: reduce){.line.just-completed{animation:none}}.tile{position:relative;font-family:var(--font-tile);font-size:var(--text-sm);font-weight:600;line-height:1.3;min-width:34px;min-height:48px;padding:7px 8px;border-radius:9px;background:var(--bg);border:1px solid var(--surface-border);box-shadow:var(--shadow-sm);color:var(--text-primary);display:inline-flex;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease,transform .15s ease}.tile .glyph{position:absolute;top:-6px;right:-6px;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;line-height:1;background:var(--surface);border-radius:50%;border:1.5px solid currentColor}.tile .glyph:empty{display:none}.tile.selected{background:color-mix(in srgb,var(--accent) 12%,var(--bg));border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow-sm)}.tile.correct{background:var(--correct);border-color:var(--correct);color:#fff;font-weight:700}.tile.correct .glyph{color:var(--correct);opacity:1}.tile.wrong-position{background:var(--wrong-position);border-color:var(--wrong-position);color:#000;font-weight:700}.tile.wrong-position .glyph{color:var(--wrong-position);opacity:1}.tile.wrong-item{color:var(--text-muted)}[data-theme-mode=dark] .tile{font-weight:700}[data-theme-mode=dark] .tile.correct,[data-theme-mode=dark] .tile.wrong-position{color:#fff}[data-theme-mode=dark] .tile.correct{background:var(--correct);border-color:var(--correct)}[data-theme-mode=dark] .tile.wrong-position{background:var(--wrong-position);border-color:var(--wrong-position)}[data-theme-mode=dark] .tile.wrong-item{background:var(--surface-border);border-color:var(--surface-border);color:var(--text-primary)}[data-theme-mode=dark] .tile.correct .glyph,[data-theme-mode=dark] .tile.wrong-position .glyph{display:none}.tile.locked{cursor:default;box-shadow:none}.tile:disabled{cursor:default}.tile.dragging{cursor:grabbing;box-shadow:var(--shadow-lg);z-index:20;scale:1.04;pointer-events:none;transition:none}.tile.drop-target{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}@media (prefers-reduced-motion: reduce){.tile{transition:none}}@keyframes tile-snap{0%{transform:scale(.88)}60%{transform:scale(1.05)}to{transform:scale(1)}}.tile.just-swapped{animation:tile-snap .18s ease-out}@keyframes tile-correct-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--correct) 55%,transparent)}60%{box-shadow:0 0 0 6px color-mix(in srgb,var(--correct) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--correct) 0%,transparent)}}.tile.just-correct{animation:tile-correct-pulse .26s ease-out}@keyframes tile-chain-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.tile.chain-pulse{animation:tile-chain-pulse .26s ease-in-out}@keyframes tile-demo-pulse{0%{background:color-mix(in srgb,var(--accent) 22%,var(--bg));box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{background:var(--bg);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 0%,transparent)}}.tile.demo-swapped{animation:tile-snap .18s ease-out,tile-demo-pulse .55s ease-out}@keyframes tile-demo-pending{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 45%,transparent)}}.tile.demo-pending{animation:tile-demo-pending .55s ease-in-out}@keyframes result-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result{animation:result-in .26s ease-out}@keyframes tile-selected-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}.tile.selected{animation:tile-selected-wiggle .5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.tile.just-swapped,.tile.just-correct,.tile.demo-swapped,.tile.demo-pending,.tile.chain-pulse,.tile.selected,.result{animation:none}}.status-bar{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.status-sep{opacity:.4}.streak-chip{color:var(--accent-text);font-weight:600}.btn{border:none;border-radius:9px;padding:9px 16px;font-weight:600;font-size:var(--text-base);cursor:pointer;font-family:inherit}.btn.primary{background:var(--accent);color:var(--ink)}.btn.share{background:var(--correct);color:#fff;padding:12px 40px;font-size:var(--text-md);min-width:180px}.btn.ghost{background:transparent;border:1px solid var(--surface-border);color:var(--text-primary)}.btn.text{background:none;border:none;color:var(--text-muted);padding:5px 0;font-weight:500}.btn:disabled{opacity:.4;cursor:not-allowed}.actions{display:flex;gap:10px;align-items:center}.actions-center{justify-content:center}dialog{background:var(--surface);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:16px;padding:0;width:min(400px,calc(100vw - 40px));box-shadow:var(--shadow-lg)}dialog::backdrop{background:#2e241c59}dialog:not([open]){display:none}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.dialog-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dialog-close:hover{background:var(--surface-border)}.result{position:relative;padding:26px 22px 22px;text-align:center}.result-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:color-mix(in srgb,var(--correct) 16%,var(--surface));border:1.5px solid color-mix(in srgb,var(--correct) 45%,transparent);color:var(--correct);font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center}.result-heading,.result-meta{padding:0 50px}.result-heading{font-size:var(--text-md);color:var(--text-primary);margin:0 0 4px;font-weight:600}.result-time{font-size:var(--text-hero);font-weight:700;color:var(--accent-text);margin:0;line-height:1.1;font-variant-numeric:tabular-nums}.result-meta{font-size:var(--text-sm);color:var(--text-muted);margin:4px 0 2px}.stat-comparison{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);margin:0 0 2px}.stat-comparison:empty{display:none}.result-streak{display:flex;flex-direction:column;align-items:center;gap:6px;margin:14px 0 18px}.result-streak-chip{font-size:var(--text-sm);font-weight:700;color:var(--accent-text);padding:5px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-text) 35%,transparent);background:color-mix(in srgb,var(--accent-text) 10%,transparent);font-variant-numeric:tabular-nums}.result-streak-note{font-size:var(--text-xs);color:var(--text-muted)}.result-standing{display:flex;flex-direction:column;align-items:center;gap:6px;margin:12px 0 16px}.result-standing-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px}@keyframes streak-chip-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.result-streak-chip.pop{animation:streak-chip-pop .42s ease-out .25s both}@media (prefers-reduced-motion: reduce){.result-streak-chip.pop{animation:none}}.result-footer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border, color-mix(in srgb, var(--text-muted) 22%, transparent))}.result-footer p,.result-footer .result-signin{margin:0}.result-footer .next-puzzle-note{font-size:var(--text-xs);font-weight:500}.result-footer .result-signin{margin:0;font-size:var(--text-xs)}.result-footer .reveal-source{font-size:var(--text-xs)}.reveal-source{margin:0;font-size:var(--text-sm);font-weight:600}.reveal-source a{color:var(--accent-text)}.help-content{text-align:left}.help-text{font-size:var(--text-base);color:var(--text-primary);line-height:1.6;margin:0 0 10px}.welcome-header-actions{position:relative;display:flex;justify-content:flex-end;align-items:center;gap:8px}.account-btn{padding:4px 12px;font-size:var(--text-sm);border-radius:999px}.account-wrap{display:contents}.account-placeholder{width:34px;height:34px;flex:none}.account-avatar{color:var(--correct);font-weight:700}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:min(260px,calc(100vw - 32px));padding:14px 12px 12px;text-align:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;box-shadow:var(--shadow-md)}.account-menu p{margin:0 0 10px;font-size:var(--text-sm);color:var(--text-muted)}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link-btn:hover{color:var(--accent)}.result-signin{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin:14px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.result-signin-done{color:var(--correct);font-weight:600}.sign-in-hint{margin:18px 0 0;max-width:320px;font-size:var(--text-sm);color:var(--text-muted)}.welcome-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 8px 24px;gap:6px}.welcome-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;color:var(--accent-text);margin:0}.welcome-screen .tagline{max-width:320px;margin:0 0 28px}.welcome-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.welcome-tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.welcome-tag{font-size:var(--text-xs);letter-spacing:.04em;padding:4px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-text) 35%,transparent);color:var(--text-muted)}.welcome-tag-streak{color:var(--accent-text);font-weight:600;background:color-mix(in srgb,var(--accent-text) 10%,transparent)}.welcome-actions .btn:disabled,.welcome-actions .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-large{padding:14px 20px;font-size:var(--text-md);border-radius:12px}.welcome-actions .btn.primary{background:var(--accent-text)}.help-legend{display:flex;flex-direction:column;gap:10px;margin:14px 0}.help-legend-row{display:flex;align-items:center;gap:12px}.help-legend-row .tile{flex:none;cursor:default}.help-legend-row>span:last-child{font-size:var(--text-sm);color:var(--text-muted)}.help-legend-compact{gap:6px;margin:8px 0 14px}.help-legend-compact .help-legend-row{gap:8px}.tutorial-legend-title{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em}.tutorial-actions{justify-content:space-between}.tutorial-caption{font-size:var(--text-base);color:var(--text-primary);line-height:1.6;margin:0 0 14px;min-height:3.2em}.tutorial-phase-heading{font-size:var(--text-lg);font-weight:700;color:var(--correct);text-align:center;margin:4px 0 16px}.tutorial-skip-link{display:block;margin:4px auto 0}.tutorial-demo{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px;border-radius:12px;background:var(--bg)}.tutorial-demo-line{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface)}.tutorial-demo-tiles{display:flex;gap:8px}.tutorial-demo .tile{font-size:var(--text-md);padding:10px 16px}.success{color:var(--correct);font-size:var(--text-sm);margin:10px 0 0}.success:empty{display:none}.next-puzzle-note{color:var(--text-muted);font-size:var(--text-md);font-weight:600;margin:14px 0 0}.version-tag{margin-top:36px;font-size:var(--text-2xs);color:var(--text-muted);opacity:.5;text-align:center}.boot-splash{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;color:var(--accent-text, inherit);text-align:center;margin:30vh 0 0;opacity:.5}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:8px;border:1px solid var(--surface-border);border-radius:50%;background:transparent;color:var(--text-muted);font-size:var(--text-md);line-height:1;cursor:pointer;vertical-align:middle}.back-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.archive-badge{margin-left:8px;padding:2px 9px;border-radius:999px;vertical-align:middle;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent-text) 35%,transparent)}.result-archive-links{display:flex;gap:18px;justify-content:center;font-size:var(--text-sm)}.archive-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.archive-head{display:flex;align-items:center}.archive-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--accent-text)}.archive-screen{padding:14px 0 28px}.archive-status{text-align:center;color:var(--text-muted);font-size:var(--text-base);margin:40px 0 12px}.archive-retry{text-align:center}.archive-count{margin:0;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.archive-caught-up{margin:26px 0 0;text-align:center;font-size:var(--text-sm);color:var(--correct);font-weight:600}.archive-next{margin-top:26px;display:flex;justify-content:center}.archive-next .btn{min-width:220px;background:var(--accent-text)}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin:18px 0 14px}.cal-month{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--text-primary)}.cal-nav-btn{width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer}.cal-nav-btn:disabled{opacity:.25;cursor:default}.cal-nav-btn:not(:disabled):hover{color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px 4px;max-width:380px;margin:0 auto}.cal-weekdays{margin-bottom:8px}.cal-weekdays span{text-align:center;font-size:var(--text-2xs);font-weight:600;color:var(--text-muted);text-transform:uppercase}.cal-blank{aspect-ratio:1}.cal-day{aspect-ratio:1;max-width:46px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid transparent;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:500;font-variant-numeric:tabular-nums;padding:0;cursor:pointer;transition:transform .12s ease-out}.cal-day:not(.none):active{transform:scale(.92)}.cal-day.none{color:var(--text-muted);opacity:.3;cursor:default}.cal-day.open{border-color:color-mix(in srgb,var(--text-muted) 55%,transparent)}.cal-day.open:hover{border-color:var(--accent)}.cal-day.done{background:var(--correct);border-color:var(--correct);color:#fff;font-weight:600}.cal-day.today{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--accent-text)}@media (prefers-reduced-motion: reduce){.cal-day{transition:none}}.account-nick{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)!important;color:var(--text-primary)!important;margin:0 0 4px!important}.account-menu .btn{width:100%;margin-top:8px}.welcome-lb-link{margin-top:18px;font-size:var(--text-sm)}.result-rank{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 0;font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.result-rank:empty{display:none}.lb-toggle{display:flex;width:fit-content;margin:18px auto 14px;padding:3px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-border)}.lb-toggle-btn{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;padding:6px 16px;border-radius:999px;cursor:pointer}.lb-toggle-btn.active{background:var(--accent-text);color:var(--ink)}.lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lb-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--surface-border)}.lb-row.you{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent-text) 9%,var(--surface))}.lb-rank{font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.lb-row:nth-child(-n+3) .lb-rank{color:var(--accent-text)}.lb-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-value{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.lb-gap{text-align:center;color:var(--text-muted);line-height:1}.lb-youline{text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--accent-text)}.lb-join{margin-top:18px;text-align:center}.lb-join p{margin:0 0 10px;font-size:var(--text-sm);color:var(--text-muted)}.lb-note{margin:18px 0 0;text-align:center;font-size:var(--text-2xs);color:var(--text-muted)}.lb-signin{text-align:center;padding:40px 12px 0}.lb-signin h2{margin:0 0 8px;font-family:var(--font-display);font-size:var(--text-lg);color:var(--accent-text)}.lb-signin p{margin:0 0 20px;color:var(--text-muted);font-size:var(--text-base)}.lb-signin .btn,.lb-join .btn.primary,.nick-dialog .btn.primary{background:var(--accent-text)}.nick-card{text-align:center}.nick-card:focus{outline:none}.nick-eyebrow{margin:4px 0 10px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.nick-hero{margin:0 auto;padding:12px 20px;width:fit-content;max-width:100%;font-family:var(--font-display);font-size:1.55rem;font-weight:700;line-height:1.2;color:var(--accent-text);overflow-wrap:anywhere;border-radius:14px;background:color-mix(in srgb,var(--accent-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-text) 28%,transparent)}.nick-sub{margin:12px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.nick-view-foot{margin-top:18px;min-height:44px}.nick-lock{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.nick-saved{margin:0 0 10px;font-size:var(--text-sm);font-weight:600;color:var(--correct)}.nick-row{display:flex;gap:8px;margin:0 0 6px}.nick-row input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text-primary);font:inherit;font-size:var(--text-md)}.nick-row input:focus{outline:2px solid var(--accent-text);outline-offset:1px}.nick-msg{min-height:2.6em;margin:6px 0 12px;font-size:var(--text-sm);color:var(--text-muted)}.nick-msg.error{color:#d64545;font-weight:600}.nick-edit-actions{display:flex;gap:10px;justify-content:center}.nick-dialog .btn.primary{background:var(--accent-text)}.lb-debug{margin:18px 0 0;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px dashed var(--surface-border);color:var(--text-muted);font-size:var(--text-2xs);line-height:1.5;white-space:pre-wrap;text-align:left}.lb-row.skeleton{pointer-events:none}.lb-row.skeleton .lb-name,.lb-row.skeleton .lb-value,.lb-row.skeleton .lb-rank{display:block;height:14px;border-radius:6px;background:var(--surface-border);animation:lb-pulse 1.2s ease-in-out infinite}.lb-row.skeleton .lb-rank{width:16px}.lb-row.skeleton .lb-name{width:55%}.lb-row.skeleton .lb-value{width:38px}@keyframes lb-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.lb-row.skeleton span{animation:none}}.welcome-links{display:flex;gap:22px;justify-content:center;margin-top:18px;font-size:var(--text-sm)}.feedback-foot{text-align:center;margin:4px 0 18px;font-size:var(--text-xs)}.challenge-banner{width:100%;max-width:320px;margin:0 0 20px;padding:12px 16px;border-radius:14px;text-align:center;background:color-mix(in srgb,var(--accent-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-text) 30%,transparent)}.challenge-title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--accent-text)}.challenge-sub{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.result-challenge{margin:6px 0 0;font-size:var(--text-sm);font-weight:600;color:var(--accent-text)}.fb-card{text-align:center}.fb-title{margin:6px 0 8px;font-family:var(--font-display);font-size:var(--text-lg);color:var(--accent-text)}.fb-sub{margin:0 0 14px;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted)}.fb-cats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.fb-cat{border:1px solid var(--surface-border);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}.fb-cat.active{background:var(--accent-text);border-color:var(--accent-text);color:var(--ink)}.fb-card textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:110px;padding:10px 12px;border-radius:12px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text-primary);font:inherit;font-size:var(--text-base);line-height:1.45}.fb-card textarea:focus{outline:2px solid var(--accent-text);outline-offset:1px}.fb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fb-msg{min-height:1.4em;margin:8px 0 4px;font-size:var(--text-sm);color:#d64545;font-weight:600}.fb-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.fb-foot-center{justify-content:center}.fb-count{font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.feedback-dialog .btn.primary{background:var(--accent-text)}.fb-contact-label{display:block;margin:12px 0 6px;text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.fb-contact{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:10px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text-primary);font:inherit;font-size:var(--text-base)}.fb-contact:focus{outline:2px solid var(--accent-text);outline-offset:1px}.fb-contact-hint{margin:6px 0 0;text-align:left;font-size:var(--text-2xs);line-height:1.45;color:var(--text-muted)}.league-chips{display:flex;gap:6px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:none}.league-chips::-webkit-scrollbar{display:none}.chip{flex:none;border:1px solid var(--surface-border);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}.chip.active{background:var(--accent-text);border-color:var(--accent-text);color:var(--ink)}.chip-new{border-style:dashed}.league-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}.league-name{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--accent-text)}.league-sub{margin:2px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.league-row{position:relative}.league-row .league-x{position:absolute;right:-6px;top:-6px}.league-x{border:1px solid var(--surface-border);background:var(--surface);color:var(--text-muted);width:20px;height:20px;border-radius:50%;font-size:10px;line-height:1;cursor:pointer;padding:0;margin-left:6px}.league-wait-title{margin:16px 0 8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.league-waiting{display:flex;flex-wrap:wrap;gap:6px}.league-wait{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;border:1px dashed var(--surface-border);font-size:var(--text-sm);color:var(--text-muted)}.league-wait.you{color:var(--accent-text);border-color:var(--accent-text)}.league-foot{margin:22px 0 0;text-align:center;font-size:var(--text-xs)}.lg-or{margin:18px 0 8px;font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.league-dialog .btn.primary{background:var(--accent-text)}.league-dialog .nick-row input{text-transform:none}.invite-banner{width:100%;max-width:320px;margin:0 0 20px;padding:14px 16px;border-radius:14px;text-align:center;background:color-mix(in srgb,var(--accent-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-text) 30%,transparent)}.invite-title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--accent-text)}.invite-sub{margin:4px 0 10px;font-size:var(--text-sm);color:var(--text-muted)}.invite-error{margin:0 0 8px;font-size:var(--text-sm);font-weight:600;color:#d64545}.invite-actions{display:flex;align-items:center;justify-content:center;gap:12px}.invite-actions .btn.primary{background:var(--accent-text)}.app-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:10;background:var(--text-primary);color:var(--bg);padding:9px 16px;border-radius:999px;font-size:var(--text-sm);max-width:90vw}.lb-rename{margin-left:8px;padding:0 4px;border:0;background:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.lb-rename:hover{color:var(--accent-text)}.league-role{margin-left:6px;font-size:var(--text-xs);font-weight:600;color:var(--accent-text)}.league-act{margin-left:0;padding:3px 10px;border-radius:999px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer}.league-act.danger{color:#e0626a;border-color:color-mix(in srgb,#e0626a 45%,transparent)}.league-role{padding:1px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-text) 45%,transparent);background:color-mix(in srgb,var(--accent-text) 10%,transparent)}.league-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.league-row{grid-template-columns:34px 1fr auto}.league-controls{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.league-waiting.managing{flex-direction:column;align-items:stretch;gap:8px}.league-waiting.managing .league-wait{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 12px;border-radius:12px}.league-waiting.managing .league-controls{grid-column:auto;margin:0}.result-rank{display:block;margin:0}.rank-link{border:0;background:none;padding:4px 6px;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--accent-text);cursor:pointer}.rank-link:hover{text-decoration:underline;text-underline-offset:3px}
