:root{--bg:#1b1410;--panel:#2a2018;--line:#4a3a2c;--accent:#c9a36a;--target:#4caf50;--white:#efe6d6;--black:#2c2c2c;--text:#ece3d4;--muted:#b3a489}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:960px;margin:0 auto;padding:16px}h1{color:var(--accent);margin:0 0 12px;font-size:1.4rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.topbar h1{margin:0}.topbar input[type=text]{width:11rem;max-width:46vw}.rules{flex-direction:column;gap:14px;display:flex}.rule-row{align-items:flex-start;gap:10px;display:flex}.rule-row.col{border:1px solid var(--line);border-radius:8px;flex-direction:column;margin:0;padding:10px 12px}.rule-row input[type=checkbox],.rule-row input[type=radio]{width:18px;height:18px;accent-color:var(--accent);margin-top:3px}.rule-row span{flex-direction:column;display:flex}.rule-row small{color:var(--muted);margin-top:2px}.radio{align-items:flex-start;gap:8px;margin-top:8px;display:flex}legend{padding:0 4px}.board{border:1px solid var(--line);background:#1d130b;border-radius:14px;padding:8px;box-shadow:0 10px 30px #00000073,inset 0 0 0 1px #0006}.board-svg{width:100%;height:auto;display:block}.board-area{position:relative}.roll-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.roll-rot{flex-direction:column;align-items:center;gap:10px;display:flex}.roll-rot.rot{transform:rotate(90deg)}.roll-rot.roll-wait{position:absolute;top:58%;left:50%;transform:translate(-50%)}.roll-btn{pointer-events:auto;background:var(--accent);color:#1b1410;cursor:pointer;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:16px 28px;font-size:1.05rem;font-weight:800;animation:1.7s ease-in-out infinite rollpulse;display:flex;box-shadow:0 10px 28px #00000080}@media (hover:hover){.roll-btn:hover{filter:brightness(1.06)}}.dice-ico{filter:drop-shadow(0 1px 2px #00000059);width:54px;height:27px}.roll-btn.turn-white{box-shadow:0 0 0 3px var(--white), 0 10px 28px #00000080}.roll-btn.turn-black{box-shadow:0 0 0 3px #2c2c2c,0 10px 28px #00000080}.turn-dot .tray-dot{border:2px solid #00000059;width:24px;height:24px}@keyframes rollpulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ai-chip{pointer-events:auto;color:var(--text);border:1px solid var(--line);background:#1b1410e0;border-radius:12px;padding:10px 18px;font-weight:600}.fb-input{box-sizing:border-box;width:100%;font:inherit;color:var(--text);border:1px solid var(--line);resize:vertical;background:#00000040;border-radius:8px;padding:10px}.fb-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feedback-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.feedback-list li{border-top:1px solid var(--line);padding-top:8px;font-size:.9rem;line-height:1.5}.fb-status{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem}.fb-new{color:var(--accent)}.fb-planned{color:#8bc34a}.fb-done{color:var(--target)}.fb-rejected{color:var(--muted)}.fb-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.log-ctx{color:var(--muted);max-height:8em;margin:4px 0 0;font-family:ui-monospace,monospace;font-size:.75rem;overflow-x:auto}.lobby-invite{flex-direction:column;justify-content:center;align-items:stretch;gap:8px;min-height:108px;display:flex}.lobby-code{text-align:center;min-height:1.4em;margin:0}.lobby-status{min-height:1.4em;margin:0}.panel-loading{justify-content:center;align-items:center;min-height:160px;display:flex}.opening-result{pointer-events:none;color:var(--text);border:1px solid var(--line);background:#1b1410e0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;font-size:.85rem;display:flex}.opening-result-dice{align-items:center;gap:6px;font-weight:600;display:flex}.opening-die{filter:drop-shadow(0 1px 2px #00000059);width:24px;height:24px}.opening-result-first{font-weight:700}.bearoff-fab{z-index:5;background:var(--target);color:#0c1f0d;white-space:nowrap;cursor:pointer;border:2px solid #eafbe9;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-size:.95rem;font-weight:800;animation:1.3s ease-in-out infinite fabpulse;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 20px #0000008c,0 0 0 6px #4caf5038}@media (hover:hover){.bearoff-fab:hover{filter:brightness(1.07)}}@keyframes fabpulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.bearoff-fab,.roll-btn{animation:none}}.pt.on{cursor:pointer;outline:none}.tri{transition:filter .15s}.pt.on:focus-visible .tri{filter:brightness(1.15)}@media (hover:hover){.pt.on:hover .tri{filter:brightness(1.15)}}.tri-hl{stroke:var(--accent);stroke-width:3px}.tri-hl.tgtline{stroke:var(--target);stroke-width:4px;animation:1.1s ease-in-out infinite tgtpulse}.tri-hl.sel{stroke:#ffd479;stroke-width:4px}.tri-hl.recent{stroke:#ffd479;stroke-width:4px;opacity:.9}.tri-hl.hintfrom{stroke:#6ec1ff;stroke-width:4px;animation:1s ease-in-out infinite tgtpulse}.tri-hl.hintto{stroke:#6ec1ff;stroke-width:4px;stroke-dasharray:6 4;animation:1s ease-in-out infinite tgtpulse}@keyframes tgtpulse{0%,to{opacity:.55}50%{opacity:1}}.hint-btn{color:#6ec1ff;border-color:#6ec1ff}.hint-text{color:#6ec1ff;min-height:2.6em;margin:4px 0 0;font-size:.85rem;line-height:1.3}.ptnum{fill:var(--muted);opacity:.7;pointer-events:none;font-size:13px}.cnt{fill:#fff;pointer-events:none;font-size:22px;font-weight:700}.dice-faces{align-items:center;gap:6px;display:inline-flex}.die{filter:drop-shadow(0 1px 2px #00000080);width:30px;height:30px}.turninfo{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:4px;display:flex}.scoreboard{gap:10px;margin:0 0 12px;display:flex}.pcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex:1;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.pcard.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 14px #c9a36a2e}.pcard-main{flex-direction:column;flex:1;min-width:0;display:flex}.pcard-name{font-weight:600}.pcard-sub{font-size:.78rem}.pcard-pip{flex-direction:column;align-items:center;line-height:1;display:flex}.pcard-pip-val{color:var(--accent);font-size:1.5rem;font-weight:800}.pcard-pip-lbl{text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.pcard-win{color:#6ec1ff;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700;line-height:1.1}.pcard-timer{font-variant-numeric:tabular-nums;color:var(--accent);text-align:center;min-width:3ch;font-size:1rem;font-weight:800}.pcard-timer.low{color:#e25555}.surrender-btn{color:#e25555;border-color:#e25555}@media (hover:hover){.surrender-btn:hover{background:#e255551f}}.tray-dot{border-radius:50%;width:16px;height:16px}.tray-dot.white{background:linear-gradient(145deg,#fffaf0,#cbb892)}.tray-dot.black{background:linear-gradient(145deg,#4a505a,#14171c);border:1px solid #555}.tray-count{color:var(--accent);font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.muted{color:var(--muted)}.warn{color:#e0a23c}.buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.buttons.col{flex-direction:column;align-items:stretch}button{color:var(--text);border:1px solid var(--line);cursor:pointer;background:#3a2c20;border-radius:8px;padding:10px 14px;font-size:.95rem}@media (hover:hover){button:hover:not(:disabled){border-color:var(--accent)}}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#1b1410;border-color:var(--accent);font-weight:700}.google-btn{color:#1f1f1f;letter-spacing:.25px;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:0 12px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;display:inline-flex}@media (hover:hover){.google-btn:hover:not(:disabled){background:#f7f8f8;border-color:#747775;box-shadow:0 1px 2px #3c40434d}}.google-btn:disabled{opacity:.45}.google-btn-icon{flex:none;width:18px;height:18px;display:inline-flex}.result h2{color:var(--accent);margin:0 0 4px}.panel+.panel{margin-top:12px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat{flex-direction:column;gap:2px;display:flex}.stat-value{color:var(--accent);font-size:1.3rem;font-weight:700}.stat-label{font-size:.8rem}.dice-dist{flex-direction:column;gap:6px;margin-top:8px;display:flex}.dice-bar-row{grid-template-columns:24px 1fr 44px;align-items:center;gap:8px;display:grid}.dice-face{font-weight:700}.dice-bar-track{border:1px solid var(--line);background:#241b14;border-radius:6px;height:16px;overflow:hidden}.dice-bar{background:var(--accent);height:100%}.dice-count{text-align:right;color:var(--muted)}.match-filter{gap:6px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#241b14;border-radius:999px;padding:5px 12px;font-size:.82rem}.chip.on{border-color:var(--accent);color:var(--text);background:#c9a36a24}.match-list{margin:8px 0 0;padding:0;list-style:none}.match-list li{border-bottom:1px solid var(--line);font-size:.9rem}.match-hint{margin:4px 0 0;font-size:.8rem}.match-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 8px;display:flex}@media (hover:hover){.match-item:hover{background:#c9a36a1a}}.match-play{color:var(--accent);flex-shrink:0;font-size:.85rem}.challenge-card{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 0;display:flex}.challenge-card:last-of-type{border-bottom:none}.challenge-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.challenge-code{letter-spacing:2px;color:var(--accent);font-weight:800}.challenge-cal-link{border:1px solid var(--line);color:var(--text);border-radius:8px;align-items:center;padding:6px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.qr-view{flex-direction:column;align-items:center;gap:8px;display:flex}.qr-canvas{background:#fff;border-radius:10px;max-width:100%;height:auto}.qr-scanner{flex-direction:column;gap:10px;display:flex}.qr-video-slot{background:#00000040;border-radius:10px;justify-content:center;align-items:center;min-height:200px;display:flex;overflow:hidden}.qr-video{object-fit:cover;width:100%;max-height:320px}.qr-paste{font:inherit;color:var(--text);border:1px solid var(--line);resize:vertical;word-break:break-all;background:#00000040;border-radius:8px;padding:8px;font-size:.8rem}.qr-hint{font-size:.85rem}.qr-details{width:100%}.qr-details summary{cursor:pointer;font-size:.85rem}.qr-details textarea{width:100%;margin-top:6px}.show-more{justify-content:center;gap:8px;margin-top:10px;display:flex}.show-more button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:.85rem}@media (hover:hover){.show-more button:hover{color:var(--text);background:#c9a36a1a}}.replay-panel{flex-direction:column;gap:10px;display:flex}.game-dock.replay-panel{height:auto;overflow-y:auto}.replay-label{color:var(--accent);margin:0;font-weight:600}.replay-scrub{width:100%;accent-color:var(--accent)}.replay-progress{margin:-4px 0 0;font-size:.8rem}.replay-controls{align-items:stretch;gap:8px;display:flex}.replay-controls button{flex:1;min-height:44px;font-size:1rem}.replay-controls .replay-play{white-space:nowrap;flex:2}.replay-speeds{gap:8px;display:flex}.replay-speed{flex:1;min-height:40px;font-weight:700}.replay-speed.on{background:var(--accent);color:#1b1410;border-color:var(--accent)}.analysis-toggle{flex:1.4}.q-best{--q:#4caf50}.q-ok{--q:#8bc34a}.q-inacc{--q:#e0c64a}.q-mistake{--q:#e8923a}.q-blunder{--q:#e25555}.q-forced{--q:var(--muted)}.move-badge{color:var(--q);align-items:center;gap:6px;margin:2px 0 4px;font-size:.82rem;font-weight:700;display:flex}.move-badge-dot{background:var(--q);border-radius:50%;flex:none;width:9px;height:9px}.move-badge-loss{font-variant-numeric:tabular-nums;opacity:.85}.move-badge-wp{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.wincurve{margin:6px 0 2px}.wincurve-head{justify-content:space-between;margin-bottom:2px;font-size:.76rem;display:flex}.wincurve-val{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.wincurve-svg{cursor:pointer;touch-action:none;background:#ffffff08;border-radius:4px;width:100%;height:34px;display:block}.wincurve-mid{stroke:var(--line);stroke-width:.5px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.wincurve-area{fill:#c9a36a29;stroke:none}.wincurve-line{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wincurve-cursor{stroke:var(--text);stroke-width:1px;opacity:.6;vector-effect:non-scaling-stroke}.wincurve-dot{fill:var(--text)}.analysis-panel{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.analysis-rows{flex-direction:column;gap:4px;display:flex}.analysis-row{align-items:center;gap:8px;font-size:.85rem;display:flex}.analysis-name{flex:1}.analysis-acc{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.analysis-counts{font-size:.78rem}.analysis-worst-title{margin:0 0 4px;font-size:.78rem}.analysis-worst{flex-direction:column;gap:4px;display:flex}.analysis-jump{text-align:left;border-left:3px solid var(--q);min-height:34px;font-size:.82rem}@media (hover:hover){.analysis-jump:hover{border-color:var(--line);border-left-color:var(--q)}}.coach-tip{border:1px solid var(--line);border-left:3px solid var(--accent);background:#c9a36a0f;border-radius:6px;flex-direction:column;gap:6px;margin:2px 0 6px;padding:8px 10px;display:flex}.coach-concept{flex-direction:column;gap:2px;display:flex}.coach-concept-label{color:var(--accent);font-size:.8rem;font-weight:800}.coach-lesson{margin:0;font-size:.84rem;line-height:1.35}.coach-best{font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.coach-toggle{align-self:flex-start;min-height:34px;font-size:.82rem}.replay-analyzing{font-variant-numeric:tabular-nums;font-size:.82rem}.academy-progress{font-variant-numeric:tabular-nums;margin:0 0 6px}.academy-bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.academy-bar-fill{background:var(--accent);height:100%;transition:width .2s}.academy-group{flex-direction:column;gap:6px;display:flex}.academy-group-head{align-items:center;gap:8px;display:flex}.academy-group-label{color:var(--accent);font-weight:800}.academy-group-count{text-align:center;font-variant-numeric:tabular-nums;background:#c9a36a29;border-radius:10px;min-width:24px;margin-left:auto;padding:1px 8px;font-weight:700}.academy-lesson{color:var(--muted);margin:0;font-size:.86rem;line-height:1.35}.academy-instances{flex-direction:column;gap:4px;display:flex}.academy-jump{text-align:left;font-variant-numeric:tabular-nums;min-height:36px;font-size:.84rem}.academy-cap{margin:2px 0 0;font-size:.78rem}.puzzle-hint{margin:0 0 6px;font-size:.82rem}.puzzle-controls{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.puzzle-controls button{flex:auto;min-height:36px}.puzzle-check{width:100%;min-height:40px;margin-top:4px}.puzzle-note{min-height:1.4em;margin:4px 0 0;font-size:.82rem}.puzzle-result{flex-direction:column;gap:8px;display:flex}@media (min-width:900px) and (min-height:501px){.game-replay .game-bar{order:1}.game-replay .game-stage{order:2}.game-replay .replay-panel{order:3}}.rotate-hint{text-align:center;place-items:center;min-height:100dvh;display:grid}.rotate-hint-box{flex-direction:column;align-items:center;gap:12px;max-width:320px;display:flex}.rotate-hint-box h2{color:var(--accent);margin:0}.rotate-hint-icon{font-size:64px;line-height:1;animation:2.4s ease-in-out infinite rotatehint}@keyframes rotatehint{0%,35%{transform:rotate(0)}65%,to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.rotate-hint-icon{animation:none}}.game{height:100svh;padding:6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:var(--bg);flex-direction:column;gap:6px;display:flex;position:fixed;top:0;left:0;right:0}.game-hud{display:contents}.game-bar{flex:none;align-items:stretch;gap:8px;display:flex}.game-bar .scoreboard{flex:auto;gap:8px;margin:0}@media (min-width:900px) and (min-height:501px){.game-bar{align-items:center;height:76px}.game-bar .pcard{flex:0 300px}.bar-status{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;height:100%;padding:0 14px;display:flex;overflow:hidden}.bar-status p{margin:0}.bar-status .buttons{justify-content:center;margin-top:0}.bar-status .result h2{margin:0;font-size:1.05rem}.bar-status .result p{margin:2px 0 0}}.game-exit{flex:none;padding:0 18px;font-size:1.3rem;line-height:1}.game-stage{flex:auto;place-items:center;width:100%;min-height:0;display:grid;container-type:size}.game-stage .board-area{width:min(100cqw, 100cqh * var(--board-aspect-num,1.44));aspect-ratio:var(--board-aspect,940 / 652);max-width:100%;height:auto}.game-stage .board{background:0 0;border:none;width:100%;height:100%;padding:0;box-shadow:0 8px 28px #00000080}.game-stage .board-svg{width:100%;height:100%}.game-dock{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:none;justify-content:flex-start;height:92px;padding:8px 12px;display:flex;overflow:hidden}.game-dock>:first-child{margin-top:0}.game-dock p{margin:0}.game-dock .buttons{margin-top:8px}.game-dock .result{text-align:center}.game-dock .result h2{margin:0;font-size:1.1rem}@media (orientation:landscape) and (max-height:500px){.game{padding:max(4px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));--hud-min:108px;--hud-reserve:calc(var(--hud-min) + 6px);flex-direction:row;align-items:stretch;gap:6px;container-type:size}.game-stage{flex:none;order:1;width:auto;min-width:0;container-type:normal}.game-stage .board-area{width:min(100cqw - var(--hud-reserve), 100cqh * var(--board-aspect-num,1.44));max-width:100%;height:auto;max-height:100%}.game-hud{min-width:var(--hud-min);flex-direction:column;flex:1 1 0;order:2;gap:4px;display:flex;overflow-y:auto}.game-bar{flex-direction:column;align-items:stretch;gap:4px;width:100%;height:auto}.game-bar .scoreboard{flex-direction:column;gap:4px}.game-bar .pcard{flex:none;gap:5px;min-width:0;padding:4px 6px}.game-bar .tray-dot{width:10px;height:10px}.game-bar .pcard-sub,.game-bar .pcard-pip-lbl{display:none}.game-bar .pcard-main{flex:auto;min-width:0}.game-bar .pcard-name{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;display:block;overflow:hidden}.game-bar .pcard-pip-val{font-size:.95rem}.game-exit{order:-1;align-self:flex-end;padding:2px 10px;font-size:1rem}.game-dock{width:100%;height:auto;padding:6px 8px}.game-dock p{font-size:.72rem}.game-dock .buttons{flex-direction:column;gap:4px;margin-top:6px}.game-dock .buttons button{width:100%;padding:5px 8px;font-size:.72rem}.game-dock .result h2{font-size:.88rem}.game-dock .result p{font-size:.72rem}.replay-panel{gap:6px}.replay-label{font-size:.72rem;line-height:1.2}.replay-progress{font-size:.66rem}.replay-controls{flex-wrap:wrap;gap:4px}.replay-controls .replay-play{flex:1 0 100%;order:-1;min-height:38px;font-size:.8rem}.replay-controls button{flex:1 0 0;min-height:34px;font-size:.85rem}.replay-speeds{flex-wrap:wrap;gap:4px}.replay-speed{min-height:30px;font-size:.72rem}}.appearance{flex-direction:column;gap:14px;width:100%;display:flex}.appearance-group{flex-direction:column;gap:8px;display:flex}.appearance-options{flex-wrap:wrap;gap:10px;display:flex}.appearance-swatch{border:2px solid var(--line);cursor:pointer;background:#241b14;border-radius:10px;flex-direction:column;align-items:center;gap:6px;width:150px;padding:6px;display:flex}.appearance-swatch.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.appearance-preview{pointer-events:none;border-radius:6px;width:100%;display:block;overflow:hidden}.appearance-preview .board{box-shadow:none;background:0 0;border:none;padding:0}.appearance-name{color:var(--text);font-size:.85rem}.ttable{border-collapse:collapse;width:100%;font-size:.92rem}.ttable th,.ttable td{text-align:center;border-bottom:1px solid var(--line);padding:6px 8px}.ttable th{color:var(--muted);font-weight:600}.ttable td:nth-child(2),.ttable th:nth-child(2){text-align:left}.round{margin-bottom:12px}.round h4{margin:8px 0 4px;font-size:.85rem}.pairing{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.pairing-names{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;flex:1}.pairing-res{color:var(--accent);white-space:nowrap;font-size:.9rem}.pairing-actions{flex-shrink:0;gap:6px;display:flex}.pairing-actions button{padding:7px 12px;font-size:.85rem}.confirm-backdrop{z-index:100;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:380px;padding:20px;box-shadow:0 18px 50px #0009}.confirm-box h3{color:var(--accent);margin:0 0 8px}.confirm-box p{margin:0 0 18px;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}button.danger{color:#f6e9e3;background:#7a2b2b;border-color:#9a3a3a}@media (hover:hover){button.danger:hover{background:#8f3333}}.danger-zone{text-align:center;margin-top:22px}.danger-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:6px;font-size:.82rem;text-decoration:underline}@media (hover:hover){.danger-link:hover{color:#d98a8a}}.profile-head{align-items:center;gap:14px;display:flex}.profile-avatar{color:#1b1410;background:linear-gradient(145deg, var(--accent), #9c7b46);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-size:1.6rem;font-weight:800;display:grid}.profile-nick{font-size:1.2rem;font-weight:700}.ach-count{color:var(--accent);font-size:.85rem;font-weight:700}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:10px;display:grid}.ach{border:1px solid var(--line);text-align:center;opacity:.5;filter:grayscale(.7);background:#241b14;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.ach.on{opacity:1;filter:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 14px #c9a36a29}.ach-icon{font-size:1.7rem;line-height:1}.ach-label{font-size:.78rem;font-weight:600}.ach-state{color:var(--target);font-weight:800}.ach-progress{color:var(--muted);font-size:.72rem}.activity{--ag-weeks:53;--ag-gap:3px;--ag-dows:22px;--ag-month-h:14px;--ag-cell:11px;grid-template-columns:var(--ag-dows) minmax(0, max-content);min-block-size:calc(var(--ag-month-h) + 7 * 14px + 7 * var(--ag-gap) + 25px);column-gap:6px;margin-top:10px;display:grid;container-type:inline-size}@supports (width:round(down, 10px, 1px)){.activity-dows,.activity-grid{--ag-cell:clamp(10px, round(down, calc((100cqi - var(--ag-dows) - 6px - (var(--ag-weeks) - 1) * var(--ag-gap)) / var(--ag-weeks)), 1px), 14px)}}.activity-dows{grid-column:1;grid-template-rows:repeat(7, var(--ag-cell));gap:var(--ag-gap);margin-top:calc(var(--ag-month-h) + var(--ag-gap));color:var(--muted);font-size:.62rem;line-height:1;display:grid}.activity-dows span{align-self:center}.activity-dows span:first-child{grid-row:1}.activity-dows span:nth-child(2){grid-row:3}.activity-dows span:nth-child(3){grid-row:5}.activity-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;direction:rtl;grid-column:2;padding-bottom:4px;overflow-x:auto}.activity-grid{grid-template-rows:var(--ag-month-h) repeat(7, var(--ag-cell));grid-auto-columns:var(--ag-cell);gap:var(--ag-gap);direction:ltr;width:max-content;display:grid}.activity-month{color:var(--muted);white-space:nowrap;grid-row:1;align-self:start;font-size:.62rem;line-height:1}.activity-cell{width:var(--ag-cell,11px);height:var(--ag-cell,11px);background:#241b14;border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff0a}.activity-cell:hover{box-shadow:inset 0 0 0 1px var(--muted)}.activity-cell.lv1{background:#55432a;background:oklch(from var(--accent) calc(l * .45) calc(c * .75) h)}.activity-cell.lv2{background:#7d6039;background:oklch(from var(--accent) calc(l * .62) calc(c * .9) h)}.activity-cell.lv3{background:#a5824f;background:oklch(from var(--accent) calc(l * .8) c h)}.activity-cell.lv4{background:var(--accent)}.activity-legend{--ag-cell:11px;grid-column:2;justify-self:end;align-items:center;gap:3px;margin-top:2px;font-size:.62rem;display:flex}.activity-legend span:first-child{margin-inline-end:3px}.activity-legend span:last-child{margin-inline-start:3px}.admin-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.admin-toolbar input{flex:1;min-width:0}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%}.admin-table .admin-email{color:var(--muted);font-size:.85rem}.admin-table tr.admin-banned{opacity:.6}.admin-role{color:var(--accent);font-weight:700}.admin-tabs{margin-bottom:12px}.admin-table tr.admin-row-click{cursor:pointer}@media (hover:hover){.admin-table tr.admin-row-click:hover{background:var(--panel-2,#ffffff0a)}}.admin-table tr.admin-row-click td:first-child{font-weight:600}.info-list{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;list-style:none;display:flex}.info-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 4px;display:flex}.info-row:last-child{border-bottom:none}.info-icon{text-align:center;flex:none;width:32px;font-size:1.4rem;line-height:1.3}.info-text{flex-direction:column;gap:2px;display:flex}.info-text .muted{font-size:.86rem}.ach-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.85rem}@media (hover:hover){.link-btn:hover{text-decoration:underline}}.ai-level{border-left:2px solid var(--accent);background:#ffffff05;border-radius:0 6px 6px 0;margin:4px 0 0 26px;padding:8px 12px}.ai-level legend{opacity:.8;font-size:.85rem;font-weight:600}.ai-level .radio small{opacity:.65;font-size:.8rem;display:block}.install-btn{border-color:var(--accent);color:var(--accent)}@media (hover:hover){.install-btn:hover{background:#c9a36a1f}}.install-ios .muted{margin:8px 0 0;font-size:.85rem}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:32px;padding:20px 16px 28px}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:6px 22px;display:flex}.site-footer a{color:var(--muted);font-size:.9rem;text-decoration:none}.site-footer a:hover{color:var(--accent)}.site-footer p{color:var(--muted);opacity:.7;margin:12px 0 0;font-size:.8rem}
