*,*:before,*:after{box-sizing:border-box}html{overflow:hidden;overflow-x:hidden;overscroll-behavior:none;overscroll-behavior-x:none;width:100%;max-width:100vw;background-color:#1c1b18}body{margin:0;min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background:#1c1b18;color:#e8e6e3;overflow:hidden;overflow-x:hidden;overscroll-behavior:none;overscroll-behavior-x:none;max-width:100vw}button{font-family:inherit}:root{--keyboard-height: 0px}body.keyboard-open{padding-bottom:var(--keyboard-height, 0px)}body.keyboard-open .s1-root,body.keyboard-open .s2-root,body.keyboard-open .s3-root,body.keyboard-open .s4-root,body.keyboard-open .s5-root,body.keyboard-open .s6-root,body.keyboard-open .s7-root,body.keyboard-open .s7g-root,body.keyboard-open .spa-root,body.keyboard-open .ssol-root,body.keyboard-open .snp-root,body.keyboard-open .ipw-root,body.keyboard-open .kb-adjust{bottom:var(--keyboard-height, 0px)!important;transition:bottom .25s ease-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button,[role=button]{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;outline:none}:root{--bg: #1c1b18;--surface: #272422;--surface2: #302c28;--surface3: #3a3633;--border: rgba(255,255,255,.07);--border-s: rgba(255,255,255,.12);--accent: #81b64c;--accent-dark: #4e7837;--accent-deeper: #2f4820;--accent-light: #b0e070;--accent-shadow: rgba(129,182,76,.42);--on-accent: #162409;--accent-glow: rgba(129,182,76,.18);--accent-dim: rgba(129,182,76,.1);--green: #81b64c;--red: #c9393a;--gold: #e8a838;--on-gold: #1a0a00;--blue: #4a90d9;--on-blue: #f0f4ff;--gold-glow: rgba(232,168,56,.2);--text: #f0ede6;--text-dim: #c4bfb8;--text-muted: #9d9a94;--radius-sm: 8px;--radius: 12px;--radius-card: 14px;--radius-lg: 20px;--t-fast: .12s;--t-base: .18s;--t-slow: .28s;--panel-w: 320px;--top-h: 54px;--nav-h: 116px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}html{background-color:#1c1b18}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;overflow-x:hidden;overscroll-behavior:none;overscroll-behavior-x:none;height:100vh;height:100dvh;width:100%}body.is-native{position:fixed;inset:0}#root{height:100%;width:100%;max-width:100vw;overflow:hidden;overflow-x:hidden}button{font-family:inherit;transition:transform .15s cubic-bezier(.34,1.2,.64,1)}button:active:not(:disabled){transform:scale(.96);transition:transform .08s ease}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.app-shell{display:flex;flex-direction:column;height:100%;width:100%;max-width:100vw;overflow:hidden;overflow-x:hidden;background:var(--bg);background-image:linear-gradient(#140e0ab8,#140e0ab8),url(/wood-bg.jpg);background-size:cover;background-position:center;touch-action:pan-y}.home-header{position:absolute;top:0;left:0;right:0;height:52px;padding-top:calc(env(safe-area-inset-top) + 18px);display:flex;align-items:center;justify-content:space-between;padding-left:14px;padding-right:14px;z-index:20;background:linear-gradient(180deg,rgba(12,11,9,.82) 0%,rgba(12,11,9,.35) 65%,transparent 100%)}.header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.header-avatar-btn{width:32px;height:32px;border-radius:50%;background:#14120fb3;border:1.5px solid rgba(136,153,187,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;flex-shrink:0;transition:border-color .15s,background .15s;font-family:inherit;color:#9d9a94}.header-avatar-btn:active{border-color:#89b;background:#8899bb1f}.header-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;pointer-events:none}.header-avatar-placeholder{display:flex;align-items:center;justify-content:center;color:#9d9a94}.header-avatar-back{font-size:16px;font-weight:700;color:#c4bfb8;line-height:1}.header-username{font-size:13px;font-weight:500;color:#c4bfb8;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;letter-spacing:-.01em}.header-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.header-logo-img{height:34px;width:auto;object-fit:contain;filter:drop-shadow(0 1px 6px rgba(218,175,60,.3))}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center}.logo-header,.logo-img{display:none}.top-bar{height:var(--top-h);display:flex;align-items:center;padding:0 16px;gap:12px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.top-bar-logo{font-size:1.4rem;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(129,182,76,.4))}.top-bar-name{font-size:.9rem;font-weight:700;color:var(--text-dim);flex-shrink:0;letter-spacing:-.01em}.top-bar-session{flex:1;display:flex;align-items:center;gap:8px;overflow:hidden;padding:0 4px}.top-bar-divider{width:1px;height:18px;background:var(--border-s);flex-shrink:0}.top-bar-session-name{font-size:.85rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.mode-chip{font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0;letter-spacing:.04em;text-transform:uppercase}.mode-chip.autoplay,.mode-chip.practice{background:#81b64c1f;color:var(--accent);border:1px solid rgba(129,182,76,.25)}.mode-chip.demo{background:#e8a8381a;color:var(--gold);border:1px solid rgba(232,168,56,.22)}.top-bar--session{background:transparent;border-bottom:none}.floating-back-btn{position:absolute;top:10px;left:10px;z-index:50;animation:screenFadeIn .25s ease-out both}.top-bar-back{background:#ffffff12;border:1px solid rgba(255,255,255,.1);color:var(--text-dim);font-size:1.1rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;flex-shrink:0;transition:color .18s,background .18s,border-color .18s;padding:0;line-height:1}.top-bar-back:hover{color:var(--text);background:#ffffff21;border-color:#ffffff2e}.top-bar-watch-btn{background:var(--accent-dim);border:1px solid rgba(129,182,76,.25);color:var(--accent);padding:5px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .18s,border-color .18s;letter-spacing:.01em}.top-bar-watch-btn:hover{background:#81b64c33;border-color:#81b64c73}.top-bar-close{background:transparent;border:1px solid var(--border-s);color:var(--text-muted);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}.top-bar-close:hover{border-color:var(--red);color:var(--red);background:#c9393a14}.variation-select{flex:1;min-width:0;height:32px;background:var(--surface2);border:1px solid var(--border-s);border-radius:var(--radius-sm);color:var(--text);font-size:.8rem;font-family:inherit;font-weight:500;padding:0 28px 0 10px;cursor:pointer;outline:none;transition:border-color .18s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23706860'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.variation-select:focus,.variation-select:hover{border-color:var(--accent)}.variation-select option{background:var(--surface2);color:var(--text)}.board-region{flex:1;position:relative;overflow:visible;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;width:100%;max-width:100vw}.board-region--home{padding-top:74px}.side-panel{position:fixed;top:0;right:0;bottom:0;width:min(var(--panel-w),92vw);background:var(--surface);border-left:1px solid rgba(255,255,255,.07);box-shadow:none;transform:translate(100%);transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:200;display:flex;flex-direction:column;pointer-events:none}.side-panel.open{transform:translate(0);box-shadow:-20px 0 60px #000000b3;pointer-events:auto}.panel-backdrop{position:fixed;inset:0;background:#0009;z-index:199;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.bottom-nav{height:var(--nav-h);animation:screenFadeIn .25s ease-out both;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,#161512f7,#12110ffc);border-top:1px solid rgba(129,182,76,.18);box-shadow:0 -1px #0009,0 -12px 40px #00000059,inset 0 1px #81b64c1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-shrink:0;position:relative;z-index:50;padding:8px 14px max(18px,env(safe-area-inset-bottom,0px));transition:opacity .3s ease}.bottom-nav--hidden{opacity:0;pointer-events:none;visibility:hidden;border-top-color:transparent}.bottom-nav--panel .nav-openings-btn,.bottom-nav--panel .nav-btn-side{opacity:0;pointer-events:none}.nav-openings-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 30%,var(--accent-dark) 65%,var(--accent-deeper) 100%);color:var(--on-accent);border:none;border-radius:14px;padding:11px 16px;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.01em;cursor:pointer;flex-shrink:0;position:relative;overflow:hidden;transition:filter .15s,transform .1s,box-shadow .15s;box-shadow:0 4px 22px var(--accent-shadow),0 1px 4px #00000059,inset 0 1.5px #ffffff52,inset 0 -2px #0000002e}.nav-openings-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.18) 50%,transparent 80%);background-size:200% 100%;background-position:-200% 0;animation:openingsBtnShimmer 3.5s ease-in-out infinite;pointer-events:none;border-radius:14px}@keyframes openingsBtnShimmer{0%{background-position:-200% 0}50%{background-position:200% 0}to{background-position:200% 0}}.nav-openings-btn:active{filter:brightness(.86);transform:scale(.97);box-shadow:0 1px 8px var(--accent-glow),inset 0 1px #ffffff26}.bottom-nav--panel .nav-openings-btn{animation:none}.bottom-nav--panel .nav-openings-btn:after{animation:none}.nav-openings-btn.active{box-shadow:0 0 0 2px var(--accent-glow)}.nav-tabs{display:flex;flex:1;align-items:stretch;gap:2px}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s,background .18s;font-family:inherit;padding:3px 2px 4px;position:relative;border-radius:10px}.nav-btn.active{color:var(--accent);background:#81b64c1c}.nav-btn:active{opacity:.7}.nav-btn:after{display:none}.nav-label{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1}.nav-back-float{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:10px 20px max(14px,env(safe-area-inset-bottom,0px));cursor:pointer;flex-shrink:0;transition:color .15s}.nav-back-float:active{color:var(--text)}div[data-piece][style*=grabbing]{transform:scale(2.4) translateY(-75%)!important;filter:drop-shadow(0 16px 24px rgba(0,0,0,.55))!important;z-index:9999!important}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.board-area{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:560px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overscroll-behavior-x:none;max-height:100vh;max-height:100dvh;min-height:0;padding:12px 6px 14px;scrollbar-width:none}.board-area::-webkit-scrollbar{display:none}.board-area [data-boardid],.board-area [class*=styledBoard],.board-area>div>div{touch-action:none;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-user-select:none;user-select:none}.board-inner{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;animation:boardFadeIn .2s ease-out both;position:relative}.eval-bar{width:12px;flex-shrink:0;display:flex;flex-direction:column;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 2px 12px #0009}.eval-bar-dark{background:#1a1a1a;display:flex;align-items:flex-start;justify-content:center;min-height:6px;transition:flex .4s ease}.eval-bar-light{background:#f0d9b5;display:flex;align-items:flex-end;justify-content:center;min-height:6px;transition:flex .4s ease}.eval-score{font-size:.5rem;font-weight:700;letter-spacing:.02em;padding:3px 0;writing-mode:vertical-lr;text-orientation:mixed;line-height:1}.eval-score-dark{color:#f0d9b5;transform:rotate(180deg)}.eval-score-light{color:#1a1a1a}.eval-bar-h{height:8px;flex-shrink:0;display:flex;flex-direction:row;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 2px 8px #00000080}.eval-bar-h-dark{background:#1a1a1a;min-width:6px;display:flex;align-items:center;justify-content:flex-start;transition:flex .4s ease}.eval-bar-h-light{background:#f0d9b5;min-width:6px;display:flex;align-items:center;justify-content:flex-end;transition:flex .4s ease}.eval-score-h{font-size:.48rem;font-weight:700;padding:0 3px;line-height:1}.eval-score-h.score-dark{color:#f0d9b5}.eval-score-h.score-light{color:#1a1a1a}.mascot-row{display:flex;align-items:flex-start;gap:12px;position:relative;width:100%;padding:8px 14px 0;height:130px;flex-shrink:0;overflow:visible}.mascot-row.mascot-row--tall{height:auto;overflow:visible}.free-mascot-row{padding:4px 14px 0;height:116px;align-items:flex-start;gap:6px}.free-mascot-row .mascot-avatar-wrap{width:78px;height:102px}@keyframes mascot-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes mascot-celebrate{0%{transform:translateY(0) rotate(0)}20%{transform:translateY(-10px) rotate(-8deg)}40%{transform:translateY(-14px) rotate(8deg)}60%{transform:translateY(-8px) rotate(-5deg)}80%{transform:translateY(-4px) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes mascot-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.mascot-avatar-wrap{width:68px;height:88px;flex-shrink:0;position:relative}.mascot-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 16px rgba(0,0,0,.65));animation:mascot-idle 3.5s ease-in-out infinite;transform-origin:bottom center}.mascot-avatar--out{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 16px rgba(0,0,0,.65));animation:mascot-xfade-out .4s ease forwards;pointer-events:none}@keyframes mascot-xfade-out{0%{opacity:1}to{opacity:0}}.mascot-avatar.mascot-anim-complete{animation:mascot-celebrate .7s ease-in-out 1}.mascot-avatar.mascot-anim-mistake{animation:mascot-shake .45s ease-in-out 1}.mascot-bubble{transition:border-left-color .25s ease;flex:1;background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-left:3px solid rgba(255,255,255,.1);border-radius:4px 16px 16px;padding:12px 16px 11px;position:relative;z-index:60;min-height:64px;align-self:flex-end;display:flex;flex-direction:column;justify-content:center;gap:4px;box-shadow:0 4px 20px #00000059}.mascot-bubble.your-turn,.mascot-bubble.correct{border-left-color:var(--accent)}.mascot-bubble.mistake{border-left-color:var(--red)}.mascot-bubble.complete{border-left-color:var(--gold)}.mascot-bubble.opponent{border-left-color:var(--blue)}.mascot-bubble-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.mascot-title{font-size:.92rem;font-weight:700;color:var(--text);line-height:1.2;letter-spacing:-.01em}.mascot-move-count{font-size:.68rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-weight:500}.mascot-collapse-chevron{font-size:.55rem;color:var(--text-muted);line-height:1;transition:transform .2s ease;display:block}.mascot-body-wrap{overflow:visible}.mascot-body{font-size:.8rem;color:var(--text-dim);line-height:1.45}.mascot-progress{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-top:4px}.mascot-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .35s ease}.mascot-again-btn{margin-top:6px;align-self:flex-start;background:var(--accent);border:none;color:var(--on-accent);font-size:.75rem;font-weight:700;padding:5px 14px;border-radius:20px;cursor:pointer;font-family:inherit;transition:background .18s,transform .1s;letter-spacing:.02em}.mascot-again-btn:hover{background:var(--accent-dark);transform:translateY(-1px)}.mascot-again-btn:active{transform:translateY(0)}@keyframes openingFlash{0%{background:#81b64c4d}to{background:#81b64c1a}}.mascot-opening-label{display:inline-block;font-size:.63rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:#81b64c1a;color:var(--accent);border:1px solid rgba(129,182,76,.25);border-radius:20px;padding:1px 8px;margin-bottom:2px;align-self:flex-start;animation:openingFlash 1s ease-out forwards}.session-actions{display:flex;justify-content:center;gap:0;width:100%;padding:2px 12px}.action-icon-btn{display:flex;flex-direction:column;align-items:center;gap:7px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:12px 32px;border-radius:var(--radius);transition:color .18s;font-family:inherit;position:relative;flex:1}.action-icon-btn:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--accent);border-radius:2px;transition:width .2s ease}.action-icon-btn:disabled{cursor:default;pointer-events:none;opacity:.28}.action-icon-btn:hover,.action-icon-btn.active{color:var(--accent)}.action-icon-btn.active:after{width:24px}.action-icon-btn-icon{font-size:1.9rem;line-height:1}.action-icon-btn-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-actions--practice-nav{padding:6px 0 2px;background:transparent;border-top:none;justify-content:space-around}.session-actions--practice-nav .pnav-btn{gap:5px;padding:10px 0;color:#ffffff73;transition:color .15s,opacity .15s}.session-actions--practice-nav .pnav-btn:hover{color:#ffffffb3}.session-actions--practice-nav .pnav-btn:after{display:none}.session-actions--practice-nav .pnav-btn.active,.session-actions--practice-nav .pnav-btn:hover{color:#ffffffb3}.session-actions--practice-nav .pnav-btn:disabled{opacity:.25;pointer-events:none}.pnav-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0}.pnav-icon svg{display:block}.session-actions--practice-nav .action-icon-btn-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1}.playback-controls{display:flex;align-items:center;gap:8px;justify-content:center;width:100%;max-width:560px;padding:0 12px}.ctrl-btn{background:var(--surface2);border:1px solid rgba(255,255,255,.09);color:var(--text-dim);width:42px;height:42px;border-radius:10px;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;flex-shrink:0}.ctrl-btn:hover:not(:disabled){border-color:#81b64c66;color:var(--accent);background:var(--accent-dim)}.ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.ctrl-btn.play-btn{width:52px;height:52px;background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-size:1.15rem;font-weight:700;box-shadow:0 3px 12px #81b64c4d}.ctrl-btn.play-btn.results-btn{width:auto;padding:0 14px;font-size:.8rem;font-weight:600}.ctrl-btn.play-btn:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark);box-shadow:0 4px 18px #81b64c66}.review-nav-bar{display:flex;flex-direction:column;gap:10px;width:100%;padding:0 4px}.review-nav-top{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.review-back-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:8px;-webkit-tap-highlight-color:transparent;transition:color .15s;font-family:inherit}.review-back-btn:active{color:var(--text)}.review-move-count{font-size:13px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;letter-spacing:.5px}.review-home-btn{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);cursor:pointer;padding:6px 11px;border-radius:8px;-webkit-tap-highlight-color:transparent;font-family:inherit;transition:color .15s}.review-home-btn:active{color:var(--text)}.review-nav-controls{display:flex;align-items:center;gap:6px}.review-ctrl{width:40px;height:40px;border-radius:10px;background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:background .12s,color .12s}.review-ctrl--lg{width:48px;height:48px;font-size:1.3rem;background:var(--surface2);border-color:#ffffff1f;color:var(--text)}.review-ctrl:disabled{opacity:.28;cursor:not-allowed}.review-ctrl:active:not(:disabled){background:var(--surface3, #3a3632);color:var(--accent)}.review-progress-track{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.review-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease;min-width:6px}.step-count{color:var(--text-muted);font-size:.82rem;font-weight:500;min-width:44px;text-align:center}.back-to-practice-btn{background:transparent;border:1px solid var(--border-s);color:var(--text-muted);font-size:.8rem;font-weight:600;font-family:inherit;padding:7px 18px;border-radius:20px;cursor:pointer;transition:color .18s,border-color .18s,background .18s;letter-spacing:.01em}.back-to-practice-btn:hover{color:var(--accent);border-color:#81b64c66;background:var(--accent-dim)}.bot-bar{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:560px;padding:0 12px}.bot-bar-row{display:flex;gap:8px;align-items:center;justify-content:center}.bot-toggle-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-size:.72rem;font-weight:700;font-family:inherit;letter-spacing:.04em;padding:5px 18px;border-radius:20px;cursor:pointer;transition:all .18s}.bot-toggle-btn:hover{border-color:var(--border-s);color:var(--text-dim)}.bot-toggle-btn.active{background:#81b64c1a;border-color:#81b64c4d;color:var(--accent)}.elo-scroll-bar{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;width:100%;padding:2px 2px 4px;scrollbar-width:none;scroll-snap-type:x mandatory;opacity:.35;transition:opacity .2s ease;pointer-events:none}.elo-scroll-bar.active{opacity:1;pointer-events:auto}.elo-scroll-bar::-webkit-scrollbar{display:none}.elo-chip{flex-shrink:0;padding:3px 10px;font-size:.66rem;font-weight:600;font-family:inherit;border-radius:20px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .15s;scroll-snap-align:center}.elo-chip:hover{border-color:var(--border-s);color:var(--text-dim)}.elo-chip.active{background:#81b64c1f;border-color:#81b64c59;color:var(--accent)}.material-bar{display:flex;align-items:center;gap:6px;padding:2px;min-height:18px;width:100%;max-width:560px}.material-pieces{display:flex;flex-wrap:wrap;gap:1px;align-items:center}.material-piece{font-size:13px;line-height:1;opacity:.9}.material-score{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.02em}.material-bar--inline{width:auto;min-height:unset;padding:0}.free-play-status{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:0 2px;height:22px;flex-shrink:0}.free-play-status-center{flex:1;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}.free-play-actions{display:flex;justify-content:space-between;align-items:center;width:100%;height:28px;flex-shrink:0}.free-play-actions-left{display:flex;align-items:center;gap:4px;flex-shrink:0}.free-play-actions-you{font-size:.75rem;font-weight:600;color:var(--accent);flex-shrink:0}.free-play-actions-right{display:flex;align-items:center;gap:6px}.free-play-ctrl-btn--icon{padding:4px 8px;font-size:1rem;border-radius:8px;line-height:1}.board-area--home{overflow-y:hidden}.board-area--session{overflow:visible}.free-play-bar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:560px;padding:0 12px;gap:10px}.free-play-ctrl-btn{background:#ffffff12;color:var(--text);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.free-play-ctrl-btn:hover:not(:disabled){background:#ffffff1c;border-color:#ffffff2e}.free-play-ctrl-btn:disabled{opacity:.3;cursor:default}.free-play-opening{flex:1;text-align:center;font-size:.8rem;font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.free-play-opening--tap{background:none;border:1px solid rgba(129,182,76,.3);border-radius:20px;padding:4px 10px;cursor:pointer;transition:background .15s,border-color .15s}.free-play-opening--tap:active{background:#81b64c1f;border-color:#81b64c99}.free-play-bot-btn{flex:1;background:var(--accent);color:var(--on-accent);border:none;border-radius:12px;padding:9px 14px;font-family:inherit;font-size:.88rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.free-play-bot-btn:active{opacity:.82;transform:scale(.97)}.free-play-bot-btn--results{background:#81b64c1f;color:var(--accent);border:1px solid rgba(129,182,76,.35)}.player-indicator{display:flex;align-items:center;gap:8px;width:100%;padding:0 2px;height:26px;flex-shrink:0}.player-indicator-avatar{width:22px;height:22px;border-radius:50%;background:var(--surface2);border:1px solid var(--border-s);display:flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;flex-shrink:0}.player-indicator-name{font-size:.78rem;font-weight:600;color:var(--text-muted);flex:1}.player-indicator--you .player-indicator-name{color:var(--accent)}.player-indicator--you .player-indicator-avatar{background:#81b64c1f;border-color:#81b64c59}.player-indicator-rating{font-size:.7rem;color:var(--text-muted)}.free-play-ctrl-btn--resign{color:var(--red);border-color:#dc3c3c4d}.free-play-ctrl-btn--resign:hover:not(:disabled){background:#dc3c3c14;border-color:#dc3c3c80;color:var(--red)}.panel-header{display:flex;align-items:center;gap:10px;padding:max(20px,env(safe-area-inset-top,20px)) 16px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:var(--surface)}.panel-title{font-size:1.1rem;font-weight:700;flex:1;letter-spacing:-.02em;color:var(--text)}.panel-close{background:#ffffff0f;border:none;color:var(--text-muted);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.panel-close:hover{background:#c9393a1f;color:var(--red)}.panel-scroll{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:10px 10px max(24px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px}.panel-search{width:100%;padding:11px 14px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:16px;color:var(--text);font-family:inherit;outline:none;margin-bottom:6px;transition:border-color .18s}.panel-search:focus{border-color:var(--accent)}.panel-search::placeholder{color:var(--text-muted)}.opening-list-card{background:var(--surface2);border:1px solid rgba(255,255,255,.06);border-left:3px solid transparent;border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:5px;text-align:left;width:100%}.opening-list-card:hover{border-left-color:var(--accent);background:var(--surface3);transform:translate(2px)}.opening-list-card h4{font-size:.88rem;font-weight:700;margin:0;line-height:1.25;letter-spacing:-.01em;color:var(--text)}.opening-list-card p{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.4}.card-badges{display:flex;gap:6px;flex-wrap:wrap}.color-badge,.difficulty-badge{font-size:.64rem;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.04em;text-transform:uppercase}.color-badge.white{background:#ffffff0f;color:var(--text-dim);border:1px solid rgba(255,255,255,.12)}.color-badge.black{background:#00000040;color:var(--text-muted);border:1px solid rgba(255,255,255,.07)}.difficulty-badge.beginner{background:#81b64c1a;color:var(--green);border:1px solid rgba(129,182,76,.22)}.difficulty-badge.intermediate{background:#e8a8381a;color:var(--gold);border:1px solid rgba(232,168,56,.22)}.difficulty-badge.advanced{background:#c9393a1a;color:var(--red);border:1px solid rgba(201,57,58,.22)}.panel-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:4px 2px}.panel-detail{display:flex;flex-direction:column;height:100%}.panel-detail-header{padding:16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.panel-detail-header h2{font-size:1rem;font-weight:700;margin:0;line-height:1.3;letter-spacing:-.01em}.panel-detail-header p{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.45}.panel-detail-actions{padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1}.action-btn{width:100%;padding:15px 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.09);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:14px;transition:all .18s;text-align:left;letter-spacing:-.01em}.action-btn.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);box-shadow:0 3px 14px #81b64c40}.action-btn.primary:hover{background:var(--accent-dark);box-shadow:0 4px 20px #81b64c59;transform:translateY(-1px)}.action-btn.secondary{background:var(--surface2);color:var(--text)}.action-btn.secondary:hover{background:var(--surface3);border-color:#81b64c4d;color:var(--accent)}.action-btn-icon{font-size:1.25rem}.action-btn-text{display:flex;flex-direction:column;gap:2px}.action-btn-label{font-size:.88rem}.action-btn-desc{font-size:.73rem;font-weight:400;opacity:.7}.difficulty-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.back-link{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:8px 0;font-family:inherit;text-align:left;display:flex;align-items:center;gap:4px;transition:color .18s;font-weight:500}.back-link:hover{color:var(--text)}.status-bar{min-height:32px;padding:6px 12px;background:var(--surface2);border:1px solid var(--border-s);border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted);width:100%;max-width:560px;transition:border-color .25s,background .25s}.status-bar.your-turn{border-color:#81b64c59;background:var(--accent-dim);color:var(--accent)}.status-move{font-weight:700;color:var(--accent);white-space:nowrap}.inline-feedback{width:100%;max-width:560px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.84rem;display:flex;flex-direction:column;gap:6px}.inline-feedback.mistake{background:#c9393a12;border:1px solid rgba(201,57,58,.2);color:var(--text)}.inline-feedback.complete{background:#e8a83812;border:1px solid rgba(232,168,56,.2);color:var(--text)}.inline-feedback .fb-header{font-weight:700;display:flex;align-items:center;gap:6px}.inline-feedback .fb-body{color:var(--text-muted);font-size:.78rem;line-height:1.45}.inline-feedback-actions{display:flex;gap:8px;margin-top:4px}.fb-btn{padding:7px 14px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;border:1px solid var(--border-s);background:var(--surface2);color:var(--text);font-family:inherit;transition:all .18s}.fb-btn:hover{border-color:#81b64c4d;color:var(--accent)}.fb-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.fb-btn.primary:hover{background:var(--accent-dark)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardSlideUp{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cardPopIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.completion-overlay{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:600;display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px);animation:overlayFadeIn .22s ease-out both}@media(min-width:520px){.completion-overlay{align-items:center;padding-bottom:0}}.completion-drag-handle{width:36px;height:4px;background:#ffffff2e;border-radius:2px;margin:10px auto 0}.completion-card{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:440px;overflow:hidden;box-shadow:0 -8px 48px #0009;animation:cardSlideUp .32s cubic-bezier(.22,1,.36,1) both;animation-delay:60ms}@media(min-width:520px){.completion-card{border:1px solid var(--border-s);border-radius:var(--radius-lg);animation:cardPopIn .28s cubic-bezier(.34,1.2,.64,1) both;animation-delay:60ms}}.completion-header{padding:24px 24px 20px;text-align:center;background:linear-gradient(160deg,rgba(129,182,76,.12) 0%,transparent 60%);border-bottom:1px solid rgba(255,255,255,.07)}.completion-trophy{font-size:2.6rem;line-height:1;margin-bottom:10px;display:block;filter:drop-shadow(0 4px 14px rgba(232,168,56,.45));animation:cardSlideUp .38s cubic-bezier(.22,1,.36,1) both;animation-delay:.12s}.completion-title{font-size:1.15rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-bottom:4px}.completion-subtitle{font-size:.78rem;color:var(--text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;margin:0 auto}.completion-actions{padding:12px 14px 18px;display:flex;flex-direction:column;gap:7px}.completion-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s,transform .12s;text-align:left;font-family:inherit}.completion-btn:hover{background:var(--surface3);transform:translate(2px)}.completion-btn.primary{background:var(--accent);border-color:transparent;box-shadow:0 3px 16px #81b64c4d}.completion-btn.primary:hover{background:var(--accent-dark);transform:translate(2px)}.completion-btn-icon{font-size:1.2rem;flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:var(--radius-sm)}.completion-btn.primary .completion-btn-icon{background:#ffffff2e}.completion-btn-text{display:flex;flex-direction:column;gap:2px;min-width:0}.completion-btn-label{font-size:.87rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2}.completion-btn.primary .completion-btn-label{color:var(--on-accent)}.completion-btn-desc{font-size:.71rem;color:var(--text-muted);font-weight:400;line-height:1.3}.completion-btn.primary .completion-btn-desc{color:#ffffffad}.completion-btn--exit{margin-top:2px;border-color:transparent;background:transparent}.completion-btn--exit:hover{background:#ffffff0a;border-color:var(--border)}.completion-btn--exit .completion-btn-icon{background:#ffffff0a;color:var(--text-muted)}.completion-btn--exit .completion-btn-label{color:var(--text-muted)}.completion-btn--exit .completion-btn-desc{color:var(--text-muted);opacity:.6}.or-overlay{position:fixed;inset:0;z-index:600;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .18s ease-out both}.or-screen{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.or-close-btn{position:absolute;top:12px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--text-muted);cursor:pointer;z-index:2;transition:background .15s,color .15s}.or-close-btn:hover{background:#ffffff24;color:var(--text)}.or-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,16px)}.or-hero{text-align:center;padding:52px 20px 28px;flex-shrink:0}.or-hero--perfect{background:linear-gradient(160deg,rgba(232,168,56,.13) 0%,rgba(129,182,76,.07) 50%,transparent 80%)}.or-hero--learn{background:linear-gradient(160deg,rgba(74,144,217,.12) 0%,rgba(129,182,76,.06) 50%,transparent 80%)}.or-hero--complete{background:linear-gradient(160deg,rgba(129,182,76,.09) 0%,transparent 70%)}.or-mascot-wrap{display:inline-block;margin-bottom:14px}.or-mascot{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.4))}.or-result-label{font-size:2rem;font-weight:900;color:var(--text);letter-spacing:-.03em;line-height:1.1;margin-bottom:6px}.or-opening-name{font-size:.85rem;color:var(--text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;margin:0 auto 14px}.or-stars-row{display:flex;justify-content:center;gap:6px}.or-star{font-size:1.7rem;color:#ffffff1f;transition:color .2s;line-height:1}.or-star--on{color:var(--gold);filter:drop-shadow(0 2px 8px rgba(232,168,56,.45))}.or-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.or-stat{display:flex;flex-direction:column;align-items:center;padding:16px 8px;border-right:1px solid rgba(255,255,255,.07)}.or-stat:last-child{border-right:none}.or-stat-value{font-size:1.6rem;font-weight:800;line-height:1;margin-bottom:5px}.or-stat-label{font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.or-actions{padding:16px;display:flex;flex-direction:column;gap:8px}.or-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s,transform .1s;text-align:left;font-family:inherit}.or-btn:active{transform:scale(.98)}.or-btn:hover{background:var(--surface3)}.or-btn--primary{background:var(--accent);border-color:transparent;box-shadow:0 3px 16px #81b64c4d}.or-btn--primary:hover{background:var(--accent-dark)}.or-btn--learn-primary{background:var(--blue);border-color:transparent;box-shadow:0 3px 16px #4a90d94d}.or-btn--learn-primary:hover{background:var(--blue-dark, #3a7fc9)}.or-btn--exit{background:transparent;border-color:transparent;margin-top:2px}.or-btn--exit:hover{background:#ffffff0a;border-color:var(--border)}.or-btn-icon{font-size:1.1rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:var(--radius-sm);flex-shrink:0}.or-btn--primary .or-btn-icon,.or-btn--learn-primary .or-btn-icon{background:#ffffff2e}.or-btn--exit .or-btn-icon{background:#ffffff08;color:var(--text-muted)}.or-btn-text{display:flex;flex-direction:column;gap:2px;min-width:0}.or-btn-label{font-size:.87rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2}.or-btn--primary .or-btn-label{color:var(--on-accent)}.or-btn--learn-primary .or-btn-label{color:var(--on-blue)}.or-btn--exit .or-btn-label{color:var(--text-muted)}.or-btn-desc{font-size:.71rem;color:var(--text-muted);font-weight:400;line-height:1.3}.or-btn--primary .or-btn-desc,.or-btn--learn-primary .or-btn-desc{color:#ffffffad}.or-btn--exit .or-btn-desc{opacity:.6}.game-over-exit-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:10px;padding:13px;background:var(--surface2);border:1px solid var(--border-s);border-radius:14px;color:var(--text);font-size:15px;font-weight:600;font-family:inherit;text-align:center;cursor:pointer;transition:background .15s,transform .1s}.game-over-exit-btn:active{background:var(--surface3);transform:scale(.97)}.ins-full{position:absolute;inset:0;background:var(--bg);z-index:200;display:flex;flex-direction:column;overflow:hidden}.ins-topbar{display:flex;align-items:center;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.ins-topbar-title{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.4px}.ins-full-body{flex:1;overflow-y:auto;padding:12px 14px 40px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.ins-hero-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ins-hero-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ins-style-pill{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--surface2),var(--surface3));border:1px solid var(--border-s);border-radius:var(--radius);padding:12px 14px;width:100%;cursor:pointer;text-align:left}.ins-style-pill:active{opacity:.8}.ins-ai-summary{display:flex;gap:10px;align-items:flex-start;background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:12px}.ins-section-list{display:flex;flex-direction:column;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ins-list-heading{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600;padding:10px 14px 8px;margin:0;background:var(--surface3);border-bottom:1px solid var(--border)}.ins-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--border);background:transparent;border-left:none;border-right:none;border-top:none;width:100%;cursor:pointer;text-align:left}.ins-row:last-child{border-bottom:none}.ins-row:active{background:var(--surface3)}.ins-row-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.ins-row-text{flex:1;display:flex;flex-direction:column;gap:2px}.ins-row-title{font-size:14px;font-weight:600;color:var(--text)}.ins-row-preview{font-size:12px;color:var(--text-muted)}.ins-row-arrow{color:var(--text-muted);font-size:20px;flex-shrink:0}.ins-footer-note{font-size:11px;color:var(--text-muted);text-align:center;margin:4px 0 0}.ins-page{position:absolute;inset:0;background:var(--bg);z-index:210;display:flex;flex-direction:column;overflow:hidden}.ins-sub-header{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.ins-back-btn{background:var(--surface2);border:1px solid var(--border-s);color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 12px;font-size:16px;cursor:pointer}.ins-sub-title{font-size:17px;font-weight:700;color:var(--text)}.ins-page-body{flex:1;overflow-y:auto;padding:14px 14px 40px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.ins-detail-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.ins-tip-box{flex-direction:row!important;align-items:flex-start;gap:10px;background:#4a90d90f!important;border:1px solid rgba(74,144,217,.18)!important}.ins-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:700;margin:0}.ins-quote{font-size:13px;color:var(--text-dim);line-height:1.6;font-style:italic;margin:0}.ins-kv-list{display:flex;flex-direction:column}.ins-kv{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-dim)}.ins-kv:last-child{border-bottom:none}.ins-kv strong{color:var(--text);font-weight:600}.ins-big-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ins-big-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.ins-label-sm{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.ins-elo-hero-full{display:flex;flex-direction:column;align-items:center;padding:20px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);gap:4px}.ins-elo-big{font-size:64px;font-weight:900;color:var(--accent);line-height:1;letter-spacing:-2px}.ins-mistake-btn{display:flex;align-items:center;width:100%;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 0;cursor:pointer;gap:4px;text-align:left}.ins-mistake-btn:last-of-type{border-bottom:none}.ins-mistake-btn:active{opacity:.7}.ins-mistake-expand{background:var(--surface3);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:6px}.ins-opening-thead{display:grid;grid-template-columns:1fr 56px 56px;padding:8px 14px;background:var(--surface3);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:700;border-bottom:1px solid var(--border)}.ins-opening-row-btn{display:grid;grid-template-columns:1fr 56px 56px auto;align-items:center;gap:8px;padding:12px 14px;background:none;border:none;border-bottom:1px solid var(--border);width:100%;cursor:pointer;text-align:left}.ins-opening-row-btn:last-child{border-bottom:none}.ins-opening-row-btn:active{background:var(--surface3)}.ins-back-inline{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0 0 10px;display:block}.ins-cta-btn{margin-top:6px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;width:100%}.ins-weakness-row-btn{display:flex;align-items:center;gap:12px;padding:13px 14px;background:none;border:none;border-bottom:1px solid var(--border);width:100%;cursor:pointer;text-align:left}.ins-weakness-row-btn:last-child{border-bottom:none}.ins-weakness-row-btn:active{background:var(--surface3)}.ins-weakness-num-circle{width:26px;height:26px;background:var(--accent);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ins-suggest-full{transition:border-color .15s}.ins-suggest-full:active{border-color:var(--accent)}.ins2-wrap{--ip-bg: var(--bg);--ip-card: var(--surface);--ip-bd: rgba(255,255,255,.07);--ip-text: var(--text);--ip-muted: var(--text-muted);--ip-dim: var(--text-dim3, #6a6560);--ip-green: var(--accent);--ip-red: var(--red);--ip-amber: var(--gold);--ip-blue: var(--blue);--ip-mono: "IBM Plex Mono","Fira Code","Menlo",monospace;--ins-bg: var(--ip-bg);--ins-s1: var(--ip-bg);--ins-s2: var(--ip-card);--ins-border: var(--ip-bd);--ins-bd2: rgba(129,182,76,.15);--ins-text: var(--ip-text);--ins-muted: var(--ip-muted);--ins-dim: var(--ip-dim);--ins-green: var(--ip-green);--ins-mono: var(--ip-mono);--ins-display: var(--ip-mono);position:fixed;inset:0;z-index:200;background:var(--ip-bg);display:flex;flex-direction:column;overflow:hidden;color:var(--ip-text)}.ins2-header{display:flex;align-items:center;gap:8px;padding:max(14px,env(safe-area-inset-top,14px)) 16px 14px;border-bottom:1px solid var(--ip-bd);flex-shrink:0;background:var(--ip-bg)}.ins2-back-arrow{background:none;border:none;cursor:pointer;font-size:24px;color:var(--ip-muted);padding:0;line-height:1}.ins2-title{font-size:17px;font-weight:600;color:var(--ip-text);letter-spacing:-.2px;flex:1}.ins2-username-block{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.ins2-username-name{font-size:13px;font-weight:600;color:var(--ip-text)}.ins2-chesscom-tag{font-size:10px;color:var(--ip-muted)}.ins2-tc-tabs{display:flex;border-bottom:1px solid var(--ip-bd);flex-shrink:0;padding:0 8px;background:var(--ip-bg);gap:2px}.ins2-tc-tab{background:none;border:none;cursor:pointer;padding:10px;font-size:13px;font-weight:500;color:var(--ip-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s}.ins2-tc-tab--active{color:var(--ip-text);font-weight:600;border-bottom-color:var(--ip-green)}.ins2-tc-tab--empty{opacity:.4}.ins2-sticky-stats{flex-shrink:0;background:var(--ip-bg)}.ins2-stats-row{display:flex;gap:5px;padding:8px 8px 6px;border-bottom:.5px solid var(--ip-bd);background:var(--ip-bg);overflow-x:auto}.ins2-stat{background:var(--surface);border:.5px solid rgba(255,255,255,.08);border-radius:10px;padding:11px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0}.ins2-stat-label{font-size:9px;color:var(--ip-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;white-space:nowrap}.ins2-section-tabs{display:flex;border-bottom:.5px solid rgba(255,255,255,.07);flex-shrink:0;background:var(--ip-bg);padding:0 10px}.ins2-section-tab{background:none;border:none;cursor:pointer;flex:1;padding:10px 6px;font-size:11px;font-weight:500;color:var(--ip-muted);border-bottom:2px solid transparent;margin-bottom:-1px;text-align:center;white-space:nowrap;transition:color .15s}.ins2-section-tab--active{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}.ins2-body{flex:1;overflow-y:auto;padding:14px 14px 40px;display:flex;flex-direction:column;gap:10px;background:var(--ip-bg)}.ins2-card{background:var(--ip-card);border:.5px solid var(--ip-bd);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.ins2-card--primary{border-color:#4caf7d2e}.ins2-section-title{margin:0;font-size:13px;font-weight:600;color:var(--ip-text)}.ins2-sub{margin:-6px 0 0;font-size:11px;color:var(--ip-muted);line-height:1.4}.ins2-coach-row{display:flex;gap:12px;align-items:flex-start;background:var(--ip-card);border:.5px solid var(--ip-bd);border-radius:12px;padding:14px 16px}.ins2-coach-avatar{width:36px;height:36px;object-fit:contain;flex-shrink:0}.ins2-coach-row .mascot-bubble{background:var(--surface)!important;border:.5px solid rgba(255,255,255,.08)!important;border-left:3px solid var(--accent)!important;border-radius:10px!important;box-shadow:none!important;padding:10px 14px!important}.ins2-coach-row .mascot-opening-label{color:var(--text-muted)!important;font-size:9px!important;letter-spacing:.08em!important;background:transparent!important;border:none!important;padding:0!important;margin-bottom:4px!important}.ins2-coach-row .mascot-body{color:var(--text)!important;font-size:11px!important;line-height:1.55!important}.ins2-opening-row{background:none;border:none;cursor:pointer;text-align:left;padding:11px 0;border-bottom:1px solid var(--ip-bd);width:100%;display:flex;gap:10px;align-items:center;color:var(--ip-text)}.ins2-opening-name-link{color:var(--ip-text)}.ins2-opening-name-link:active{color:var(--ip-green)}.ins2-expand-text{padding:10px 0 14px;font-size:12px;color:var(--ip-muted);line-height:1.55;border-bottom:1px solid var(--ip-bd)}.ins2-drill-link{background:none;border:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--ip-green);padding:0;font-family:inherit}.ins2-drill-link:active{opacity:.7}.ins2-puzzle-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--ip-green);padding:0}.ins2-puzzle-link:active{opacity:.7}.ins2-practice-btn{background:#4caf7d1a;border:1px solid rgba(76,175,125,.25);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--ip-green);cursor:pointer;font-family:inherit}.ins2-lichess-btn{background:#5b8dee14;border:1px solid rgba(91,141,238,.2);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;color:#8ca5ffe6;cursor:pointer;font-family:inherit}.ins2-term-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--ip-bd)}.ins2-term-row:last-child{border-bottom:none}.ins2-term-icon{font-size:14px;flex-shrink:0;width:20px;text-align:center}.ins2-term-label{font-size:12px;color:var(--ip-muted);flex:1;min-width:0}.ins2-term-count{font-size:13px;font-weight:600;color:var(--ip-text);width:26px;text-align:right}.ins2-term-pct{font-size:12px;font-weight:600;width:36px;text-align:right}.ins2-term-subhead{font-size:10px;font-weight:600;color:var(--ip-muted);text-transform:uppercase;letter-spacing:.6px;margin:8px 0 4px}.ins2-acc-rows{display:flex;flex-direction:column;gap:8px}.ins2-acc-row{display:flex;align-items:center;gap:8px}.ins2-acc-label{font-size:11px;color:var(--ip-muted);width:60px;flex-shrink:0}.ins2-acc-insight{margin:2px 0 0;font-size:11px;color:var(--ip-muted);line-height:1.45;font-style:italic}.ins2-colour-cols{display:flex;gap:10px}.ins2-colour-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.ins2-colour-vbar{width:36px;height:72px;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.ins2-colour-vpcts{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;font-weight:600}.ins2-colour-col-info{display:flex;flex-direction:column;align-items:center;gap:1px}.ins2-colour-vlabel{font-size:11px;font-weight:600;color:var(--ip-text)}.ins2-colour-games{font-size:10px;color:var(--ip-muted)}.ins2-colour-key{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ins2-key-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.ins2-form-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ins2-form-letter{font-size:9px;font-weight:700;color:var(--on-accent)}.ins2-opening-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--ip-green);padding:0;text-decoration:underline dotted}.ins2-loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px}.ins2-loading-chessy{width:72px;height:72px;object-fit:contain}.ins2-loading-title{margin:0;font-size:17px;font-weight:600;color:var(--ip-text);text-align:center}.ins2-loading-sub{margin:0;font-size:13px;color:var(--ip-muted);text-align:center;max-width:260px;line-height:1.5}.ins2-loading-bar-track{width:140px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.ins2-loading-bar-fill{height:100%;background:var(--ip-green);border-radius:2px;animation:ins2-load 2.4s ease-in-out infinite;width:40%}@keyframes ins2-load{0%{margin-left:0;width:0}40%{margin-left:0;width:60%}80%{margin-left:100%;width:0}to{margin-left:100%;width:0}}.ins2-loading-cta{margin-top:4px;padding:11px 24px;border-radius:8px;background:var(--ip-green);border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--on-accent);font-family:inherit}.ins2-checkback-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 28px 40px;gap:0}.ins2-checkback-chessy-wrap{margin-bottom:24px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.ins2-checkback-chessy{width:180px;height:180px;object-fit:contain;display:block}.ins2-checkback-body{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:300px}.ins2-checkback-title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--ip-text);text-align:center;line-height:1.15}.ins2-checkback-sub{margin:0;font-size:14px;color:var(--ip-muted);text-align:center;line-height:1.6;max-width:260px}.ins2-checkback-sub strong{color:var(--ip-text);font-weight:600}.ins2-checkback-progress-wrap{margin-top:20px;width:100%;display:flex;flex-direction:column;gap:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px 16px}.ins2-checkback-progress-header{display:flex;justify-content:space-between;align-items:baseline}.ins2-checkback-progress-label{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ip-muted)}.ins2-checkback-progress-count{font-size:13px}.ins2-checkback-progress-current{font-size:18px;font-weight:700;color:var(--ip-green)}.ins2-checkback-progress-total{font-size:13px;font-weight:500;color:var(--ip-muted)}.ins2-checkback-bar-track{height:5px;background:#ffffff14;border-radius:4px;overflow:hidden}.ins2-checkback-bar-fill{height:100%;background:var(--ip-green);border-radius:4px;transition:width .4s ease;min-width:0}.ins2-checkback-dots{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.ins2-checkback-dot{width:8px;height:8px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.ins2-checkback-dot--filled{background:var(--ip-green);border-color:var(--ip-green);box-shadow:0 0 4px #81b64c80}@keyframes ins2-pulse{0%,to{opacity:1}50%{opacity:.5}}.profile-icon-btn{display:none}.prof-wrap{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .2s ease-out both}.prof-header{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,14px)) 14px 13px;border-bottom:1px solid var(--border-s);flex-shrink:0;background:var(--surface)}.prof-back{background:none;border:none;color:var(--text-muted);font-size:28px;line-height:1;cursor:pointer;padding:0 4px;width:36px;transition:color .15s}.prof-back:active{color:var(--text)}.prof-header-title{font-size:17px;font-weight:700;color:var(--text)}.prof-body{flex:1;overflow-y:auto;padding:0 0 32px;animation:screenFadeIn .28s ease-out both;animation-delay:60ms}.prof-name{margin:0;font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.5px;position:relative}.prof-elo-badge{background:#81b64c1f;border:1px solid rgba(129,182,76,.25);color:var(--accent);font-size:12px;font-weight:700;padding:4px 14px;border-radius:20px;position:relative}.prof-elo-val{font-weight:800}.prof-elo-unit{font-weight:600}.prof-elo-ts{font-weight:400;opacity:.65}.prof-card{background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);margin:0 14px;overflow:hidden;display:flex;flex-direction:column;cursor:default;text-align:left}button.prof-card{width:calc(100% - 28px);cursor:pointer;border:none;font-family:inherit}button.prof-card:active{background:var(--surface3)}.prof-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:none;border:none;font-family:inherit;width:100%;text-align:left;cursor:default}.prof-row--tap{cursor:pointer}.prof-row--tap:active{background:#ffffff08}.prof-row-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.prof-row-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.prof-row-label{font-size:14px;font-weight:500;color:var(--text)}.prof-row-sub{font-size:12px;color:var(--text-muted)}.prof-row-right{display:flex;align-items:center;flex-shrink:0}.prof-row-divider{height:1px;background:#ffffff0f;margin:0 16px}.prof-chevron{font-size:18px;color:var(--text-muted);line-height:1}.prof-version-tag{font-size:11px;font-weight:600;color:var(--accent);background:#81b64c1a;border:1px solid rgba(129,182,76,.25);border-radius:20px;padding:2px 8px}.prof-toggle{width:44px;height:26px;border-radius:13px;background:var(--surface3);border:1px solid var(--border);cursor:pointer;padding:0;position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.prof-toggle--on{background:var(--accent);border-color:var(--accent)}.prof-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.prof-toggle--on .prof-toggle-thumb{transform:translate(18px)}.prof-account-row{display:flex;align-items:center;gap:10px;padding:12px 14px}.prof-platform-name{font-size:14px;font-weight:600;color:var(--text);width:78px;flex-shrink:0}.prof-connected-info{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.prof-connected-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.prof-connected-user{font-size:13px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-disconnected-label{flex:1;font-size:13px;color:var(--text-muted)}.prof-connect-btn{background:var(--accent);color:var(--on-accent);border:none;border-radius:20px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:opacity .15s;flex-shrink:0}.prof-connect-btn:active{opacity:.8}.prof-connect-btn--dis{background:var(--surface3);color:var(--text-muted);border:1px solid var(--border-s)}.prof-connect-btn--sync{background:transparent;color:var(--accent);border:1px solid rgba(129,182,76,.5)}.prof-connect-btn--sync:active{background:#81b64c1a}.prof-connect-btn:disabled{opacity:.4;cursor:default}.prof-btn-group{display:flex;gap:6px;flex-shrink:0}.prof-connect-input{flex:1;min-width:0;background:var(--surface3);border:1px solid var(--border-s);border-radius:8px;color:var(--text);font-size:13px;padding:5px 10px;outline:none}.prof-connect-input:focus{border-color:#81b64c99}.prof-connect-error{margin:0;padding:2px 14px 10px;font-size:12px;color:var(--red)}.prof-import-status{margin:0;padding:7px 16px;font-size:12px;color:var(--text-muted);text-align:center}.prof-import-status--done{color:var(--accent)}.prof-stats-empty{padding:18px 16px}.prof-stats-empty-text{margin:0;font-size:13px;color:var(--text-muted);text-align:center;line-height:1.5}.prof-opening-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}.prof-opening-info{display:flex;flex-direction:column;gap:2px;min-width:0}.prof-opening-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-opening-sub{font-size:11px;color:var(--text-muted)}.prof-opening-wr{font-size:13px;font-weight:700;color:var(--text-dim);flex-shrink:0}.prof-opening-wr--good{color:var(--accent)}.prof-opening-wr--bad{color:var(--red)}.prof-stats-card{padding:14px;gap:12px;animation:screenFadeIn .3s ease-out both}.prof-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%}.prof-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.prof-stat-val{font-size:15px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.prof-stat-label{font-size:11px;color:var(--text-muted);font-weight:500;text-align:center}.prof-stats-cta{width:100%;display:flex;align-items:center;justify-content:flex-end;font-size:12px;font-weight:600;color:var(--accent);gap:2px;border-top:1px solid var(--border-s);padding-top:10px}.prof-footer-note{margin:24px 0 0;text-align:center;font-size:12px;color:var(--text-muted)}.prof-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px 24px;border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden;animation:screenFadeIn .3s ease-out both;animation-delay:40ms}.prof-hero-pattern{position:absolute;inset:0;background:repeating-conic-gradient(rgba(255,255,255,.025) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px,linear-gradient(180deg,rgba(129,182,76,.08) 0%,transparent 60%);pointer-events:none}.prof-avatar-ring{width:96px;height:96px;border-radius:50%;padding:2.5px;background:linear-gradient(135deg,#81b64c,#4a8a2a,#2a5a10);box-shadow:0 4px 24px #81b64c59,0 2px 8px #00000080;flex-shrink:0}.prof-avatar{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#162409,#0f1a0a);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:#81b64c;letter-spacing:-.5px;box-shadow:none}.prof-avatar--img{object-fit:cover;display:block;animation:screenFadeIn .35s ease-out both}.prof-stats-display{margin:0 14px;background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.prof-stats-row{display:flex;align-items:stretch}.prof-stat-cell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:14px 8px}.prof-stat-divider{width:1px;background:#ffffff12;align-self:stretch;margin:10px 0}.prof-stat-big{font-size:20px;font-weight:800;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.prof-stat-small-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.prof-best-opening{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);gap:8px}.prof-best-opening-label{font-size:11px;color:var(--text-muted);font-weight:500;flex-shrink:0}.prof-best-opening-name{font-size:12px;font-weight:700;color:#81b64c;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-app-prev{display:flex;align-items:center;gap:6px}.prof-app-prev-board{display:grid;grid-template-columns:1fr 1fr;width:22px;height:22px;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.prof-app-prev-board>div{width:100%;height:100%}.piece-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.piece-theme-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 8px 10px;cursor:pointer;transition:border-color .15s,background .15s}.piece-theme-swatch:active{background:#ffffff12}.piece-theme-swatch--active{border-color:var(--accent);background:#81b64c14}.piece-theme-board{display:grid;grid-template-columns:1fr 1fr;width:60px;height:60px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.pt-cell{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pt-piece{line-height:1;-webkit-user-select:none;user-select:none}.piece-theme-label{font-size:12px;font-weight:700;color:var(--text)}.piece-theme-swatch--active .piece-theme-label{color:var(--accent)}.piece-theme-desc{font-size:10px;color:var(--text-muted);font-weight:500}.prof-section-header{margin:20px 14px 6px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;animation:screenFadeIn .3s ease-out both;animation-delay:.1s}.prof-body>.prof-card:nth-child(1){animation:screenFadeIn .3s ease-out both;animation-delay:80ms}.prof-body>.prof-card:nth-child(2){animation:screenFadeIn .3s ease-out both;animation-delay:.12s}.prof-body>.prof-card:nth-child(3){animation:screenFadeIn .3s ease-out both;animation-delay:.16s}.prof-body>.prof-card:nth-child(n+4){animation:screenFadeIn .3s ease-out both;animation-delay:.2s}.prof-hero2{display:flex;align-items:center;gap:14px;padding:22px 18px 20px;border-bottom:1px solid rgba(255,255,255,.05);animation:screenFadeIn .3s ease-out both;animation-delay:30ms}.prof-hero2-avatar-ring{width:64px;height:64px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#89b,#4a5770);flex-shrink:0;box-shadow:0 2px 12px #8899bb38,0 2px 8px #0006}.prof-hero2-avatar{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#242128,#16141a);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#89b;letter-spacing:-.5px;overflow:hidden}.prof-hero2-avatar--img{padding:0;background:#16141a;object-fit:cover;display:block}.prof-hero2-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.prof-hero2-name{margin:0;font-size:22px;font-weight:800;color:#f0ede6;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.prof-hero2-meta{font-size:13px;font-weight:500;color:#9d9a94;line-height:1}.prof-hero2-meta-elo{color:#f0ede6;font-weight:700}.prof-hero2-meta-sep{color:#5a5753;margin:0 7px}.prof-hero2-meta-platform{color:#9d9a94;font-weight:500}.prof-stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 14px 0;animation:screenFadeIn .3s ease-out both;animation-delay:70ms}.prof-stat3{background:#272422;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}.prof-stat3-val{font-size:22px;font-weight:800;color:#f0ede6;line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.prof-stat3-label{font-size:10px;font-weight:600;color:#9d9a94;text-transform:uppercase;letter-spacing:.08em}.prof-stat3--gold .prof-stat3-val{color:#e8a838}.prof-stat3--green .prof-stat3-val{color:#81b64c}.prof-feedback-btn{display:flex;align-items:center;gap:12px;width:calc(100% - 28px);margin:14px 14px 0;padding:14px 16px;background:linear-gradient(135deg,#e8a8380d,#e8a83803);border:1px solid rgba(232,168,56,.55);border-radius:14px;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s,transform .1s,border-color .15s;animation:screenFadeIn .3s ease-out both;animation-delay:.11s}.prof-feedback-btn:active{background:#e8a8381f;transform:scale(.985)}.prof-feedback-icon{width:38px;height:38px;border-radius:11px;background:#e8a83826;border:1px solid rgba(232,168,56,.3);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;color:#e8a838}.prof-feedback-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.prof-feedback-title{font-size:14px;font-weight:700;color:#f0ede6;letter-spacing:-.1px}.prof-feedback-sub{font-size:12px;color:#9d9a94;font-weight:500}.prof-feedback-chev{font-size:22px;color:#e8a838;line-height:1;flex-shrink:0;font-weight:400}.prof-acc-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px}.prof-acc-panel{background:#272422;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:inherit;text-align:center;transition:border-color .18s,background .18s,opacity .18s;min-height:96px;justify-content:center}button.prof-acc-panel{cursor:pointer;border:1px solid rgba(255,255,255,.06)}button.prof-acc-panel:active{background:#302c28}.prof-acc-panel--active{border-color:#8899bb8c;background:radial-gradient(circle at 50% 0%,rgba(136,153,187,.12),transparent 70%),linear-gradient(145deg,#2a2926,#262320);box-shadow:0 0 0 1px #8899bb14 inset,0 4px 18px #0000004d}.prof-acc-panel--inactive{opacity:.5}button.prof-acc-panel--inactive:active{opacity:.7}.prof-acc-panel-name{font-size:12px;font-weight:700;color:#f0ede6;text-transform:uppercase;letter-spacing:.08em}.prof-acc-panel-body{display:flex;align-items:center;justify-content:center;gap:7px;min-height:18px}.prof-acc-dot{width:8px;height:8px;border-radius:50%;background:#81b64c;box-shadow:0 0 8px #81b64cb3;flex-shrink:0;animation:prof-dot-pulse 2.4s ease-in-out infinite}@keyframes prof-dot-pulse{0%,to{box-shadow:0 0 8px #81b64c8c}50%{box-shadow:0 0 14px #81b64ce6}}.prof-acc-panel-user{font-size:13px;font-weight:700;color:#f0ede6;overflow:hidden;text-overflow:ellipsis;max-width:110px;white-space:nowrap}.prof-acc-panel-status{font-size:11px;color:#9d9a94;font-style:italic;font-weight:500}.prof-acc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 2px}.prof-acc-footer-note{font-size:11px;color:#9d9a94;flex:1;line-height:1.4}.prof-acc-switch-btn{background:none;border:1px solid rgba(136,153,187,.55);color:#89b;border-radius:999px;padding:5px 16px;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer;text-transform:uppercase;transition:background .15s,border-color .15s;flex-shrink:0}.prof-acc-switch-btn:active{background:#8899bb24;border-color:#89b}.prof-acc-switch-btn:disabled{opacity:.3;cursor:default}.prof-acc-actions{display:flex;gap:8px;padding:10px 14px 0;animation:screenFadeIn .18s ease-out both}.prof-acc-action-btn{flex:1;padding:10px 0;background:#272422;border:1px solid rgba(136,153,187,.4);border-radius:10px;color:#89b;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.prof-acc-action-btn:active{background:#8899bb1f}.prof-acc-action-btn--danger{border-color:#e0606066;color:#e06060}.prof-acc-action-btn--danger:active{background:#e060601a}.prof-acc-input-row{display:flex;gap:6px;padding:10px 14px 2px;align-items:center}.prof-acc-input-row input{flex:1;min-width:0;background:#302c28;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#f0ede6;font-size:13px;padding:9px 12px;outline:none;font-family:inherit}.prof-acc-input-row input:focus{border-color:#89b9}.prof-acc-input-row button{background:#89b;color:#1c1b18;border:none;border-radius:10px;padding:9px 16px;font-size:12px;font-weight:800;font-family:inherit;cursor:pointer;flex-shrink:0;letter-spacing:.02em}.prof-acc-input-row button.prof-acc-input-cancel{background:#302c28;color:#9d9a94;border:1px solid rgba(255,255,255,.08)}.prof-acc-input-row button:disabled{opacity:.4;cursor:default}.prof-row--danger .prof-row-label,.prof-row--danger .prof-row-icon{color:#e06060}.shuffle-btn{background:var(--surface2);border:1px solid var(--border-s);color:var(--text);width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}.shuffle-btn:hover{border-color:#81b64c4d;background:var(--accent-dim)}.variation-picker{flex:1;display:flex;align-items:center;gap:6px;min-width:0}@media(min-width:700px){.board-region{flex-direction:row;justify-content:center;align-items:center}.side-panel{position:relative;transform:none;width:0;overflow:hidden;transition:width .28s ease;border-left:none;box-shadow:none;top:auto;right:auto;bottom:auto;height:100%;border-radius:0}.side-panel.open{width:var(--panel-w);border-left:1px solid var(--border)}.panel-backdrop{display:none}}@media(max-width:430px){.board-area{gap:6px;padding:10px 6px}.mascot-row{padding:0 10px;gap:10px;height:110px}.free-mascot-row{height:98px;padding-top:3px;gap:5px}.free-mascot-row .mascot-avatar-wrap{width:62px;height:82px}.mascot-avatar-wrap{width:58px;height:76px}.mascot-bubble{padding:10px 12px 9px;min-height:56px}.mascot-title{font-size:.86rem}.mascot-body{font-size:.75rem}.action-icon-btn{padding:10px 20px}.action-icon-btn-icon{font-size:1.65rem}.session-actions{gap:0;padding:2px 4px}.session-actions--practice-nav .pnav-btn{padding:8px 0}.pnav-icon{width:22px;height:22px}.pnav-icon svg{width:20px;height:20px}.playback-controls{gap:5px;padding:0 8px}.ctrl-btn{width:38px;height:38px;font-size:.88rem;border-radius:8px}.ctrl-btn.play-btn{width:46px;height:46px;font-size:1rem}.step-count{font-size:.76rem;min-width:36px}.free-play-bar{padding:0 8px}.free-play-ctrl-btn{padding:6px 10px;font-size:.76rem}.bot-bar{padding:0 8px}.bot-toggle-btn{font-size:.68rem;padding:4px 14px}.elo-chip{font-size:.62rem;padding:3px 8px}}@media(max-width:375px){.mascot-bubble{padding:8px 10px}.mascot-title{font-size:.8rem}.mascot-body{font-size:.7rem;line-height:1.4}}.wheel-picker-wrap{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 24px 18px;background:#1f1e1cf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(129,182,76,.22);border-radius:22px;box-shadow:0 8px 32px #0009,0 0 0 1px #ffffff08 inset;animation:screenFadeIn .25s cubic-bezier(.22,1,.36,1) both;z-index:10;white-space:nowrap}.wheel-picker-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin:0}.wheel-picker{position:relative;width:160px;overflow:hidden;border-radius:14px;border:1px solid rgba(129,182,76,.2);background:#ffffff0a}.wheel-picker-highlight{position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%);background:#81b64c1f;border:1px solid rgba(129,182,76,.35);border-radius:8px;pointer-events:none;z-index:2}.wheel-picker-fade-t,.wheel-picker-fade-b{position:absolute;left:0;right:0;pointer-events:none;z-index:3}.wheel-picker-fade-t{top:0;background:linear-gradient(to bottom,rgba(31,30,28,.9) 10%,transparent 100%)}.wheel-picker-fade-b{bottom:0;background:linear-gradient(to top,rgba(31,30,28,.9) 10%,transparent 100%)}.wheel-picker-track{overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;flex-direction:column;height:100%}.wheel-picker-track::-webkit-scrollbar{display:none}.wheel-picker-item{display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:17px;font-weight:600;color:var(--text-muted);flex-shrink:0;transition:color .15s,font-size .15s,transform .15s cubic-bezier(.34,1.2,.64,1),background .15s;font-variant-numeric:tabular-nums}.wheel-picker-item.active{color:var(--accent);font-size:20px;font-weight:800}.wheel-picker-item:active{background:#81b64c26;transform:scale(.92);transition:transform .08s ease,background .08s ease}.eval-bar-dark{background:linear-gradient(180deg,#1a1a1a,#111)}.eval-bar-light{background:linear-gradient(180deg,#f0f0f0,#d8d8d8)}.prof-toggle{box-shadow:inset 0 1px 3px #0000004d}.prof-toggle--on{box-shadow:0 2px 8px #81b64c59}.prof-chevron{transition:transform .15s}.prof-row--tap:active .prof-chevron{transform:translate(2px)}@keyframes boardFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes openingsPulse{0%,to{box-shadow:0 3px 16px var(--accent-shadow),0 1px 3px #0000004d,inset 0 1px #ffffff38,inset 0 -1px #00000026}50%{box-shadow:0 3px 16px var(--accent-shadow),0 1px 3px #0000004d,0 0 0 4px var(--accent-dim),inset 0 1px #ffffff38,inset 0 -1px #00000026}}.nav-openings-btn--pulse{animation:openingsPulse 3s ease-in-out infinite}.action-icon-btn.active .action-icon-btn-icon{filter:drop-shadow(0 2px 6px rgba(240,180,60,.5))}.action-icon-btn[data-hint]{background:linear-gradient(135deg,#f0c040,#e8a020);color:var(--on-accent);box-shadow:0 2px 12px #f0b43c66;border:none;font-weight:800;border-radius:14px}.learn-continue-btn{display:block;width:calc(100% - 24px);margin:0 12px;padding:14px 20px;background:var(--accent);color:var(--on-accent);font-size:1rem;font-weight:800;letter-spacing:.04em;border:none;border-radius:12px;cursor:pointer;box-shadow:0 3px 14px #81b64c59;transition:opacity .15s,transform .1s}.learn-continue-btn:active{transform:scale(.97);opacity:.88}.learn-practice-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 24px);margin:0 12px;padding:15px 20px;background:var(--gold);color:var(--on-gold);font-size:1.05rem;font-weight:800;letter-spacing:.05em;border:none;border-radius:12px;cursor:pointer;box-shadow:0 3px 16px #e8a83866;transition:opacity .15s,transform .1s}.learn-practice-btn:active{transform:scale(.97);opacity:.88}.learn-practice-btn-icon{font-size:1.3rem;line-height:1}.learn-complete-actions{display:flex;flex-direction:column;width:100%}.ctrl-btn.play-btn{background:var(--accent);box-shadow:0 3px 12px #81b64c4d;border:none;font-weight:700;color:var(--on-accent)}.ctrl-btn.play-btn:hover:not(:disabled){background:var(--accent-dark);box-shadow:0 4px 18px #81b64c66;border:none}@keyframes thinkDot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.bot-thinking-dots{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}.bot-thinking-dots span{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block}.bot-thinking-dots span:nth-child(1){animation:thinkDot 1.2s ease-in-out 0s infinite}.bot-thinking-dots span:nth-child(2){animation:thinkDot 1.2s ease-in-out .2s infinite}.bot-thinking-dots span:nth-child(3){animation:thinkDot 1.2s ease-in-out .4s infinite}.op-filters-wrap{padding:8px 12px 4px;display:flex;flex-direction:column;gap:6px}.op-filter-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.op-filter-chip{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.1);color:var(--text-muted);font-size:.76rem;font-weight:600;padding:5px 12px;border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.op-filter-chip.active{background:#81b64c33;border-color:#81b64c8c;color:#fff;font-weight:700;box-shadow:0 0 8px #81b64c1f}.op-filter-chip:active{transform:scale(.95)}.op-filter-clear{background:none;border:none;color:var(--text-muted);font-size:.72rem;cursor:pointer;padding:4px 6px;font-family:inherit;text-decoration:underline}.op-filter-sub{display:flex;gap:6px;flex-wrap:wrap;padding:2px 0 2px 2px;animation:screenFadeIn .15s ease-out both}.op-filter-sub-btn{background:var(--surface3);border:1px solid var(--border-s);color:var(--text-dim);font-size:.74rem;font-weight:600;padding:4px 12px;border-radius:16px;cursor:pointer;transition:all .12s;font-family:inherit;white-space:nowrap}.op-filter-sub-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.op-filter-sub-btn:active{transform:scale(.94)}.op-filter-count{font-size:.7rem;color:var(--text-muted);margin:0;padding:0 2px}.op-icon-badge{display:flex;align-items:center;justify-content:center;flex-shrink:0}.op-detail-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:28px 16px 0}.op-detail-hero-board{position:relative;margin-bottom:18px}.op-detail-hero-board>div:first-child{border-radius:10px!important;box-shadow:0 4px 24px #00000080,0 0 0 1px #ffffff0f}.op-detail-hero-fade{position:absolute;inset:-1px;border-radius:10px;background:linear-gradient(180deg,transparent 40%,rgba(28,27,24,.6) 80%,rgba(28,27,24,1) 100%);pointer-events:none}.op-detail-hero-info{width:100%;text-align:center}.op-detail-hero-info .op-detail-name{margin-bottom:10px;font-size:1.45rem}.op-detail-hero-info .op-detail-meta{justify-content:center}.op-style-tag{display:inline-block;padding:3px 10px;border-radius:10px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.op-section{display:flex;flex-direction:column}.op-section-header-btn{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 9px;background:none;border:none;border-top:1px solid rgba(255,255,255,.05);width:100%;cursor:pointer;font-family:inherit;transition:background .12s}.op-section-header-btn:hover{background:#ffffff06}.op-section-header-btn:first-child{border-top:none}.op-section-header{display:flex;flex-direction:column;gap:2px}.op-section-title{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim)}.op-section-meta{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted);font-weight:500}.op-section-chevron{font-size:1rem;color:var(--text-muted);line-height:1;transition:transform .2s}.op-section-sub{font-size:.7rem;color:var(--text-muted);font-style:italic}.op-h-scroll{display:flex;flex-direction:row;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 16px 8px;scrollbar-width:none;-ms-overflow-style:none}.op-h-scroll::-webkit-scrollbar{display:none}.op-rec-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:130px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;cursor:pointer;text-align:left;flex-shrink:0;transition:all .18s}.op-rec-card:hover{background:#ffffff12;border-color:#81b64c4d}.op-rec-name{font-weight:800;font-size:.85rem;color:var(--text);line-height:1.25}.op-rec-reason{font-size:.7rem;color:var(--text-muted);line-height:1.3}.op-diff-badge{display:inline-block;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.op-diff-badge.beginner{background:#81b64c1a;color:var(--green);border:1px solid rgba(129,182,76,.22)}.op-diff-badge.intermediate{background:#e8a8381a;color:var(--gold);border:1px solid rgba(232,168,56,.22)}.op-diff-badge.advanced{background:#c9393a1a;color:var(--red);border:1px solid rgba(201,57,58,.22)}.op-color-chip{display:inline-block;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:700;letter-spacing:.02em;background:#ffffff0d;color:var(--text-muted);border:1px solid var(--border-s)}.op-course-wrap{border:1px solid rgba(129,182,76,.3);border-radius:14px;padding:16px;margin:0 16px;background:#81b64c0d;display:flex;flex-direction:column}.op-course-header{display:flex;flex-direction:row;gap:10px;margin-bottom:14px;align-items:center}.op-course-icon{font-size:1.5rem;flex-shrink:0}.op-course-title{font-weight:800;font-size:.92rem;color:var(--text)}.op-course-sub{font-size:.72rem;color:var(--text-muted);margin-top:2px}.op-course-card{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px;background:var(--surface2);border-radius:12px;margin-bottom:8px;width:100%;text-align:left;border:1px solid var(--border-s);cursor:pointer;transition:all .15s}.op-course-card:last-child{margin-bottom:0}.op-course-card:hover:not(:disabled){background:var(--surface3);border-color:#81b64c40}.op-course-card.locked{opacity:.45;cursor:default}.op-course-num{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.op-course-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.op-course-name{font-weight:700;font-size:.85rem;color:var(--text)}.op-course-lock,.op-course-arrow{font-size:1.1rem;color:var(--text-muted);flex-shrink:0}.op-cat-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 16px 4px;width:100%;background:none;border:none;cursor:pointer;text-align:left}.op-cat-name{font-weight:700;font-size:.82rem;color:var(--text)}.op-cat-count{font-size:.75rem;color:var(--accent);font-weight:600}.op-cat-desc{padding:0 16px 8px;font-size:.78rem;color:var(--text-dim);line-height:1.5}.op-see-all{width:100%;text-align:center;padding:10px;font-size:.78rem;color:var(--accent);background:none;border:none;border-top:1px solid var(--border);cursor:pointer;font-weight:600;transition:opacity .15s}.op-see-all:hover{opacity:.75}.op-card{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}.op-card:hover{background:var(--surface2)}.op-card:active{background:var(--surface3)}.op-card-arrow{font-size:1.3rem;color:var(--text-muted);flex-shrink:0;line-height:1}.op-card-body{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.op-card-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.op-card-name{font-weight:700;font-size:.88rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.op-fav-btn{background:none;border:none;font-size:1rem;padding:0 0 0 4px;cursor:pointer;flex-shrink:0;transition:transform .15s;color:var(--gold)}.op-fav-btn:hover{transform:scale(1.2)}.op-start-btn{background:var(--accent);border:none;border-radius:20px;color:var(--on-accent);font-weight:800;padding:8px 14px;font-size:.8rem;cursor:pointer;flex-shrink:0;transition:all .15s}.op-start-btn:active{transform:scale(.94);opacity:.85}.op-start-btn:hover{background:var(--accent-dark)}.op-progress-wrap{display:flex;flex-direction:row;align-items:center;gap:6px}.op-progress-track{flex:1;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.op-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.op-progress-label{font-size:.7rem;font-weight:600;color:var(--text-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.op-back-btn{background:none;border:none;font-size:24px;color:var(--text-muted);padding:0 8px 0 0;cursor:pointer;line-height:1;flex-shrink:0;transition:color .15s}.op-back-btn:hover{color:var(--text)}.op-sticky-header{position:sticky;top:0;z-index:10;background:var(--surface2);padding:8px 12px 6px;display:flex;flex-direction:column;gap:5px;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #00000040}.op-color-row{display:flex;gap:5px}.op-color-chip-btn{flex:1;background:var(--surface2);border:1.5px solid var(--border-s);color:var(--text-muted);font-size:.74rem;font-weight:600;padding:6px 10px;border-radius:16px;cursor:pointer;transition:all .15s;font-family:inherit}.op-color-chip-btn.active{background:#81b64c38;border-color:#81b64c99;color:#fff;font-weight:700;box-shadow:0 0 8px #81b64c26}.op-filter-chips-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.op-card-compact{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05);border-left:3px solid transparent;cursor:pointer;transition:background .12s,border-left-color .15s;min-height:54px}.op-card-compact--learned{border-left-color:#6eb3f7}.op-card-compact--practiced{border-left-color:var(--gold)}.op-card-compact--mastered{border-left-color:var(--accent)}.op-card-compact:active{background:#ffffff0a}.op-card-compact:hover{background:#ffffff08;border-left-color:#81b64c66}.op-card-compact-name{flex:1;font-size:.82rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.op-card-compact-right{display:flex;align-items:center;gap:5px;flex-shrink:0}.op-color-chip-sm{font-size:.8rem;color:var(--text-muted)}.op-color-chip-lg{font-size:1.2rem;color:var(--text-muted)}.op-stars{display:inline-flex;align-items:center;gap:2px;line-height:1}.op-star{font-size:.72rem;color:#ffffff1f}.op-star--filled{color:#e8a838;text-shadow:0 1px 4px rgba(232,168,56,.4)}.op-stars--lg .op-star{font-size:1.05rem}.op-stars--lg .op-star--filled{text-shadow:0 1px 6px rgba(232,168,56,.5)}.op-star-plus{font-size:.7rem;color:var(--text-muted);margin-left:1px;font-weight:700}.op-detail-page{display:flex;flex-direction:column;position:relative;padding:0 0 32px}.op-detail-fav-btn{position:absolute;top:16px;right:14px;background:#1c1b18a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;z-index:2;transition:color .15s,transform .15s,background .15s}.op-detail-fav-btn.active{color:var(--gold);background:#e8a8381f;border-color:#e8a83840}.op-detail-fav-btn:active{transform:scale(1.15)}.trap-list-fav{font-size:.85rem;color:var(--gold);line-height:1}.op-detail-board-wrap{display:flex;justify-content:center;padding:24px 16px 12px}.op-detail-content{padding:18px 16px 0;display:flex;flex-direction:column;gap:14px}.op-detail-name{font-size:1.25rem;font-weight:800;color:var(--text);margin:0;line-height:1.2;letter-spacing:-.01em}.op-detail-meta{display:flex;align-items:center;gap:10px}.op-detail-colors{display:flex;gap:4px;align-items:center}.op-detail-desc{font-size:.84rem;color:var(--text-muted);margin:0;line-height:1.7;border-left:2px solid #8899bb;padding-left:14px}.op-detail-section-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#8899bbb3;margin:6px 0 4px;display:flex;align-items:center;gap:10px}.op-detail-section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(136,153,187,.2),transparent)}.op-detail-vars{display:flex;flex-direction:column;gap:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#ffffff05}.op-detail-var-row{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:transparent;border:none;border-top:1px solid rgba(255,255,255,.04);cursor:pointer;font-family:inherit;text-align:left;transition:background .12s}.op-detail-var-row:first-child{border-top:none}.op-detail-var-row:active{background:#ffffff0a}.op-detail-var-name{font-size:.86rem;font-weight:500;color:var(--text);flex:1;min-width:0}.op-detail-var-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.op-detail-var-arrow{font-size:1.1rem;color:var(--text-muted)}.op-detail-page .op-start-btn{width:100%;padding:13px;font-size:.95rem;border-radius:12px;margin-top:4px}.op-mode-row{display:flex;gap:10px;margin-top:4px}.op-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 8px 16px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface2);color:var(--text);font-family:inherit;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.op-mode-btn:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .15s}.op-mode-btn:active{transform:scale(.96)}.op-mode-btn.learn{border-color:#89b6;background:linear-gradient(165deg,#8899bb1a,#8899bb08)}.op-mode-btn.learn:before{background:#8899bb14}.op-mode-btn.learn:hover:before{opacity:1}.op-mode-btn.learn:hover{border-color:#89b}.op-mode-btn.practice{border-color:#e8a83866;background:linear-gradient(165deg,#e8a8381a,#e8a83808)}.op-mode-btn.practice:before{background:#e8a83814}.op-mode-btn.practice:hover:before{opacity:1}.op-mode-btn.practice:hover{border-color:var(--gold)}.op-mode-btn-icon{font-size:1.7rem;line-height:1}.op-mode-btn-label{font-size:.84rem;font-weight:800;letter-spacing:.01em}.op-mode-btn-desc{font-size:.67rem;color:var(--text-muted);text-align:center;line-height:1.3}.trap-variations{display:flex;flex-direction:column;gap:10px;margin-top:12px}.trap-var-card{background:var(--surface2);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;transition:border-color .15s}.trap-var-card:hover{border-color:#ffffff21}.trap-var-info{margin-bottom:10px}.trap-var-name{display:block;font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:3px}.trap-var-opponent{display:block;font-size:.8rem;color:var(--text-muted);line-height:1.35}.trap-var-buttons{display:flex;gap:8px}.trap-var-btn{flex:1;padding:10px 6px}.trap-var-btn .op-mode-btn-desc{display:none}.trap-var-btn .op-mode-btn-icon{font-size:1.2rem}.trap-shuffle-btn{width:100%;margin-top:14px;padding:13px 16px;background:var(--surface3);border:1.5px solid var(--accent);border-radius:12px;color:var(--accent);font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.trap-shuffle-btn:active{transform:scale(.97);background:var(--accent-dim)}.trap-shuffle-btn--disabled{opacity:.45;cursor:not-allowed;background:var(--surface2);border-color:var(--border);color:var(--text-muted)}.trap-shuffle-btn--disabled:active{transform:none}.trap-shuffle-desc{font-size:.75rem;color:var(--text-muted);font-weight:400}.trap-var-learned-badge{font-size:.78rem;font-weight:700;letter-spacing:.01em;padding:3px 10px;border-radius:20px;background:#81b64c2e;color:var(--accent);border:1px solid rgba(129,182,76,.45);flex-shrink:0}.shuffle-dots-row{position:absolute;top:56px;left:50%;transform:translate(-50%);display:flex;gap:7px;align-items:center;z-index:30;pointer-events:none}.shuffle-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .2s ease,transform .2s ease}.shuffle-dot.active{background:var(--accent);transform:scale(1.25)}.learn-more-btn{display:block;margin:6px auto 0;background:none;border:none;color:var(--text-muted);font-size:.78rem;padding:4px 12px;cursor:pointer;opacity:.65;letter-spacing:.5px}.learn-more-btn:active{opacity:1}.session-home-btn{margin-left:8px;border-left:1px solid var(--border)}.exit-confirm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:120;padding:24px}.exit-confirm-card{background:var(--surface2);border:1px solid var(--border-s);border-radius:18px;padding:28px 24px 20px;width:100%;max-width:320px;text-align:center}.exit-confirm-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 6px}.exit-confirm-body{font-size:.82rem;color:var(--text-muted);margin:0 0 22px}.exit-confirm-actions{display:flex;flex-direction:column;gap:10px}.exit-confirm-btn{width:100%;padding:14px;border-radius:12px;border:none;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s}.exit-confirm-btn:active{opacity:.8}.exit-confirm-btn--stay{background:var(--accent);color:var(--on-accent)}.exit-confirm-btn--leave{background:var(--surface3);color:var(--text-muted)}.completion-btn--more{margin-top:2px;border-color:transparent;background:transparent;opacity:.65}.completion-btn--more:hover{opacity:1;background:#ffffff0a;border-color:var(--border)}.completion-btn--more .completion-btn-icon{background:#ffffff0a;color:var(--text-muted)}.completion-btn--more .completion-btn-label{color:var(--text-muted);font-size:.78rem}.op-badge-row{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.op-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.03em}.op-badge.learned{background:#4a90d926;color:#6eb3f7;border:1px solid rgba(74,144,217,.3)}.op-badge.practiced{background:#e8a83826;color:var(--gold);border:1px solid rgba(232,168,56,.3)}.op-badge.mastered{background:#81b64c26;color:var(--accent);border:1px solid rgba(129,182,76,.3)}.op-status-pill{font-size:.62rem;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:20px;flex-shrink:0}.op-status-pill--learned{background:#4a90d926;color:#6eb3f7}.op-status-pill--practiced{background:#e8a83826;color:var(--gold)}.op-status-pill--mastered{background:#81b64c26;color:var(--accent)}.mascot-bubble.learn{border-left-color:var(--accent)}.mascot-bubble.learn-summary{border-left-color:var(--gold);background:#e8a8380f}.op-section-header-btn{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface2);border:none;border-top:1px solid var(--border-s);width:100%;cursor:pointer;font-family:inherit;text-align:left;margin-top:4px}.op-section-meta{font-size:.72rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.op-section-chevron{font-size:1rem;color:var(--text-muted);transition:transform .2s}.op-section-body{display:flex;flex-direction:column}.op-rec-card.locked{opacity:.5}.op-rec-lock{font-size:.9rem;margin-top:2px}.op-empty-repertoire{padding:20px 16px;text-align:center;font-size:.8rem;color:var(--text-muted);line-height:1.4}.op-section-subtitle{font-size:.65rem;font-weight:600;color:var(--accent);letter-spacing:.02em}.op-recommended-block{padding:12px 0 4px;margin:0 10px;background:linear-gradient(135deg,#81b64c0f,#81b64c05,#e8a8380a);border-radius:16px;border:1px solid rgba(129,182,76,.1)}.op-rec-header{display:flex;align-items:center;gap:8px;padding:2px 16px;margin:0 0 8px}.op-rec-label{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:0;margin:0}.op-rec-elo-badge{font-size:.65rem;font-weight:700;color:#81b64c;background:#81b64c24;border:1px solid rgba(129,182,76,.32);border-radius:20px;padding:1px 7px;letter-spacing:.03em}.op-group-card{cursor:pointer}.op-group-name-wrap{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden;gap:2px}.op-group-count{font-size:.68rem;color:var(--accent);font-weight:600}.op-toast{position:absolute;bottom:16px;left:16px;right:32px;background:var(--surface3);border:1px solid var(--border-s);border-radius:12px;padding:10px 14px;font-size:.8rem;color:var(--text);text-align:center;z-index:50;animation:screenFadeIn .2s ease-out both;pointer-events:none;box-shadow:0 4px 16px #0006}.pz-wrap{position:absolute;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .22s ease-out both}.pz-header{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:var(--surface)}.pz-back{background:none;border:none;color:var(--text-muted);font-size:28px;line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0;transition:color .15s}.pz-back:active{color:var(--text)}.pz-header-center{flex:1}.pz-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}.pz-unsolved-badge{background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:800;border-radius:20px;padding:3px 9px;flex-shrink:0}.pz-gen-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#272522f2;border-radius:20px;border:1px solid rgba(129,182,76,.25);box-shadow:0 4px 16px #00000080;white-space:nowrap;max-width:calc(100vw - 32px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pz-gen-dot{width:7px;height:7px;border-radius:50%;background:var(--accent, #81b64c);flex-shrink:0;animation:pz-pulse 1.4s ease-in-out infinite}@keyframes pz-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.pz-gen-label{font-size:12px;color:var(--text-muted, #aaa);flex:1}.pz-gen-bar-track{width:50px;height:3px;background:#ffffff1a;border-radius:2px;flex-shrink:0;overflow:hidden}.pz-gen-bar-fill{height:100%;background:var(--accent, #81b64c);border-radius:2px;transition:width .4s ease}.pz-gen-dismiss{background:none;border:none;color:#fff6;font-size:16px;line-height:1;padding:0 0 0 4px;cursor:pointer;flex-shrink:0}.pz-stats-bar{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0;gap:0}.pz-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.pz-stat-val{font-size:22px;font-weight:800;color:var(--text);line-height:1}.pz-stat-val--sm{font-size:13px;font-weight:700;text-align:center;line-height:1.2;color:var(--accent)}.pz-stat-lbl{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.pz-stat-div{width:1px;height:32px;background:var(--border-s);flex-shrink:0}.pz-filter-row{display:flex;gap:7px;padding:10px 14px;overflow-x:auto;flex-shrink:0;scrollbar-width:none;border-bottom:1px solid var(--border)}.pz-filter-row::-webkit-scrollbar{display:none}.pz-filter-pill{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .15s,background .15s,border-color .15s}.pz-filter-pill--active{background:var(--accent-dim);border-color:#81b64c66;color:var(--accent)}.pz-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 14px max(32px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:20px}.pz-section-label{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.pz-section-label--retry{color:var(--red)}.pz-card-list{display:flex;flex-direction:column;gap:10px}.pz-card{display:flex;align-items:center;gap:14px;background:var(--surface2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px;cursor:pointer;width:100%;text-align:left;box-shadow:0 2px 8px #00000040;transition:background .15s,border-color .15s,transform .1s}.pz-card:active{background:var(--surface3);border-color:#81b64c4d;transform:scale(.99)}.pz-card-info{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.pz-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pz-type-badge{font-size:11px;font-weight:700;border:1px solid;border-radius:10px;padding:2px 8px;letter-spacing:.2px}.pz-diff-badge{font-size:11px;font-weight:600;opacity:.85}.pz-card-desc{font-size:11px;color:var(--text-muted);margin:1px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz-card-opponent{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz-card-date{font-size:11px;color:var(--text-muted)}.pz-card-arrow{font-size:20px;color:var(--text-muted);flex-shrink:0;line-height:1}.pz-loading{display:flex;flex-direction:column;gap:10px}.pz-skel{height:108px;background:var(--surface2);border-radius:var(--radius);animation:ins2-pulse 1.4s ease-in-out infinite}.pz-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 24px;text-align:center}.pz-empty-trophy{width:120px;height:auto;opacity:.95}.pz-empty-title{font-size:20px;font-weight:800;color:var(--text)}.pz-empty-text{font-size:14px;color:var(--text-muted);line-height:1.5;max-width:280px}.ph-wrap{position:fixed;inset:0;z-index:210;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .2s ease-out both}.ph-header{display:flex;align-items:center;gap:12px;padding:max(14px,env(safe-area-inset-top,14px)) 16px 6px;flex-shrink:0}.ph-back{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:2px 4px;transition:color .15s}.ph-back:active{color:var(--text)}.ph-title{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.2px}.ph-mascot{display:flex;flex-direction:column;align-items:center;padding:20px 16px 4px;flex-shrink:0}.ph-mascot-img{height:96px;width:auto;object-fit:contain}.ph-mascot-tagline{margin-top:10px;font-size:14px;color:var(--text-muted);font-weight:500;text-align:center;letter-spacing:.1px}.ph-streak{display:flex;flex-direction:column;align-items:center;padding:6px 16px 0;flex-shrink:0;gap:4px}.ph-streak-inner{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--border-s);border-radius:16px;padding:10px 20px}.ph-streak-fire{font-size:26px;line-height:1}.ph-streak-nums{display:flex;flex-direction:column;align-items:center;min-width:36px}.ph-streak-count{font-size:30px;font-weight:800;color:var(--gold);line-height:1;font-family:var(--font-mono, monospace);transition:color .3s}.ph-streak-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-top:1px}.ph-streak-best-wrap{display:flex;flex-direction:column;align-items:center;padding-left:12px;border-left:1px solid var(--border-s);min-width:36px}.ph-streak-best-label{font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.ph-streak-best-val{font-size:20px;font-weight:700;color:var(--text-dim);line-height:1.1;font-family:var(--font-mono, monospace)}.ph-streak-hint{margin:0;font-size:11px;color:var(--text-muted);text-align:center}.ph-cards{flex:1;display:flex;flex-direction:column;gap:14px;padding:20px 16px 36px;justify-content:center}.ph-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);padding:24px;text-align:left;font-family:inherit;width:100%;-webkit-tap-highlight-color:transparent}.ph-card--personal{background:linear-gradient(145deg,rgba(129,182,76,.16) 0%,var(--surface2) 60%);border:1px solid rgba(129,182,76,.3);box-shadow:0 8px 32px #81b64c1f,0 2px 8px #0000004d;cursor:pointer;transition:transform .12s,box-shadow .12s}.ph-card--personal:active{transform:scale(.975);box-shadow:0 2px 12px #81b64c14}.ph-card--muted{background:var(--surface2);border:1px solid var(--border-s);box-shadow:0 2px 10px #00000026;opacity:.38;pointer-events:none}.ph-card--lichess{background:linear-gradient(145deg,rgba(74,144,217,.13) 0%,var(--surface2) 55%);border:1px solid rgba(74,144,217,.35);box-shadow:0 6px 28px #4a90d924,0 2px 8px #00000040;cursor:pointer;transition:transform .12s,box-shadow .12s}.ph-card--lichess:active{transform:scale(.975);box-shadow:0 2px 12px #4a90d914,0 1px 4px #0003}.ph-card--lichess .ph-card-title{color:var(--text)}.ph-card--lichess .ph-card-deco,.ph-card--lichess .ph-card-chevron{color:var(--blue)}.ph-card--daily{background:linear-gradient(145deg,rgba(232,168,56,.13) 0%,var(--surface2) 55%);border:1px solid rgba(232,168,56,.35);box-shadow:0 2px 16px #0003,0 1px 4px #00000026;transition:transform .12s,box-shadow .12s;gap:10px}.ph-card--daily:active{transform:scale(.975);box-shadow:0 2px 12px #e8a83814,0 1px 4px #0003}.ph-card--daily-done{background:linear-gradient(145deg,rgba(129,182,76,.13) 0%,var(--surface2) 55%);border-color:#81b64c4d}.ph-card--daily .ph-card-title{color:var(--text)}.ph-card--daily .ph-card-subtitle{color:var(--text-muted)}.ph-daily-ring{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.ph-daily-ring-label{position:absolute;font-size:12px;line-height:1;pointer-events:none}.ph-daily-completed-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:8px;white-space:nowrap}.ph-daily-bar{width:100%;height:3px;background:#ffffff12;border-radius:3px;overflow:hidden}.ph-daily-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold) 0%,#f0b840 100%);border-radius:3px;transition:width .4s ease}.ph-card--daily-done .ph-daily-bar-fill{background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%)}.ph-card-main{display:flex;align-items:center;gap:12px}.ph-card-text{flex:1;display:flex;flex-direction:column;gap:7px}.ph-card-title{font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.3px;line-height:1.1}.ph-card--personal .ph-card-title{color:var(--text)}.ph-card-subtitle{font-size:13px;color:var(--text-muted);font-weight:500}.ph-card-deco-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.ph-card-deco{font-size:54px;line-height:1;color:var(--accent);opacity:.65}.ph-card-deco--muted{color:var(--text-muted);opacity:.5}.ph-card-chevron{font-size:26px;color:var(--accent);line-height:1;opacity:.9}.ph-progress{margin-top:20px;padding-top:16px;border-top:1px solid rgba(129,182,76,.2);display:flex;flex-direction:column;gap:8px}.ph-progress-track{height:5px;background:#ffffff14;border-radius:99px;overflow:hidden}.ph-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .6s ease;box-shadow:0 0 8px #81b64c8c}.ph-progress-label{font-size:11px;color:#81b64cd9;font-weight:600;letter-spacing:.2px}.pp-wrap{position:fixed;inset:0;z-index:215;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .2s ease-out both}.pp-back{position:absolute;top:14px;left:14px;background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:2px 4px;z-index:1}.pp-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px 24px;gap:0;text-align:center}.pp-mascot{width:120px;height:120px;object-fit:contain;margin-bottom:28px;animation:ppBob 2.4s ease-in-out infinite}@keyframes ppBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pp-title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 14px;line-height:1.3}.pp-message{font-size:14px;color:var(--text-muted);line-height:1.6;margin:0 0 32px;max-width:300px}.pp-progress{width:100%;max-width:300px;display:flex;flex-direction:column;gap:8px}.pp-progress-track{height:6px;background:#ffffff14;border-radius:99px;overflow:hidden}.pp-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .6s ease;box-shadow:0 0 10px #81b64c80}.pp-progress-label{font-size:12px;color:#81b64cd9;font-weight:600;text-align:center}.pp-footer{padding:16px 24px 36px;flex-shrink:0}.pp-cta{width:100%;padding:15px;border-radius:14px;border:none;background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:700;cursor:pointer;letter-spacing:.2px}.pl-wrap{position:fixed;inset:0;z-index:220;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .18s ease-out both}.pl-header{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;flex-shrink:0;border-bottom:1px solid var(--border)}.pl-back{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:2px 4px}.pl-back:active{color:var(--text)}.pl-title{font-size:17px;font-weight:800;color:var(--text)}.pl-list{flex:1;overflow-y:auto;padding:8px 12px 24px;display:flex;flex-direction:column;gap:6px}.pl-item{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--border-s);border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:background .12s;-webkit-tap-highlight-color:transparent}.pl-item:active{background:var(--surface3)}.pl-item--active{border-color:var(--accent)}.pl-item-left{flex:1;display:flex;flex-direction:column;gap:5px}.pl-item-top{display:flex;align-items:center;gap:8px}.pl-item-diff{font-size:10px;font-weight:800;border-radius:6px;padding:2px 8px;letter-spacing:.3px}.pl-item-check{color:var(--accent);font-size:14px;font-weight:800}.pl-item-info{font-size:12px;color:var(--text-muted);font-weight:500}.pl-item-arrow{color:var(--text-muted);font-size:20px;flex-shrink:0}@keyframes pzs-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pzs-complete-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pzs-wrap{position:fixed;inset:0;z-index:210;background:var(--bg);display:flex;flex-direction:column;align-items:stretch;overflow:hidden;animation:screenFadeIn .2s ease-out both}.pzs-region{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:46px;width:100%;overflow:hidden}.pzs-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 14px;width:100%}.pzs-board-inner{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.pzs-info-row{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;width:100%;flex-shrink:0}.pzs-eval-row{height:40px;display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0}.pzs-topbar-float{position:absolute;top:10px;left:0;right:0;z-index:10;display:flex;align-items:center;padding:0 14px;height:36px;gap:10px;pointer-events:none}.pzs-topbar-float>*{pointer-events:auto}.pzs-streak-badge{font-size:12px;font-weight:700;color:var(--gold);background:#e8a83821;border-radius:8px;padding:3px 9px;letter-spacing:.2px;flex-shrink:0;transition:color .2s,background .2s}.pzs-streak-badge--zero{color:var(--text-muted);background:transparent}.streak-celebration{position:fixed;inset:0;z-index:600;background:#000000b8;display:flex;align-items:center;justify-content:center;animation:sc-fade-in .25s ease}@keyframes sc-fade-in{0%{opacity:0}to{opacity:1}}.streak-celebration-inner{text-align:center;animation:sc-pop .4s cubic-bezier(.34,1.56,.64,1);padding:0 32px}@keyframes sc-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.streak-celebration-flames{font-size:56px;animation:sc-flame .55s ease-in-out infinite alternate;line-height:1;margin-bottom:8px}@keyframes sc-flame{0%{transform:scale(1) rotate(-6deg)}to{transform:scale(1.15) rotate(6deg)}}.streak-celebration-count{font-size:36px;font-weight:800;color:var(--gold);line-height:1.1}.streak-celebration-msg{font-size:18px;font-weight:600;color:#fff;margin-top:6px;opacity:.9}.pzs-side-tag{font-size:11px;font-weight:700;letter-spacing:.2px;border-radius:6px;padding:3px 9px;flex-shrink:0}.pzs-side-punish{color:var(--gold);background:#e8a83824}.pzs-side-defend{color:var(--blue);background:#5ba4e624}.pzs-origin{background:none;border:none;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;padding:2px 4px;border-radius:6px;transition:color .15s}.pzs-origin:active{color:var(--text)}.pzs-topbar-back{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:2px 4px;margin-right:2px;transition:color .15s;flex-shrink:0}.pzs-topbar-back:active{color:var(--text)}.pzs-topbar-type{flex:1;font-size:14px;font-weight:700;color:var(--text);letter-spacing:.1px}.pzs-diff-badge{font-size:11px;font-weight:700;border-radius:8px;padding:3px 10px;flex-shrink:0}.pzs-diff--easy{color:var(--accent);background:#81b64c1f}.pzs-diff--medium{color:var(--gold);background:#e8a8381f}.pzs-diff--hard{color:var(--red);background:#c9393a1f}.pzs-list-btn{background:var(--surface2);border:1px solid var(--border-s);border-radius:8px;color:var(--text-dim);font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;padding:4px 10px;flex-shrink:0}.pzs-list-btn:active{background:var(--surface3);color:var(--text)}.pzs-mascot-row{display:flex;align-items:center;gap:8px;padding:0 12px 6px 8px;flex-shrink:0;height:116px}.pzs-mascot-avatar{flex-shrink:0;width:70px;display:flex;align-items:flex-end;justify-content:center}.pzs-mascot-img{height:100px;width:auto;object-fit:contain;display:block}.pzs-bubble{flex:1;background:var(--surface2);border:1px solid var(--border-s);border-radius:14px 14px 14px 4px;padding:9px 12px;display:flex;align-items:center;gap:8px;transition:background .3s,border-color .3s}.pzs-bubble--win{background:#81b64c1f;border-color:#81b64c73}.pzs-bubble-text{font-size:13px;font-weight:500;color:var(--text);line-height:1.4}.pzs-turn-dot{flex-shrink:0;width:13px;height:13px;border-radius:3px;display:inline-block}.pzs-board-wrap,.pzs-board-wrap *{touch-action:none}.pzs-board-wrap{flex-shrink:0;overflow:hidden}.pzs-bottom-bar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px max(16px,env(safe-area-inset-bottom,0px));flex-shrink:0;width:100%}.gv-back-to-game{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--text-main, #e8e6e3);border-radius:8px;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer;text-align:center;letter-spacing:.01em}.pzs-action-btn{flex:1;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;padding:11px 8px;transition:opacity .15s,background .15s;border:none}.pzs-action-btn:disabled{opacity:.3;cursor:default}.pzs-action-btn--side{background:var(--surface2);border:1px solid var(--border-s);color:var(--text-dim)}.pzs-action-btn--side:not(:disabled):active{background:var(--surface3);color:var(--text)}.pzs-action-btn--nav{background:var(--surface2);border:1px solid var(--border-s);color:var(--text);font-size:18px}.pzs-action-btn--nav:not(:disabled):active{background:var(--surface3)}.pzs-action-btn--primary{background:var(--accent);color:var(--on-accent);font-size:14px;flex:1.4}.pzs-action-btn--primary:active{opacity:.85}.pzs-explore-eval{display:flex;justify-content:center;padding:6px 0 4px;flex-shrink:0}.pzs-move-list{flex:1;min-height:40px;max-height:140px;overflow-y:auto;padding:6px 12px 8px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border)}.pzs-move-empty{color:var(--text-muted);font-size:13px;padding:4px 0}.pzs-move-pair{display:flex;align-items:center;gap:2px}.pzs-move-num{width:28px;font-size:12px;color:var(--text-muted);flex-shrink:0;text-align:right;padding-right:4px}.pzs-move-san{flex:1;background:none;border:none;border-radius:6px;padding:5px 8px;font-size:14px;font-weight:500;font-family:inherit;color:var(--text-dim);cursor:pointer;text-align:left;transition:background .1s,color .1s}.pzs-move-san:active{background:var(--surface3)}.pzs-move-san--active{background:var(--surface3);color:var(--text);font-weight:700}.pzs-move-san--puzzle{color:var(--accent);font-weight:700}.pzs-move-san--puzzle:after{content:"★";font-size:9px;margin-left:4px;opacity:.8}.pzs-move-san--empty{cursor:default}.lc-wrap{position:fixed;inset:0;z-index:210;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .2s ease-out both}.lc-header{display:flex;align-items:center;gap:12px;padding:14px 16px 6px;flex-shrink:0}.lc-back{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:4px 8px 4px 0;line-height:1;-webkit-tap-highlight-color:transparent}.lc-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.2px}.lc-mascot-row{display:flex;flex-direction:column;align-items:center;padding:12px 16px 8px;flex-shrink:0;gap:6px}.lc-mascot{width:72px;height:72px;object-fit:contain}.lc-tagline{font-size:13px;color:var(--text-muted);font-weight:500;text-align:center}.lc-scroll{flex:1;overflow-y:auto;padding:8px 16px 0;display:flex;flex-direction:column;gap:20px}.lc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lc-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 14px;background:var(--surface2);border:1px solid var(--border-s);border-radius:18px;cursor:pointer;text-align:center;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s,border-color .1s,box-shadow .1s}.lc-card:active{transform:scale(.96)}.lc-card--selected{border-color:#4a90d999;background:linear-gradient(145deg,rgba(74,144,217,.14) 0%,var(--surface2) 70%);box-shadow:0 4px 18px #4a90d92e}.lc-card-icon{font-size:28px;line-height:1;color:var(--blue);opacity:.85}.lc-card--selected .lc-card-icon{opacity:1}.lc-card-label{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.1px}.lc-card-count{font-size:11px;color:var(--text-muted);font-weight:500;min-height:14px}.lc-diff-row{display:flex;gap:8px}.lc-diff-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 9px;background:var(--surface2);border:1px solid var(--border-s);border-radius:14px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:border-color .1s,background .1s}.lc-diff-btn--active{border-color:#4a90d98c;background:linear-gradient(145deg,rgba(74,144,217,.12) 0%,var(--surface2) 70%)}.lc-diff-label{font-size:12px;font-weight:700;color:var(--text)}.lc-diff-range{font-size:10px;color:var(--text-muted);font-weight:500}.lc-footer{padding:14px 16px 36px;flex-shrink:0}.lc-start-btn{width:100%;padding:15px;border-radius:14px;border:none;background:var(--blue);color:var(--on-blue);font-size:16px;font-weight:700;letter-spacing:-.2px;cursor:pointer;font-family:inherit;transition:opacity .15s,transform .1s;-webkit-tap-highlight-color:transparent}.lc-start-btn:disabled{opacity:.32;cursor:default}.lc-start-btn:not(:disabled):active{transform:scale(.975);opacity:.9}.home-board-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:340px;height:340px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(129,182,76,.07) 0%,rgba(129,182,76,.03) 35%,transparent 70%);pointer-events:none;z-index:0}.bss-wrap{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .22s ease-out}.bss-header{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,14px)) 16px 12px;flex-shrink:0;border-bottom:1px solid var(--border)}.bss-back{width:36px;height:36px;border-radius:50%;border:none;background:var(--surface2);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background .15s}.bss-back:active{background:var(--surface3)}.bss-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px}@keyframes bss-panel-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.bss-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 12px 0}.bss-tier-header{grid-column:1 / -1;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:2px 0 2px 8px;border-left:3px solid;margin-top:2px}.bss-tier-header:first-child{margin-top:0}.bss-card{position:relative;overflow:hidden;border-radius:14px;border:2px solid var(--border);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s,border-color .15s,box-shadow .15s;height:158px;display:block}.bss-card:active{transform:scale(.96)}.bss-card--selected{border-width:2px}.bss-card-img{position:absolute;inset:0 0 40px;background-repeat:no-repeat;background-size:200% 200%}.bss-card-bar{position:absolute;bottom:0;left:0;right:0;height:40px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:3px 9px 2px;background:var(--surface);border-top:1px solid var(--border);gap:1px}.bss-card-bar-top{display:flex;align-items:center;justify-content:space-between}.bss-card-name{font-size:12px;font-weight:700;color:var(--text);letter-spacing:-.2px}.bss-card-elo{font-size:10.5px;font-weight:800;letter-spacing:-.3px}.bss-card-stars{display:flex;justify-content:center;gap:3px;padding:0}.bss-card-star{font-size:.75rem;color:#ffffff2e;line-height:1}.bss-card-star--gold{color:#e8a838}.bss-card-tier-dot{position:absolute;top:7px;left:7px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px #00000080}.bss-card-for-you{position:absolute;bottom:40px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#81b64c;background:#81b64c2e;border:1px solid rgba(129,182,76,.4);border-radius:20px;padding:2px 6px;white-space:nowrap;pointer-events:none}.bss-card-selected-ring{position:absolute;inset:0;border-radius:13px;border:2px solid transparent;pointer-events:none}.bss-detail{flex-shrink:0;padding:10px 12px 8px;border-top:1px solid var(--border)}.bss-detail-inner{display:flex;gap:12px;align-items:flex-start;animation:bss-panel-in .18s ease-out}.bss-avatar-img{flex-shrink:0}.bss-detail-info{flex:1;display:flex;flex-direction:column;gap:3px}.bss-detail-namerow{display:flex;align-items:center;gap:8px}.bss-detail-name{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.3px}.bss-detail-badge{font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 7px;border-radius:20px;text-transform:uppercase}.bss-detail-title{font-size:11.5px;color:var(--text-muted);font-weight:500}.bss-stars{display:flex;gap:2px}.bss-star{font-size:11px;color:#ffffff26}.bss-star--on{color:var(--gold)}.bss-detail-desc{font-size:12px;color:var(--text-dim);line-height:1.45;margin-top:1px}.bss-footer{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding-bottom:max(14px,env(safe-area-inset-bottom,14px))}.bss-color-row{display:flex;align-items:center;gap:10px}.bss-color-label{font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.bss-color-pills{display:flex;gap:6px;flex:1}.bss-color-pill{flex:1;padding:8px 6px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s,color .15s}.bss-color-pill--active{border-color:var(--accent);background:#81b64c1a;color:var(--accent)}.bss-play-btn{width:100%;padding:14px;border-radius:14px;border:none;background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:800;letter-spacing:-.2px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s,transform .1s;-webkit-tap-highlight-color:transparent}.bss-play-btn:active{transform:scale(.975);opacity:.9}@keyframes gor-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gor-hero-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.gor-overlay{position:fixed;inset:0;z-index:300;background:#000000bf;display:flex;align-items:flex-end;animation:screenFadeIn .2s ease-out}.gor-screen{width:100%;max-height:96vh;background:var(--surface);border-radius:24px 24px 0 0;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:max(28px,env(safe-area-inset-bottom,28px))}.gor-close-btn{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;z-index:2}.gor-body{display:flex;flex-direction:column;gap:0}.gor-hero{position:relative;padding:36px 20px 28px;display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(160deg,rgba(129,182,76,.18) 0%,transparent 60%);border-radius:24px 24px 0 0}.gor-hero.gor-loss{background:linear-gradient(160deg,rgba(201,57,58,.18) 0%,transparent 60%)}.gor-hero.gor-draw{background:linear-gradient(160deg,rgba(232,168,56,.15) 0%,transparent 60%)}.gor-mascot-wrap{animation:gor-hero-in .35s ease-out both}.gor-mascot{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4))}.gor-result-label{font-size:28px;font-weight:800;letter-spacing:-.8px;color:var(--accent);animation:gor-in .3s .1s ease-out both}.gor-hero.gor-loss .gor-result-label{color:var(--red)}.gor-hero.gor-draw .gor-result-label{color:var(--gold)}.gor-how-ended{font-size:13px;color:var(--text-muted);font-weight:500;animation:gor-in .3s .15s ease-out both}.gor-opponent-line{font-size:12px;color:var(--text-muted);font-weight:500;animation:gor-in .3s .18s ease-out both}.gor-opponent-line strong{color:var(--text-dim);font-weight:700}.gor-stars-celebrate{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 4px}.gor-stars-row{display:flex;gap:16px}.gor-star-pop{font-size:2.4rem;color:#e8a838;animation:gor-star-pop .55s cubic-bezier(.34,1.56,.64,1) both;display:inline-block}@keyframes gor-star-pop{0%{transform:scale(0) rotate(-20deg);opacity:0;filter:grayscale(1)}65%{transform:scale(1.4) rotate(8deg);opacity:1;filter:grayscale(0)}85%{transform:scale(.88) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1;filter:grayscale(0)}}.gor-stars-msg{font-size:.92rem;font-weight:700;color:var(--text);text-align:center;margin:0;line-height:1.5}.gor-comment{margin:0 16px;padding:14px 16px;background:var(--surface2);border-radius:var(--radius);border:1px solid var(--border);display:flex;gap:10px;align-items:flex-start;animation:gor-in .3s .22s ease-out both}.gor-comment-icon{width:28px;height:28px;border-radius:50%;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.gor-comment-text{font-size:13px;color:var(--text-dim);line-height:1.55;font-weight:450}.gor-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 16px;animation:gor-in .3s .28s ease-out both}.gor-stat-cell{background:var(--surface2);border-radius:var(--radius);border:1px solid var(--border);padding:12px 14px;display:flex;flex-direction:column;align-items:center;gap:3px}.gor-stat-val{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.5px}.gor-stat-label{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.gor-actions{display:flex;flex-direction:column;gap:8px;padding:4px 16px 0;animation:gor-in .3s .34s ease-out both}.gor-btn{width:100%;padding:14px;border-radius:14px;border:none;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.1px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;-webkit-tap-highlight-color:transparent;transition:opacity .15s,transform .1s}.gor-btn:active{transform:scale(.978);opacity:.88}.gor-btn--primary{background:var(--accent);color:var(--on-accent)}.gor-btn--secondary{background:var(--surface2);color:var(--text);border:1.5px solid var(--border-s)}.gor-btn--ghost{background:transparent;color:var(--text-muted);border:1.5px solid var(--border)}.gor-btn--home{background:transparent;color:var(--text-muted);border:none;font-size:13px;font-weight:600;padding:10px;opacity:.7}.gor-btn--home:active{opacity:1}.app-bg--wood{background-color:#1c1208;background-image:linear-gradient(#140e0ab8,#140e0ab8),url(/wood-bg.jpg);background-size:cover;background-position:center}.app-bg--felt{background-color:#0e1a0e;background-image:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(40,90,40,.5) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 50% 0%,rgba(20,60,20,.3) 0%,transparent 60%),repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px)}.app-bg--stone{background-color:#161618;background-image:radial-gradient(ellipse at 25% 35%,rgba(90,90,110,.18) 0%,transparent 45%),radial-gradient(ellipse at 75% 70%,rgba(60,60,80,.15) 0%,transparent 40%),repeating-linear-gradient(120deg,transparent,transparent 18px,rgba(255,255,255,.012) 18px,rgba(255,255,255,.012) 19px),repeating-linear-gradient(60deg,transparent,transparent 18px,rgba(255,255,255,.008) 18px,rgba(255,255,255,.008) 19px)}.app-bg--carbon{background-color:#0f0f0f;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.018) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.018) 75%),repeating-linear-gradient(-45deg,rgba(255,255,255,.018) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.018) 75%),radial-gradient(ellipse at 50% 50%,rgba(40,40,50,.3) 0%,transparent 70%);background-size:22px 22px,22px 22px,100% 100%;background-position:0 0,11px 11px,0 0}.app-bg--leather{background-color:#160c04;background-image:radial-gradient(ellipse at 20% 80%,rgba(90,40,10,.45) 0%,transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(110,55,15,.3) 0%,transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 5px,rgba(0,0,0,.12) 5px,rgba(0,0,0,.12) 6px),repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(255,255,255,.012) 20px,rgba(255,255,255,.012) 21px)}.app-bg--space{background-color:#07080f;background-image:radial-gradient(ellipse at 50% 60%,rgba(25,15,70,.7) 0%,transparent 65%),radial-gradient(1.5px 1.5px at 15% 25%,rgba(255,255,255,.75) 0%,transparent 100%),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 55% 75%,rgba(255,255,255,.65) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 8% 65%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 92% 82%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(1px 1px at 40% 10%,rgba(255,255,255,.45) 0%,transparent 100%),radial-gradient(1px 1px at 70% 45%,rgba(180,180,255,.4) 0%,transparent 100%)}.app-bg--onyx{background-color:#0a0a0a;background-image:radial-gradient(ellipse at 50% 0%,rgba(55,55,70,.4) 0%,transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(30,30,40,.3) 0%,transparent 50%),linear-gradient(180deg,rgba(255,255,255,.015) 0%,transparent 50%,rgba(255,255,255,.008) 100%)}.app-bg--marble{background-color:#111318;background-image:linear-gradient(108deg,rgba(255,255,255,.022) 0%,transparent 38%,rgba(255,255,255,.012) 55%,transparent 75%,rgba(255,255,255,.018) 100%),linear-gradient(12deg,transparent 25%,rgba(180,185,220,.05) 48%,transparent 68%),radial-gradient(ellipse at 30% 70%,rgba(100,105,140,.18) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(80,85,120,.12) 0%,transparent 45%)}.app-bg--mahogany{background-color:#140804;background-image:repeating-linear-gradient(96deg,transparent,transparent 38px,rgba(160,65,15,.06) 38px,rgba(160,65,15,.06) 39px),repeating-linear-gradient(3deg,transparent,transparent 55px,rgba(0,0,0,.1) 55px,rgba(0,0,0,.1) 56px),radial-gradient(ellipse at 35% 55%,rgba(130,50,10,.4) 0%,transparent 60%),radial-gradient(ellipse at 80% 15%,rgba(170,70,20,.25) 0%,transparent 45%)}.app-bg--forest{background-color:#080e08;background-image:linear-gradient(to bottom,#080e0840,#080e081a 40%,#080e0859),url(/night-forest-bg.jpg);background-size:cover;background-position:center 30%;background-attachment:fixed}.theme-picker-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);min-height:0}.theme-picker-header{display:flex;align-items:center;gap:10px;padding:max(20px,env(safe-area-inset-top,20px)) 16px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.theme-picker-back{background:none;border:none;color:var(--text-muted);font-size:28px;line-height:1;cursor:pointer;padding:0 6px 0 0;font-family:inherit}.theme-picker-title{font-size:1.05rem;font-weight:700;color:var(--text);flex:1}.theme-picker-body{flex:1;overflow-y:auto;padding:16px}.theme-picker-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px}.board-theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:24px}.board-theme-swatch{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.board-theme-preview{width:48px;height:48px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border-radius:10px;overflow:hidden;border:2px solid transparent;transition:border-color .15s,transform .12s}.board-theme-swatch--active .board-theme-preview{border-color:var(--accent);transform:scale(1.06);box-shadow:0 0 0 2px #81b64c4d}.board-theme-cell{width:100%;height:100%}.board-theme-label{font-size:9px;font-weight:600;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.board-theme-swatch--active .board-theme-label{color:var(--accent)}.bg-theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bg-theme-btn{position:relative;height:72px;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:border-color .15s,transform .12s}.bg-theme-btn--active{border-color:var(--accent);transform:scale(1.03);box-shadow:0 0 0 2px #81b64c4d}.bg-theme-preview{position:absolute;inset:0;background-size:cover;background-position:center}.bg-theme-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:11px;font-weight:700;padding:12px 8px 6px;text-align:center;letter-spacing:.02em}.bg-theme-btn--active .bg-theme-label{color:var(--accent)}.theme-item--locked{opacity:.55}.theme-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;pointer-events:none;z-index:2;border-radius:10px}.theme-lock-overlay--bg{border-radius:10px}.theme-lock-overlay--piece{border-radius:12px}.board-theme-swatch,.piece-theme-swatch{position:relative}.locked-modal-backdrop{position:fixed;inset:0;z-index:9999;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:lockModalFadeIn .2s ease-out}@keyframes lockModalFadeIn{0%{opacity:0}to{opacity:1}}.locked-modal{background:#1e1d1a;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:32px 28px 24px;max-width:320px;width:100%;text-align:center;animation:lockModalSlideUp .28s cubic-bezier(.34,1.56,.64,1)}@keyframes lockModalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.locked-modal-lock-ring{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#fbbf2426,#f59e0b14);border:1.5px solid rgba(251,191,36,.25);display:flex;align-items:center;justify-content:center;color:#fbbf24}.locked-modal-title{font-size:18px;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-.01em}.locked-modal-desc{font-size:14px;color:#ffffff8c;margin:0 0 20px;line-height:1.45}.locked-modal-progress{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:10px}.locked-modal-fire{font-size:20px}.locked-modal-days{font-size:16px;font-weight:700;color:#f59e0b;letter-spacing:.02em}.locked-modal-bar-track{height:6px;border-radius:3px;background:#ffffff14;margin:0 0 24px;overflow:hidden}.locked-modal-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#f59e0b,#f97316);transition:width .6s cubic-bezier(.4,0,.2,1)}.locked-modal-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.01em;transition:transform .1s}.locked-modal-btn:active{transform:scale(.97)}.theme-unlock-backdrop{position:fixed;inset:0;z-index:10000;background:#000000bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px}.theme-unlock-modal{background:linear-gradient(165deg,#242220,#1a1816);border:1px solid rgba(251,191,36,.15);border-radius:24px;padding:36px 28px 28px;max-width:340px;width:100%;text-align:center;box-shadow:0 0 60px #fbbf2414,0 24px 48px #0006}.theme-unlock-emoji{font-size:52px;line-height:1;margin-bottom:12px;animation:unlockBounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes unlockBounce{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.theme-unlock-title{font-size:22px;font-weight:800;color:#fff;margin:0 0 6px;letter-spacing:-.02em}.theme-unlock-set-name{font-size:17px;font-weight:700;margin-bottom:6px;letter-spacing:.01em}.theme-unlock-desc{font-size:13px;color:#ffffff73;margin:0 0 28px;line-height:1.5}.theme-unlock-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#e8a838);color:#000;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.01em;margin-bottom:10px;transition:transform .1s}.theme-unlock-btn:active{transform:scale(.97)}.theme-unlock-dismiss{background:none;border:none;color:#ffffff59;font-size:13px;cursor:pointer;padding:8px 16px}.theme-unlock-dismiss:active{color:#ffffff8c}.faq-item{border-bottom:1px solid var(--border);padding:2px 0}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;background:none;border:none;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.faq-chevron{font-size:20px;color:var(--accent);flex-shrink:0;font-weight:400}.faq-answer{font-size:13px;color:var(--text-muted);line-height:1.6;padding:0 0 14px;margin:0}.ph-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;text-align:center;gap:14px}.ph-empty-img{width:80px;height:80px;object-fit:contain;margin-bottom:4px}.ph-empty-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary, #f0f0f0)}.ph-empty-body{margin:0;font-size:.88rem;color:var(--text-muted, #888);line-height:1.6;max-width:280px}.ph-empty-cta{margin-top:8px;padding:13px 32px;background:var(--accent);color:var(--on-accent, #0f1a0a);font-size:.92rem;font-weight:700;border-radius:12px;border:none;cursor:pointer;transition:opacity var(--t-fast, .15s)}.ph-empty-cta:active{opacity:.82}.ins2-platform-toggle{display:flex;gap:0;background:#ffffff0f;border-radius:10px;padding:3px;margin-bottom:14px;width:100%;max-width:300px}.ins2-platform-btn{flex:1;padding:8px 0;border:none;border-radius:8px;background:transparent;color:#ffffff73;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.ins2-platform-btn--active{background:var(--ip-green, #4ade80);color:#0f1a0a}.ins2-connect-row{display:flex;gap:8px;width:100%;max-width:300px;margin-top:4px}.ins2-connect-input{flex:1;padding:11px 14px;background:#ffffff12;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;color:#f0f0f0;font-size:.9rem;outline:none;transition:border-color .15s}.ins2-connect-input:focus{border-color:var(--ip-green, #4ade80)}.ins2-connect-input::placeholder{color:#ffffff4d}.ins2-connect-btn{padding:11px 18px;border-radius:10px;background:var(--ip-green, #4ade80);color:#0f1a0a;font-size:.88rem;font-weight:700;border:none;cursor:pointer;transition:opacity .15s;white-space:nowrap}.ins2-connect-btn:disabled{opacity:.45;cursor:default}.ins2-connect-btn:not(:disabled):active{opacity:.8}.ins2-connect-error{font-size:.8rem;color:#f87171;margin:0;text-align:center;max-width:280px}.gls-wrap{position:absolute;inset:0;z-index:205;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;animation:screenFadeIn .18s ease-out both}.gls-header{display:flex;align-items:center;gap:10px;padding:max(16px,env(safe-area-inset-top,16px)) 16px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.gls-back{background:none;border:none;cursor:pointer;font-size:28px;color:var(--text-muted);padding:0;line-height:1;width:32px;flex-shrink:0;-webkit-tap-highlight-color:transparent}.gls-title{flex:1;font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gls-count{background:var(--surface2);border:1px solid var(--border-s);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.02em;flex-shrink:0}.gls-scroll{flex:1;overflow-y:auto;padding:10px 12px 0;display:flex;flex-direction:column;gap:6px}.gls-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:48px 0}@keyframes glsCardIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.gls-card{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--border);border-left:none;border-radius:10px;overflow:hidden;width:100%;text-align:left;cursor:pointer;font-family:inherit;transition:background .1s;animation:glsCardIn .22s ease-out both;min-height:74px;-webkit-tap-highlight-color:transparent}.gls-card:active{background:var(--surface2)}.gls-bar{width:4px;align-self:stretch;flex-shrink:0;background:var(--rb);box-shadow:2px 0 10px var(--rg)}.gls-badge{width:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:900;color:var(--rc);letter-spacing:-.5px}.gls-body{flex:1;min-width:0;padding:11px 0 10px;display:flex;flex-direction:column;gap:3px}.gls-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.gls-opp{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;width:100%}.gls-elo{font-size:12px;font-weight:500;color:var(--text-muted)}.gls-date{font-size:11px;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.gls-opening{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.gls-chips{display:flex;gap:5px;margin-top:2px;flex-wrap:nowrap}.gls-chip{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--surface2);border-radius:4px;padding:2px 6px;white-space:nowrap}.gls-arrow{font-size:18px;color:var(--border-s);padding:0 12px;align-self:center;flex-shrink:0}.gvs-wrap{position:fixed;inset:0;z-index:210;background:var(--bg);display:flex;flex-direction:column;align-items:stretch;overflow:hidden;animation:screenFadeIn .2s ease-out both}.gvs-topbar{display:flex;align-items:center;gap:10px;padding:max(14px,env(safe-area-inset-top,14px)) 14px 10px;flex-shrink:0;border-bottom:1px solid var(--border)}.gvs-back{background:none;border:none;cursor:pointer;font-size:28px;color:var(--text-muted);padding:0;line-height:1;width:30px;flex-shrink:0;-webkit-tap-highlight-color:transparent}.gvs-game-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.gvs-opening-label{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gvs-date-label{font-size:11px;color:var(--text-muted)}.gvs-result-label{font-size:13px;font-weight:800;flex-shrink:0;letter-spacing:.02em}.gvs-players{display:flex;flex-direction:column;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}.gvs-player{display:flex;align-items:center;gap:9px;padding:7px 14px}.gvs-player--opp{border-bottom:.5px solid var(--border)}.gvs-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.gvs-color-dot--white{background:#f0ede6;border:1.5px solid rgba(0,0,0,.25)}.gvs-color-dot--black{background:#1a1714;border:1.5px solid rgba(255,255,255,.22)}.gvs-pname{font-size:13px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gvs-pelo{font-size:12px;color:var(--text-muted);font-weight:500;flex-shrink:0}.gvs-eval-wrap{display:flex;align-items:center;justify-content:center;padding:6px 6px 2px;flex-shrink:0}.gvs-board-wrap{display:flex;justify-content:center;flex-shrink:0;padding:0 6px}.gvs-movelist{flex-shrink:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;height:48px;background:var(--surface);-webkit-overflow-scrolling:touch;scrollbar-width:none}.gvs-movelist::-webkit-scrollbar{display:none}.gvs-movelist-inner{display:flex;flex-direction:row;align-items:center;padding:0 10px;gap:0;height:100%;min-width:max-content}.gvs-no-moves{color:var(--text-muted);font-size:13px;padding:0 8px}.gvs-pair{display:flex;align-items:center;gap:0}.gvs-movenum{font-size:11px;color:var(--text-muted);padding:0 2px 0 8px;flex-shrink:0;white-space:nowrap;font-family:IBM Plex Mono,monospace}.gvs-move{display:inline-flex;align-items:center;gap:3px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;color:var(--text-dim);padding:6px 7px;border-radius:7px;white-space:nowrap;line-height:1;transition:background .1s,color .1s;flex-shrink:0;-webkit-tap-highlight-color:transparent}.gvs-move:active{background:var(--surface3)}.gvs-move--active{background:var(--accent);color:var(--on-accent);font-weight:700}.gvs-move--empty{width:54px;pointer-events:none;cursor:default}.gvs-ann-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.gvs-controls{display:flex;flex-direction:column;gap:7px;padding:8px 14px max(16px,env(safe-area-inset-bottom,16px));flex-shrink:0}.gvs-back-to-game{display:flex;align-items:center;justify-content:center;background:#e8a8381a;border:1px solid rgba(232,168,56,.28);color:var(--gold);border-radius:10px;font-size:13px;font-weight:700;font-family:inherit;padding:9px 14px;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent}.gvs-nav{display:flex;gap:8px;align-items:center}.gvs-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border-s);border-radius:12px;color:var(--text);font-size:16px;cursor:pointer;height:50px;transition:background .1s,opacity .1s;-webkit-tap-highlight-color:transparent}.gvs-nav-btn--lg{flex:1.6;font-size:24px;font-weight:300}.gvs-nav-btn:active:not(:disabled){background:var(--surface3)}.gvs-nav-btn:disabled{opacity:.28;cursor:not-allowed}.mascot-tap-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;-webkit-tap-highlight-color:transparent}.mascot-tap-hint{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ffffff47;margin-top:3px;line-height:1;pointer-events:none}.mascot-tap-btn:active .mascot-avatar{transform:scale(.91)}.bot-game-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:78px}.bot-game-avatar-img{width:78px;height:52px;border-radius:10px;border:2px solid var(--tier-color, rgba(255,255,255,.2));box-shadow:0 0 0 1px #00000080,0 4px 16px #0000008c,0 0 12px color-mix(in srgb,var(--tier-color, #fff) 30%,transparent);flex-shrink:0}.bot-game-avatar-name{font-size:11px;font-weight:800;color:#fff;letter-spacing:-.3px;line-height:1;text-align:center}.bot-game-avatar-tier{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:2px 6px;border-radius:20px;line-height:1.4;text-align:center}.ch-overlay{position:fixed;inset:0;background:#000000b3;z-index:900;display:flex;align-items:flex-end;animation:chFadeIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes chFadeIn{0%{opacity:0}to{opacity:1}}.ch-sheet{width:100%;max-height:88vh;background:#13131c;border-radius:26px 26px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;animation:chSlideUp .34s cubic-bezier(.22,1,.36,1)}@keyframes chSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ch-handle{width:40px;height:4px;background:#ffffff24;border-radius:2px;margin:10px auto 0;flex-shrink:0}.ch-header{display:flex;align-items:center;gap:12px;padding:12px 16px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;min-height:62px}.ch-header-avatar{width:46px;height:46px;object-fit:contain;flex-shrink:0}.ch-back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;flex-shrink:0;transition:background .14s}.ch-back-btn:active{background:#ffffff29}.ch-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ch-header-title{font-size:16px;font-weight:800;color:#fff;letter-spacing:-.4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.ch-header-sub{font-size:12px;font-weight:600;color:#ffffff61;letter-spacing:.01em}.ch-close{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ffffff8c;width:32px;height:32px;border-radius:50%;font-size:13px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .14s}.ch-close:active{background:#ffffff29}.ch-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 14px 0;scrollbar-width:none}.ch-content::-webkit-scrollbar{display:none}.ch-content--forward{animation:chContentForward .22s cubic-bezier(.25,.8,.25,1)}.ch-content--back{animation:chContentBack .22s cubic-bezier(.25,.8,.25,1)}@keyframes chContentForward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes chContentBack{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.ch-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:24px}@keyframes chCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ch-cat-card{background:var(--cat-bg);border:1px solid rgba(255,255,255,.07);border-top:3px solid var(--cat-color);border-radius:18px;padding:14px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;animation:chCardIn .3s ease both;transition:transform .13s}.ch-cat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.05) 0%,transparent 55%);pointer-events:none;border-radius:inherit}.ch-cat-card:active{transform:scale(.95)}.ch-cat-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff14;border-radius:13px;font-size:24px;line-height:1;margin-bottom:8px;flex-shrink:0}.ch-cat-card-label{font-size:13px;font-weight:800;color:#fff;letter-spacing:-.3px;line-height:1.25}.ch-cat-card-hint{font-size:10.5px;color:#ffffff61;line-height:1.3}.ch-cat-card-arrow{display:none}.ch-topic-list{display:flex;flex-direction:column;gap:8px;padding-bottom:24px}.ch-topic-row{display:flex;align-items:center;gap:12px;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;min-height:52px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;animation:chCardIn .25s ease both;transition:background .13s}.ch-topic-row:active{background:#ffffff14}.ch-topic-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.ch-topic-text{flex:1;font-size:14.5px;font-weight:600;color:#fff;line-height:1.35;letter-spacing:-.2px}.ch-topic-arrow{font-size:20px;color:#ffffff38;flex-shrink:0;display:inline-block;transition:transform .24s cubic-bezier(.4,0,.2,1),color .2s}.ch-topic-arrow--open{transform:rotate(90deg);color:var(--cat-color)}.ch-accordion-item{background:#ffffff0a;border:1.5px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;animation:chCardIn .25s ease both;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}.ch-accordion-item--open{border-color:var(--cat-color);background:#ffffff0e;box-shadow:0 2px 24px #0000004d}.ch-topic-row--accordion{background:none;border:none;border-radius:0;padding:16px;animation:none}.ch-topic-row--accordion:active{background:#ffffff0d}.ch-accordion-item--open .ch-topic-row--accordion{border-bottom:1px solid rgba(255,255,255,.08)}.ch-topic-num{width:24px;height:24px;border-radius:8px;background:#ffffff14;font-size:11px;font-weight:800;color:#ffffff80;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}.ch-accordion-item--open .ch-topic-num{background:var(--cat-color);color:#fff}.ch-accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.ch-accordion-body--open{grid-template-rows:1fr}.ch-accordion-inner{overflow:hidden}.ch-inline-answer{display:flex;gap:12px;align-items:flex-start;padding:14px 16px 18px}.ch-inline-avatar{width:36px;height:36px;object-fit:contain;flex-shrink:0;margin-top:2px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.ch-inline-content{display:flex;flex-direction:column;gap:5px;flex:1}.ch-inline-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cat-color)}.ch-inline-text{font-size:13.5px;color:#ffffffe0;line-height:1.65;letter-spacing:.01em}.ch-answer-wrap{display:flex;flex-direction:column;padding-bottom:20px}.ch-answer-bubble{display:flex;gap:12px;align-items:flex-start;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);border-left:3px solid var(--cat-color, #81b64c);border-radius:18px;padding:16px;margin-bottom:22px;min-width:0}.ch-answer-avatar{width:40px;height:40px;object-fit:contain;flex-shrink:0;min-width:40px}.ch-answer-text{font-size:13.5px;color:#fff;line-height:1.65;flex:1;min-width:0;word-wrap:break-word}.ch-more-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#ffffff4d;margin-bottom:6px;padding-left:2px}.ch-more-list{display:flex;flex-direction:column}.ch-more-row{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);padding:13px 2px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.ch-more-row:last-child{border-bottom:none}.ch-more-row:active{background:#ffffff0a;border-radius:8px}.ch-welcome{display:flex;align-items:center;gap:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;margin-bottom:16px}.ch-welcome-avatar{width:56px;height:56px;object-fit:contain;flex-shrink:0}.ch-welcome-text{font-size:13px;line-height:1.55;color:#ffffffd1;flex:1;min-width:0}.ch-search-wrap{position:relative;margin-bottom:16px}.ch-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#ffffff4d;pointer-events:none}.ch-search-input{width:100%;box-sizing:border-box;background:#ffffff12;border:1.5px solid rgba(255,255,255,.1);border-radius:14px;padding:13px 40px 13px 44px;font-size:14px;color:#fff;outline:none;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.ch-search-input::placeholder{color:#ffffff47}.ch-search-input:focus{border-color:#ffffff40;background:#ffffff1a}.ch-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#ffffff14;border:none;color:#ffffff80;font-size:11px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .13s}.ch-search-clear:active{background:#ffffff29}.ch-search-result-wrap{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ch-search-result-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;line-height:1}.ch-no-results{text-align:center;color:#ffffff4d;font-size:13px;padding:40px 0}.paywall-backdrop{position:fixed;inset:0;z-index:1000;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;animation:paywallBackdropIn .22s ease-out both}@keyframes paywallBackdropIn{0%{opacity:0}to{opacity:1}}.paywall-sheet{width:100%;max-height:90vh;background:var(--surface);border-radius:24px 24px 0 0;border-top:1px solid var(--border-s);padding:0 20px 36px;display:flex;flex-direction:column;align-items:center;overflow-y:auto;animation:paywallSheetIn .28s cubic-bezier(.22,1,.36,1) both}@keyframes paywallSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.paywall-handle{width:40px;height:4px;background:var(--surface3);border-radius:2px;margin:12px auto 0;flex-shrink:0}.paywall-header{width:100%;text-align:center;padding:20px 0 16px}.paywall-crown{font-size:40px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 0 16px var(--gold-glow))}.paywall-title{font-size:18px;font-weight:700;color:var(--text);line-height:1.3}.paywall-subtitle{font-size:13px;color:var(--text-dim);margin-top:6px;line-height:1.4}.paywall-features{width:100%;background:var(--surface2);border-radius:var(--radius-card);padding:14px 16px;margin-bottom:20px}.paywall-features-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.paywall-feature-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0}.paywall-feature-row+.paywall-feature-row{border-top:1px solid var(--border)}.paywall-feature-icon{font-size:18px;flex-shrink:0;line-height:1.2}.paywall-feature-text{flex:1;display:flex;flex-direction:column;gap:1px}.paywall-feature-name{font-size:14px;font-weight:600;color:var(--text)}.paywall-feature-sub{font-size:12px;color:var(--text-muted)}.paywall-feature-check{font-size:14px;font-weight:700;color:var(--accent);flex-shrink:0}.paywall-cta-wrap{width:100%;text-align:center;margin-bottom:4px}.paywall-price{margin-bottom:10px}.paywall-price-amount{font-size:28px;font-weight:800;color:var(--gold)}.paywall-price-period{font-size:15px;color:var(--text-dim)}.paywall-subscribe-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--gold) 0%,#d4922a 100%);color:var(--on-gold);font-size:16px;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;box-shadow:0 4px 20px #e8a83859;transition:opacity .15s,transform .1s}.paywall-subscribe-btn:active{opacity:.9;transform:scale(.98)}.paywall-disclaimer{font-size:11px;color:var(--text-muted);margin-top:8px}.paywall-later-btn{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:12px 24px;margin-top:4px;transition:color .15s}.paywall-later-btn:active{color:var(--text-dim)}.progate-wrap{position:relative;overflow:hidden;border-radius:inherit;cursor:pointer}.progate-blur-layer{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.progate-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#00000052}.progate-lock-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--gold) 0%,#d4922a 100%);color:var(--on-gold);padding:6px 14px;border-radius:20px;font-weight:700;font-size:13px;box-shadow:0 2px 12px #e8a83866}.progate-lock-icon{font-size:15px}.progate-lock-label{font-size:13px;letter-spacing:.04em}.progate-cta{font-size:12px;color:#ffffffb3}.ins-paywall-wrap{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.ins-paywall-blur-layer{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px;filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.55;overflow:hidden}.ins-paywall-fake-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ins-paywall-fake-stat{background:var(--surface);border-radius:var(--radius-card);padding:14px;display:flex;flex-direction:column;gap:4px}.ins-paywall-fake-stat-val{font-size:24px;font-weight:700;color:var(--text)}.ins-paywall-fake-stat-label{font-size:12px;color:var(--text-muted)}.ins-paywall-fake-stat-delta{font-size:12px;color:var(--accent);font-weight:600}.ins-paywall-fake-chart{background:var(--surface);border-radius:var(--radius-card);padding:16px;height:120px;display:flex;align-items:flex-end;gap:6px}.ins-paywall-fake-bar{flex:1;background:var(--accent);border-radius:3px 3px 0 0;opacity:.7}.ins-paywall-fake-list{background:var(--surface);border-radius:var(--radius-card);overflow:hidden}.ins-paywall-fake-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-dim)}.ins-paywall-fake-row:last-child{border-bottom:none}.ins-paywall-overlay{position:absolute;inset:60px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px}.ins-paywall-badge{background:linear-gradient(135deg,var(--gold) 0%,#d4922a 100%);color:var(--on-gold);font-size:13px;font-weight:700;padding:6px 16px;border-radius:20px;box-shadow:0 2px 14px #e8a83866;margin-bottom:4px}.ins-paywall-headline{font-size:22px;font-weight:800;color:var(--text);text-align:center}.ins-paywall-sub{font-size:14px;color:var(--text-dim);text-align:center;line-height:1.5;white-space:pre-line}.ins-paywall-cta-btn{width:100%;max-width:300px;padding:16px;background:linear-gradient(135deg,var(--gold) 0%,#d4922a 100%);color:var(--on-gold);font-size:16px;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;box-shadow:0 4px 20px #e8a83859;margin-top:6px;transition:opacity .15s,transform .1s}.ins-paywall-cta-btn:active{opacity:.9;transform:scale(.98)}.ins-paywall-later-btn{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:10px 24px}.ftt-overlay{position:absolute;inset:0;z-index:300;background:#0009;display:flex;align-items:flex-end;justify-content:center;padding:0 16px 40px}.ftt-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 16px 64px #00000080}.ftt-mascot{width:72px;height:72px;object-fit:contain;margin-bottom:12px}.ftt-title{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--text)}.ftt-message{margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--text-muted)}.ftt-btn{width:100%;padding:14px;border:none;border-radius:14px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.ftt-btn:active{opacity:.85}.spl-root{position:fixed;inset:0;z-index:9999;background:#0a0a0c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.spl-bloom{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 46%,rgba(201,168,76,.1) 0%,transparent 70%),radial-gradient(ellipse 35% 28% at 50% 48%,rgba(255,215,120,.06) 0%,transparent 50%)}.spl-logo-wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}.spl-logo{width:min(72vw,280px);height:auto}.spl-line{width:min(38vw,140px);height:1px;margin-top:18px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent);transform-origin:center}@keyframes hotGlow{0%,to{box-shadow:0 0 6px #f9731638,inset 0 0 0 1px #f9731673}50%{box-shadow:0 0 14px #f9731673,inset 0 0 0 1px #f97316a6}}@keyframes blazePulse{0%,to{box-shadow:0 0 10px #ef44444d,0 0 22px #f9731626,inset 0 0 0 1px #ef44448c}50%{box-shadow:0 0 20px #ef444499,0 0 40px #f973164d,inset 0 0 0 1px #ef4444cc}}@keyframes flameFlicker{0%{opacity:1;transform:scaleX(1) rotate(0)}18%{opacity:.5;transform:scaleX(.88) rotate(-4deg)}36%{opacity:.82;transform:scaleX(1.06) rotate(3deg)}54%{opacity:.38;transform:scaleX(.84) rotate(5deg)}72%{opacity:.88;transform:scaleX(1.04) rotate(-2deg)}90%{opacity:.55;transform:scaleX(.9) rotate(3deg)}to{opacity:1;transform:scaleX(1) rotate(0)}}.streak-pill{display:flex;align-items:center;gap:4px;background:#e8a8381a;border:1px solid rgba(232,168,56,.25);border-radius:20px;padding:5px 10px;cursor:pointer;font-family:inherit;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:border-color .3s,background .3s,box-shadow .3s,transform .1s}.streak-pill:active{transform:scale(.96)}.streak-pill--dead{background:#5a555014;border-color:#5a55504d}.streak-pill--warm{background:#e8a8381a;border-color:#e8a83840}.streak-pill--hot{background:#e8a8381f;border-color:#e8a83859;box-shadow:0 0 8px #e8a8381a}.streak-pill--blaze{background:#e8a83826;border-color:#e8a83873;box-shadow:0 0 10px #e8a83826}.streak-pill--risk{border-color:#e8a83866;animation:riskPulse 2s ease-in-out infinite}@keyframes riskPulse{0%,to{box-shadow:0 0 4px #e8a8381a}50%{box-shadow:0 0 14px #e8a83840}}.streak-pill-flame{font-size:12px;line-height:1;display:block;transform-origin:bottom center}.streak-flame--dead{filter:grayscale(1) brightness(.42)}.streak-flame--warm{filter:none}.streak-flame--hot{filter:drop-shadow(0 0 3px rgba(249,115,22,.5))}.streak-flame--blaze{filter:drop-shadow(0 0 5px rgba(239,68,68,.8)) brightness(1.1)}.streak-flame--risk{animation:flameFlicker 1.6s ease-in-out infinite}.streak-pill-num{font-size:13px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#e8a838}.streak-pill-label{font-size:9px;font-weight:600;letter-spacing:.06em;color:#e8a83899;line-height:1}.streak-pill--dead .streak-pill-num{color:#827d78b3}.streak-pill--dead .streak-pill-label{color:#827d7866}.daily-challenge-card{position:relative;width:100%;background:none;border:none;padding:0;cursor:pointer;border-radius:14px;flex-shrink:0;-webkit-tap-highlight-color:transparent}.dcc-border{position:absolute;inset:0;border-radius:14px;padding:1.5px;background:linear-gradient(135deg,#e8a838e6,#e8a83866,#81b64c80 60%,#e8a838cc);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.daily-challenge-card--done .dcc-border{background:linear-gradient(135deg,#81b64ce6,#81b64c66,#81b64ccc)}.dcc-inner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#262014f2,#1c1a16fa);border-radius:13px;padding:10px 12px}.dcc-left{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden}.dcc-eyebrow{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--gold);opacity:.85;line-height:1;text-transform:uppercase}.daily-challenge-card--done .dcc-eyebrow{color:var(--accent)}.dcc-label{font-size:14px;font-weight:800;color:var(--text);line-height:1.2;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dcc-sub{font-size:11px;font-weight:500;color:var(--text-muted);line-height:1.2}.dcc-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.dcc-ring-wrap{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dcc-fraction{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--text-dim);letter-spacing:-.02em;pointer-events:none}.daily-challenge-card--done .dcc-fraction{color:var(--accent);font-size:12px}.dcc-arrow{color:var(--text-muted);opacity:.6}.daily-challenge-card:active .dcc-inner{filter:brightness(1.08)}.milestone-overlay{position:fixed;inset:0;z-index:999;background:#000000b8;display:flex;align-items:center;justify-content:center;animation:screenFadeIn .2s ease-out both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.milestone-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:linear-gradient(160deg,#2a2520,#1c1b18);border:1px solid rgba(232,168,56,.35);border-radius:24px;padding:32px 28px 28px;max-width:300px;width:calc(100% - 48px);box-shadow:0 0 0 1px #e8a8381a,0 20px 60px #000000b3,0 0 80px #e8a83814;animation:milestoneSlideUp .4s cubic-bezier(.34,1.3,.64,1) both}@keyframes milestoneSlideUp{0%{opacity:0;transform:translateY(32px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.milestone-mascot{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(232,168,56,.35))}.milestone-title{font-size:22px;font-weight:900;color:var(--gold);text-align:center;letter-spacing:-.02em;line-height:1.2}.milestone-sub{font-size:14px;color:var(--text-dim);text-align:center;line-height:1.5}.milestone-btn{margin-top:8px;background:linear-gradient(135deg,var(--gold) 0%,#c98820 100%);color:var(--on-gold);border:none;border-radius:14px;padding:13px 32px;font-size:15px;font-weight:800;cursor:pointer;letter-spacing:.01em;box-shadow:0 4px 20px #e8a83866;font-family:inherit;transition:filter .15s,transform .1s}.milestone-btn:active{filter:brightness(.88);transform:scale(.97)}.prof-streak-row{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#e8a8381a,#e8a8380d);border:1px solid rgba(232,168,56,.2);border-radius:14px;padding:14px 16px;margin:0 16px 12px}.prof-streak-cell{display:flex;align-items:center;gap:7px}.prof-streak-flame{font-size:22px;line-height:1}.prof-streak-count{font-size:26px;font-weight:900;color:var(--gold);letter-spacing:-.03em;line-height:1}.prof-streak-label{font-size:13px;font-weight:600;color:var(--text-dim)}.prof-streak-best{font-size:12px;font-weight:600;color:var(--text-muted)}.streak-sheet-backdrop{position:fixed;inset:0;z-index:900;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end}.streak-sheet{width:100%;background:#1e1d1a;border-radius:22px 22px 0 0;padding:12px 24px 40px;display:flex;flex-direction:column;gap:20px;box-shadow:0 -8px 40px #00000080}.streak-sheet-handle{width:36px;height:4px;background:#ffffff26;border-radius:2px;margin:0 auto 8px}.streak-sheet-hero{display:flex;align-items:center;justify-content:center;gap:12px}.streak-sheet-flame{font-size:52px;line-height:1;filter:drop-shadow(0 2px 12px rgba(249,115,22,.6))}.streak-sheet-hero-text{display:flex;flex-direction:column;line-height:1}.streak-sheet-count{font-size:56px;font-weight:900;color:#fb923c;letter-spacing:-.04em;line-height:1}.streak-sheet-unit{font-size:16px;font-weight:700;color:var(--text-dim);letter-spacing:.01em}.streak-sheet-row{display:flex;gap:12px}.streak-sheet-stat{flex:1;background:#ffffff0d;border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px}.streak-sheet-stat-val{font-size:28px;font-weight:900;color:var(--gold);letter-spacing:-.03em}.streak-sheet-stat-lbl{font-size:11px;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.3}.streak-sheet-progress-wrap{display:flex;flex-direction:column;gap:8px}.streak-sheet-bar{height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.streak-sheet-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#f97316);border-radius:4px}.streak-sheet-bar-label{font-size:12px;color:var(--text-muted);text-align:center}.streak-sheet-tip{font-size:13px;font-weight:500;color:#fff6;text-align:center;margin:0;line-height:1.4}.streak-sheet-legend{font-size:14px;font-weight:600;color:var(--gold);text-align:center;margin:0}.streak-sheet-close{background:#ffffff14;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:700;color:var(--text-main);cursor:pointer;font-family:inherit;transition:background .15s}.streak-sheet-close:active{background:#ffffff24}.streak-celeb{position:fixed;bottom:0;left:0;right:0;z-index:850;background:linear-gradient(160deg,#241f1a,#1a1710);border-radius:22px 22px 0 0;padding:16px 24px 48px;display:flex;align-items:center;gap:16px;box-shadow:0 -6px 40px #00000080,0 -1px #f973164d;cursor:pointer}.streak-celeb--milestone{background:linear-gradient(160deg,#281f10,#1e1608);box-shadow:0 -6px 40px #00000080,0 -1px #e8a83880}.streak-celeb-mascot{width:72px;height:72px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(249,115,22,.3))}.streak-celeb--milestone .streak-celeb-mascot{filter:drop-shadow(0 4px 16px rgba(232,168,56,.4))}.streak-celeb-body{display:flex;flex-direction:column;gap:2px}.streak-celeb-flame-row{display:flex;align-items:baseline;gap:4px}.streak-celeb-flame{font-size:28px;line-height:1}.streak-celeb-count{font-size:36px;font-weight:900;color:#fb923c;letter-spacing:-.04em;line-height:1}.streak-celeb--milestone .streak-celeb-count{color:var(--gold)}.streak-celeb-label{font-size:14px;font-weight:700;color:var(--text-dim)}.streak-celeb-milestone-msg{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--gold);line-height:1.4}.streak-atrisk{position:fixed;bottom:calc(var(--nav-h, 96px) + 10px);left:12px;right:12px;z-index:800;background:linear-gradient(135deg,#2a1f0a,#1e1608);border:1px solid rgba(232,168,56,.35);border-radius:16px;padding:12px 12px 12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 24px #0006,0 0 0 1px #e8a8381a}.streak-atrisk-mascot{width:44px;height:44px;object-fit:contain;flex-shrink:0}.streak-atrisk-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.streak-atrisk-title{font-size:13px;font-weight:800;color:var(--gold);line-height:1.2}.streak-atrisk-sub{font-size:12px;color:var(--text-dim);line-height:1.3}.streak-atrisk-cta{background:linear-gradient(135deg,var(--gold) 0%,#c98820 100%);border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:800;color:#1a1308;cursor:pointer;font-family:inherit;flex-shrink:0;transition:filter .15s}.streak-atrisk-cta:active{filter:brightness(.88)}.streak-atrisk-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 6px;line-height:1;flex-shrink:0}.streak-lost-backdrop{position:fixed;inset:0;z-index:900;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end}.streak-lost-sheet{width:100%;background:#1e1d1a;border-radius:22px 22px 0 0;padding:12px 24px 48px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 -8px 40px #00000080}.streak-lost-handle{width:36px;height:4px;background:#ffffff26;border-radius:2px;margin-bottom:8px}.streak-lost-mascot{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4))}.streak-lost-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.02em}.streak-lost-msg{font-size:18px;font-weight:700;color:var(--text-dim);margin:0;text-align:center}.streak-lost-sub{font-size:14px;color:var(--text-muted);margin:0;text-align:center}.streak-lost-cta{margin-top:12px;width:100%;background:linear-gradient(135deg,#81b64c,#5e9030);border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:800;color:#fff;cursor:pointer;font-family:inherit;letter-spacing:.01em;transition:filter .15s,transform .1s}.streak-lost-cta:active{filter:brightness(.88);transform:scale(.98)}.streak-lost-skip{background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;padding:8px;font-family:inherit}@keyframes dna-border-glow{0%,to{box-shadow:0 0 12px #c9943a14,0 0 4px #c9943a0a}50%{box-shadow:0 0 20px #c9943a29,0 0 8px #c9943a14}}.dna-card-outer{width:100%;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dna-card-border{background:linear-gradient(135deg,#c9943abf,#c9943a33 35%,#c9943a66 65%,#c9943ab3);border-radius:18px;padding:1.5px;animation:dna-border-glow 4s ease-in-out infinite}.dna-card-inner{position:relative;background:linear-gradient(145deg,#1d1a11,#161308,#1a170d);border-radius:17px;padding:16px 16px 12px;overflow:hidden}.dna-noise{position:absolute;inset:0;border-radius:17px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:180px 180px;pointer-events:none;opacity:.5}.dna-header-row{display:flex;align-items:center;margin-bottom:12px}.dna-crown-label{display:flex;align-items:center;gap:6px}.dna-crown{font-size:14px;line-height:1}.dna-label-text{font-size:10px;font-weight:800;letter-spacing:.14em;color:#c9943abf;text-transform:uppercase}.dna-archetype-name{margin:0;font-size:22px;font-weight:900;color:#c9943a;letter-spacing:-.02em;line-height:1.15;text-shadow:0 0 20px rgba(201,148,58,.15)}.dna-archetype-short{margin:4px 0 0;font-size:12px;color:#f0ede66b;font-weight:500;line-height:1.3}.dna-card-radar{display:flex;justify-content:center;margin:-4px 0 4px}.dna-footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid rgba(201,148,58,.1)}.dna-date{font-size:10px;color:#f0ede647;font-weight:500}.dna-view-link{font-size:12px;font-weight:700;color:#c9943ab3;letter-spacing:.02em}.dna-card-share-icon{position:absolute;top:12px;right:12px;background:none;border:none;padding:6px;cursor:pointer;color:#f0ede659;line-height:0;z-index:2;-webkit-tap-highlight-color:transparent}.dna-card-share-icon:active{color:#f0ede6a6}.dna-fullscreen{position:fixed;inset:0;z-index:9000;background:#000000b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dna-fullscreen-sheet{position:absolute;bottom:0;left:0;right:0;max-height:95dvh;background:#0d0b08;border-radius:22px 22px 0 0;display:flex;flex-direction:column;overflow:hidden}.dna-fs-header{display:flex;align-items:center;padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;gap:12px}.dna-fs-back{background:none;border:none;color:#f0ede699;font-size:28px;line-height:1;padding:0 4px;cursor:pointer;font-family:inherit;flex-shrink:0}.dna-fs-header-center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px}.dna-fs-title{font-size:15px;font-weight:700;color:#f0ede6e6}.dna-fs-date{font-size:10px;color:#f0ede64d;font-weight:500}.dna-fs-header-share{background:none;border:none;color:#c9943ab3;padding:6px;cursor:pointer;line-height:0;flex-shrink:0;-webkit-tap-highlight-color:transparent}.dna-fs-header-share:active{color:#c9943a}.dna-fs-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px}.dna-fs-hero{position:relative;text-align:center;padding:28px 0 8px}.dna-fs-hero-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(201,148,58,.1) 0%,transparent 70%);pointer-events:none}.dna-fs-hero-icon{display:block;font-size:48px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 0 16px rgba(201,148,58,.35))}.dna-fs-hero-name{margin:0;font-size:clamp(32px,9vw,44px);font-weight:900;color:#c9943a;letter-spacing:-.02em;line-height:1.1;text-shadow:0 0 28px rgba(201,148,58,.2)}.dna-fs-hero-short{margin:6px 0 0;font-size:15px;color:#f0ede680;font-weight:600}.dna-fs-hero-desc{margin:10px auto 0;max-width:320px;font-size:13px;color:#f0ede661;line-height:1.55;font-weight:500}.dna-fs-radar{display:flex;justify-content:center;margin:20px 0 28px;filter:drop-shadow(0 0 18px rgba(201,148,58,.12))}.dna-fs-section{margin-bottom:20px}.dna-fs-section-title{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#f0ede64d;text-transform:uppercase}.dna-dim-row{margin-bottom:18px}.dna-dim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.dna-dim-left{display:flex;align-items:center;gap:6px}.dna-dim-icon{font-size:14px;line-height:1}.dna-dim-label{font-size:14px;font-weight:700;color:#f0ede6d9}.dna-dim-score{font-size:14px;font-weight:800;letter-spacing:-.01em;color:#c9943a}.dna-dim-subtitle{margin:0 0 6px;font-size:11px;color:#f0ede64d;font-weight:500;padding-left:20px}.dna-dim-track{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-bottom:6px}.dna-dim-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#c9943a,#e8b84b);box-shadow:0 0 8px #c9943a40}.dna-dim-desc{margin:0;font-size:11.5px;color:#f0ede659;line-height:1.45;font-weight:500}.dna-fs-ceiling{background:#ffffff08;border:1px solid rgba(201,148,58,.1);border-radius:14px;padding:14px 16px;margin-bottom:20px}.dna-fs-ceiling-label{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.1em;color:#c9943a80;text-transform:uppercase}.dna-fs-ceiling-rating{margin:0 0 6px;font-size:26px;font-weight:800;color:#f0ede6e6;letter-spacing:-.02em;line-height:1.1}.dna-fs-ceiling-arrow{font-size:18px;color:#c9943a;font-weight:700}.dna-fs-ceiling-desc{margin:0;font-size:12px;color:#f0ede66b;line-height:1.5;font-weight:500}.dna-fs-ceiling-desc strong{color:#f0ede6b8;font-weight:700}.dna-fs-share-btn{display:block;width:100%;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:800;color:#080604;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#c9943a,#e8b84b 60%,#c9943a);letter-spacing:.01em;margin-bottom:8px;box-shadow:0 4px 20px #c9943a33}.dna-fs-share-btn:active{opacity:.9;transform:scale(.98)}.dna-share-modal{position:fixed;inset:0;z-index:9200;background:#070503;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px 32px}.dna-modal-close{position:absolute;top:18px;right:18px;background:#ffffff12;border:none;color:#f0ede673;font-size:15px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;flex-shrink:0}.dna-modal-header{display:flex;align-items:center;gap:6px;margin-bottom:18px}.dna-modal-canvas-wrap{width:min(88vw,480px);aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;box-shadow:0 0 48px #c9943a1a,0 24px 72px #000000b3}.dna-share-canvas{width:100%;height:100%;display:block}.dna-modal-footer{height:76px;display:flex;align-items:center;justify-content:center;margin-top:20px;width:100%}.dna-modal-text{font-size:13px;color:#f0ede673;margin:0;font-weight:500;letter-spacing:.02em;text-align:center}.dna-modal-share-btn{background:linear-gradient(135deg,#c9943a,#e8b84b 60%,#c9943a);border:none;border-radius:50px;padding:15px 52px;font-size:18px;font-weight:800;color:#080604;cursor:pointer;font-family:inherit;letter-spacing:.01em;box-shadow:0 4px 20px #c9943a40}.is-native .app-shell{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background-origin:border-box}.is-native .lc-header,.is-native .pl-header,.is-native .dna-fs-header{padding-top:max(14px,env(safe-area-inset-top,14px))}.is-native .ch-header{padding-top:max(12px,env(safe-area-inset-top,12px))}.is-native .wr-header{padding-top:max(16px,env(safe-area-inset-top,16px))!important}.is-native .gvs-topbar{padding-top:calc(env(safe-area-inset-top,0px) + 14px)}.is-native .pp-wrap,.is-native .pzs-wrap{padding-top:env(safe-area-inset-top,0px)}.is-native .pp-back{top:calc(14px + env(safe-area-inset-top,0px))}.is-native .pzs-topbar-float{top:calc(10px + env(safe-area-inset-top,0px))}.is-native .pzs-wrap>.pzs-topbar-back{top:calc(12px + env(safe-area-inset-top,0px))!important}.is-native .side-panel,.is-native .ph-wrap,.is-native .prof-wrap,.is-native .bss-wrap,.is-native .pp-wrap,.is-native .lc-wrap,.is-native .pl-wrap,.is-native .pzs-wrap,.is-native .gvs-wrap,.is-native .ch-sheet,.is-native .gor-card,.is-native .paywall-sheet{padding-bottom:env(safe-area-inset-bottom,0px)}.ob-screen--7 .ob-cta-btn,.ob-screen--7 .ob-screen7-content{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
