@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg-deep:#0a0a0a;--bg-card:#121212eb;--bg-surface:#ffffff0a;--bg-surface-hover:#ffffff14;--border:#ffffff0f;--border-active:#ffffff26;--text-primary:#e8e8e8;--text-secondary:#999;--text-muted:#555;--accent:#c8a94e;--accent-glow:#c8a94e14;--green:#4ade80;--green-glow:#4ade8014;--red:#ef6461;--red-glow:#ef64610f;--gold:#d4a853;--gold-glow:#d4a85314;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--shadow-card:0 4px 24px #00000080;--font:"Inter", system-ui, -apple-system, sans-serif;--transition:.16s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100dvh}body{font-family:var(--font);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}.error-screen{text-align:center;background:var(--bg-deep);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.error-emoji{margin-bottom:16px;font-size:3rem}.error-title{margin-bottom:8px;font-size:1.3rem;font-weight:800}.error-desc{color:var(--text-secondary);max-width:40ch;margin-bottom:20px;font-size:.88rem;line-height:1.5}.error-actions{gap:10px;margin-bottom:16px;display:flex}.error-btn{border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition);background:#ffffff1a;border:1px solid #ffffff26;padding:12px 24px;font-size:.88rem;font-weight:700}.error-btn:hover{background:#ffffff29}.error-btn.secondary{border-color:var(--border);color:var(--text-muted);background:0 0}.error-note{color:var(--text-muted);font-size:.72rem}button:disabled{cursor:not-allowed;opacity:.4}.app{flex-direction:column;max-width:1100px;min-height:100dvh;margin:0 auto;padding:24px 32px;display:flex}.nav-bar{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 0 14px;display:flex}.nav-left{align-items:center;gap:4px;display:flex}.nav-right{align-items:center;gap:8px;display:flex}.nav-stat{color:var(--text-secondary);border-radius:var(--radius-full);background:#ffffff0a;border:1px solid #ffffff0f;padding:5px 10px;font-size:.7rem;font-weight:800}.sound-toggle{border-radius:var(--radius-full);background:var(--bg-surface);transition:all var(--transition);padding:6px 10px;font-size:.85rem;line-height:1}.sound-toggle:hover{background:var(--bg-surface-hover)}.kb-help-btn{border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-muted);transition:all var(--transition);padding:4px 9px;font-size:.72rem;font-weight:700;line-height:1}.kb-help-btn:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}.streak-pill,.xp-pill,.level-pill{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:flex}.streak-pill{color:var(--gold)}.streak-pill.inactive{color:var(--text-muted)}.xp-pill{color:var(--text-secondary)}.level-pill{color:var(--text-muted);border:1px solid var(--border)}.nav-tabs{gap:0;display:flex}.nav-tab{color:var(--text-muted);transition:color var(--transition), background var(--transition), border-color var(--transition), transform .12s ease;letter-spacing:.05em;border-bottom:2px solid #0000;border-radius:10px 10px 0 0;padding:8px 16px;font-size:.78rem;font-weight:700}.nav-tab:hover{color:var(--text-secondary);background:#ffffff09}.nav-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary);background:linear-gradient(#ffffff0e,#ffffff05)}.nav-play.active{border-bottom-color:var(--green);color:var(--green)}.nav-compete.active{border-bottom-color:var(--gold);color:var(--gold)}.nav-learn.active{color:#5f8fff;border-bottom-color:#5f8fff}.nav-profile.active{color:#a78bfa;border-bottom-color:#a78bfa}.section-play{--section-accent:var(--green)}.section-compete{--section-accent:var(--gold)}.section-learn{--section-accent:#5f8fff}.section-profile{--section-accent:#a78bfa}.score-row{gap:12px;margin-bottom:24px;display:flex}.score-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.score-card .label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem}.score-card .value{font-size:1.5rem;font-weight:800}.score-card .value.green{color:var(--green)}.score-card .value.accent{color:var(--accent)}.status-bar{border-radius:var(--radius-md);background:linear-gradient(#ffffff0b,#ffffff05);border:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 14px;font-size:.78rem;display:flex;box-shadow:0 10px 24px #0000001f}.status-rating{align-items:baseline;gap:6px;display:flex}.rating-number{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.rating-tier{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:600}.daily-compact{align-items:center;gap:8px;display:flex}.daily-compact-bar{background:var(--bg-surface);border-radius:var(--radius-full);width:48px;height:4px;overflow:hidden}.daily-compact-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s}.daily-compact-fill.complete{background:var(--green)}.daily-theme-emoji{font-size:.72rem;line-height:1}.daily-compact-label{color:var(--text-secondary);font-size:.72rem;font-weight:700}.daily-compact-streak{color:var(--gold);font-size:.72rem;font-weight:700}.streak-freeze-btn-mini{border-radius:var(--radius-full);transition:opacity var(--transition);opacity:.6;padding:2px 4px;font-size:.72rem}.streak-freeze-btn-mini:hover{opacity:1}.streak-freeze-icon{opacity:.7;font-size:.72rem}.weekly-compact{border-left:1px solid var(--border);align-items:center;gap:6px;padding-left:10px;display:flex}.weekly-compact-emoji{font-size:.82rem}.weekly-compact-label{color:var(--text-muted);font-size:.68rem;font-weight:600}.weekly-compact-done{opacity:.6;border-left:1px solid var(--border);padding-left:10px;font-size:.75rem}.weekly-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:12px;padding:8px 14px;font-size:.75rem;display:flex}.weekly-widget.completed{opacity:.7}.weekly-emoji{flex-shrink:0;font-size:1rem}.weekly-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.weekly-title{color:var(--text-secondary);font-size:.72rem;font-weight:700}.weekly-desc{color:var(--text-muted);font-size:.65rem}.weekly-bar{background:var(--bg-surface);border-radius:var(--radius-full);flex-shrink:0;width:48px;height:4px;overflow:hidden}.weekly-bar-fill{background:var(--gold);border-radius:inherit;height:100%;transition:width .4s}.weekly-reward{color:var(--text-muted);flex-shrink:0;font-size:.68rem;font-weight:700}.weekly-reward.earned{color:var(--gold)}.daily-progress-track{background:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.daily-progress-fill{border-radius:inherit;background:#ffffff0f;height:100%;transition:width .4s}.daily-progress-fill.complete{background:linear-gradient(90deg, var(--green), #10b981)}.daily-reward-preview{border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-muted);align-items:center;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.play-area{flex-direction:column;flex:1;gap:12px;animation:.15s ease-out pageFade;display:flex}@keyframes pageFade{0%{opacity:.6}to{opacity:1}}.page-header~:first-of-type,.coach-select,.coach-profile,.rush-page,.exam-page,.drill-select{animation:.15s ease-out pageFade}.spot-stage{flex-direction:column;gap:4px;display:flex}.spot-stage.compact{gap:6px}.spot-stage.compact .table-wrap{max-width:560px;margin:8px auto 2px}.spot-stage.compact .spot-stage-context{opacity:.92}.spot-stage.compact .spot-hand-badge{font-size:.96rem}.spot-stage.compact .spot-scenario{font-size:.72rem}.spot-stage.compact .spot-difficulty-stars{font-size:.62rem}.chip{border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);padding:5px 12px;font-size:.78rem;font-weight:600}.chip.position{color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff1a}.chip.stack{color:var(--gold)}.table-wrap{aspect-ratio:1.65;transform-origin:50%;width:100%;max-width:660px;margin:16px auto 6px;animation:.34s ease-out tableSettle;position:relative;overflow:visible}@keyframes tableSettle{0%{opacity:0;transform:translateY(8px)scale(.988)}to{opacity:1;transform:translateY(0)scale(1)}}.table-rail{background:linear-gradient(175deg,#3a2e27 0%,#2a211b 40%,#1d1713 70%,#120f0b 100%);border-radius:50%/48%;position:absolute;inset:4%;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000073,0 8px 34px #0000008c}.table-felt{background:radial-gradient(at 50% 45%,#2a7a57 0%,#21684a 18%,#1a5a40 38%,#124833 62%,#0d3625 84%,#082416 100%);border-radius:50%/48%;position:absolute;inset:8%;overflow:hidden;box-shadow:inset 0 0 42px #0000002e,inset 0 0 0 1px #ffffff0a}.ts{z-index:3;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-50%)}.ts-body{flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.ts-body-villain{gap:4px;width:min(96px,20vw)}.ts-body-hero{gap:4px}.ts-cards{justify-content:center;display:flex}.ts-status-row{justify-content:center;width:100%;display:flex}.card-w{display:inline-block}.cw-sm{width:24px}.cw-hero{width:44px}.card-svg{width:100%;height:auto;display:block}.card-back-svg{filter:drop-shadow(0 1px 2px #00000080)}.card-face{filter:drop-shadow(0 1px 3px #00000059)}.card-hero{filter:drop-shadow(0 2px 5px #0006)}.card-pair{align-items:center;display:flex}.card-overlap{margin-left:-8px}.hero-fan{gap:3px;display:flex;position:relative}.hero-fan .cw-hero:first-child{animation:.45s ease-out cardSlideIn}.hero-fan .cw-hero:last-child{animation:.5s ease-out 60ms cardSlideIn}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(-8px)scale(.9)}60%{opacity:1}to{transform:translateY(0)scale(1)}}.ts-waiting .cw-sm{width:21px}.ts-waiting .card-overlap{margin-left:-7px}.ts-waiting .ts-cards{opacity:1;filter:drop-shadow(0 2px 4px #00000047)}.ts-villain .cw-sm{width:20px}.ts-villain .card-overlap{margin-left:-6px}.ts-villain .ts-cards{filter:drop-shadow(0 2px 4px #00000052)}.ts-waiting .ts-name{color:#ffffffdb;background:#0000008f}.ts-row{justify-content:center;align-items:center;gap:5px;display:flex}.ts-row-villain{flex-wrap:wrap;gap:4px;max-width:100%}.ts-name{border-radius:var(--radius-full);color:#ffffffd1;white-space:nowrap;letter-spacing:.04em;background:linear-gradient(#0b1311d1,#0b1311a8);border:1px solid #ffffff14;padding:3px 8px;font-size:.64rem;font-weight:800;box-shadow:0 6px 14px #00000029}.ts-nh{color:#fffffff5;background:#3498db47;font-size:.66rem;font-weight:800;box-shadow:0 0 0 1px #5f8fff2e,0 4px 12px #0000002e}.ts-nv{color:#ff8d8d;letter-spacing:.04em;background:#e6504642;font-weight:800;box-shadow:0 0 0 1px #f871712e,0 4px 12px #0000002e}.ts-folded .ts-name{color:#ffffff9e;background:#050a097a;border-color:#ffffff0d}.ts-fold-anim .ts-row{animation:.32s ease-out both foldDim;animation-delay:var(--fold-delay,0s)}.ts-villain-anim .ts-cards{animation:.45s ease-out both villainDeal;animation-delay:var(--villain-delay,0s)}.ts-villain-anim .ts-row{animation:.4s ease-out both villainNameAppear;animation-delay:var(--villain-delay,0s)}@keyframes foldDim{0%{opacity:1;transform:scale(1)}to{opacity:.72;transform:scale(.96)}}@keyframes villainDeal{0%{opacity:0;transform:scale(.5)translateY(-8px)}60%{opacity:1;transform:scale(1.04)}80%{transform:scale(.98)}to{transform:scale(1)}}@keyframes villainNameAppear{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}.ts-chips{color:#c4c4c4;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:800}.ts-ch{color:var(--gold);font-size:.64rem;font-weight:800}.ts-cv{color:#ff8d8d;border-radius:var(--radius-full);background:#360a0a94;border:1px solid #f871712e;padding:2px 7px;font-size:.62rem;font-weight:800;box-shadow:0 4px 10px #00000029}.ts-action-tag,.ts-allin-tag{letter-spacing:.1em;text-transform:uppercase;opacity:.9;font-size:.46rem;font-weight:800}.ts-action-tag.aggressive,.ts-allin-tag{color:#ff8d8d}.ts-allin-tag{border-radius:var(--radius-full);background:#440c0cb8;border:1px solid #f871713d;justify-content:center;align-items:center;min-height:18px;padding:3px 8px;display:inline-flex;box-shadow:0 4px 10px #00000029}.ts-action-tag.fold{color:#ffffffb8}.ts-acted .ts-name{animation:.35s ease-out pulse-pop}.ts-acted .hero-fan{animation:.5s ease-out heroResult}.ts-folded-result .hero-fan{opacity:.3;transition:opacity .3s}.ts-acted:not(.ts-folded-result) .hero-fan{animation:.4s ease-out heroShove}@keyframes heroShove{0%{filter:brightness()}25%{filter:brightness(1.2)}to{filter:brightness()}}@keyframes pulse-pop{0%{transform:scale(1)}30%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes heroResult{0%{filter:brightness()}25%{filter:brightness(1.3)}to{filter:brightness()}}.chip-svg{filter:drop-shadow(0 1px 2px #00000059);display:block}.chip-stack{filter:drop-shadow(0 2px 4px #0006)}.chip-stack-denom{color:#ffffffbf;text-shadow:0 1px 2px #000c;white-space:nowrap;pointer-events:none;font-size:.55rem;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.villain-chips-container{z-index:4;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.villain-chips{animation:.6s ease-out both villainChipsSlide;animation-delay:var(--villain-delay,0s);flex-direction:column;align-items:center;gap:2px;display:flex}.villain-chip-label{color:var(--red);text-shadow:0 1px 3px #000000e6;font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:800}.villain-chip-label small{opacity:.7;font-size:.8em;font-weight:600}.pot-chip-pair{filter:drop-shadow(0 1px 2px #0000004d);justify-content:center;gap:2px;margin-bottom:4px;display:flex}@keyframes villainChipsSlide{0%{opacity:0;transform:translateY(-16px)scale(.5)}45%{opacity:1}75%{transform:translateY(1px)scale(1.02)}to{transform:translateY(0)scale(1)}}.felt-center{z-index:2;flex-direction:column;align-items:center;gap:2px;animation:.42s ease-out potSettle;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes potSettle{0%{opacity:0;transform:translate(-50%,calc(6px - 50%))scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.pot-pill{color:#ffffffd6;border-radius:var(--radius-full);letter-spacing:.02em;background:#00000057;padding:4px 14px;font-size:.88rem;font-weight:800;box-shadow:0 6px 18px #00000038,inset 0 1px #ffffff0f}.pot-pill small{opacity:.65;font-size:.7em;font-weight:500}.call-label{color:var(--red);opacity:.75;letter-spacing:.02em;font-size:.68rem;font-weight:700}.first-in-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:600}.spot-context{color:var(--text-muted);justify-content:space-between;align-items:center;padding:6px 8px;font-size:.75rem;display:flex}.spot-context-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:8px 10px 2px;display:flex}.spot-hand-badge{letter-spacing:.04em;border-radius:var(--radius-full);background:#ffffff0a;border:1px solid #ffffff14;padding:4px 10px;font-size:.9rem;font-weight:900}.spot-context-pill{border-radius:var(--radius-full);color:#ffffffd1;letter-spacing:.04em;background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.spot-context-pill.subtle{color:var(--text-secondary);background:#ffffff06}.spot-difficulty-stars{color:var(--gold);letter-spacing:.04em;font-size:.62rem}.action-area{flex-direction:column;animation:.35s ease-out fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.action-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-btn{border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:22px 20px;font-size:1.25rem;font-weight:800;transition:transform .1s,box-shadow .15s;position:relative}.action-btn:hover:not(:disabled){transform:translateY(-2px)}.action-btn:active:not(:disabled){transition:transform 50ms;transform:translateY(1px)scale(.98)}.action-btn:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.85)}.action-btn.aggressive{color:var(--green);background:linear-gradient(#4ade8038 0%,#4ade8014 50%,#4ade800a 100%);border:1.5px solid #4ade8059;box-shadow:0 4px 16px #4ade801a,0 1px #4ade8026,inset 0 1px #ffffff0f}.action-btn.aggressive:hover:not(:disabled){border-color:#4ade8080;box-shadow:0 6px 28px #4ade8033,0 1px #4ade8033,inset 0 1px #ffffff14}.action-btn.aggressive:active:not(:disabled){box-shadow:0 1px 4px #4ade8026,inset 0 2px 4px #00000026}.action-btn.passive{color:var(--text-secondary);background:linear-gradient(#ffffff0d 0%,#ffffff05 100%);border:1.5px solid #ffffff1a;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff0a}.action-btn.passive:hover:not(:disabled){color:var(--text-primary);background:linear-gradient(#ffffff14 0%,#ffffff08 100%);border-color:#ffffff2e}.action-btn.passive:active:not(:disabled){box-shadow:inset 0 2px 4px #0003}.btn-key{color:inherit;opacity:.25;letter-spacing:0;border:1px solid;border-radius:3px;padding:1px 4px;font-size:.52rem;font-weight:600;line-height:1;position:absolute;top:7px;right:9px}.result-area{flex-direction:column;animation:.2s ease-out resultReveal;display:flex}@keyframes resultReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result-correct{animation:.2s ease-out resultReveal,.5s ease-out correctGlow}.result-incorrect{animation:.2s ease-out resultReveal,.3s ease-out incorrectShake}@keyframes correctGlow{0%,to{box-shadow:none}30%{box-shadow:0 0 12px #34d3991f}}@keyframes incorrectShake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(2px)}75%{transform:translate(-1px)}}.next-btn{border-radius:var(--radius-lg);cursor:pointer;text-align:center;border:none;flex-direction:column;align-items:center;gap:4px;padding:18px 24px;transition:filter .15s,transform .1s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.next-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.next-btn:after{content:"";opacity:0;background:linear-gradient(120deg,#0000 0%,#ffffff14 35%,#0000 70%);transition:transform .45s,opacity .2s;position:absolute;inset:0;transform:translate(-120%)}.next-btn:hover:after{opacity:1;transform:translate(120%)}.result-correct .next-btn{background:linear-gradient(#34d39938 0%,#34d39914 100%);border:1.5px solid #34d39952;box-shadow:0 12px 30px #34d39914}.result-incorrect .next-btn{background:linear-gradient(#f8717129 0%,#f871710d 100%);border:1.5px solid #f8717142;box-shadow:0 12px 30px #f871710f}.next-verdict{letter-spacing:.04em;font-size:1.1rem;font-weight:800}.result-correct .next-verdict{color:var(--green)}.result-incorrect .next-verdict{color:var(--red)}.next-meta{color:var(--text-muted);max-width:44ch;font-size:.7rem;font-weight:600;line-height:1.45}.result-review-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:12px 0 14px;display:flex}.result-review-pill{border-radius:var(--radius-full);letter-spacing:.03em;color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;padding:6px 11px;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #00000014}.result-review-pill.hero{background:#ffffff0a}.result-review-pill.solver{color:#b8ccff;background:#5f8fff1a;border-color:#5f8fff2e}.result-review-pill.tier.perfect{color:#a7f3d0;background:#34d3991f;border-color:#34d3993d}.result-review-pill.tier.close{color:#f4d58d;background:#d4a8531f;border-color:#d4a85338}.result-review-pill.tier.punt{color:#fecaca;background:#f871711f;border-color:#f8717138}.next-label{color:var(--text-secondary);opacity:.78;margin-top:2px;font-size:.75rem;font-weight:700;animation:1.35s ease-in-out infinite nextNudge}@keyframes nextNudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.result-tip{color:#e0c97a;text-align:left;border-radius:0 var(--radius-md) var(--radius-md) 0;background:#c8a94e0f;border-left:3px solid #c8a94e66;margin-top:8px;padding:10px 16px;font-size:.78rem;line-height:1.6;box-shadow:inset 0 1px #ffffff05}.result-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);margin-top:6px;overflow:hidden}.result-details-toggle{color:var(--text-secondary);cursor:pointer;text-align:center;letter-spacing:.04em;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff08,#ffffff04);padding:10px 38px 10px 16px;font-size:.72rem;font-weight:700;display:block;position:relative}.result-details-toggle::-webkit-details-marker{display:none}.result-details-toggle:after{content:"⌄";opacity:.7;font-size:.9rem;transition:transform .18s,opacity .18s;position:absolute;top:50%;right:14px;transform:translateY(-54%)}.result-details-toggle:hover{color:var(--text-primary);background:#ffffff0a}.result-details:hover .result-details-toggle:after{opacity:1}.result-details[open] .result-details-toggle{border-bottom:1px solid var(--border)}.result-details[open] .result-details-toggle:after{transform:translateY(-50%)rotate(180deg)}.result-details-body{text-align:center;padding:0 16px 16px;animation:.18s ease-out detailsFade}@keyframes detailsFade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.result-study-note{border-radius:var(--radius-md);text-align:left;border:1px solid var(--border);color:var(--text-secondary);background:#ffffff08;margin-bottom:12px;padding:10px 12px;font-size:.76rem;line-height:1.55}.result-study-note.perfect{color:#d1fae5;background:#34d39914;border-color:#34d39929}.result-study-note.close{color:#f4d58d;background:#d4a85314;border-color:#d4a85329}.result-study-note.punt{color:#fecaca;background:#f8717114;border-color:#f8717129}.result-explanation{color:var(--text-secondary);margin-bottom:14px;font-size:.8rem;line-height:1.6}.result-stats{justify-content:center;gap:20px;margin-bottom:12px;display:flex}.result-stat{text-align:center;border-radius:var(--radius-md);background:linear-gradient(#ffffff0b,#ffffff06);border:1px solid #ffffff0f;min-width:88px;padding:9px 12px;box-shadow:inset 0 1px #ffffff0a}.result-stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.6rem}.result-stat .value{font-size:.95rem;font-weight:700}.result-teaching{color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm);text-align:left;margin-bottom:12px;padding:10px 14px;font-size:.82rem;line-height:1.5}.result-teaching.mix-tip{color:#c084fc;background:#c084fc14;margin-top:-4px}.range-grid-tappable{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition), transform .16s ease, box-shadow .16s ease;margin:-4px;padding:4px}.range-grid-tappable:hover{background:var(--bg-surface-hover);transform:translateY(-1px);box-shadow:0 8px 20px #0000001f}.result-range-info{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;font-size:.72rem;display:flex}.range-expand-hint{color:#8fb3ff;border-radius:var(--radius-full);background:#5f8fff1f;border:1px solid #5f8fff33;padding:3px 8px;font-size:.68rem;font-weight:700}.result-mixing{text-align:center;margin:8px 0}.result-mixing-bar{border-radius:var(--radius-full);background:#ef646133;height:6px;margin-bottom:4px;overflow:hidden}.result-mixing-fill{background:var(--green);border-radius:var(--radius-full);height:100%;transition:width .5s}.result-mixing-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}.result-mixing-explain{color:var(--text-muted);margin-top:2px;font-size:.72rem;font-style:italic}.result-ev-explain{color:var(--text-secondary);text-align:center;opacity:.88;padding:8px 0 6px;font-size:.72rem;font-style:italic;line-height:1.55}.result-math{color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;margin-bottom:8px;padding:6px 12px;font-size:.72rem;display:flex}.xp-badge{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0d;align-items:center;gap:4px;margin-bottom:14px;padding:4px 12px;font-size:.78rem;font-weight:700;animation:.5s ease-out pulse;display:inline-flex}.result-rewards{justify-content:center;align-items:center;gap:10px;margin-bottom:14px;display:flex}.rating-delta{border-radius:var(--radius-full);padding:3px 10px;font-size:.78rem;font-weight:700}.rating-delta.up{color:var(--green);background:var(--green-glow)}.rating-delta.down{color:var(--red);background:var(--red-glow)}.decision-time{border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0a;padding:3px 8px;font-size:.75rem}.decision-time.fast{color:var(--green)}.decision-time.slow{color:var(--text-muted)}.live-timer{color:var(--text-muted);opacity:.6;font-variant-numeric:tabular-nums;margin-left:8px;font-size:.72rem}.result-session-stats{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:.72rem;display:flex}.next-btn{border-radius:calc(var(--radius-md) + 2px);width:100%;color:var(--text-primary);transition:transform .12s ease, background var(--transition), box-shadow var(--transition), border-color var(--transition);letter-spacing:.03em;background:linear-gradient(#ffffff1c,#ffffff0d);border:1px solid #ffffff24;padding:15px 16px;font-size:.92rem;font-weight:700;box-shadow:0 12px 28px #00000024}.next-btn:hover{background:linear-gradient(#ffffff29,#ffffff0f);box-shadow:0 14px 30px #0000002e}.next-btn:active{transform:translateY(1px)scale(.985)}.page-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title{font-size:1.3rem;font-weight:800}.back-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);transition:all var(--transition);padding:8px 16px;font-size:.85rem;font-weight:600}.back-btn:hover{background:var(--bg-surface-hover)}.stats-rating-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:16px;margin-bottom:16px;padding:20px;display:flex}.stats-rating-number{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:900;line-height:1}.stats-rating-info{flex-direction:column;gap:2px;display:flex}.stats-rating-tier{color:var(--text-secondary);font-size:.88rem;font-weight:700}.stats-rating-peak{color:var(--text-muted);font-size:.72rem}.rating-sparkline{flex-shrink:0;width:120px;height:36px;margin-left:auto}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px}.stat-box .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px;font-size:.72rem}.stat-box .value{font-size:1.5rem;font-weight:800}.streak-bonus{color:var(--gold);margin-bottom:12px;font-size:1.1rem;font-weight:800;animation:.4s ease-out pulse}.range-grid-wrapper{margin:16px 0}.range-grid-labels-top{padding-left:0;display:flex}.range-grid-corner{flex-shrink:0;width:16px}.range-grid-labels-top .range-grid-label{text-align:center;color:var(--text-muted);flex:1;min-width:0;padding-bottom:3px;font-size:.55rem;font-weight:600}.range-grid-body{display:flex}.range-grid-labels-left{flex-direction:column;flex-shrink:0;width:16px;display:flex}.range-grid-labels-left .range-grid-label{color:var(--text-muted);flex:1;justify-content:center;align-items:center;min-width:0;padding-right:3px;font-size:.55rem;font-weight:600;display:flex}.range-grid{border-radius:var(--radius-sm);flex:1;grid-template-columns:repeat(13,1fr);gap:1px;display:grid;overflow:hidden}.range-cell{aspect-ratio:1;min-width:0}.range-cell.in{background:#4ade8033}.range-cell.out{background:#ffffff05}.range-cell.hero-cell{box-shadow:inset 0 0 0 1px #ffffff80;background:#ffffff40!important}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:24px;padding:16px 0;font-size:.78rem;display:flex}.footer-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);transition:all var(--transition);padding:6px 14px;font-size:.78rem;font-weight:600}.footer-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.footer-actions{gap:6px;display:flex}kbd{background:var(--bg-surface);border:1px solid var(--border);min-width:22px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-family:inherit;font-size:.72rem;font-weight:700;display:inline-flex}.challenge-banner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 16px}.challenge-banner-top{align-items:center;gap:10px;margin-bottom:8px;font-size:.82rem;display:flex}.challenge-banner-coach{font-weight:800}.challenge-banner-title{color:var(--text-secondary);flex:1}.challenge-banner-progress{color:var(--text-primary);font-weight:700}.challenge-progress-track{background:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.challenge-progress-fill{border-radius:inherit;height:100%;transition:width .3s}.coach-select-header{margin-bottom:20px}.coach-select-sub{color:var(--text-secondary);max-width:56ch;font-size:.88rem}.coach-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.coach-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;transition:all var(--transition);cursor:pointer;align-items:center;gap:14px;padding:18px;display:flex}.coach-card:hover:not(:disabled){border-color:var(--coach-color,var(--border-active));box-shadow:0 0 24px var(--coach-glow,transparent);transform:translateY(-2px)}.coach-card.locked{opacity:.5;cursor:not-allowed}.coach-card.mastered{border-color:var(--gold)}.coach-card-avatar{flex-shrink:0;position:relative}.lock-overlay{background:#00000080;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;inset:0}.coach-card-name{font-size:1rem;font-weight:800}.coach-card-title{color:var(--text-secondary);margin-bottom:6px;font-size:.78rem}.coach-card-lock{color:var(--text-muted);font-size:.75rem}.coach-card-progress{font-size:.78rem}.coach-card-fraction{color:var(--text-muted);margin-top:2px}.star-row{color:var(--gold);letter-spacing:1px;font-size:.7rem}.coach-profile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:20px;margin:16px 0;padding:24px;display:flex}.coach-profile-info{flex:1}.coach-name{margin-bottom:2px;font-size:1.4rem;font-weight:900}.coach-title-text{color:var(--coach-color,var(--accent));margin-bottom:8px;font-size:.85rem;font-weight:600}.coach-quote{color:var(--text-secondary);margin-bottom:8px;font-size:.88rem;font-style:italic;line-height:1.6}.coach-stars-summary{color:var(--gold);font-size:.82rem}.coach-stars-summary span{color:var(--text-muted)}.challenge-list{gap:12px;margin-top:8px;display:grid}.challenge-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);padding:16px}.challenge-card.next{border-color:var(--coach-color,var(--accent))}.challenge-card.completed{border-color:#34d39940}.challenge-card.locked{opacity:.45}.challenge-header{align-items:flex-start;gap:12px;display:flex}.challenge-number{background:var(--bg-surface);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:flex}.challenge-card.completed .challenge-number{background:var(--green-glow);color:var(--green)}.challenge-card.next .challenge-number{background:var(--coach-color,var(--accent));color:#fff}.challenge-info{flex:1}.challenge-title{margin-bottom:2px;font-size:.92rem;font-weight:700}.challenge-desc{color:var(--text-secondary);font-size:.8rem}.challenge-stars{flex-shrink:0;gap:2px;font-size:1rem;display:flex}.challenge-stars .star{color:var(--text-muted);opacity:.3}.challenge-stars .star.earned{color:var(--gold);opacity:1}.challenge-star-thresholds{color:var(--text-muted);justify-content:center;align-items:center;gap:4px;margin-top:8px;font-size:.72rem;display:flex}.challenge-star-thresholds.completed{opacity:.5}.star-threshold{color:var(--text-muted);font-weight:600}.star-threshold.reached{color:var(--gold)}.star-threshold-sep{color:var(--border);margin:0 2px}.challenge-tip{color:var(--text-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--coach-color,var(--accent));background:#5f8fff0f;margin-top:10px;padding:10px 12px 10px 36px;font-size:.78rem;line-height:1.6;position:relative}.challenge-tip:before{content:"📖";font-size:.88rem;position:absolute;top:10px;left:10px}.challenge-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.challenge-meta{color:var(--text-muted);font-size:.72rem}.challenge-run{color:var(--accent);font-size:.75rem;font-weight:600}.challenge-locked-label{color:var(--text-muted);font-size:.75rem;font-style:italic}.challenge-best{color:var(--text-muted);margin-top:6px;font-size:.72rem}.challenge-start-btn{border-radius:var(--radius-sm);color:#fff;transition:transform var(--transition);padding:6px 16px;font-size:.82rem;font-weight:700}.challenge-start-btn:hover{transform:translateY(-1px)}.coach-completion-banner{border-radius:var(--radius-md);background:var(--gold-glow);border:1px solid var(--gold);color:var(--gold);justify-content:space-between;align-items:center;margin-top:16px;padding:16px;font-size:.9rem;display:flex}.challenge-complete{text-align:center;max-width:640px;margin:0 auto;padding:24px 0;animation:.35s ease-out slideUp}.completion-coach-header{margin-bottom:20px}.completion-avatar-wrap{border-radius:50%;margin-bottom:12px;animation:2s ease-in-out infinite glowPulse;display:inline-block}.completion-coach-name{margin-bottom:2px;font-size:1.5rem;font-weight:900}.completion-challenge-title{color:var(--text-secondary);font-size:.9rem;font-weight:500}.completion-stars{justify-content:center;gap:8px;margin:20px 0 12px;display:flex}.completion-star{opacity:0;font-size:2.4rem;transform:scale(.3)rotate(-20deg)}.completion-star.earned{color:var(--gold);text-shadow:0 0 16px #fbbf2480;animation:.5s ease-out forwards starReveal}.completion-star.empty{color:var(--text-muted);opacity:.2;transform:scale(1)rotate(0)}.completion-new-best{color:var(--gold);margin-bottom:8px;font-size:.85rem;font-weight:700;animation:.6s ease-out pulse}.completion-accuracy{margin:16px 0}.completion-accuracy-number{letter-spacing:-.03em;font-size:3.5rem;font-weight:900;line-height:1}.completion-accuracy-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:4px;font-size:.78rem}.completion-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;gap:32px;margin:20px 0;padding:16px;display:flex}.completion-stat{text-align:center}.completion-stat .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.68rem}.completion-stat .value{font-size:1.3rem;font-weight:800}.completion-quote{color:var(--text-secondary);background:var(--bg-surface);border-radius:var(--radius-md);max-width:48ch;margin:20px auto;padding:16px;font-size:.92rem;font-style:italic;line-height:1.6}.completion-bonus{border-radius:var(--radius-md);background:var(--gold-glow);border:1px solid var(--gold);color:var(--gold);justify-content:space-between;align-items:center;margin:16px 0;padding:14px 18px;font-size:.9rem;font-weight:700;animation:.6s ease-out pulse;display:flex}.completion-bonus-xp{font-size:1.1rem;font-weight:900}.completion-pattern{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;margin-top:16px;padding:14px}.completion-pattern-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700}.completion-pattern-items{flex-direction:column;gap:6px;display:flex}.completion-pattern-item{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.completion-mistakes{text-align:left;margin-top:24px}.completion-mistakes-title{color:var(--text-primary);text-align:center;margin-bottom:12px;font-size:.95rem;font-weight:700}.completion-mistakes-list{gap:10px;display:grid}.mistake-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid #f8717126;padding:14px;animation:.25s ease-out slideUp}.mistake-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mistake-number{color:var(--text-muted);font-size:.72rem;font-weight:700}.mistake-hand{color:var(--text-primary);font-size:1.05rem;font-weight:800}.mistake-spot{color:var(--text-secondary);margin-left:auto;font-size:.78rem}.mistake-body{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mistake-actions{align-items:center;gap:8px;font-size:.82rem;display:flex}.mistake-yours{color:var(--red)}.mistake-arrow{color:var(--text-muted)}.mistake-correct{color:var(--green)}.mistake-ev-loss{color:var(--red);border-radius:var(--radius-full);background:var(--red-glow);padding:3px 10px;font-size:.78rem;font-weight:700}.mistake-explanation{color:var(--text-muted);font-size:.78rem;line-height:1.5}.completion-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.completion-btn{border-radius:var(--radius-md);width:100%;transition:transform var(--transition), box-shadow var(--transition);padding:14px;font-size:.95rem;font-weight:700}.completion-btn:hover{transform:translateY(-1px)}.completion-btn:active{transform:scale(.98)}.completion-btn.primary{color:#fff}.completion-btn.secondary{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary)}.completion-btn.tertiary{color:var(--text-muted);background:0 0;font-size:.85rem;font-weight:600}.unlock-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.unlock-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:calc(100% - 32px);max-width:420px;padding:36px 32px;animation:.5s ease-out unlockReveal;box-shadow:0 24px 64px #00000080}.unlock-badge{text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin-bottom:20px;font-size:.72rem;font-weight:800;animation:1s ease-in-out infinite pulse}.unlock-avatar-ring{border-radius:50%;margin-bottom:16px;padding:4px;animation:2s ease-in-out infinite glowPulse;display:inline-block}.unlock-name{margin-bottom:2px;font-size:1.6rem;font-weight:900}.unlock-title{color:var(--text-secondary);margin-bottom:16px;font-size:.88rem;font-weight:500}.unlock-quote{color:var(--text-secondary);max-width:36ch;margin:0 auto 24px;font-size:.9rem;font-style:italic;line-height:1.6}.unlock-actions{flex-direction:column;gap:10px;display:flex}.unlock-btn{border-radius:var(--radius-md);width:100%;transition:transform var(--transition);padding:14px;font-size:.95rem;font-weight:700}.unlock-btn:hover{transform:translateY(-1px)}.unlock-btn:active{transform:scale(.98)}.unlock-btn.primary{color:#fff;box-shadow:0 4px 20px #0000004d}.unlock-btn.secondary{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.stats-actions{gap:10px;margin-bottom:20px;display:flex}.stats-action-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition);flex:1;padding:12px 16px;font-size:.82rem;font-weight:700}.stats-action-btn:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)}.explorer{max-width:720px;margin:0 auto}.explorer-empty{text-align:center;color:var(--text-muted);padding:40px}.explorer-controls{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.explorer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.7rem;font-weight:700;display:block}.explorer-toggle{background:var(--bg-surface);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.explorer-toggle-btn{color:var(--text-muted);transition:all var(--transition);border-radius:8px;flex:1;padding:8px 16px;font-size:.82rem;font-weight:600}.explorer-toggle-btn.active{background:var(--accent);color:#fff}.explorer-stack-row,.explorer-pos-row{flex-wrap:wrap;gap:4px;display:flex}.explorer-stack-btn,.explorer-pos-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);transition:all var(--transition);text-align:center;min-width:36px;padding:6px 12px;font-size:.78rem;font-weight:600}.explorer-stack-btn.active,.explorer-pos-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.explorer-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex}.explorer-stat{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex}.explorer-stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.65rem}.explorer-stat .value{font-size:1.1rem;font-weight:800}.explorer-stat .value.accent{color:var(--accent)}.explorer-context{color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 12px;font-size:.75rem;line-height:1.5}.explorer-grid-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.explorer-grid{flex:1;grid-template-columns:repeat(13,1fr);gap:1px;display:grid}.explorer-cell{aspect-ratio:1;cursor:pointer;justify-content:center;align-items:center;min-width:0;transition:all .1s;display:flex;position:relative}.explorer-cell.in{background:#34d39947}.explorer-cell.out{background:#ffffff08}.explorer-cell.hover{background:var(--accent)!important}.explorer-cell.selected{z-index:1;box-shadow:inset 0 0 0 2px #d4a853f2}.explorer-cell:hover{opacity:.85}.explorer-cell-label{color:var(--text-muted);pointer-events:none;font-size:.48rem;font-weight:600}.explorer-cell.in .explorer-cell-label{color:var(--green)}.explorer-cell.hover .explorer-cell-label{color:#fff}.explorer-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;margin-top:12px;padding:12px 16px;animation:.15s ease-out slideUp;display:flex}.explorer-detail-hand{font-size:1.2rem;font-weight:900}.explorer-detail-verdict{border-radius:var(--radius-full);padding:3px 10px;font-size:.82rem;font-weight:800}.explorer-detail-verdict.in{background:var(--green-glow);color:var(--green)}.explorer-detail-verdict.out{background:var(--bg-surface);color:var(--text-muted)}.explorer-detail-freq{color:var(--text-secondary);border-radius:var(--radius-full);background:var(--bg-surface);padding:2px 8px;font-size:.82rem;font-weight:700}.explorer-detail-freq.mixed{color:var(--gold);background:var(--gold-glow)}.explorer-detail-type{color:var(--text-muted);margin-left:auto;font-size:.78rem}.explorer-action-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:10px 0;display:flex}.explorer-compare-btn{border-radius:var(--radius-full);color:#a78bfa;transition:all var(--transition);background:#a78bfa1f;border:1px solid #a78bfa4d;padding:10px 28px;font-size:.88rem;font-weight:700}.explorer-compare-btn:hover{background:#a78bfa33;border-color:#a78bfa}.explorer-compare-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.compare-label{color:var(--text-muted);font-size:.78rem;font-weight:600}.explorer-compare-close{color:var(--text-muted);border-radius:var(--radius-sm);border:1px solid var(--border);padding:4px 8px;font-size:.75rem}.explorer-compare-legend{color:var(--text-muted);justify-content:center;align-items:center;gap:14px;padding:6px 0;font-size:.72rem;display:flex}.compare-legend-item{align-items:center;gap:4px;display:flex}.compare-swatch{border-radius:2px;width:12px;height:12px;display:inline-block}.compare-swatch.both{background:#34d39959}.compare-swatch.only-main{background:#5f8fff59}.compare-swatch.only-compare{background:#a78bfa59}.explorer-quiz-btn{border-radius:var(--radius-full);color:#5f8fff;transition:all var(--transition);background:#5f8fff1f;border:1px solid #5f8fff4d;padding:10px 28px;font-size:.88rem;font-weight:700}.explorer-quiz-btn:hover{background:#5f8fff33;border-color:#5f8fff}.explorer-quiz{margin:8px 0 12px}.explorer-quiz-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.explorer-quiz-stats{color:var(--text-secondary);align-items:center;gap:10px;font-size:.82rem;font-weight:600;display:flex}.quiz-streak{color:var(--gold)}.explorer-quiz-close{color:var(--text-muted);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition);padding:4px 10px;font-size:.75rem}.explorer-quiz-close:hover{color:var(--text-primary);border-color:var(--text-muted)}.explorer-quiz-card{text-align:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);padding:16px;transition:border-color .3s,background .3s}.explorer-quiz-card.quiz-correct{border-color:var(--green);background:#4ade800f}.explorer-quiz-card.quiz-incorrect{border-color:var(--red);background:#ef64610f}.explorer-quiz-hand{margin-bottom:4px;font-size:2rem;font-weight:900}.explorer-quiz-context{color:var(--text-muted);margin-bottom:12px;font-size:.78rem}.explorer-quiz-actions{justify-content:center;gap:12px;display:flex}.quiz-action{min-width:100px;padding:10px 20px!important;font-size:.88rem!important}.explorer-quiz-result{padding:4px 0}.quiz-verdict-correct{color:var(--green);font-size:1.1rem;font-weight:800}.quiz-verdict-incorrect{color:var(--red);font-size:1.1rem;font-weight:800}.explorer-cell.quiz-highlight{z-index:1;box-shadow:inset 0 0 0 2px #5f8fffcc}.explorer-cell.hidden-range{background:var(--bg-surface)!important}.progress-page{max-width:720px;margin:0 auto}.chart-hand-count{color:var(--text-muted);margin-left:auto;font-size:.82rem}.charts-empty{text-align:center;color:var(--text-muted);padding:48px 24px}.charts-empty-emoji{margin-bottom:12px;font-size:3rem}.charts-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.chart-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.72rem;font-weight:700}.chart-value{font-size:1.1rem;font-weight:800}.chart-svg{width:100%;height:80px}.chart-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:.78rem}.bar-chart{flex-direction:column;gap:8px;margin-top:10px;display:flex}.bar-row{align-items:center;gap:8px;display:flex}.bar-name{color:var(--text-secondary);flex-shrink:0;width:56px;font-size:.72rem;font-weight:700}.bar-track{background:var(--bg-surface);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;min-width:2px;height:100%;transition:width .4s}.bar-value{color:var(--text-primary);text-align:right;flex-shrink:0;width:32px;font-size:.72rem;font-weight:700}.bar-count{color:var(--text-muted);flex-shrink:0;width:28px;font-size:.62rem}.session-summary{text-align:center;max-width:520px;margin:0 auto;padding:24px 0;animation:.35s ease-out slideUp}.summary-header{margin-bottom:24px}.summary-milestone{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:900}.summary-message{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.summary-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;gap:20px;margin-bottom:16px;padding:20px;display:flex}.summary-stat{text-align:center}.summary-stat.big .value{font-size:2rem}.summary-stat .value{font-size:1.2rem;font-weight:800;display:block}.summary-stat .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.65rem}.summary-streak{color:var(--gold);margin-bottom:12px;font-size:1.1rem;font-weight:800;animation:.5s ease-out pulse}.summary-perfect{color:var(--gold);background:var(--gold-glow);border-radius:var(--radius-md);margin-bottom:12px;padding:10px;font-size:1rem;font-weight:800;animation:.6s ease-out pulse}.summary-miss{background:var(--bg-card);border-radius:var(--radius-md);text-align:left;border:1px solid #f8717126;margin-bottom:16px;padding:12px 16px}.summary-miss-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.68rem;font-weight:700}.summary-miss-detail{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-miss-hand{font-size:1rem;font-weight:800}.summary-miss-spot{color:var(--text-secondary);font-size:.78rem}.summary-miss-action{color:var(--green);font-size:.78rem;font-weight:700}.summary-miss-ev{color:var(--red);font-size:.78rem;font-weight:700}.summary-daily{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 16px}.summary-daily-label{color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:600}.summary-continue-btn{border-radius:var(--radius-md);color:#fff;width:100%;transition:transform var(--transition);background:#ffffff14;border:1px solid #ffffff1f;padding:16px;font-size:1rem;font-weight:700}.summary-continue-btn:hover{transform:translateY(-1px)}.summary-continue-btn:active{transform:scale(.98)}.drill-page{max-width:720px;margin:0 auto}.drill-intro{color:var(--text-secondary);margin-bottom:20px;font-size:.88rem}.drill-category{margin-bottom:20px}.drill-category-title{color:var(--text-secondary);margin-bottom:10px;font-size:.82rem;font-weight:700}.drill-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.drill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;transition:all var(--transition);cursor:pointer;padding:14px}.drill-card:hover{border-color:var(--accent);transform:translateY(-1px)}.drill-card-title{margin-bottom:4px;font-size:.88rem;font-weight:700}.drill-card-desc{color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;line-height:1.4}.drill-card-meta{color:var(--text-muted);font-size:.68rem}.drill-run{text-align:center;max-width:560px;margin:0 auto}.drill-run-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.drill-run-title{color:var(--text-secondary);flex:1;font-size:.88rem;font-weight:700}.drill-run-progress{font-size:.82rem;font-weight:700}.drill-run-spot{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);margin-bottom:20px;padding:14px;box-shadow:0 8px 28px #0000002e}.drill-result{border-radius:var(--radius-md);padding:16px;animation:.15s ease-out slideUp}.drill-result.correct{background:var(--green-glow)}.drill-result.incorrect{background:var(--red-glow)}.drill-result-verdict{font-size:1rem;font-weight:800}.drill-result.correct .drill-result-verdict{color:var(--green)}.drill-result.incorrect .drill-result-verdict{color:var(--red)}.drill-result-ev{color:var(--red);margin-top:4px;font-size:.82rem;font-weight:700}.drill-results{text-align:center;max-width:480px;margin:0 auto;padding:24px 0;animation:.35s ease-out slideUp}.drill-new-best{color:var(--gold);margin-bottom:8px;font-size:.82rem;font-weight:700}.drill-results-title{color:var(--text-secondary);margin-bottom:16px;font-size:1.2rem;font-weight:800}.speed-page{text-align:center;max-width:560px;margin:0 auto}.speed-setup{padding:24px 0}.speed-record{color:var(--gold);background:var(--gold-glow);border-radius:var(--radius-md);margin-bottom:20px;padding:10px;font-size:.85rem;font-weight:700}.speed-timer-bar{background:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:6px;margin-bottom:4px;overflow:hidden}.speed-timer-fill{background:var(--accent);height:100%;transition:width .1s linear}.speed-timer-fill.warning{background:var(--gold)}.speed-timer-fill.urgent{background:var(--red);animation:.5s ease-in-out infinite pulse}.speed-timer{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:1.8rem;font-weight:900}.speed-timer.warning{color:var(--gold)}.speed-timer.urgent{color:var(--red);animation:.5s ease-in-out infinite pulse}.speed-score{color:var(--text-secondary);border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border);align-items:center;gap:8px;margin-bottom:16px;padding:6px 12px;font-size:.82rem;display:inline-flex}.speed-spot{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);margin-bottom:16px;padding:14px;box-shadow:0 8px 28px #0000002e}.speed-hand{margin:8px 0;font-size:3.5rem;font-weight:900}.speed-results{padding:24px 0}.speed-new-record{color:var(--gold);background:var(--gold-glow);border-radius:var(--radius-md);margin-bottom:12px;padding:8px;font-size:1rem;font-weight:800;animation:.6s ease-out pulse}.speed-results-big{color:var(--accent);font-size:4rem;font-weight:900;line-height:1}.speed-results-label{color:var(--text-secondary);margin-bottom:4px;font-size:.92rem}.leak-page{max-width:640px;margin:0 auto}.leak-empty{text-align:center;color:var(--text-muted);padding:48px 24px}.leak-empty-emoji{margin-bottom:12px;font-size:3rem}.leak-list{flex-direction:column;gap:10px;display:flex}.leak-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:var(--radius-md);padding:16px;animation:.2s ease-out slideUp}.leak-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.leak-severity{font-size:.72rem;font-weight:700}.leak-stat{color:var(--text-muted);font-size:.72rem}.leak-title{margin-bottom:4px;font-size:.95rem;font-weight:800}.leak-desc{color:var(--text-secondary);margin-bottom:8px;font-size:.82rem;line-height:1.5}.leak-advice{color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm);padding:8px 12px;font-size:.78rem;line-height:1.5}.leak-drill-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--accent);transition:all var(--transition);text-align:center;margin-top:8px;padding:10px;font-size:.82rem;font-weight:700;display:block}.leak-drill-btn:hover{border-color:var(--accent);background:var(--accent-glow)}.leak-resolved-section{border-radius:var(--radius-md);background:#4ade800d;border:1px solid #4ade8026;margin-bottom:16px;padding:12px}.leak-resolved-title{color:var(--green);margin-bottom:8px;font-size:.78rem;font-weight:700}.leak-resolved-item{justify-content:space-between;align-items:center;padding:4px 0;font-size:.78rem;display:flex}.leak-resolved-name{font-weight:600}.leak-resolved-stat{color:var(--green);font-weight:700}.exam-page{max-width:560px;margin:0 auto;padding:16px 0}.exam-setup{text-align:center;padding:24px 0}.exam-setup-emoji{margin-bottom:16px;font-size:3rem}.exam-setup-title{margin-bottom:8px;font-size:1.5rem;font-weight:900}.exam-setup-desc{color:var(--text-secondary);max-width:42ch;margin:0 auto 24px;font-size:.92rem;line-height:1.6}.exam-size-picker{margin-bottom:24px}.exam-size-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.exam-size-options{justify-content:center;gap:8px;display:flex}.exam-size-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);transition:all var(--transition);padding:10px 20px;font-size:.92rem;font-weight:700}.exam-size-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.exam-start-btn{border-radius:var(--radius-md);color:var(--text-primary);letter-spacing:.03em;transition:all var(--transition);background:#ffffff1a;border:1px solid #ffffff2e;padding:14px 36px;font-size:.92rem;font-weight:700}.exam-start-btn:hover{background:#ffffff29}.exam-mode-toggle{gap:8px;margin:16px 0;display:flex}.exam-mode-btn{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-card);transition:all var(--transition);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;font-size:.88rem;font-weight:700;display:flex}.exam-mode-btn.active{border-color:var(--accent);background:#c8a94e14}.exam-mode-sub{color:var(--text-muted);font-size:.68rem;font-weight:500}.exam-assisted-feedback{text-align:center;border-radius:var(--radius-sm);margin-bottom:8px;padding:8px;font-size:1.2rem;font-weight:800}.exam-assisted-feedback.correct{color:var(--green);background:#4ade8014}.exam-assisted-feedback.incorrect{color:var(--red);background:#ef646114}.exam-progress-bar{background:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:4px;margin-bottom:4px;overflow:hidden}.exam-progress-fill{background:var(--accent);height:100%;transition:width .3s}.exam-progress-text{text-align:center;color:var(--text-muted);margin-bottom:20px;font-size:.75rem}.exam-spot{text-align:center;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);margin-bottom:24px;padding:14px;box-shadow:0 8px 28px #0000002e}.exam-spot-chips{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.exam-hand{margin-bottom:8px;font-size:3rem;font-weight:900}.exam-pot{color:var(--text-secondary);font-size:.82rem}.exam-actions{grid-template-columns:1fr 1fr;gap:14px;display:grid}.exam-results{text-align:center;padding:16px 0;animation:.35s ease-out slideUp}.exam-grade-badge{letter-spacing:-.03em;margin-bottom:4px;font-size:4rem;font-weight:900;line-height:1}.exam-accuracy{color:var(--text-secondary);margin-bottom:8px;font-size:1.3rem;font-weight:700}.exam-grade-msg{color:var(--text-secondary);margin-bottom:20px;font-size:.92rem;font-style:italic}.exam-result-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;gap:28px;margin-bottom:24px;padding:16px;display:flex}.exam-result-stat{text-align:center}.exam-result-stat .value{font-size:1.5rem;font-weight:800;display:block}.exam-result-stat .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.65rem}.exam-past{text-align:left;margin-top:20px}.exam-past-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:.72rem;font-weight:700}.exam-past-row{background:var(--bg-surface);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:3px;padding:6px 12px;font-size:.78rem;display:flex}.exam-past-grade{width:24px;font-weight:800}.exam-past-acc{width:36px;font-weight:700}.exam-past-size{color:var(--text-muted)}.exam-past-date{color:var(--text-muted);margin-left:auto;font-size:.68rem}.exam-breakdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;padding:14px}.exam-breakdown-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:.72rem;font-weight:700}.exam-breakdown-grid{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.exam-breakdown-item{background:var(--bg-surface);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:flex}.exam-breakdown-pos{color:var(--text-secondary);font-weight:700}.exam-breakdown-acc{font-weight:800}.exam-breakdown-count{color:var(--text-muted);font-size:.68rem}.exam-tendency{color:var(--text-secondary);text-align:center;margin-top:8px;font-size:.78rem;font-style:italic}.exam-mistakes{text-align:left;margin-bottom:20px}.exam-mistakes-title{color:var(--text-secondary);text-align:center;margin-bottom:10px;font-size:.85rem;font-weight:700}.exam-mistake-row{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #f871711f;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:.78rem;display:flex}.exam-mistake-hand{font-size:.88rem;font-weight:800}.exam-mistake-spot{color:var(--text-muted)}.exam-mistake-verdict{color:var(--text-secondary);margin-left:auto}.exam-mistake-ev{color:var(--red);font-weight:700}.exam-cert-banner{border-radius:var(--radius-md);background:#d4a8531a;border:1px solid #d4a85340;justify-content:center;align-items:center;gap:8px;margin:12px 0;padding:10px 16px;animation:.5s ease-out fadeUp;display:flex}.exam-cert-emoji{font-size:1.3rem}.exam-cert-text{color:var(--gold);font-size:.85rem}.exam-cert-status{text-align:center;color:var(--text-muted);margin:10px 0;font-size:.75rem}.exam-cert-next{color:var(--text-muted);opacity:.7}.exam-result-actions{flex-direction:column;gap:10px;display:flex}.history-page{max-width:720px;margin:0 auto}.history-count{color:var(--text-muted);margin-left:auto;font-size:.82rem}.history-trend{text-align:center;margin-bottom:8px}.history-sparkline{width:100%;max-width:400px;height:40px;margin:0 auto;display:block}.history-trend-label{color:var(--text-muted);margin-top:2px;font-size:.62rem}.history-summary{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem;display:flex}.history-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.history-select{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:.78rem;font-family:var(--font);cursor:pointer;padding:7px 12px;font-weight:600}.history-select:focus{border-color:var(--accent);outline:none}.history-empty{text-align:center;color:var(--text-muted);padding:40px}.history-list{flex-direction:column;gap:4px;display:flex}.history-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);padding:10px 14px}.history-row:hover{border-color:var(--border-active)}.history-row.incorrect{border-left:3px solid #f8717166}.history-row.correct{border-left:3px solid #34d3994d}.history-row-main{align-items:center;gap:10px;font-size:.82rem;display:flex}.history-verdict{font-weight:800}.history-verdict.correct{color:var(--green)}.history-verdict.incorrect{color:var(--red)}.history-hand{min-width:36px;font-size:.88rem;font-weight:800}.history-position{color:var(--accent);min-width:28px;font-weight:700}.history-stack{color:var(--text-muted);min-width:32px}.history-type{color:var(--text-secondary);flex:1}.history-action{color:var(--text-secondary);font-weight:600}.history-ev-loss{color:var(--red);font-size:.75rem;font-weight:700}.history-diff{color:var(--gold);font-size:.68rem}.history-detail{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;padding-top:10px;animation:.15s ease-out slideUp;display:grid}.history-detail-row{justify-content:space-between;font-size:.75rem;display:flex}.history-detail-row .label{color:var(--text-muted)}.history-detail-row .value{font-weight:700}.history-replay-btn{border-radius:var(--radius-sm);background:var(--accent-glow);color:var(--accent);text-align:center;transition:all var(--transition);border:1px solid #5f8fff33;grid-column:1/-1;margin-top:6px;padding:8px;font-size:.78rem;font-weight:700}.history-replay-btn:hover{background:var(--accent);color:#fff}.history-explanation{color:var(--text-secondary);grid-column:1/-1;margin-top:4px;font-size:.75rem;line-height:1.5}.settings-page{max-width:640px;margin:0 auto}.settings-section{margin-bottom:24px}.settings-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:.78rem;font-weight:700}.settings-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;padding:14px 16px;display:flex}.settings-row-info{flex:1;min-width:0}.settings-row-label{margin-bottom:2px;font-size:.88rem;font-weight:700}.settings-row-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.settings-select{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);font-size:.82rem;font-family:var(--font);cursor:pointer;flex-shrink:0;padding:8px 14px;font-weight:600}.settings-select:focus{border-color:var(--accent);outline:none}.settings-toggle{border-radius:var(--radius-full);transition:all var(--transition);flex-shrink:0;padding:6px 16px;font-size:.78rem;font-weight:800}.settings-toggle.on{background:var(--green);color:#052e16}.settings-toggle.off{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border)}.settings-weak-areas{flex-direction:column;gap:6px;display:flex}.settings-weak-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;font-size:.82rem;display:flex}.settings-weak-spot{flex:1;font-weight:600}.settings-weak-rate{font-weight:700}.settings-weak-count{color:var(--text-muted);font-size:.72rem}.settings-danger{border-top:1px solid #f8717126;padding-top:20px}.settings-danger-btn{border-radius:var(--radius-sm);color:var(--red);transition:all var(--transition);background:#f871711a;border:1px solid #f871714d;flex-shrink:0;padding:8px 18px;font-size:.82rem;font-weight:700}.settings-danger-btn:hover{border-color:var(--red);background:#f8717133}.villain-profile-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.villain-profile-card{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-card);cursor:pointer;transition:all var(--transition);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.villain-profile-card:hover{border-color:var(--text-muted)}.villain-profile-card.active{border-width:2px}.villain-profile-emoji{font-size:1.5rem;line-height:1}.villain-profile-name{font-size:.82rem;font-weight:700}.villain-profile-desc{color:var(--text-muted);font-size:.68rem;line-height:1.3}.villain-custom-sliders{margin-top:8px}.villain-slider-wrap{flex-shrink:0;align-items:center;gap:10px;display:flex}.villain-slider{accent-color:#a855f7;cursor:pointer;width:120px}.villain-slider-value{color:#a855f7;text-align:right;min-width:36px;font-size:.82rem;font-weight:700}.drill-suggestion{border-radius:var(--radius-sm);background:#5f8fff0f;border:1px solid #5f8fff26;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 8px;padding:6px 12px;display:flex}.drill-suggestion-text{color:var(--text-secondary);font-size:.75rem}.drill-suggestion-btn{color:#5f8fff;border-radius:var(--radius-full);transition:all var(--transition);border:1px solid #5f8fff4d;padding:3px 10px;font-size:.72rem;font-weight:700}.drill-suggestion-btn:hover{background:#5f8fff1f}.villain-indicator{opacity:.85;border-bottom:2px solid;justify-content:center;align-items:center;gap:6px;padding:4px 0;font-size:.75rem;font-weight:700;display:flex}.villain-indicator-emoji{font-size:.85rem}.villain-indicator-label{text-transform:uppercase;letter-spacing:.06em}.achievement-toast{z-index:3000;background:var(--bg-card);border:1px solid var(--gold);border-radius:var(--radius-md);box-shadow:0 12px 40px #0006, 0 0 24px var(--gold-glow);cursor:pointer;align-items:center;gap:12px;max-width:calc(100% - 24px);padding:14px 20px;animation:.4s ease-out toastSlideDown,.4s ease-in 2.6s forwards toastFadeOut;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.achievement-toast-emoji{flex-shrink:0;font-size:1.8rem}.achievement-toast-info{min-width:0}.achievement-toast-badge{text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin-bottom:2px;font-size:.6rem;font-weight:800}.achievement-toast-title{font-size:.95rem;font-weight:800}.achievement-toast-desc{color:var(--text-secondary);font-size:.78rem}.achievements-page{padding:0}.achievements-count{color:var(--gold);margin-left:auto;font-size:.88rem;font-weight:700}.achievements-progress-bar{background:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:6px;margin-bottom:24px;overflow:hidden}.achievements-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--gold), #f59e0b);height:100%;transition:width .4s}.achievement-category{margin-bottom:20px}.achievement-category-title{color:var(--text-secondary);margin-bottom:10px;font-size:.82rem;font-weight:700}.achievement-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.achievement-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:10px;padding:12px 14px;display:flex}.achievement-card.unlocked{border-color:#fbbf2433}.achievement-card.locked{opacity:.4}.achievement-card.locked .achievement-emoji{filter:grayscale()}.achievement-emoji{flex-shrink:0;font-size:1.4rem}.achievement-info{flex:1;min-width:0}.achievement-title{font-size:.82rem;font-weight:700}.achievement-desc{color:var(--text-muted);font-size:.7rem}.achievement-progress{align-items:center;gap:6px;margin-top:4px;display:flex}.achievement-progress-bar{background:var(--bg-surface);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.achievement-progress-fill{background:var(--accent);border-radius:inherit;height:100%}.achievement-progress-text{color:var(--text-muted);flex-shrink:0;font-size:.62rem;font-weight:600}.achievement-check{color:var(--green);flex-shrink:0;font-size:.9rem;font-weight:800}.heatmap-page{max-width:640px;margin:0 auto}.heatmap-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.82rem}.heatmap-empty{text-align:center;color:var(--text-muted);padding:40px}.heatmap-controls{gap:4px;margin-bottom:12px;display:flex}.heatmap-legend{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.72rem;display:flex}.heatmap-legend-item{align-items:center;gap:4px;display:flex}.heatmap-swatch{border-radius:2px;width:12px;height:12px;display:inline-block}.heatmap-worst{margin-top:16px}.heatmap-worst-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700}.heatmap-worst-row{background:var(--bg-surface);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:3px;padding:6px 12px;font-size:.82rem;display:flex}.heatmap-worst-hand{width:36px;font-weight:800}.heatmap-worst-rate{width:36px;font-weight:700}.heatmap-worst-count{color:var(--text-muted);font-size:.72rem}.heatmap-summary{color:var(--text-muted);text-align:center;margin-top:12px;font-size:.72rem}.analysis-page{max-width:640px;margin:0 auto}.analysis-empty{text-align:center;color:var(--text-muted);padding:40px}.analysis-controls{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.analysis-row{gap:12px;display:flex}.analysis-hand-select{min-width:100px}.analysis-verdict{border-radius:var(--radius-md);text-align:center;margin-bottom:16px;padding:20px;animation:.2s ease-out slideUp}.analysis-verdict.in{background:var(--green-glow);border:1px solid #34d3994d}.analysis-verdict.out{background:var(--bg-card);border:1px solid var(--border)}.analysis-verdict-hand{margin-bottom:4px;font-size:2rem;font-weight:900}.analysis-verdict-action{margin-bottom:6px;font-size:1.1rem;font-weight:800}.analysis-verdict.in .analysis-verdict-action{color:var(--green)}.analysis-verdict.out .analysis-verdict-action{color:var(--text-muted)}.analysis-verdict-explain{color:var(--text-secondary);font-size:.82rem}.analysis-details{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.analysis-detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:.82rem;display:flex}.analysis-detail-row:last-child{border-bottom:none}.analysis-detail-row .label{color:var(--text-muted)}.analysis-detail-row .value{font-weight:700}.glossary-page{max-width:640px;margin:0 auto}.glossary-search{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text-primary);font-size:.88rem;font-family:var(--font);margin-bottom:16px;padding:12px 16px}.glossary-search:focus{border-color:var(--accent);outline:none}.glossary-search::placeholder{color:var(--text-muted)}.glossary-category{margin-bottom:4px}.glossary-category-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;transition:all var(--transition);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.88rem;font-weight:700;display:flex}.glossary-category-btn.open{border-color:var(--accent)}.glossary-category-btn:hover{background:var(--bg-surface-hover)}.glossary-category-count{color:var(--text-muted);font-size:.72rem}.glossary-term-list{flex-direction:column;gap:6px;padding:8px 0;display:flex}.glossary-results{flex-direction:column;gap:6px;display:flex}.glossary-empty{text-align:center;color:var(--text-muted);padding:24px}.glossary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px}.glossary-term{color:var(--accent);margin-bottom:4px;font-size:.88rem;font-weight:800}.glossary-def{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.glossary-example{color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-sm);margin-top:6px;padding:6px 10px;font-size:.75rem;line-height:1.4}.export-page{max-width:560px;margin:0 auto}.export-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.88rem}.export-empty{text-align:center;color:var(--text-muted);padding:40px}.export-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:16px;margin-bottom:10px;font-size:.72rem;font-weight:700}.export-section-title:first-of-type{margin-top:0}.export-actions{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.export-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;transition:all var(--transition);align-items:center;gap:14px;padding:16px;display:flex}.export-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.export-btn-icon{font-size:1.4rem}.export-btn-info{flex-direction:column;display:flex}.export-btn-title{font-size:.88rem;font-weight:700}.export-btn-desc{color:var(--text-muted);font-size:.72rem}.export-preview{margin-top:16px}.export-preview-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.72rem;font-weight:700}.export-preview-code{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);white-space:pre;padding:12px;font-family:monospace;font-size:.65rem;line-height:1.5;overflow-x:auto}.custom-drill-builder{max-width:560px;margin:0 auto}.custom-drill-input{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);font-size:.88rem;font-family:var(--font);width:180px;padding:8px 14px}.custom-drill-input:focus{border-color:var(--accent);outline:none}.custom-drill-range{color:var(--text-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.custom-drill-preview{background:var(--bg-surface);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:16px;padding:12px 16px;font-size:.82rem}.drill-custom-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;transition:transform var(--transition);margin-left:auto;padding:6px 14px;font-size:.78rem;font-weight:700}.drill-custom-btn:hover{transform:translateY(-1px)}.learn-nav{-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.learn-nav-btn{border-radius:var(--radius-full);color:var(--text-muted);white-space:nowrap;transition:all var(--transition);letter-spacing:.03em;background:0 0;border:1px solid #0000;padding:5px 12px;font-size:.72rem;font-weight:600}.learn-nav-btn:hover{color:var(--text-secondary)}.learn-nav-btn.active{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff26}.compete-nav{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.compete-session-page{max-width:760px}.compete-session-shell{flex-direction:column;gap:12px;display:flex}.compete-session-hud{margin-bottom:0}.compete-progress-bar{margin-bottom:2px}.compete-stage-card{border-radius:var(--radius-xl);background:linear-gradient(#ffffff08,#ffffff04);border:1px solid #ffffff14;padding:18px 20px;box-shadow:0 18px 40px #0000003d}.compete-stage-meta{margin-top:8px}.compete-actions{margin-top:4px}.compete-hint{text-align:center}.compete-timer-bar{margin-top:-4px}.compete-mini-timer{margin:0;font-size:1.1rem}.rush-format-toggle{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px;display:grid}.rush-format-btn{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;display:flex}.rush-format-btn small{color:var(--text-muted);font-size:.72rem}.rush-format-btn.active{background:linear-gradient(#d4af3714,#ffffff05);border-color:#d4af3759;box-shadow:inset 0 0 0 1px #d4af372e}.rush-page{text-align:center;max-width:560px;margin:0 auto}.rush-menu{padding:16px 0}.rush-menu-emoji{margin-bottom:12px;font-size:3.5rem}.rush-menu-title{margin-bottom:8px;font-size:1.5rem;font-weight:900}.rush-menu-desc{color:var(--text-secondary);max-width:40ch;margin:0 auto 20px;font-size:.92rem;line-height:1.6}.rush-best{background:var(--gold-glow);border-radius:var(--radius-md);color:var(--gold);margin-bottom:16px;padding:10px 16px;font-size:.85rem;font-weight:700}.rush-rules{color:var(--text-secondary);justify-content:center;gap:16px;margin-bottom:20px;font-size:.82rem;display:flex}.rush-hud{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff06,#ffffff03);justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.rush-lives{letter-spacing:2px;font-size:1.2rem}.rush-score-display{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:900}.rush-diff-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-full);padding:4px 10px;font-size:.72rem;font-weight:700}.rush-streak{color:var(--gold);margin-bottom:8px;font-size:.85rem;font-weight:700}.rush-spot{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);margin-bottom:16px;padding:16px;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 10px 30px #0003}.rush-spot.flash-correct{background:#34d39914;border-color:#34d39938}.rush-spot.flash-incorrect{background:#f8717114;border-color:#f8717138}.rush-hand{margin:8px 0;font-size:3rem;font-weight:900}.rush-pot-info{color:var(--text-secondary);font-size:.82rem}.rush-feedback{margin-bottom:12px;font-size:1.4rem;font-weight:900;animation:.3s ease-out pulse}.rush-feedback.correct{color:var(--green)}.rush-feedback.incorrect{color:var(--red)}.rush-gameover{padding:24px 0;animation:.35s ease-out slideUp}.rush-new-record{color:var(--gold);background:var(--gold-glow);border-radius:var(--radius-md);margin-bottom:12px;padding:10px;font-size:1rem;font-weight:800;animation:.6s ease-out pulse}.rush-gameover-score{color:var(--text-primary);font-size:4rem;font-weight:900;line-height:1}.rush-gameover-label{color:var(--text-secondary);margin-bottom:4px;font-size:.92rem}.rush-milestone{color:var(--gold);margin-bottom:8px;font-size:.88rem;font-weight:800;animation:.3s ease-out slideUp}.rush-history{text-align:left;margin-top:16px}.rush-history-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:.72rem;font-weight:700}.rush-history-row{background:var(--bg-surface);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:3px;padding:6px 12px;font-size:.82rem;display:flex}.rush-history-rank{color:var(--text-muted);width:24px;font-weight:700}.rush-history-score{flex:1;font-weight:700}.rush-history-acc{color:var(--text-muted)}.rush-misses{text-align:left;margin-top:16px}.rush-misses-title{text-transform:uppercase;letter-spacing:.08em;color:var(--red);text-align:center;margin-bottom:8px;font-size:.72rem;font-weight:700}.rush-miss-card{border-radius:var(--radius-sm);background:#f871710f;border:1px solid #f8717126;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;font-size:.82rem;display:flex}.rush-miss-hand{min-width:36px;font-weight:800}.rush-miss-spot{color:var(--text-muted);flex:1;font-size:.75rem}.rush-miss-action{white-space:nowrap;font-size:.78rem;font-weight:600}.rush-perfect{border-radius:var(--radius-md);text-align:center;color:var(--green);background:#4ade8014;border:1px solid #4ade8033;margin-top:16px;padding:12px;font-size:.88rem;font-weight:700}.battle-page{text-align:center;max-width:560px;margin:0 auto}.battle-menu{padding:16px 0}.battle-menu-actions{margin-top:20px}.battle-or{color:var(--text-muted);margin:12px 0;font-size:.82rem}.battle-join-row{justify-content:center;gap:8px;display:flex}.battle-code-input{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);text-align:center;letter-spacing:.15em;width:140px;padding:12px 16px;font-family:monospace;font-size:1.2rem;font-weight:800}.battle-code-input:focus{border-color:var(--accent);outline:none}.battle-score-input{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:80px;color:var(--text-primary);font-size:.88rem;font-weight:700;font-family:var(--font);text-align:center;padding:12px 10px}.battle-score-input:focus{border-color:var(--accent);outline:none}.battle-score-input::placeholder{color:var(--text-muted);font-size:.72rem;font-weight:500}.battle-join-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;padding:12px 24px;font-weight:700}.battle-join-btn:disabled{opacity:.4}.battle-hud{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff06,#ffffff03);justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 12px;font-size:.82rem;display:flex}.battle-hud-code{color:var(--text-muted);border-radius:var(--radius-full);background:var(--bg-surface);padding:4px 8px;font-family:monospace}.battle-hud-score{color:var(--accent);font-size:1.1rem;font-weight:800}.battle-hud-progress{color:var(--text-muted)}.battle-results{padding:24px 0;animation:.35s ease-out slideUp}.battle-results-code{color:var(--text-muted);margin-bottom:8px;font-family:monospace;font-size:.82rem}.battle-results-score{color:var(--text-primary);font-size:3.5rem;font-weight:900;line-height:1}.battle-results-label{color:var(--text-secondary);margin-bottom:4px;font-size:.92rem}.battle-perfect{color:var(--gold);margin-top:8px;font-weight:800;animation:.5s ease-out pulse}.battle-comparison{border-radius:var(--radius-md);text-align:center;border:1px solid var(--border);margin-top:12px;padding:14px}.battle-comparison.won{background:var(--green-glow);border-color:#4ade8033}.battle-comparison.lost{background:var(--red-glow);border-color:#ef646126}.battle-comparison.tied{background:var(--bg-surface)}.battle-comparison-label{margin-bottom:6px;font-size:.92rem;font-weight:800}.battle-comparison.won .battle-comparison-label{color:var(--green)}.battle-comparison.lost .battle-comparison-label{color:var(--red)}.battle-comparison-scores{justify-content:center;align-items:center;gap:12px;margin-bottom:4px;font-size:.88rem;display:flex}.battle-comparison-you{font-weight:800}.battle-comparison-vs{color:var(--text-muted);font-size:.72rem}.battle-comparison-them{color:var(--text-secondary);font-weight:700}.battle-comparison-diff{color:var(--text-muted);font-size:.75rem}.battle-breakdown{text-align:left;margin-top:16px}.battle-breakdown-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;margin-bottom:6px;font-size:.72rem;font-weight:700}.battle-breakdown-list{border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.battle-breakdown-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 10px;font-size:.78rem;display:flex}.battle-breakdown-row:last-child{border-bottom:none}.battle-breakdown-num{color:var(--text-muted);width:24px;font-weight:700}.battle-breakdown-hand{width:36px;font-weight:800}.battle-breakdown-verdict{text-align:center;width:16px}.battle-breakdown-verdict.correct{color:var(--green)}.battle-breakdown-verdict.incorrect{color:var(--red)}.battle-breakdown-time{color:var(--text-muted);flex:1}.battle-breakdown-pts{text-align:right;width:40px;font-weight:700}.battle-breakdown-pts.positive{color:var(--green)}.battle-breakdown-pts.negative{color:var(--red)}.battle-share{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:20px;padding:16px}.battle-share-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem}.battle-share-code{letter-spacing:.25em;color:var(--text-primary);margin-bottom:12px;font-family:monospace;font-size:2rem;font-weight:900}.battle-share-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);transition:all var(--transition);padding:10px 20px;font-size:.82rem;font-weight:700}.battle-share-btn:hover{border-color:var(--accent);color:var(--accent)}.pot-odds-page{max-width:480px;margin:0 auto}.pot-odds-score{color:var(--text-muted);margin-left:auto;font-size:.82rem}.pot-odds-instruction{color:var(--text-secondary);margin-bottom:20px;font-size:.85rem;line-height:1.5}.pot-odds-problem{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:24px}.pot-odds-scenario{justify-content:center;gap:32px;margin-bottom:16px;display:flex}.pot-odds-val{text-align:center}.pot-odds-val-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;font-size:.7rem;display:block}.pot-odds-val-num{color:var(--gold);font-size:1.8rem;font-weight:900}.pot-odds-question{color:var(--text-secondary);margin-bottom:16px;font-size:.92rem}.pot-odds-input-row{justify-content:center;align-items:center;gap:8px;display:flex}.pot-odds-input{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);width:80px;color:var(--text-primary);font-size:1.2rem;font-weight:700;font-family:var(--font);text-align:center;padding:12px 16px}.pot-odds-input:focus{border-color:var(--accent);outline:none}.pot-odds-pct{color:var(--text-muted);font-size:1.2rem;font-weight:700}.pot-odds-submit{border-radius:var(--radius-md);background:var(--accent);color:#fff;transition:transform var(--transition);padding:12px 24px;font-size:.92rem;font-weight:700}.pot-odds-submit:hover:not(:disabled){transform:translateY(-1px)}.pot-odds-submit:disabled{opacity:.4}.pot-odds-result{margin-top:16px;animation:.2s ease-out slideUp}.pot-odds-result-verdict{margin-bottom:8px;font-size:1.1rem;font-weight:800}.pot-odds-result.correct .pot-odds-result-verdict{color:var(--green)}.pot-odds-result.incorrect .pot-odds-result-verdict{color:var(--red)}.pot-odds-result-detail{color:var(--text-secondary);font-size:.88rem;line-height:1.8}.pot-odds-result-math{color:var(--text-muted);margin-top:4px;font-family:monospace;font-size:.78rem}.pot-odds-streak{color:var(--gold);margin-top:8px;font-weight:800}.comparison-page{max-width:720px;margin:0 auto}.comparison-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.85rem}.comparison-legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.75rem;display:flex}.comparison-legend-item{align-items:center;gap:5px;display:flex}.comparison-swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.comparison-stats{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:.78rem;display:flex}.hu-page{text-align:center;max-width:560px;margin:0 auto}.hu-stacks{margin-bottom:12px}.hu-stack-bar{background:var(--red-glow);border-radius:var(--radius-full);border:1px solid var(--border);width:100%;height:12px;overflow:hidden}.hu-stack-fill.hero{border-radius:inherit;background:#ffffff40;height:100%;transition:width .5s}.hu-stack-labels{justify-content:space-between;margin-top:4px;font-size:.78rem;font-weight:700;display:flex}.hu-stack-hero{color:var(--accent)}.hu-stack-villain{color:var(--red)}.hu-position{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.hu-pos-badge{border-radius:var(--radius-full);padding:4px 12px;font-size:.78rem;font-weight:700}.hu-pos-badge.sb{background:var(--accent-glow);color:var(--accent)}.hu-pos-badge.bb{background:var(--bg-surface);color:var(--text-secondary)}.hu-hand-num{color:var(--text-muted);font-size:.75rem}.hu-hand-display{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);margin-bottom:20px;padding:14px;box-shadow:0 8px 28px #0000002e}.hu-game-over{padding:32px 0;animation:.35s ease-out slideUp}.hu-game-over-emoji{margin-bottom:12px;font-size:3.5rem}.hu-game-over-title{margin-bottom:16px;font-size:1.5rem;font-weight:900}.hu-game-over-stats{justify-content:center;gap:24px;margin-bottom:20px;display:flex}.hu-footer{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:20px;font-size:.78rem;display:flex}.hsq-page{max-width:480px;margin:0 auto}.hsq-intro{color:var(--text-muted);margin-bottom:16px;font-size:.82rem;line-height:1.5}.hsq-modes{flex-direction:column;gap:10px;display:flex}.hsq-mode-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);text-align:left;transition:all var(--transition);align-items:center;gap:12px;padding:14px 16px;display:flex}.hsq-mode-card:hover{border-color:var(--border-active);background:var(--bg-surface-hover)}.hsq-mode-emoji{flex-shrink:0;font-size:1.4rem}.hsq-mode-name{font-size:.88rem;font-weight:700;display:block}.hsq-mode-desc{color:var(--text-muted);margin-top:2px;font-size:.72rem;display:block}.hsq-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.hsq-stats{color:var(--text-secondary);font-size:.82rem;font-weight:600}.hsq-compare{text-align:center}.hsq-compare-prompt{color:var(--text-muted);margin-bottom:20px;font-size:.88rem}.hsq-compare-hands{justify-content:center;align-items:center;gap:16px;display:flex}.hsq-hand-btn{border-radius:var(--radius-lg);background:var(--bg-card);border:2px solid var(--border);transition:all var(--transition);min-width:100px;padding:20px 28px;font-size:1.8rem;font-weight:900}.hsq-hand-btn:hover:not(:disabled){border-color:var(--border-active);transform:translateY(-2px)}.hsq-hand-btn.correct{border-color:var(--green);color:var(--green);background:#4ade800f}.hsq-hand-btn.incorrect{border-color:var(--red);opacity:.4}.hsq-vs{color:var(--text-muted);font-size:.82rem;font-weight:700}.hsq-percentile{text-align:center}.hsq-percentile-hand{margin-bottom:8px;font-size:2.5rem;font-weight:900}.hsq-percentile-prompt{color:var(--text-muted);margin-bottom:16px;font-size:.82rem}.hsq-percentile-options{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hsq-pct-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);min-width:64px;transition:all var(--transition);padding:10px 16px;font-size:.88rem;font-weight:700}.hsq-pct-btn:hover:not(:disabled){border-color:var(--border-active)}.hsq-pct-btn.correct{border-color:var(--green);color:var(--green);background:#4ade800f}.hsq-pct-btn.incorrect{opacity:.3}.hsq-combos{text-align:center}.hsq-combos-hand{margin-bottom:8px;font-size:2.5rem;font-weight:900}.hsq-combos-prompt{color:var(--text-muted);margin-bottom:16px;font-size:.82rem}.hsq-combos-options{justify-content:center;gap:10px;display:flex}.hsq-combo-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);min-width:56px;transition:all var(--transition);padding:12px 20px;font-size:1.1rem;font-weight:800}.hsq-combo-btn:hover:not(:disabled){border-color:var(--border-active)}.hsq-combo-btn.correct{border-color:var(--green);color:var(--green);background:#4ade800f}.hsq-combo-btn.incorrect{opacity:.3}.hsq-feedback{text-align:center;border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:.82rem;display:flex}.hsq-feedback.correct{color:var(--green);background:#4ade800f}.hsq-feedback.incorrect{color:var(--red);background:#ef64610f}.hsq-feedback-icon{font-size:1.1rem;font-weight:800}.hsq-feedback-detail{font-weight:500}.profile-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);margin-bottom:16px;padding:14px 16px}.profile-signed-out{text-align:center}.profile-prompt{text-align:left;align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-prompt-icon{font-size:1.5rem}.profile-prompt-title{margin-bottom:2px;font-size:.88rem;font-weight:700}.profile-prompt-desc{color:var(--text-muted);font-size:.72rem;line-height:1.4}.profile-signin-btn{border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition);background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.profile-signin-btn:hover{background:#ffffff1a;border-color:#fff3}.google-icon{flex-shrink:0}.profile-error{color:var(--red);margin-top:8px;font-size:.72rem}.profile-signed-in-card{flex-direction:column;gap:12px;display:flex}.profile-signed-in{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-user{align-items:center;gap:10px;display:flex}.profile-avatar{border-radius:50%;width:36px;height:36px}.profile-avatar-placeholder{background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex}.profile-user-name{font-size:.88rem;font-weight:700}.profile-user-email{color:var(--text-muted);font-size:.7rem}.profile-signout-btn{border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted);transition:all var(--transition);padding:6px 14px;font-size:.75rem;font-weight:600}.profile-signout-btn:hover{color:var(--text-secondary);background:var(--bg-surface-hover)}.profile-loading{text-align:center;color:var(--text-muted);padding:8px;font-size:.78rem}.profile-sync-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-sync-badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.profile-sync-synced{color:var(--green);background:#5ee0851f;border:1px solid #5ee08538}.profile-sync-syncing{color:#8ad6ff;background:#68c4ff1f;border:1px solid #68c4ff38}.profile-sync-error,.profile-sync-conflict{color:#ffb1ae;background:#ef646114;border:1px solid #ef64612e}.profile-sync-idle{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff14}.profile-sync-time{color:var(--text-muted);font-size:.72rem}.profile-sync-btn{border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);transition:all var(--transition);padding:7px 12px;font-size:.75rem;font-weight:600}.profile-sync-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.profile-sync-btn.primary{color:var(--text-primary);background:#ffffff14;border:1px solid #ffffff1f}.profile-sync-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.profile-sync-conflict-box{border-radius:var(--radius-md);background:#ef64610d;border:1px solid #ef64611f;padding:12px}.profile-sync-conflict-title{color:var(--text-primary);margin-bottom:4px;font-size:.82rem;font-weight:700}.profile-sync-conflict-desc{color:var(--text-muted);font-size:.74rem;line-height:1.45}.kb-overlay{z-index:5000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.kb-modal{background:var(--bg-card);border:1px solid var(--border-active);border-radius:var(--radius-lg);width:90%;max-width:320px;box-shadow:var(--shadow-card);padding:20px 24px}.kb-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.kb-title{font-size:.95rem;font-weight:800}.kb-close{color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--transition);padding:4px 8px;font-size:.85rem}.kb-close:hover{color:var(--text-primary)}.kb-list{flex-direction:column;gap:10px;display:flex}.kb-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.kb-keys{flex-shrink:0;align-items:center;gap:4px;display:flex}.kb-key{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;font-family:var(--font);color:var(--text-secondary);text-align:center;min-width:24px;padding:3px 8px;display:inline-block}.kb-or{color:var(--text-muted);margin:0 2px;font-size:.6rem}.kb-action{color:var(--text-secondary);font-size:.82rem;font-weight:500}.kb-tip{color:var(--text-muted);text-align:center;margin-top:14px;font-size:.65rem}.loading-screen{background:var(--bg-deep);background-image:radial-gradient(at 50% 40%,#1e503733 0%,#0000 60%);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;display:flex}.loading-cards{perspective:400px;gap:8px;display:flex}.loading-card{transform-origin:bottom;border-radius:5px;justify-content:center;align-items:center;width:36px;height:50px;font-size:1.4rem;font-weight:700;animation:.6s ease-out both cardDeal;display:flex}.lc-1{color:#1a1a1a;background:#f5f5f0;animation-delay:0s}.lc-2{color:#c62828;background:#f5f5f0;animation-delay:.12s}.lc-3{color:#1565c0;background:#f5f5f0;animation-delay:.24s}.lc-4{color:#2e7d32;background:#f5f5f0;animation-delay:.36s}@keyframes cardDeal{0%{opacity:0;transform:translateY(-30px)rotateX(40deg)scale(.8)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}.loading-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);font-size:1.3rem;font-weight:800;animation:.5s ease-out .5s both fadeIn}.loading-tagline{color:var(--text-muted);letter-spacing:.04em;margin-top:-12px;font-size:.78rem;animation:.6s ease-out .7s both fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-bar{background:#ffffff0f;border-radius:3px;width:120px;height:3px;animation:.5s ease-out .7s both fadeIn;overflow:hidden}.loading-bar-fill{background:var(--accent);border-radius:inherit;height:100%;animation:1.5s ease-in-out .8s both loadProgress}@keyframes loadProgress{0%{width:0%}to{width:100%}}.onboarding-overlay{z-index:2000;background:var(--bg-deep);background-image:radial-gradient(at 50% 25%,#5f8fff1f 0%,#0000 60%);justify-content:center;align-items:center;padding:20px 0;display:flex;position:fixed;inset:0}.onboarding-card{text-align:center;background:linear-gradient(#131928f5,#0b0f19fa);border:1px solid #ffffff14;width:calc(100% - 32px);max-width:560px;max-height:calc(100vh - 40px);padding:28px 32px 24px;animation:.4s ease-out slideUp;overflow-y:auto;box-shadow:0 24px 80px #00000073}.onboarding-progress-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.onboarding-progress-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-weight:800}.onboarding-progress-hint{color:var(--text-muted);font-size:.78rem}.onboarding-emoji{margin-bottom:16px;font-size:3.2rem;animation:1.5s ease-in-out infinite pulse}.onboarding-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:12px;font-size:1.7rem;font-weight:900}.onboarding-content{color:var(--text-secondary);max-width:42ch;margin:0 auto 18px;font-size:.98rem;line-height:1.7}.onboarding-bullets{text-align:left;max-width:44ch;color:var(--text-secondary);gap:10px;margin:0 auto 20px;display:grid}.onboarding-bullets li{padding-left:18px;line-height:1.6;list-style:none;position:relative}.onboarding-bullets li:before{content:"•";color:var(--accent);font-weight:900;position:absolute;top:0;left:0}.onboarding-example{text-align:center;border-radius:var(--radius-md);border:1px solid var(--border);background:linear-gradient(#ffffff0a,#ffffff05);margin:18px 0 20px;padding:18px}.onboarding-example-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-size:.74rem;font-weight:800}.onboarding-example-hand{letter-spacing:.05em;margin-bottom:4px;font-size:1.8rem;font-weight:900}.onboarding-example-meta{color:var(--text-muted);margin-bottom:10px;font-size:.82rem}.onboarding-example-answer{border-radius:var(--radius-full);min-width:108px;color:var(--green);background:#4ade801f;border:1px solid #4ade8047;justify-content:center;align-items:center;padding:8px 14px;font-size:1rem;font-weight:800;display:inline-flex}.onboarding-example-note{color:var(--text-secondary);margin-top:10px;font-size:.82rem;line-height:1.5}.onboarding-comparison{flex-direction:column;gap:10px;margin:18px 0 20px;display:flex}.onboarding-compare-row{align-items:center;gap:10px;display:flex}.onboarding-compare-label{text-align:right;min-width:84px;color:var(--text-secondary);font-size:.78rem;font-weight:700}.onboarding-compare-bar-track{border-radius:var(--radius-full);background:#ffffff0f;flex:1;height:16px;overflow:hidden}.onboarding-compare-bar{border-radius:var(--radius-full);height:100%;transition:width .6s}.onboarding-compare-value{color:var(--text-muted);text-align:left;min-width:88px;font-size:.74rem}.onboarding-dots{justify-content:center;gap:8px;margin-bottom:22px;display:flex}.onboarding-dot{background:#ffffff1a;border-radius:50%;width:8px;height:8px;transition:all .3s}.onboarding-dot.active{background:var(--accent);transform:scale(1.3)}.onboarding-dot.done{background:var(--green)}.onboarding-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:14px;display:flex}.onboarding-btn{border-radius:var(--radius-md);min-height:48px;transition:transform var(--transition), border-color var(--transition), background var(--transition);padding:14px 24px;font-size:.96rem;font-weight:800}.onboarding-btn:hover{transform:translateY(-1px)}.onboarding-btn:active{transform:scale(.98)}.onboarding-btn.primary{color:var(--text-primary);background:#5f8fff29;border:1px solid #5f8fff52}.onboarding-btn.secondary{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.onboarding-skip{color:var(--text-muted);text-underline-offset:3px;font-size:.78rem;text-decoration:underline}.onboarding-skip:hover{color:var(--text-secondary)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes starReveal{0%{opacity:0;transform:scale(.3)rotate(-20deg)}60%{transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes unlockReveal{0%{opacity:0;transform:scale(.8)translateY(20px)}60%{transform:scale(1.02)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes glowPulse{0%,to{filter:brightness()}50%{filter:brightness(1.2)}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%)translateY(-24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.next-label{animation:none!important}}@media (width<=860px){.app{padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr)}.score-row{flex-wrap:wrap}.score-card{min-width:calc(50% - 6px)}.completion-accuracy-number{font-size:2.5rem}.completion-stats{gap:20px}.coach-grid{grid-template-columns:1fr}.rush-page,.speed-page,.battle-page,.hu-page,.drill-run,.exam-page,.compete-session-page{max-width:100%}.compete-stage-card{border-radius:var(--radius-lg);padding:12px}.rush-format-toggle{grid-template-columns:1fr}}@media (width<=520px){.app{padding:12px 10px}.nav-bar{margin-bottom:8px;padding:6px 0 10px}.nav-tab{padding:6px 10px;font-size:.75rem}.status-bar{margin-bottom:10px;padding:6px 10px;font-size:.7rem}.daily-compact-bar{width:36px}.score-row{gap:8px}.score-card{min-width:calc(50% - 4px);padding:10px 12px}.score-card .value{font-size:1.2rem}.score-card .label{font-size:.65rem}.spot-context{padding:4px 6px;font-size:.68rem}.spot-stage.compact .table-wrap{max-width:100%}.exam-spot,.rush-spot,.speed-spot,.drill-run-spot,.hu-hand-display{padding:10px}.ts-name{padding:2px 6px;font-size:.56rem}.ts-chips{font-size:.52rem}.ts-body-villain{gap:3px;width:min(82px,24vw)}.ts-row-villain{row-gap:3px}.ts-cv{padding:2px 6px}.ts-allin-tag{min-height:16px;padding:2px 7px;font-size:.42rem}.cw-sm{width:20px}.cw-hero{width:36px}.hero-fan{gap:2px}.card-overlap{margin-left:-7px}.pot-pill{padding:3px 12px;font-size:.8rem}.call-label{font-size:.62rem}.villain-chip-label{font-size:.54rem}.spot-context-bar{gap:6px;padding:4px 0}.spot-hand-badge{font-size:.88rem}.spot-scenario{font-size:.68rem}.spot-difficulty-stars{font-size:.58rem}.explorer-stat{flex-basis:calc(50% - 5px)}.explorer-compare-legend{flex-wrap:wrap;gap:8px}.weekly-compact{padding-left:6px}.action-btn{min-height:56px;padding:20px 16px;font-size:1.1rem}.next-btn{padding:14px 16px}.next-verdict{font-size:.95rem}.next-meta{font-size:.65rem}.result-review-strip{gap:6px;margin:8px 0 10px}.result-review-pill{padding:5px 8px;font-size:.62rem}.result-tip{padding:8px 12px;font-size:.72rem}.result-study-note{padding:9px 10px;font-size:.72rem}.result-stats{flex-wrap:wrap;gap:8px}.result-stat{flex:30%;min-width:72px;padding:8px}.result-math{flex-wrap:wrap;gap:6px;padding:6px 10px;font-size:.68rem}.result-details-body{padding:0 12px 12px}.range-grid-corner,.range-grid-labels-left{width:12px}.range-grid-labels-top .range-grid-label,.range-grid-labels-left .range-grid-label{font-size:.42rem}.page-header{margin-bottom:16px}.page-title{font-size:1.1rem}.stat-box{padding:12px}.stat-box .value{font-size:1.2rem}.coach-grid{grid-template-columns:1fr;gap:10px}.coach-card{padding:14px}.coach-card-name{font-size:.92rem}.coach-profile{text-align:center;flex-direction:column;padding:18px}.coach-name{font-size:1.2rem}.challenge-card{padding:12px}.challenge-start-btn{min-height:40px;padding:8px 16px}.challenge-banner{margin-bottom:12px;padding:8px 12px}.challenge-banner-top{gap:6px;font-size:.75rem}.completion-star{font-size:1.8rem}.completion-accuracy-number{font-size:2.2rem}.completion-stats{gap:16px;padding:12px}.completion-stat .value{font-size:1.1rem}.completion-quote{padding:12px;font-size:.82rem}.completion-btn{min-height:48px;padding:12px}.mistake-card{padding:10px}.unlock-modal{padding:24px 20px}.unlock-btn{min-height:48px}.onboarding-overlay{padding:12px 0}.onboarding-card{max-height:calc(100vh - 24px);padding:24px 18px 20px}.onboarding-progress-row{flex-direction:column;gap:4px}.onboarding-emoji{font-size:2.8rem}.onboarding-title{font-size:1.3rem}.onboarding-content{font-size:.92rem}.onboarding-bullets{gap:8px}.onboarding-compare-row{flex-wrap:wrap}.onboarding-compare-label,.onboarding-compare-value{text-align:left;width:100%;min-width:0}.onboarding-btn{width:100%;min-height:48px;padding:14px 18px}.achievement-grid{grid-template-columns:1fr}.achievement-toast{left:12px;right:12px;transform:none}.stats-actions,.history-filters{flex-direction:column}.history-select{width:100%}.history-row-main{flex-wrap:wrap;gap:6px}.history-type{flex-basis:100%}.history-detail{grid-template-columns:1fr}.settings-row{flex-direction:column;align-items:stretch;gap:8px}.settings-toggle,.settings-select{align-self:flex-start}.drill-grid{grid-template-columns:1fr}.speed-hand{font-size:2.8rem}.speed-results-big{font-size:3rem}.exam-hand{font-size:2.4rem}.exam-grade-badge{font-size:3rem}.exam-size-options{flex-wrap:wrap}.exam-actions{gap:10px}.exam-mistake-row{gap:6px;font-size:.72rem}.explorer-toggle-btn{padding:8px 10px;font-size:.75rem}.explorer-stack-btn{min-width:30px;padding:6px 8px;font-size:.72rem}.explorer-pos-btn{padding:6px 10px;font-size:.72rem}.explorer-stats{gap:10px;padding:10px 12px}.explorer-stat .value{font-size:.92rem}.explorer-grid-container{padding:10px}.explorer-cell-label{font-size:.36rem}.explorer-detail{flex-wrap:wrap;gap:8px}.charts-grid{grid-template-columns:1fr}.bar-name{width:48px;font-size:.68rem}.summary-milestone{font-size:1.6rem}.summary-stats{gap:12px;padding:14px}.summary-stat.big .value{font-size:1.6rem}.summary-stat .value{font-size:1rem}.summary-continue-btn{min-height:48px}.app-footer{text-align:center;flex-direction:column;gap:8px}}@media (width<=420px){.app{padding:10px 8px}.nav-tab{padding:6px 8px;font-size:.72rem}.action-buttons{gap:8px}.action-btn{padding:18px 12px;font-size:1rem}.btn-key{display:none}.next-meta{max-width:30ch}.result-stat .label{font-size:.54rem}.range-expand-hint{text-align:center;width:100%}}
