/* V6 tokens override the legacy stylesheet without disturbing server-side business flows */
:root{--blue:#2455D6;--navy:#153E90;--tint:#EDF4FF;--bg:#F7F9FC;--ink:#17263D;--muted:#56657B;--line:#DAE3EF;--green:#2455D6;--red:#B42332;--shadow:0 10px 38px rgba(25,58,118,.055)}
body{font-size:15px;background:var(--bg);color:var(--ink)}h1,h2,h3{letter-spacing:-.02em}#sidebar{width:226px;padding:24px 14px;background:var(--white);border-color:var(--line)}.brand{padding-bottom:22px}.logo{border-radius:13px;background:#2455D6}.nav-item{border-radius:12px;padding:11px 13px;margin:3px 0;font-weight:500}.nav-item.active{background:var(--tint);font-weight:700}.nav-item:hover{background:#EDF4FF}.nav-group-label,.side-label{display:none}.shell{margin-left:226px}.topbar{height:72px;padding:0 32px}.context-wrap{padding:12px 32px 10px;background:#fff}.context select{min-height:43px;font-size:13px;border-radius:11px}main{padding:32px 32px 52px;max-width:1280px}.hero{background:#153E90;border-radius:21px;box-shadow:0 16px 48px #153e9020}.hero h2{font-size:clamp(23px,2.9vw,34px)}.card,.auth-card{border-radius:17px;box-shadow:var(--shadow)}.tool-card{min-height:190px}.tool-card:hover{border-color:#91b0ed;box-shadow:0 14px 35px #2455d60e}.tool-card .icon-tile{width:48px;height:48px;border-radius:13px;font-size:19px}.button,.btn{border-radius:11px;min-height:44px;font-weight:700}.button-primary,.primary{background:#2455D6}.button-primary:hover,.primary:hover{background:#1c46b4}input,select,textarea{border-radius:11px}.topbar button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2455D6;outline-offset:3px}.v6-theme-button{background:var(--tint);border:1px solid var(--line);border-radius:12px;min-width:44px;min-height:44px;font-size:20px;color:var(--ink)}.v6-mobile-nav{display:none}.v6-more-links{margin-top:12px;border-top:1px solid var(--line);padding:11px 10px}.v6-more-links a{font-size:12px;color:var(--muted);margin:8px 10px;display:inline-block}.v6-practice-note{color:var(--muted);max-width:700px;font-size:13px}.v6-game-icon{font-size:24px!important;color:var(--blue)}.v6-game-label{font-size:12px;color:var(--muted)}
html[data-theme=dark]{--blue:#90B5FF;--navy:#B0C9FF;--tint:#1B3150;--bg:#0E1728;--ink:#F0F5FF;--muted:#B6C3D5;--line:#30425D;--white:#162338;--shadow:0 8px 28px #0004;color-scheme:dark}html[data-theme=dark] body,html[data-theme=dark] .context-wrap{background:var(--bg);color:var(--ink)}html[data-theme=dark] .card,html[data-theme=dark] #sidebar,html[data-theme=dark] .topbar,html[data-theme=dark] .auth-card,html[data-theme=dark] .v6-theme-button{background:var(--white);color:var(--ink);border-color:var(--line)}html[data-theme=dark] select,html[data-theme=dark] input,html[data-theme=dark] textarea{background:#101d30;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .nav-item.active{color:var(--blue)}html[data-theme=dark] .tool-card:hover{background:#1a2b42}html[data-theme=dark] .hero{background:#102b62}html[data-theme=dark] .button-secondary{color:var(--ink);background:var(--white);border-color:var(--line)}
@media(max-width:900px){.topbar{padding:0 17px}.context-wrap{padding:9px 17px}main{padding:23px 17px 100px}.v6-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(68px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-around;background:var(--white);box-shadow:0 -4px 18px #172f6412;border-top:1px solid var(--line);padding:0 8px env(safe-area-inset-bottom)}.v6-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);min-width:58px;min-height:50px;font-size:10px}.v6-mobile-nav a[aria-current=page]{color:var(--blue);font-weight:700}.v6-mobile-nav b{font-size:21px;line-height:1.1;font-weight:500}.site-footer{padding-bottom:83px}}
@media(max-width:520px){.header-actions{gap:7px}.header-actions a{font-size:12px}.breadcrumb{font-size:11px}.context{flex-wrap:wrap}.context label{flex:1;min-width:100px}.refresh-btn{margin-left:0}.hero{padding:24px}.hero-symbol-wrap{display:none}.grid-3.practice-grid{grid-template-columns:1fr}.v6-theme-button{width:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* AW Chinese V8.1 · Review Command Center · blue visual system */
:root{--aw8-blue:#2455d6;--aw8-sky:#58b5f5;--aw8-navy:#153e90;--aw8-border:#dce6f6}
html[data-theme="light"] body{background:linear-gradient(155deg,#f1f6ff 0%,#f8fbff 47%,#eef5ff 100%);color:#192c4c}
html[data-theme="light"] .card,html[data-theme="light"] .topbar,html[data-theme="light"] #sidebar{border-color:#dce6f6}
html[data-theme="light"] .card{box-shadow:0 8px 30px rgba(25,65,150,.065)}
html[data-theme="light"] .card:hover{box-shadow:0 12px 32px rgba(25,65,150,.095)}
.v8-review-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;padding:clamp(25px,4vw,42px);margin-bottom:26px;background:linear-gradient(120deg,#11285d 0%,#2254cb 65%,#327af0 100%);color:white;border-radius:24px;box-shadow:0 18px 48px rgba(35,84,190,.22)}
.v8-review-hero:after{content:"";position:absolute;width:380px;height:380px;right:-110px;top:-165px;border-radius:50%;border:48px solid rgba(255,255,255,.075);pointer-events:none}
.v8-review-hero-copy{position:relative;z-index:1;max-width:640px}.v8-review-hero h1{color:#fff;font-size:clamp(24px,3.1vw,38px);margin:7px 0 12px}.v8-review-hero p{color:#d9e7ff;line-height:1.7;font-size:14px;max-width:600px;margin:0}.v8-review-symbol{font-family:serif;font-size:110px;opacity:.22;line-height:1;flex:none}.v8-eyebrow{display:block;color:#5286f0;font-size:10px;font-weight:800;letter-spacing:.13em}.v8-review-hero .v8-eyebrow{color:#b6d5ff}.v8-review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.v8-review-main-cta{background:#fff;color:#173d9e;border:1px solid #fff}.v8-review-main-cta:hover{background:#eef5ff}.v8-review-outline{border:1px solid #a8c6ff;color:white;background:rgba(255,255,255,.09)}
.v8-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:25px 0 13px}.v8-section-heading h2{margin:5px 0 0;font-size:21px}.v8-engine-pill,.v8-muted-pill{border-radius:999px;background:#e5eeff;color:#2250b7;font-weight:800;font-size:10px;padding:7px 11px;white-space:nowrap}
.v8-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v8-stat{position:relative;min-width:0;min-height:162px;border:1px solid #e0e9f9;border-radius:19px;padding:18px;display:flex;flex-direction:column;box-shadow:0 7px 20px rgba(27,69,141,.06);background:#fff}.v8-stat:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--stat-color);border-radius:19px 19px 0 0}.v8-stat-blue{--stat-color:#2455d6;background:linear-gradient(160deg,#fff,#edf3ff)}.v8-stat-orange{--stat-color:#f59e49;background:linear-gradient(160deg,#fff,#fff4e9)}.v8-stat-violet{--stat-color:#8170e8;background:linear-gradient(160deg,#fff,#f3f0ff)}.v8-stat-green{--stat-color:#15a9a1;background:linear-gradient(160deg,#fff,#eafbf8)}.v8-stat-icon{font-size:22px;color:var(--stat-color);height:30px}.v8-stat>span{font-size:12px;font-weight:700;margin-top:5px;color:#526680}.v8-stat>strong{font-size:35px;font-weight:800;line-height:1.25;letter-spacing:-1px;color:#192f55}.v8-stat small{color:#60728d;font-size:11px;line-height:1.45}.v8-stat-bar{margin-top:auto;background:#cfdefb;border-radius:12px;height:5px;overflow:hidden}.v8-stat-bar i{display:block;height:100%;background:#2455d6;border-radius:12px}
.v8-review-panels{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:16px;margin-top:18px}.v8-panel{padding:24px;min-width:0}.v8-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.v8-panel-heading h2{font-size:20px;margin:5px 0 0}.v8-panel .muted{margin:10px 0 18px;font-size:12px;line-height:1.6}.v8-word-queue{display:grid;gap:8px}.v8-word-item{display:flex;align-items:center;gap:14px;border:1px solid #e5edfa;border-radius:13px;background:#f8faff;padding:10px 13px;min-width:0}.v8-word-item>strong{min-width:65px;color:#173d99;font-size:24px;font-family:'Noto Serif SC',serif;font-weight:600}.v8-word-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.v8-word-copy span{font-size:12px;color:#43608e}.v8-word-copy small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v8-word-tag{flex:none;border-radius:99px;background:#e7eeff;color:#2351b2;padding:5px 8px;font-size:10px;font-weight:700}.v8-word-tag[data-status="RECOVERY"]{background:#fff0df;color:#b96320}.v8-word-tag[data-status="DUE"]{background:#fff0df;color:#975019}.v8-panel-action{margin-top:16px;width:100%}.v8-no-queue{border:1px dashed #c4d7fa;border-radius:14px;background:#f6f9ff;color:#54709d;padding:22px;line-height:1.6;font-size:12px}.v8-distribution-row{margin-top:16px}.v8-distribution-row>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#536784;gap:8px}.v8-distribution-row strong{color:#1f3760}.v8-distribution-track{height:9px;border-radius:99px;background:#e7eef9;margin-top:8px;overflow:hidden}.v8-distribution-track i{display:block;height:100%;border-radius:99px;background:#2455d6}.v8-distribution-track i[data-status="NEW"]{background:#4c7fee}.v8-distribution-track i[data-status="LEARNING"]{background:#8aa5f3}.v8-distribution-track i[data-status="RECOVERY"]{background:#e9954c}.v8-distribution-track i[data-status="DUE"]{background:#ebbd62}.v8-distribution-track i[data-status="NEAR_DUE"]{background:#9a82e2}.v8-distribution-track i[data-status="ON_TRACK"]{background:#3ab7ac}.v8-insight{background:#edf4ff;border:1px solid #d6e5ff;padding:16px;border-radius:15px;margin-top:23px;color:#294875}.v8-insight strong{font-size:12px}.v8-insight p{margin:6px 0 0;font-size:11px;line-height:1.6}.v8-next-heading{margin-top:32px}.v8-game-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v8-game-links a{display:flex;flex-direction:column;position:relative;min-height:108px;padding:19px;background:#fff;border:1px solid #dce6f6;border-radius:17px;text-decoration:none;color:#193b79;box-shadow:0 5px 18px rgba(22,65,143,.045);transition:transform .18s,box-shadow .18s,border-color .18s}.v8-game-links a:hover{transform:translateY(-3px);border-color:#719eef;box-shadow:0 12px 28px rgba(32,79,175,.12)}.v8-game-links strong{font-size:16px}.v8-game-links small{color:#617494;margin-top:6px}.v8-game-links a>span{position:absolute;right:14px;bottom:13px;color:#2455d6}
/* Drawer: visible above overlay, predictable gestures and no frozen scroll */
@media(max-width:800px){.menu-button{display:inline-grid!important;place-items:center;position:relative;z-index:1}.sidebar-open #sidebar{transform:translateX(0)!important;visibility:visible;pointer-events:auto}.sidebar-open .mobile-scrim{display:block!important;z-index:45}.mobile-scrim{touch-action:manipulation}#sidebar{overflow-y:auto;overscroll-behavior:contain;max-height:100dvh;box-shadow:15px 0 35px rgba(10,30,69,.12)}.v8-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v8-review-panels{grid-template-columns:1fr}.v8-game-links{grid-template-columns:repeat(2,minmax(0,1fr))}.v8-review-symbol{font-size:70px}.v8-review-hero{border-radius:19px}.v8-panel{padding:18px}}
@media(max-width:450px){.v8-stat{padding:13px;min-height:150px}.v8-stat>strong{font-size:29px}.v8-review-hero{padding:22px}.v8-review-symbol{display:none}.v8-review-actions .button{width:100%}.v8-section-heading{align-items:start;flex-direction:column}.v8-word-item{gap:9px;padding:9px}.v8-word-item>strong{min-width:47px;font-size:21px}.v8-word-tag{font-size:9px}.v8-game-links a{padding:15px;min-height:105px}}
/* Dark: navy graphite surfaces with luminous cyan accents, not flat near-black cards */
html[data-theme="dark"]{color-scheme:dark;--bg:#0b1429;--white:#15233b;--ink:#e8efff;--muted:#aabbd7;--line:#2a3c59;--tint:#1c3154;--blue:#82b6ff;--navy:#e4eeff}
html[data-theme="dark"] body{background:radial-gradient(ellipse 800px 480px at 75% -150px,rgba(41,93,202,.25),transparent 70%),linear-gradient(145deg,#0a1428 0%,#101c35 55%,#0b152a 100%);color:#e8efff}
html[data-theme="dark"] #sidebar,html[data-theme="dark"] .topbar,html[data-theme="dark"] .context-wrap{background:#121f36;border-color:#304360;color:#e9f0ff}
html[data-theme="dark"] .card,html[data-theme="dark"] .v8-panel,html[data-theme="dark"] .v8-game-links a{background:linear-gradient(150deg,#172640,#132139);border-color:#314463;color:#e9f1ff;box-shadow:0 10px 30px rgba(0,0,0,.16)}
html[data-theme="dark"] .v8-review-hero{background:linear-gradient(120deg,#152f66,#214b9d 68%,#156dba)}
html[data-theme="dark"] .v8-review-stats .v8-stat{background:linear-gradient(155deg,#1c3052,#14223c);border-color:#334a71;box-shadow:0 8px 25px rgba(0,0,0,.14)}
html[data-theme="dark"] .v8-stat>span,html[data-theme="dark"] .v8-stat small,html[data-theme="dark"] .v8-panel .muted,html[data-theme="dark"] .v8-game-links small{color:#b6c7e3}
html[data-theme="dark"] .v8-stat>strong,html[data-theme="dark"] .v8-section-heading h2,html[data-theme="dark"] .v8-panel h2,html[data-theme="dark"] .v8-distribution-row strong{color:#f1f6ff}
html[data-theme="dark"] .v8-engine-pill,html[data-theme="dark"] .v8-muted-pill{background:#203b68;color:#b5d9ff}
html[data-theme="dark"] .v8-word-item{background:#1a2b49;border-color:#34496d}html[data-theme="dark"] .v8-word-item>strong{color:#a4ceff}html[data-theme="dark"] .v8-word-copy span{color:#b7d0f4}html[data-theme="dark"] .v8-word-tag{background:#263f6b;color:#b8d9ff}
html[data-theme="dark"] .v8-no-queue,html[data-theme="dark"] .v8-insight{background:#1b3154;border-color:#36527c;color:#d2e2fa}
html[data-theme="dark"] .v8-distribution-row>div:first-child{color:#c2d3ef}html[data-theme="dark"] .v8-distribution-track,html[data-theme="dark"] .v8-stat-bar{background:#2b4266}
html[data-theme="dark"] .v8-game-links a{color:#acd2ff}html[data-theme="dark"] .nav-item{color:#d4e1f5}html[data-theme="dark"] .nav-item:hover,html[data-theme="dark"] .nav-item.active{background:#213a64;color:#b3d6ff}html[data-theme="dark"] .brand{color:#edf5ff}html[data-theme="dark"] .context select,html[data-theme="dark"] .context input{background:#182c4b;border-color:#405577;color:#f2f5ff}
html[data-theme="dark"] .muted,html[data-theme="dark"] small{color:#b4c3dc}html[data-theme="dark"] .mobile-scrim{background:rgba(1,8,22,.73)}html[data-theme="dark"] .v6-mobile-nav{background:#15233b;border-color:#2c4060}html[data-theme="dark"] .v6-mobile-nav a{color:#b5c8e7}
@media(prefers-reduced-motion:reduce){.v8-game-links a{transition:none}}
