:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:#2b3749;background:#fafafa;font-synthesis:none;--bg: #fafafa;--surface: #fff;--text: #2b3749;--muted: #6f7b8a;--line: #e3e5e8;--primary: #2b3749;--blue: #5399e5;--soft: #f4f5f7;--hand-stroke: #bfc1c4;--hand-fill: #f5f5f585;color-scheme:light}:root[data-theme=dark]{--bg: #151a22;--surface: #202732;--text: #e2e8f0;--muted: #9ba9bb;--line: #37404d;--primary: #c4d1e2;--blue: #81b5f3;--soft: #293340;--hand-stroke: #687687;--hand-fill: #20273280;color-scheme:dark;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;touch-action:manipulation}button,a,input,select,textarea{transition:background-color .18s,color .18s,opacity .18s,box-shadow .2s,transform .22s cubic-bezier(.2,.7,.3,1)}button:hover{background-color:var(--soft)}button:active{transform:scale(.975)}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}a{color:var(--text);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.3;font-weight:750;letter-spacing:-1px}h2{font-size:20px;font-weight:650;letter-spacing:-.5px}h3{font-size:16px;font-weight:600}svg{width:20px;height:20px;stroke-width:1.65;vertical-align:middle;flex-shrink:0}::selection{background:#a6d0ff55}.muted{color:var(--muted);font-size:13px}.hidden{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;z-index:20;background:var(--surface);border-right:1px solid #f0f1f3;display:flex;flex-direction:column}.brand{height:72px;padding:16px 20px;display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--text)}.brand>svg{width:39px;height:36px;stroke:none}.brand strong{font-family:system-ui,sans-serif;font-weight:800;font-size:26px;letter-spacing:-1px;color:#242726}.sidebar nav{margin:30px 0 0 20px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;min-height:53px;padding:14px 12px;font-size:16px;text-align:left;position:relative;border-radius:8px 0 0 8px}.nav-item svg{width:19px;height:19px}.nav-item.active{background:var(--soft)}.nav-item.active:after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--primary)}.nav-separated{border-top:1px solid var(--line);margin-top:8px;padding-top:22px;border-radius:0}.sidebar-bottom{margin-top:auto;padding:20px 24px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.sidebar-bottom>button{display:flex;align-items:center;gap:6px;border-radius:20px;padding:5px 10px;background:var(--soft);font-size:11px;min-height:28px}.sidebar-bottom>button svg{width:13px;height:13px}.sidebar-bottom>button.feedback{background:#eef7ff;color:#4d8be7}.local-edition{font-size:10px;color:var(--muted);opacity:.7;margin-top:2px}.topbar{height:72px;position:fixed;top:0;right:0;left:246px;display:flex;align-items:center;justify-content:space-between;z-index:18;background:color-mix(in srgb,var(--bg) 96%,transparent);padding:0 35px 0 20px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.topbar-actions button{white-space:nowrap}.locale-button{display:flex;align-items:center;gap:7px;padding:10px 8px;font-size:14px}.locale-button svg{width:17px;height:17px}.locale-button svg:last-child{width:12px}.outline-button,.dark-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 23px;border-radius:25px;line-height:1.4;font-size:14px;white-space:nowrap}.outline-button{border:1px solid #aab1ba;background:var(--surface)}.outline-button:hover{background:var(--soft)}.dark-button{background:#2c3849;color:#fff;border:1px solid #2c3849}.dark-button:hover{background:#465269}.outline-button svg,.dark-button svg,.danger-button svg{width:16px;height:16px}.danger-button{color:#cf4a46;border:1px solid #e3b0ad}.menu-button{width:32px;height:40px;display:grid;place-items:center}.menu-button svg{width:18px}.save-button{color:var(--muted);border-color:#bfc6cf}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:14px;color:var(--text);min-height:36px;padding:6px 0}.text-button svg{width:17px;height:17px}.text-button:hover{color:var(--blue);background:transparent}main{margin-left:246px;padding-top:72px;min-height:100vh;outline:none}.home-content{max-width:1325px;margin:auto;padding:54px 45px 70px}.greeting{display:flex;align-items:center;gap:18px;margin-bottom:40px}.greeting .dark-button{min-height:40px;font-size:13px;padding:9px 20px}.dashboard-subject{margin-bottom:45px}.subject-title{font-size:16px;display:flex;align-items:center;gap:7px;margin-bottom:22px}.subject-title>span{width:8px;height:8px;border-radius:50%}.subject-grid{display:grid;grid-template-columns:minmax(285px,1fr) minmax(510px,1.05fr);gap:55px}.enrolled-cards{display:flex;gap:20px;align-items:flex-start}.course-card{width:274px;position:relative;padding:8px;background:var(--surface);box-shadow:0 2px 6px #172b3a15;border:1px solid #f0f0f0;border-radius:18px;overflow:hidden;flex-shrink:0}.cover-button{display:block;width:100%;height:174px;padding:0;border-radius:10px;overflow:hidden;background:#e9f2f5;position:relative}.cover-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.cover-button:hover img{transform:scale(1.025)}.cover-fallback:after{content:"ABC";font-size:48px;color:#75a3bb;position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.card-more{position:absolute;top:8px;right:8px;background:#ffffff80;border-radius:0 10px 0 5px;width:25px;height:26px;display:grid;place-items:center;cursor:pointer}:root[data-theme=dark] .card-more{background:color-mix(in srgb,var(--surface) 58%,transparent)}.card-more svg{width:18px;height:18px}.course-card-body{padding:16px 8px 18px}.course-title{display:block;padding:0;text-align:left;font-size:15px;font-weight:650;line-height:1.6;min-height:28px}.course-title:hover{background:transparent;color:var(--blue)}.course-progress{margin-top:44px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;gap:10px}.course-progress strong{color:var(--text);font-weight:650}.mini-progress{height:4px;background:var(--line);margin-top:12px;border-radius:10px;overflow:hidden}.mini-progress>span{display:block;height:100%;background:#60adf1}.dashboard-statistics{min-width:0;position:relative}.dashboard-statistics fieldset{border:1px solid #d8dadd;border-radius:21px;margin:0;min-width:0}.dashboard-statistics legend{font-size:12px;font-weight:650;padding:0 10px}.time-box{padding:28px 25px 24px}.rings{display:flex;align-items:center;justify-content:space-between;gap:20px}.time-ring-item{text-align:center;flex:1}.time-ring-item>strong{font-size:11px;white-space:nowrap;display:block;margin-bottom:12px}.time-ring-item>strong>b{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff7049;margin-right:4px}.time-ring{width:86px;height:86px;background:conic-gradient(#ff6745 calc(var(--progress) * 1%),#e4e7eb 0);border-radius:50%;display:grid;place-items:center;margin:auto}.time-ring>div{width:71px;height:71px;border-radius:50%;background:var(--bg);font-size:11px;display:flex;flex-direction:column;justify-content:center;line-height:1.2}.time-ring>div b{font-size:11px;font-weight:650}.time-ring-item>span{display:block;font-size:11px;margin-top:10px}.overall-time{border-left:1px solid var(--line);padding-left:25px;min-width:110px;text-align:center}.overall-time strong{display:block;font-size:23px;white-space:nowrap}.overall-time span{display:block;font-size:11px;line-height:1.8;margin-top:5px}.dashboard-lower{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:8px}.speed-box{padding:28px 20px 24px}.speed-bars{height:138px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.speed-bars>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1}.speed-bars b{font-size:11px;white-space:nowrap;margin-bottom:5px}.speed-bars b small{font-size:8px;font-weight:400}.speed-bars span{width:40px;min-height:1px;background:#67a5f0;border-radius:3px 3px 0 0}.speed-bars>div>small{font-size:10px;width:100%;text-align:center;border-top:1px solid var(--line);padding-top:6px}.performance-box{padding:28px 26px;display:flex;flex-direction:column;gap:9px}.performance-box>span{font-size:12px}.performance-box>strong{font-size:20px;margin-bottom:13px}.more-stats{display:flex;margin:8px 0 0 auto}.no-practice{min-height:300px;border:1px solid #d8dadd;border-radius:21px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:15px;padding:40px;line-height:1.8}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-heading h2{font-size:23px}.recommendation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.recommended-card{width:auto;min-width:0;height:100%}.recommended-card .cover-button{height:auto;aspect-ratio:4/3}.recommended-card .course-card-body{padding:15px 11px 24px}.course-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:13px}.course-meta>span{display:flex;align-items:center;gap:4px}.course-meta svg{width:13px;height:13px}.standard-content{max-width:1550px;padding:54px 40px 70px;margin:auto}.standard-content>h1{margin-bottom:40px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px;gap:20px}.segmented{display:flex;align-items:center;gap:3px;padding:4px;background:#edf0f4;border-radius:25px}.segmented button{padding:10px 23px;font-size:14px;border-radius:24px}.segmented button.selected{background:var(--surface);box-shadow:0 1px 4px #182a3808}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-panel,.panel{background:var(--surface);border:1px solid #eceef0;border-radius:18px;box-shadow:0 1px 5px #1b2a3910}.stats-panel{padding:30px;margin-bottom:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:35px;margin-bottom:28px}.panel-heading h2{font-size:16px;color:var(--muted);display:flex;align-items:center;gap:6px}.panel-heading h2 svg{width:16px;height:16px}.panel-heading select{min-height:32px;border-radius:20px;padding:5px 12px;font-size:12px;max-width:150px}select{border:1px solid #d3d6dc;border-radius:8px;background:var(--surface);padding:8px 12px;min-height:38px;font-size:13px}input[type=checkbox]{accent-color:var(--blue)}.time-overview{display:flex;align-items:center;justify-content:space-between;padding:8px 0 15px;gap:25px;min-height:220px}.time-overview>div:first-child>strong{display:block;font-size:28px}.time-overview>div:first-child>span{display:block;font-size:14px;color:var(--muted);margin-top:7px}.donut{width:190px;height:190px;background:conic-gradient(#8bc7f5 calc(var(--pct) * 1%),var(--fill) 0);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut>div{width:125px;height:125px;border-radius:50%;background:var(--surface);display:grid;place-items:center;color:var(--muted);font-size:16px}.time-breakdown{display:flex;justify-content:space-between;gap:18px;margin-top:23px}.time-breakdown>div{position:relative;padding-left:20px}.time-breakdown>div>span{position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%}.time-breakdown strong{font-size:15px;display:block}.time-breakdown small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.attempt-overview{display:flex;align-items:stretch;height:290px;gap:30px}.attempt-counts{width:95px;display:flex;flex-direction:column;justify-content:space-between}.attempt-counts>div{padding:10px 0 22px;border-bottom:1px solid var(--line)}.attempt-counts>div:last-child{border:0}.attempt-counts span{font-size:12px;color:var(--muted)}.attempt-counts strong{display:block;font-size:26px;margin-top:6px}.attempt-counts small{font-size:12px;font-weight:400;margin-left:5px}.attempt-bars{flex:1;display:flex;align-items:flex-end;justify-content:space-around;background:repeating-linear-gradient(to top,transparent 0,transparent 63px,var(--line) 64px,transparent 65px);border-bottom:1px solid var(--line);margin:12px 0 33px}.attempt-bars>div{height:100%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative;flex:1}.attempt-bars span{width:40px;background:#a1bcfc}.attempt-bars small{position:absolute;bottom:-30px;white-space:nowrap;font-size:12px;color:var(--muted)}.calendar-panel .panel-heading{margin-bottom:55px}.week-start-label{color:var(--muted);font-size:12px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:20px}.calendar-toolbar strong{font-size:18px;margin-left:8px}.square-button{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid #d7dde4;border-radius:3px;color:var(--muted);padding:3px}.square-button svg{width:15px;height:15px}.practice-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line)}.calendar-day{border-right:1px solid var(--line);min-width:0}.calendar-day:last-child{border-right:0}.calendar-day>header{display:flex;flex-direction:column;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:12px 5px}.calendar-day>header>span{font-size:12px;color:var(--muted)}.calendar-day>header strong{font-size:19px}.calendar-day.today>header{background:#edf5ff}.calendar-events{height:210px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,var(--line) 52px,transparent 53px);padding:20px 6px}.calendar-event{display:block;background:#e6f1ff;color:#4e7fbd;border-left:3px solid #79acf1;padding:10px 7px;font-size:11px;line-height:1.8}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;font-weight:450;color:var(--muted)}td{font-size:12px}tbody tr:last-child td{border:0}.empty-table{text-align:center;color:var(--muted);padding:38px 10px}.stars{display:inline-flex;gap:3px;align-items:center;color:#e0e2e6}.stars span{display:flex}.stars svg{width:18px;height:18px;fill:currentColor;stroke:#bec2c8}.stars .earned{color:#ffd43d}.stars .earned svg{stroke:#e3b72c}.small-stars svg{width:13px;height:13px}.time-chart{display:flex;height:240px;gap:20px;padding:15px 0 30px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:10px;white-space:nowrap}.time-chart-bars{flex:1;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 94px,var(--line) 95px,transparent 96px)}.chart-column{height:100%;width:6%;position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column}.chart-column .bar{background:#8bc7f5;width:65%;min-height:1px;border-radius:2px 2px 0 0}.chart-column small{position:absolute;bottom:-28px;font-size:9px;white-space:nowrap;color:var(--muted)}.typing-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.typing-summary>div{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.typing-summary>div>span{font-size:13px;color:var(--muted)}.typing-summary strong{display:block;font-size:34px;margin-top:10px}.typing-summary small{font-size:13px;font-weight:400;margin-left:6px}.speed-history{height:250px;display:flex;align-items:flex-end;justify-content:space-around;gap:15px;padding:20px 0 35px}.speed-history>div{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;height:100%;flex:1;max-width:50px;position:relative}.speed-history span{display:block;width:75%;background:#7fb5f0}.speed-history b{font-size:11px;color:var(--muted);margin-bottom:4px}.speed-history small{font-size:9px;color:var(--muted);position:absolute;bottom:-20px}.speed-history>p{margin:auto;color:var(--muted);font-size:13px}.keyboard-hint{margin-bottom:25px}.filter-sidebar{position:fixed;inset:72px auto 0 0;width:302px;padding:70px 32px 40px 62px;border-right:1px solid var(--line);background:var(--bg);overflow:auto;z-index:16}.library-topbar{left:0;background:var(--surface);border-bottom:1px solid var(--line);padding-left:0}.library-mode main{margin-left:302px}.library-content{padding:24px 64px 70px;max-width:1800px;margin:auto}.back-link{display:inline-flex;align-items:center;gap:5px;padding:4px 0;font-size:12px;color:var(--muted);min-height:28px;margin-bottom:20px}.back-link svg{width:15px;height:15px}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:62px}.library-heading h1{font-size:38px}.search-input{display:flex;align-items:center;border:1px solid #7e8998;border-radius:40px;height:56px;padding:0 23px;gap:15px;width:40%;min-width:240px}.search-input input{border:0;background:none;outline:none;width:100%;font-size:14px;color:var(--text)}.search-input svg{width:20px;height:20px;color:var(--muted)}.search-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #7eaff329}.search-input input:focus-visible{outline:none}.library-section{margin-bottom:35px}.library-section>h2{font-size:16px;color:var(--muted);margin-bottom:22px}.library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.library-grid .course-card{border-radius:17px}.library-grid .course-title{font-size:15px}.library-grid .course-card-body{min-height:100px}.empty-search{text-align:center;padding:65px 15px}.empty-search>svg{width:42px;height:42px;color:var(--muted);margin-bottom:22px}.empty-search p{font-size:13px;color:var(--muted);margin:18px 0 23px}.course-mode .topbar{background:#eefafb;border-bottom:1px solid #ffffff77}.course-toolbar-title{display:flex;align-items:center;gap:14px;white-space:nowrap}.course-toolbar-title>strong{font-size:20px}.course-toolbar-title>span{height:22px;width:1px;background:#cddde0;margin:0 3px}.course-toolbar-title small{font-size:11px;display:flex;align-items:center;gap:4px}.course-toolbar-title svg{width:13px;height:13px;color:#8c9caa}.course-world{min-height:100vh;background:linear-gradient(#edfafa,#e9f8fa 45%,#e3f1f7);position:relative;overflow:hidden;padding:88px 50px 100px}.course-sections{position:relative;z-index:1;max-width:1050px;margin:auto}.course-section{scroll-margin-top:105px;margin-bottom:120px}.course-section>h2{font-size:24px;margin-bottom:62px}.lesson-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 30px}.lesson-tile{position:relative;display:flex;flex-direction:column;aspect-ratio:1/1.04;background:#ffffffed;border-radius:6px;box-shadow:0 3px 8px #4e758915;transform:rotate(-2deg);padding:17px 10px 0;min-width:0;color:#63778b}.lesson-tile:nth-child(3n){transform:rotate(-1deg)}.lesson-tile:nth-child(4n){transform:rotate(-3deg)}.lesson-tile:hover{background:#fff;box-shadow:0 7px 16px #5f829b22;transform:rotate(0) translateY(-4px)}.lesson-tile:active{transform:scale(.97)}.tile-number{position:absolute;left:12px;top:12px;font-size:20px;font-weight:850;color:#5f758e;text-shadow:1px 1px #c3cfd6}.tile-lock{position:absolute;right:10px;top:10px;color:#aab6c3}.tile-lock svg{width:11px;height:11px;fill:#aab6c366}.tile-art{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;padding-top:15px;min-height:0}.tile-art>svg{width:36px;height:36px;stroke-width:1.1;color:#7c858d}.key-pair{font-size:14px;font-weight:700;color:#8b9398;margin-bottom:2px;white-space:nowrap;overflow:hidden;max-width:95%}.tile-caption{font-size:10px;line-height:1.5;border-top:1px solid #e9edf0;width:calc(100% + 20px);margin-left:-10px;padding:7px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#344354;min-height:29px}.tile-complete{display:grid;place-items:center;position:absolute;bottom:25px;left:50%;transform:translate(-50%);width:32px;height:22px;border-radius:12px;background:#24c780;color:#fff;z-index:2}.tile-complete svg{width:19px;height:19px;stroke-width:3}.lesson-tile.locked{background:#ffffffbd}.lesson-tile.locked .tile-art{opacity:.6}.mountain{position:absolute;pointer-events:none;opacity:.25;background:#c6dde5;clip-path:polygon(0 88%,16% 64%,30% 65%,32% 39%,48% 22%,56% 25%,70% 4%,100% 48%,100% 100%,0 100%)}.mountain-one{width:105%;height:1100px;left:-10%;top:260px}.mountain-two{width:100%;height:1100px;right:-25%;top:1700px;background:#bfd5dc}.mountain-three{width:100%;height:1300px;left:-10%;top:3400px;background:#b8d8e0}.minimap{position:fixed;right:4px;top:200px;display:flex;flex-direction:column;gap:5px;z-index:5;background:#fffb;padding:7px 2px;box-shadow:0 2px 6px #18394b14;border-radius:3px}.minimap>button{padding:5px 3px;width:14px;height:21px}.minimap span{display:block;background:#b2cbe7;width:4px;height:5px;border-radius:1px}.collapse-sidebar{position:absolute;bottom:8px;right:9px;border:1px solid #a7b2bf;border-radius:3px;width:31px;height:31px;display:grid;place-items:center}.collapse-sidebar svg{width:17px;height:17px}.sidebar-collapsed .sidebar{width:65px}.sidebar-collapsed .sidebar .brand strong,.sidebar-collapsed .nav-item>span{display:none}.sidebar-collapsed .sidebar .brand{padding:15px}.sidebar-collapsed .sidebar nav{margin-left:0}.sidebar-collapsed main{margin-left:65px}.sidebar-collapsed .topbar{left:65px}.badges-page>h1{margin-bottom:0}.badge-empty{text-align:center;padding:90px 0 105px}.badge-illustration{width:310px;height:310px;border-radius:50%;background:#f4f6f8;position:relative;display:grid;place-items:center;margin:auto}.badge-illustration>div{width:215px;height:215px;border-radius:50%;background:#fff;display:grid;place-items:center;position:relative;box-shadow:0 70px 0 -65px #d7dce4}.badge-illustration>div>svg{width:110px;height:110px;stroke-width:1.8;color:#2b3e52}.gold-ribbon{position:absolute;width:38px;height:125px;border:6px solid #edb841;border-radius:60%;transform:rotate(32deg);top:39px;left:89px}.laurel{position:absolute;color:#d0d5dc;z-index:2}.laurel svg{width:70px;height:70px;stroke-width:1.1}.laurel.left{left:16px;top:140px;transform:rotate(-30deg)}.laurel.right{right:8px;top:56px;transform:rotate(22deg);color:#e6ba4b}.badge-empty h2{font-size:24px;margin:30px 0 16px}.badge-empty p{color:var(--text);font-size:15px;line-height:1.9}.badge-section-heading{font-size:20px;color:var(--muted);margin-bottom:65px}.badges-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:52px 30px}.badge-card{padding:0;text-align:center;background:none;border-radius:0}.badge-medal{width:145px;height:145px;border:7px solid #b2b4b6;background:#eeeeef;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #fff;margin:auto auto 20px;color:#a7aaad}.badge-medal svg{width:65px;height:65px;stroke-width:1.6}.badge-card h3{font-size:15px;margin:13px 0}.badge-card p{font-size:12px;color:var(--muted);line-height:1.9}.badge-card:hover{background:transparent;transform:translateY(-3px)}.badge-card.earned .badge-medal{background:#fff4d6;color:#d3a44a;border-color:#dfbb63}.earned-badges{padding:60px 0 65px}.earned-badges h2{margin-bottom:35px}.game-options{display:flex;gap:30px;padding:22px 25px;margin-bottom:26px}.game-options label{display:flex;align-items:center;gap:14px;font-size:14px}textarea{width:100%;border:1px solid #cbd2dc;background:var(--surface);color:var(--text);padding:15px;border-radius:8px;font-size:14px;resize:vertical;line-height:1.8}.settings-page{max-width:1150px;margin:0 auto}.settings-panel{padding:26px 30px;margin-bottom:22px}.settings-panel>h2{font-size:19px;margin-bottom:15px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row strong{font-size:15px;font-weight:550}.setting-row p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:6px}.setting-row input[type=checkbox],.popup-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:39px;height:22px;background:#c3cbd6;border-radius:20px;cursor:pointer;flex-shrink:0}.setting-row input[type=checkbox]:before,.popup-switch input:before{content:"";position:absolute;width:16px;height:16px;background:#fff;top:3px;left:3px;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}.setting-row input:checked,.popup-switch input:checked{background:#5f9ddd}.setting-row input:checked:before,.popup-switch input:checked:before{transform:translate(17px)}input[type=file]{font-size:11px;max-width:240px;color:var(--muted)}input[type=file]::file-selector-button{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:8px 12px;color:var(--text);cursor:pointer;font:inherit}.popup{position:fixed;z-index:100;width:240px;background:var(--surface);border:1px solid var(--line);box-shadow:0 5px 25px #152e4426;border-radius:9px;padding:7px;animation:popup-in .16s both}.popup>button{display:flex;align-items:center;gap:10px;font-size:13px;text-align:left;width:100%;padding:11px 12px;border-radius:5px;min-height:39px}.popup>button svg{width:16px;height:16px}.popup>button>small{margin-left:auto;color:var(--muted)}.popup>h3{font-size:13px;margin:10px 11px 15px}.popup>p{font-size:11px;color:var(--muted);padding:8px 12px;line-height:1.8}.popup-switch,.popup-font{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;padding:12px 10px;cursor:pointer}.popup-font select{font-size:11px;min-height:30px}.theme-options{display:flex;flex-direction:column;gap:3px}.theme-options button{display:flex;align-items:center;gap:10px;padding:11px;font-size:12px;border-radius:5px}.theme-options svg{width:16px;height:16px}.theme-options .selected{background:var(--soft)}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#1c222f66;padding:25px;animation:fade-in .18s both}.modal{background:var(--surface);border-radius:16px;box-shadow:0 5px 30px #14263c18;max-height:calc(100dvh - 50px);overflow:auto;position:relative;padding:35px;width:min(550px,100%);animation:modal-in .22s cubic-bezier(.2,.7,.3,1) both;outline:none}.modal h2{font-size:24px;margin-bottom:18px}.modal>p{font-size:14px;color:var(--muted);line-height:1.9;margin:15px 0 25px}.modal-close{position:absolute;right:16px;top:16px;z-index:2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#2b374960;color:#fff}.modal-close svg{width:17px;height:17px}.modal-close:hover{background:#2b37498f}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:30px}.detail-modal{padding:0;width:560px}.detail-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#eef5f7}.detail-body{padding:25px 24px 23px}.detail-body>.muted{font-size:11px}.detail-body h2{font-size:20px;margin:10px 0 22px}.detail-body>p{font-size:14px;line-height:1.8;min-height:45px;margin-bottom:35px}.detail-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding-bottom:35px;border-bottom:1px solid var(--line)}.detail-meta>span{display:flex;align-items:center;gap:6px}.detail-meta svg{width:14px;height:14px}.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:23px}.detail-actions .dark-button{padding:9px 20px}.badge-modal-icon{text-align:center;color:#a2aab3;margin:10px 0 28px}.badge-modal-icon svg{width:80px;height:80px;stroke-width:1.3}.badge-modal-icon.earned{color:#d3aa4c}.attempt-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.attempt-detail strong{font-size:18px;font-weight:550}.leaving{animation:fade-out .19s both;pointer-events:none}.leaving .modal{animation:modal-out .19s both}.auth-mode main{margin:0;padding:0}.auth-page{min-height:100dvh;position:relative;background:#fcfaf7;display:flex;align-items:center;justify-content:center;padding:110px 25px 70px;overflow:hidden}.auth-brand{position:absolute;left:45px;top:5px;z-index:2}.auth-card{position:relative;z-index:1;width:500px;background:var(--surface);border-radius:21px;box-shadow:0 2px 7px #2222221c;padding:33px 32px;text-align:left}.auth-card h1{text-align:center;font-size:22px;letter-spacing:0;margin-bottom:24px}.auth-description{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:22px}.auth-card>p:not(.auth-description){font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:25px}.social-signin{display:flex;flex-direction:column;gap:8px}.social-signin button{width:100%;border-color:#435063;min-height:46px;font-size:13px}.social-signin b{font-size:16px;color:#4285f4}.social-signin button:nth-child(3) b{color:#f35325}.or-line{height:1px;background:var(--line);position:relative;margin:28px 0 25px}.or-line span{position:absolute;left:50%;transform:translate(-50%,-50%);padding:0 10px;background:var(--surface);font-size:11px;color:var(--muted)}#profile-form{display:flex;flex-direction:column;gap:20px}#profile-form>label{font-size:14px;font-weight:500;display:flex;flex-direction:column;gap:9px}#profile-name{border:1px solid #b0bac8;border-radius:30px;background:var(--surface);padding:10px 16px;font-size:14px;min-height:42px;width:100%}.restore-label{color:var(--muted)}.auth-card .dark-button{width:100%;margin-top:10px}.auth-switch{text-align:center!important;font-size:13px!important;color:var(--text)!important;margin:20px 0 0!important}.auth-switch button{font-size:13px;color:#4e94d9}.auth-back{font-size:11px;display:flex;margin:10px auto 0;color:var(--muted)}.auth-landscape{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.hill{position:absolute;border-radius:50%;background:#f5eee6}.hill.h1{width:95%;height:85%;left:-35%;bottom:-35%;transform:rotate(20deg)}.hill.h2{width:100%;height:90%;right:-55%;top:24%;background:#f6f0e9}.hill.h3{width:80%;height:80%;right:-36%;bottom:-55%;background:#ffd9c6}.windmill{position:absolute;left:9%;bottom:15%;height:170px;width:60px;background:#fff9f0;clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}.windmill span{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7c0a9;clip-path:polygon(0 0,100% 0,100% 15%,0 15%,0 0)}.windmill i,.windmill b{position:absolute;background:#ee9374;top:30px;left:-35px;width:130px;height:12px;transform:rotate(55deg)}.windmill b{transform:rotate(-55deg)}.practice-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--surface);border-radius:0;width:100%;height:100dvh;max-height:100dvh;padding:0;box-shadow:none;animation:fade-in .2s both;overscroll-behavior:contain}.practice-page .practice-toolbar{height:53px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:15px;position:sticky;top:0;background:var(--surface);z-index:3}.practice-toolbar>button{padding:3px 0;display:grid;place-items:center;width:23px;height:36px}.practice-toolbar>span{font-size:14px}.practice-tools{display:flex;align-items:center;gap:28px;margin-left:auto}.practice-tools>button{width:28px;height:36px;display:grid;place-items:center;color:var(--muted)}.practice-tools>button>svg{width:17px;height:17px}.practice-tools>button:last-child{margin-left:40px}.practice-stage{position:relative;width:min(900px,calc(100% - 100px));margin:0 auto;padding:165px 0 45px}.start-typing{position:absolute;top:0;left:-110px;width:84px;height:137px;background:#5997df;color:#fff;border-radius:0 0 8px 8px;font-size:12px;text-align:center;line-height:1.25;padding-top:99px;font-weight:350}.typing-passage{font-family:Consolas,SFMono-Regular,Microsoft YaHei,monospace;font-size:36px;line-height:1.95;color:#777b7d;white-space:pre-wrap;overflow-wrap:anywhere;max-height:232px;overflow-y:auto;border-bottom:1px solid #c8c8c8;scroll-behavior:smooth;position:relative;padding-bottom:8px}.typing-passage>span{transition:color .1s,background-color .1s}.typing-passage .caret{border-bottom:3px solid #207bd7;padding-bottom:2px}.typing-passage .correct{color:#7cbb7f}.typing-passage .incorrect{background:#f9e1df;color:#d7514b;border-radius:2px}.typing-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;resize:none;opacity:.001;z-index:1;cursor:text;outline:none;padding:0;caret-color:transparent;color:transparent;border:0}.typing-input:focus-visible{outline:none}.practice-metrics{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:14px;font-size:10px;color:var(--muted);min-height:16px;opacity:.75}.practice-metrics b{font-weight:500;color:var(--text)}.keyboard-wrap{position:relative;max-width:650px;margin:44px auto 0;padding-bottom:0}.keyboard{display:flex;flex-direction:column;align-items:stretch;gap:3px;position:relative;z-index:1}.keyboard-row{display:flex;gap:3px;justify-content:center}.key{border:1px solid #dddfe1;color:#a9adb1;background:var(--surface);height:42px;min-width:0;flex:1;display:flex;align-items:center;justify-content:center;font-family:Consolas,monospace;font-size:21px;border-radius:2px;box-shadow:0 1px 1px #0000000a;font-weight:350}.key-backspace{flex:1.6;font-size:9px}.key-tab{flex:1.5;font-size:11px;justify-content:flex-start;padding-left:8px}.key-caps-lock{flex:1.9;font-size:10px}.key-enter{flex:1.6;font-size:10px}.key-shift{flex:2.3;font-size:10px}.key-control,.key-option{flex:1.6;font-size:11px}.key-space{flex:7;font-size:12px}.key.next-key{background:#8eb9f2;color:#fff;box-shadow:inset 0 0 0 4px #c6defb}.key.practiced{background:#dcecff;color:#6386b0}.hand-guide{display:none;position:absolute;inset:65px 0 auto;width:100%;height:auto;z-index:2;pointer-events:none}.show-hands{padding-bottom:220px}.practice-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 0;color:var(--muted);font-size:10px;opacity:.55}.practice-bottom .text-button{font-size:11px}.practice-bottom:hover{opacity:1}.lives-label{text-align:right;font-size:12px;color:#d87765;margin-bottom:20px}.practice-race{position:relative;display:flex;flex-direction:column;gap:4px;margin:0 0 26px}.practice-race>span{height:4px;background:#67a5ef;border-radius:5px;width:0;transition:width .16s linear;max-width:100%}.practice-race>span:nth-child(2){background:#c6cdd5}.practice-race small{font-size:10px;color:var(--muted);position:absolute;right:0;bottom:15px}.result-page{width:100%;max-width:100%;min-height:100dvh;border-radius:0;padding:0;max-height:100dvh;background:var(--surface);position:fixed;top:0;right:0;bottom:0;left:0}.result-toolbar{height:55px;display:flex;align-items:center;gap:30px;padding:0 32px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.result-toolbar .text-button{font-size:12px}.result-body{max-width:700px;margin:75px auto 60px;text-align:center;padding:0 25px}.result-stars{display:flex;justify-content:center;gap:12px;margin-bottom:40px}.result-stars svg{width:63px;height:63px;stroke-width:1.4}.result-stars>span:nth-child(3){transform:translateY(-10px) scale(1.2)}.result-body>h2{font-size:34px;margin-bottom:17px}.result-body>p{color:var(--muted);font-size:14px;line-height:1.8}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:50px 0 28px}.result-grid>div{display:flex;flex-direction:column;gap:12px}.result-grid strong{font-size:37px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.result-grid span{font-size:13px;color:var(--muted)}.result-points{font-size:19px;color:#5a7798;background:var(--soft);border-radius:9px;padding:18px;display:flex;align-items:center;justify-content:center;gap:8px}.result-points>span{font-size:12px;margin-left:15px;color:var(--muted)}.result-actions{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:40px}.placement-result{font-size:14px;margin-top:22px}.practice-page~.popup{z-index:100}#toast{position:fixed;z-index:150;left:50%;bottom:28px;transform:translate(-50%,15px);background:#2b3749;color:#fff;border-radius:8px;padding:13px 23px;font-size:13px;line-height:1.8;max-width:min(90vw,580px);opacity:0;pointer-events:none;text-align:center;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%)}.modal textarea{margin-bottom:22px;min-height:130px}.modal a{color:#438bd3;font-size:13px}.modal a svg{width:14px;height:14px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes popup-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-out{to{opacity:0;transform:translateY(10px) scale(.98)}}:root[data-theme=dark] .brand strong{color:var(--text)}:root[data-theme=dark] .course-card,:root[data-theme=dark] .stats-panel,:root[data-theme=dark] .panel{border-color:var(--line)}:root[data-theme=dark] .time-ring>div{background:var(--bg)}:root[data-theme=dark] .segmented{background:#29313c}:root[data-theme=dark] .course-mode .topbar{background:#22353a}:root[data-theme=dark] .course-world{background:linear-gradient(#233c44,#20343e)}:root[data-theme=dark] .lesson-tile{background:#33444d;color:var(--text)}:root[data-theme=dark] .lesson-tile.locked{background:#2d3e46}:root[data-theme=dark] .tile-caption{color:#c6d2df;border-color:#4b5b64}:root[data-theme=dark] .tile-art svg,:root[data-theme=dark] .key-pair{color:#b2bdc6}:root[data-theme=dark] .tile-number{color:#bdcfdd;text-shadow:none}:root[data-theme=dark] .key{border-color:#56616c;color:#9ca9b7}:root[data-theme=dark] .typing-passage{color:#9caab8}:root[data-theme=dark] .typing-passage .incorrect{background:#6e2b2b;color:#ffaf9d}:root[data-theme=dark] .badge-illustration{background:#28323d}:root[data-theme=dark] .badge-illustration>div{background:#36424e}:root[data-theme=dark] .calendar-day.today>header{background:#2b4159}:root[data-theme=dark] .auth-page{background:var(--bg)}@media(min-width:1750px){.home-content{max-width:1325px;padding-left:55px;padding-right:55px}.subject-grid{grid-template-columns:minmax(400px,1fr) minmax(550px,1.03fr);gap:78px}.course-world{padding-left:100px;padding-right:100px}.course-sections{max-width:1050px}.course-section>h2{margin-bottom:65px}.lesson-map{gap:37px 33px}.home-content{padding-top:58px}}@media(max-width:1450px){.home-content{padding:50px 38px}.subject-grid{grid-template-columns:minmax(260px,.85fr) minmax(480px,1.25fr);gap:28px}.time-box{padding:23px 20px}.rings{gap:10px}.overall-time{padding-left:15px;min-width:100px}.overall-time strong{font-size:20px}.time-ring{width:76px;height:76px}.time-ring>div{width:63px;height:63px}.time-ring-item>strong{font-size:10px}.dashboard-lower{grid-template-columns:1.4fr 1fr}.standard-content{padding:50px 32px}.stats-panel{padding:25px}.donut{width:160px;height:160px}.donut>div{width:108px;height:108px}.time-breakdown{gap:10px}.time-breakdown strong{font-size:13px}.time-breakdown small{font-size:11px}.library-content{padding:24px 40px 60px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.course-world{padding-left:55px;padding-right:55px}.lesson-map{gap:30px 24px}.lesson-tile{padding-top:12px}.tile-number{font-size:18px}.tile-art>svg{width:31px;height:31px}.key-pair{font-size:12px}.badges-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.badge-medal{width:125px;height:125px}.badge-medal svg{width:54px;height:54px}.practice-stage{padding-top:130px}.start-typing{left:-40px;top:0;height:112px;padding-top:75px;width:70px}.practice-tools{gap:22px}.course-toolbar-title{gap:9px}.course-toolbar-title>strong{font-size:18px}.course-toolbar-title small{font-size:10px}.topbar-actions{gap:16px}.outline-button{padding:9px 20px}.recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1200px){.sidebar{width:210px}.topbar{left:210px;padding-right:24px}main{margin-left:210px}.brand strong{font-size:24px}.brand>svg{width:36px;height:33px}.home-content{padding-left:32px;padding-right:32px}.subject-grid{grid-template-columns:230px minmax(0,1fr);gap:22px}.course-card{width:230px}.cover-button{height:149px}.course-progress{margin-top:35px}.time-box{padding:20px 14px}.time-ring{width:65px;height:65px}.time-ring>div{width:54px;height:54px;font-size:10px}.time-ring>div b{font-size:9px}.rings{gap:8px}.overall-time{padding-left:9px;min-width:75px}.overall-time strong{font-size:16px}.overall-time span{font-size:9px}.performance-box{padding:23px 18px}.speed-box{padding:23px 15px}.speed-bars{gap:8px}.speed-bars span{width:30px}.speed-bars b small{display:none}.speed-bars b{font-size:10px}.speed-bars>div>small{font-size:9px}.more-stats{font-size:12px}.library-topbar{left:0}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid .course-card,.recommended-card{width:100%}.filter-sidebar{width:245px;padding-left:35px;padding-right:25px}.library-mode main{margin-left:245px}.library-heading{gap:20px}.search-input{min-width:200px;width:48%;height:48px}.library-content{padding-left:35px;padding-right:35px}.time-overview{min-height:205px;gap:15px}.time-overview>div:first-child>strong{font-size:23px}.donut{width:130px;height:130px}.donut>div{width:86px;height:86px;font-size:13px}.stats-panel{padding:23px}.time-breakdown{gap:8px}.time-breakdown>div{padding-left:13px}.time-breakdown>div>span{width:8px;height:8px;top:6px}.time-breakdown strong{font-size:11px}.time-breakdown small{font-size:10px}.panel-heading h2{font-size:14px}.panel-heading h2 svg{width:13px;height:13px}.panel-heading select{font-size:11px;max-width:115px}.attempt-overview{gap:20px}.attempt-counts{width:70px}.course-toolbar-title>small:last-child{display:none}.course-toolbar-title>strong{font-size:16px}.course-world{padding-left:40px;padding-right:40px}.lesson-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 22px}.course-section>h2{margin-bottom:45px}.badges-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-stage{width:min(850px,calc(100% - 100px))}.practice-tools>button:last-child{margin-left:15px}}@media(max-width:1000px)and (min-width:761px){.sidebar{width:180px}.topbar{left:180px}.library-topbar{left:0}main{margin-left:180px}.brand{padding-left:15px}.brand strong{font-size:21px}.brand>svg{width:31px}.sidebar nav{margin-left:12px}.nav-item{font-size:14px;gap:9px}.home-content{padding:40px 25px}.subject-grid{grid-template-columns:1fr;gap:30px}.dashboard-statistics{max-width:100%}.course-card{width:260px}.cover-button{height:170px}.recommended-card{width:100%}.time-ring{width:82px;height:82px}.time-ring>div{width:68px;height:68px}.overall-time{padding-left:20px;min-width:110px}.overall-time strong{font-size:24px}.overall-time span{font-size:11px}.time-ring-item>strong{font-size:12px}.speed-bars b small{display:inline}.performance-box{gap:9px}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:1fr}.time-overview{min-height:220px}.donut{width:170px;height:170px}.donut>div{width:115px;height:115px}.time-breakdown strong{font-size:14px}.time-breakdown small{font-size:12px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-content{padding-left:28px;padding-right:28px}.library-heading{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:40px}.search-input{width:100%}.course-toolbar-title>small{display:none}.course-toolbar-title>span{display:none}.topbar-actions .save-button{display:none}.lesson-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 20px}.course-world{padding:65px 35px}.typing-summary{grid-template-columns:1fr 1fr}.standard-content{padding-left:25px;padding-right:25px}.badges-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.badge-medal{width:110px;height:110px}.badge-card h3{font-size:13px}.practice-tools{gap:18px}.practice-tools>button:last-child{margin-left:5px}}@media(max-width:760px){html{scrollbar-gutter:auto}h1{font-size:27px}h2{font-size:19px}.sidebar{width:65px;border-right:1px solid var(--line)}.sidebar .brand{padding:16px 12px;height:65px;justify-content:center}.sidebar .brand strong{display:none}.sidebar .brand>svg{width:35px;height:34px}.sidebar nav{margin:25px 0 0 5px}.nav-item{padding:14px 12px;min-height:53px;justify-content:center;gap:0}.nav-item>span{display:none}.nav-item svg{width:21px;height:21px}.nav-separated{padding-top:23px}.sidebar-bottom{padding:14px 8px;align-items:center;gap:14px}.sidebar-bottom>button{font-size:0;padding:7px;width:31px;height:31px;justify-content:center}.sidebar-bottom>button>svg{width:15px;height:15px}.sidebar-bottom>.local-edition{font-size:8px;writing-mode:vertical-lr;letter-spacing:2px;margin:4px 0 0}.topbar{left:65px;height:65px;padding:0 14px}.topbar-actions{gap:10px}.topbar-actions .locale-button{display:none}.outline-button,.dark-button,.danger-button{min-height:38px;font-size:12px;padding:8px 16px}.topbar .outline-button{font-size:11px;padding:7px 13px;min-height:35px}.menu-button{width:22px;height:35px}.topbar .save-button{display:none}main{margin-left:65px;padding-top:65px}.home-content{padding:35px 20px 50px}.greeting{gap:12px;margin-bottom:30px}.greeting h1{font-size:28px}.greeting .dark-button{min-height:34px;font-size:10px;padding:7px 13px}.subject-title{font-size:14px;margin-bottom:18px}.subject-title>span{width:7px;height:7px}.subject-grid{grid-template-columns:1fr;gap:22px}.course-card{width:min(274px,100%);border-radius:14px}.cover-button{height:auto;aspect-ratio:3/2}.course-progress{margin-top:28px}.course-card-body{padding-top:14px}.course-title{font-size:14px}.time-box{padding:19px 12px}.rings{flex-wrap:wrap;gap:12px 6px;justify-content:space-around}.time-ring-item{flex:0 1 27%}.time-ring-item>strong{font-size:8px;margin-bottom:8px}.time-ring{width:61px;height:61px}.time-ring>div{width:50px;height:50px;font-size:8px}.time-ring>div b{font-size:8px}.time-ring-item>span{font-size:9px;margin-top:7px}.overall-time{flex-basis:100%;min-width:0;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;display:flex;justify-content:center;align-items:center;gap:12px}.overall-time strong{font-size:19px}.overall-time span{font-size:9px;margin:0}.dashboard-lower{gap:10px;grid-template-columns:1.35fr 1fr}.speed-box{padding:18px 10px 15px}.speed-bars{gap:3px;height:120px}.speed-bars b{font-size:9px}.speed-bars b small{display:none}.speed-bars span{width:22px}.speed-bars>div>small{font-size:8px}.performance-box{padding:19px 13px;gap:6px}.performance-box>span{font-size:10px}.performance-box>strong{font-size:17px;margin-bottom:13px}.dashboard-statistics fieldset{border-radius:15px}.dashboard-statistics legend{font-size:10px;padding:0 6px}.more-stats{font-size:10px;margin-top:6px}.more-stats svg{width:13px}.dashboard-subject{margin-bottom:35px}.no-practice{min-height:180px;font-size:12px;padding:25px;border-radius:15px}.section-heading{margin-bottom:18px;gap:10px}.section-heading h2{font-size:20px}.section-heading .text-button{font-size:10px}.text-button{font-size:12px}.recommendation-grid{grid-template-columns:1fr;gap:17px}.recommended-card{width:100%}.course-meta{font-size:10px}.standard-content{padding:35px 20px 50px}.page-heading{margin-bottom:28px;gap:12px}.page-heading h1{font-size:27px}.segmented{padding:3px;gap:0}.segmented button{font-size:10px;padding:8px 11px}.stats-grid{grid-template-columns:1fr;gap:0}.stats-panel{padding:21px 17px;border-radius:14px}.panel-heading{margin-bottom:20px;gap:10px;flex-wrap:wrap}.panel-heading h2{font-size:13px}.panel-heading select{min-height:30px;font-size:10px}.time-overview{gap:8px;padding:3px 0 10px;min-height:170px}.time-overview>div:first-child>strong{font-size:21px}.time-overview>div:first-child>span{font-size:11px}.donut{width:112px;height:112px}.donut>div{width:76px;height:76px;font-size:11px}.time-breakdown{margin-top:17px;flex-wrap:wrap;gap:15px}.time-breakdown strong{font-size:10px}.time-breakdown small{font-size:9px}.time-breakdown>div{padding-left:12px}.time-breakdown>div>span{width:7px;height:7px;top:5px}.attempt-overview{height:250px;gap:20px}.attempt-counts{width:58px}.attempt-counts strong{font-size:23px}.attempt-counts span,.attempt-counts small{font-size:10px}.attempt-bars small{font-size:9px}.attempt-bars span{width:25px}.calendar-panel .panel-heading{margin-bottom:25px}.week-start-label{font-size:9px;display:flex;align-items:center;gap:5px}.week-start-label select{font-size:10px;min-height:28px}.calendar-toolbar strong{font-size:13px}.calendar-toolbar{gap:5px;margin-bottom:15px}.square-button{width:24px;height:24px}.practice-calendar{overflow:hidden}.calendar-day>header{padding:10px 0}.calendar-day>header>span{font-size:0}.calendar-day>header>span:after{content:"日";font-size:9px}.calendar-day:nth-child(2)>header>span:after{content:"一"}.calendar-day:nth-child(3)>header>span:after{content:"二"}.calendar-day:nth-child(4)>header>span:after{content:"三"}.calendar-day:nth-child(5)>header>span:after{content:"四"}.calendar-day:nth-child(6)>header>span:after{content:"五"}.calendar-day:nth-child(7)>header>span:after{content:"六"}.calendar-day>header strong{font-size:14px}.calendar-events{height:150px;padding:15px 1px}.calendar-event{font-size:7px;padding:6px 2px;border-left-width:2px;overflow:hidden}.time-chart{gap:8px;height:200px}.chart-y{font-size:8px}.time-chart-bars{gap:4px}.chart-column small{font-size:7px;transform:rotate(-55deg);bottom:-24px}.table-wrap{margin-right:-7px}.panel-heading .text-button{font-size:10px}.typing-summary{grid-template-columns:1fr 1fr;gap:10px}.typing-summary>div{padding:19px 15px}.typing-summary>div>span{font-size:10px}.typing-summary strong{font-size:28px}.typing-summary small{font-size:10px}.filter-sidebar{width:190px;padding:30px 20px 25px;top:65px}.filter-sidebar>h2{font-size:21px;margin-bottom:25px}.filter-sidebar h3{font-size:13px}.filter-option{font-size:11px}.subject-options>label{font-size:11px;padding:9px}.filter-heading .text-button{font-size:9px}.library-topbar{left:0;padding-right:15px;height:65px}.library-topbar .brand{padding-left:16px;height:65px}.library-topbar .brand>svg{width:31px}.library-topbar .brand strong{font-size:22px}.library-mode main{margin-left:190px}.library-content{padding:24px 20px 50px}.library-heading{align-items:flex-start;flex-direction:column;gap:19px;margin-bottom:30px}.library-heading h1{font-size:28px}.search-input{width:100%;min-width:0;height:42px;padding:0 13px;gap:5px}.search-input input{font-size:12px;min-width:0}.search-input svg{width:16px}.library-grid{grid-template-columns:1fr;gap:15px}.library-grid .course-card{width:100%}.library-section>h2{font-size:13px;margin-bottom:16px}.library-grid .course-title{font-size:13px}.library-grid .course-card-body{padding:12px 5px 17px;min-height:85px}.library-grid .course-meta{font-size:8px;gap:4px;flex-wrap:wrap}.library-grid .course-meta svg{width:10px}.back-link{font-size:10px}.empty-search{padding:40px 0}.empty-search h2{font-size:17px}.empty-search p{font-size:11px}.empty-search .outline-button{font-size:10px;padding:7px 10px}.course-toolbar-title{display:none}.course-world{padding:50px 25px 60px}.course-section>h2{font-size:22px;margin-bottom:35px}.lesson-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 15px}.lesson-tile{padding:10px 5px 0;min-height:92px}.tile-number{font-size:15px;left:8px;top:8px}.tile-lock{right:5px;top:5px}.tile-lock svg{width:9px;height:9px}.tile-art{padding-top:16px}.tile-art>svg{width:28px;height:28px}.key-pair{font-size:8px}.tile-caption{font-size:8px;padding:5px 2px;min-height:23px;width:calc(100% + 10px);margin-left:-5px}.tile-complete{bottom:19px;width:25px;height:18px}.tile-complete svg{width:16px}.course-section{margin-bottom:75px}.minimap{right:1px;top:100px}.minimap>button{width:10px}.minimap span{width:3px}.badges-page>h1{margin-bottom:0}.badge-empty{padding:65px 0 80px}.badge-illustration{width:220px;height:220px}.badge-illustration>div{width:150px;height:150px}.badge-illustration>div>svg{width:78px;height:78px}.gold-ribbon{width:27px;height:92px;left:62px;top:24px;border-width:5px}.laurel svg{width:45px;height:45px}.laurel.left{left:8px;top:98px}.laurel.right{right:8px;top:40px}.badge-empty h2{font-size:21px;margin-top:23px}.badge-empty p{font-size:12px}.badge-section-heading{font-size:17px;margin-bottom:35px}.badges-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 15px}.badge-medal{width:95px;height:95px;border-width:5px;margin-bottom:18px}.badge-medal svg{width:42px;height:42px}.badge-card h3{font-size:13px;margin:12px 0}.badge-card p{font-size:10px}.game-options{flex-direction:column;gap:15px;padding:21px}.game-options label{font-size:12px;justify-content:space-between;gap:12px}.game-options select{font-size:12px;min-width:115px}.settings-panel{padding:22px 19px;border-radius:14px}.settings-panel>h2{font-size:17px}.setting-row{padding:21px 0;gap:15px}.setting-row strong{font-size:13px}.setting-row p{font-size:10px}.setting-row select{font-size:11px;max-width:115px}.setting-row:has(input[type=file]){flex-direction:column;align-items:flex-start}.setting-row input[type=file]{max-width:100%}.setting-row .outline-button,.setting-row .danger-button{font-size:10px;padding:8px 13px}.modal-backdrop{padding:18px}.modal{padding:29px 24px;max-height:calc(100dvh - 36px);border-radius:14px}.modal h2{font-size:22px;margin-bottom:16px}.modal>p{font-size:12px}.modal-actions{gap:9px;flex-wrap:wrap}.modal-actions>button{flex:1;font-size:12px;padding:9px 14px}.detail-modal{padding:0}.detail-body{padding:22px}.detail-body h2{font-size:20px;margin-bottom:18px}.detail-body>p{font-size:12px;margin-bottom:25px}.detail-meta{flex-wrap:wrap;gap:17px;padding-bottom:25px;font-size:11px}.detail-meta>span{width:calc(50% - 9px)}.detail-actions{flex-wrap:wrap;gap:9px;padding-top:20px}.detail-actions .outline-button{font-size:11px;padding:8px 13px}.detail-actions .dark-button{font-size:11px}.attempt-detail{gap:20px 12px}.attempt-detail strong{font-size:14px}.auth-page{padding:100px 20px 50px;min-height:100dvh;align-items:flex-start}.auth-brand{left:0;top:0}.auth-brand .brand>svg{width:33px}.auth-brand .brand strong{font-size:23px}.auth-card{padding:29px 23px;border-radius:17px}.auth-card h1{font-size:22px}.auth-card .auth-description{font-size:11px}.social-signin button{font-size:12px}.auth-card>p:not(.auth-description){font-size:11px}.auth-landscape .windmill{display:none}.auth-page .hill.h1{width:170%;left:-80%;bottom:-40%}.auth-page .hill.h2{width:180%;right:-90%}.auth-page #profile-name{font-size:16px}.practice-page{max-height:100dvh;padding:0;border-radius:0;width:100%;height:100dvh}.practice-page .practice-toolbar{padding:0 13px;gap:8px;min-height:53px}.practice-toolbar>span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.practice-tools{gap:9px}.practice-tools>button{width:22px;height:36px}.practice-tools>button>svg{width:16px;height:16px}.practice-tools>button:last-child{margin-left:1px}.practice-stage{width:calc(100% - 42px);padding:95px 0 35px}.start-typing{left:0;top:0;width:56px;height:77px;padding-top:44px;font-size:10px}.typing-passage{font-size:25px!important;max-height:195px;line-height:1.9;padding-bottom:8px}.practice-metrics{gap:13px;flex-wrap:wrap;font-size:8px;margin-top:13px}.keyboard-wrap{margin-top:35px;width:100%;max-width:650px}.keyboard,.keyboard-row{gap:2px}.key{height:29px;font-size:13px;min-width:0}.key-backspace{font-size:5px}.key-tab,.key-caps-lock,.key-enter,.key-shift{font-size:6px;padding-left:0}.key-control,.key-option{font-size:6px}.key-space{font-size:9px}.key.next-key{box-shadow:inset 0 0 0 2px #c6defb}.hand-guide{top:45px}.show-hands{padding-bottom:140px}.practice-bottom{margin-top:28px;font-size:8px;gap:8px;opacity:.8}.practice-bottom .text-button{font-size:10px}.practice-race{margin-bottom:22px}.practice-race small{font-size:8px}.lives-label{font-size:11px}.result-page{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-height:100dvh;padding:0;border-radius:0}.result-toolbar{height:54px;padding:0 20px;gap:20px;font-size:11px}.result-toolbar .text-button{font-size:10px;white-space:nowrap}.result-body{margin:65px auto 45px;padding:0 24px}.result-stars{gap:5px;margin-bottom:35px}.result-stars svg{width:46px;height:46px}.result-body>h2{font-size:29px}.result-body>p{font-size:12px}.result-grid{gap:12px;margin-top:36px}.result-grid strong{font-size:27px}.result-grid span{font-size:10px}.result-points{font-size:17px;flex-wrap:wrap;padding:18px 12px}.result-points>span{font-size:11px;margin-left:8px}.result-actions{gap:10px;flex-wrap:wrap;margin-top:29px}.result-actions>button{font-size:12px;padding:9px 17px}.popup{width:225px}.popup>button{font-size:12px}.popup-switch{font-size:11px}.practice-page .practice-tools button{min-height:36px}#toast{font-size:12px;padding:12px 18px;bottom:22px}.sidebar-collapsed main{margin-left:65px}.sidebar-collapsed .topbar{left:65px}}@media(max-width:500px){.filter-sidebar{position:relative;inset:auto;width:auto;padding:0 0 20px;border-right:0;margin:0 20px;border-bottom:1px solid var(--line);background:transparent}.filter-sidebar>h2,.filter-sidebar>h3,.filter-heading,.subject-options,.filter-sidebar>select{display:none}.filter-sidebar .sort-options{margin:0;display:flex;flex-direction:row;gap:5px;overflow:auto}.filter-option{width:auto;flex:1;justify-content:center;padding:10px 5px;font-size:10px;white-space:nowrap}.filter-option svg{display:none}.library-mode #app{padding-top:88px}.library-mode main{margin-left:0;padding-top:0}.library-content{padding:20px}.library-heading{flex-direction:row;align-items:center;gap:20px;margin-bottom:30px}.library-heading h1{font-size:29px;white-space:nowrap}.library-heading .search-input{width:65%;height:43px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-grid .course-meta>span:last-child{display:none}.library-grid .course-title{font-size:12px}.library-grid .course-card{padding:6px;border-radius:13px}.library-grid .course-card-body{padding:12px 6px 16px;min-height:84px}.library-grid .cover-button{aspect-ratio:4/3;border-radius:8px}.lesson-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 21px}.course-world{padding-left:26px;padding-right:26px}.lesson-tile{min-height:112px}.tile-art>svg{width:34px;height:34px}.tile-caption{font-size:9px;min-height:26px}.tile-number{font-size:18px}.key-pair{font-size:10px}.tile-complete{bottom:21px}.course-section>h2{font-size:21px}.topbar-actions{gap:8px}.home-content{padding-left:18px;padding-right:18px}.rings{gap:12px 4px}.time-ring-item{flex-basis:29%}.time-ring{width:58px;height:58px}.time-ring>div{width:48px;height:48px}.overall-time strong{font-size:18px}.dashboard-lower{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.performance-box{padding-left:13px;padding-right:10px}.standard-content{padding-left:18px;padding-right:18px}.badges-grid{gap:32px 10px}.badge-medal{width:85px;height:85px}.badge-medal svg{width:36px;height:36px}.badge-empty{padding-top:50px}.badge-illustration{width:200px;height:200px}.badge-illustration>div{width:140px;height:140px}.gold-ribbon{left:56px}.laurel svg{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*){animation-duration:.01ms!important}}.practice-caption{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:22px}.finger-colors .key[data-finger="0"]{background:#ece7f3;color:#5c5480}.finger-colors .key[data-finger="1"]{background:#f2e9da;color:#7c6a4d}.finger-colors .key[data-finger="2"]{background:#e0efe7;color:#4b7a68}.finger-colors .key[data-finger="3"]{background:#e1eaf4;color:#4d6a8f}.finger-colors .key[data-finger="4"]{background:#f2e2e0;color:#8f5a56}.finger-colors .key.next-key{box-shadow:inset 0 0 0 3px var(--blue);color:var(--blue)}.key.key-hit{transform:translateY(2px);filter:brightness(.94)}@media(min-width:1100px){.practice-page .typing-passage{min-height:196px}.practice-page .keyboard-wrap{margin-left:22px;margin-right:0}}.mobile-filter-toggle{display:none}@media(min-width:1750px){.home-content{max-width:1275px;position:relative;left:-38px}}@media(max-width:500px){.mobile-filter-toggle{display:flex;align-items:center;gap:8px;padding:0 0 14px;font-size:12px}.mobile-filter-toggle svg{width:14px;height:14px}.filters-open>.subject-options{display:flex}.filters-open>.filter-heading{display:flex}.filters-open>h3,.filters-open>select{display:block}.filters-open>h3{margin-top:20px}}@media(max-width:760px){.calendar-day>header>span:after{content:attr(data-day)!important}}.typeflow-brand{gap:11px}.typeflow-brand img{width:40px;height:40px;flex-shrink:0;box-shadow:0 4px 12px #2479ee20;border-radius:12px}.typeflow-brand>span{display:flex;flex-direction:column;gap:3px}.typeflow-brand strong{font-size:21px!important;letter-spacing:1px;color:var(--text, #253247)}.typeflow-brand small{font-size:11px;letter-spacing:2px;color:#778497;font-weight:500}.brand.typeflow-brand{align-items:center}.pinyin-composer{max-width:800px;margin:18px auto 12px;padding:16px 20px;border:1px solid #d9e4f2;border-radius:18px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 8px 24px #17488208;text-align:left;animation:ime-enter .28s ease both}.ime-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px;color:#536982}.ime-heading>span{display:flex;align-items:center;gap:8px;font-weight:600}.ime-heading svg{width:17px;height:17px}.ime-heading button{font-size:12px}.ime-field{display:flex;align-items:center;gap:14px;border-radius:10px;background:#edf4fe;padding:10px 14px}.ime-field>span{font-size:16px;color:#315e99;white-space:nowrap}.ime-field input{width:100%;min-width:0;border:0!important;outline:0;background:transparent!important;font-size:22px;letter-spacing:1.5px;color:#1764ca;padding:2px 0!important;box-shadow:none!important}.ime-field input::placeholder{font-size:16px;color:#91a1b6;letter-spacing:0}.ime-field:focus-within{box-shadow:0 0 0 2px #3886ef45}.ime-field input.ime-invalid{color:#cf424a}.ime-candidates{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:46px;margin-top:9px}.ime-candidate{display:flex;gap:8px;align-items:center;border:1px solid transparent;border-radius:8px;background:transparent;padding:7px 11px;font-size:18px;color:#344861;transition:background .18s,transform .18s,border-color .18s,opacity .18s;animation:ime-enter .18s both}.ime-candidate kbd{font-family:inherit;font-size:11px;color:#8593a5}.ime-candidate.selected,.ime-candidate:hover{border-color:#bed8fd;background:#e8f1ff;color:#1764ca}.ime-candidate:active{transform:scale(.95)}.ime-empty{font-size:13px;color:#8a96a6;padding-left:4px}.ime-help{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#76879a;margin-top:7px;line-height:1.6}.ime-help small{font-size:11px;color:#8e9bad}.ime-native-note{font-size:13px;color:#70839a;line-height:1.7;margin:0}.finger-hint{height:25px;text-align:center;margin-top:8px;font-size:12px;color:#7a8ba2;transition:color .18s}.practice-page .key{transition:background-color .09s,color .09s,box-shadow .09s,transform .09s,border-color .09s}.practice-page .key.next-key{background:#e4f0ff;color:#226ed1;border-color:#8dbbf4;box-shadow:0 3px #a7c8f0}.practice-page .key.is-held{transform:translateY(3px) scale(.97);background:#337ee3!important;color:#fff!important;border-color:#226cce!important;box-shadow:0 0 0 3px #337ee322!important}.practice-page .key.feedback-correct{background:#dcf3ed;color:#187963;border-color:#85cbb9}.practice-page .key.feedback-error{background:#ffe4e7!important;color:#c13c4a!important;border-color:#e77d89!important;box-shadow:0 0 0 3px #e86f8220!important}.practice-page .key.is-held.feedback-correct{background:#289d81!important;color:#fff!important;border-color:#198870!important}.practice-page .key.is-held.feedback-error{background:#d65465!important;color:#fff!important}.typing-input[hidden],.ime-local[hidden],.ime-native-note[hidden]{display:none!important}.practice-page:has(.pinyin-composer) .practice-stage{padding-top:34px}.practice-page:has(.pinyin-composer) .practice-text-area{margin-bottom:0}.practice-page:has(.pinyin-composer) .typing-passage{max-height:125px}.practice-page:has(.pinyin-composer) .start-typing{display:none}.practice-page:has(.pinyin-composer) .keyboard-wrap{margin-top:10px}.practice-page:has(.pinyin-composer) .hands-guide{max-height:140px}.practice-page:has(.pinyin-composer) .practice-metrics{margin-top:10px}.native-mode{background:var(--panel, #f7faff)}[data-theme=dark] .pinyin-composer{background:linear-gradient(145deg,#202b3b,#1b2636);border-color:#35465d}[data-theme=dark] .ime-field{background:#263950}[data-theme=dark] .ime-field>span,[data-theme=dark] .ime-field input{color:#96c3ff}[data-theme=dark] .ime-candidate{color:#bbcce0}[data-theme=dark] .ime-candidate.selected,[data-theme=dark] .ime-candidate:hover{background:#29405d;border-color:#4979b5}[data-theme=dark] .typeflow-brand strong{color:#e2ebf7}@keyframes ime-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.pinyin-composer{padding:12px;margin:12px 0 10px;border-radius:12px}.ime-field{gap:8px;padding:9px}.ime-field>span{font-size:13px}.ime-field input{font-size:19px}.ime-field input::placeholder{font-size:13px}.ime-candidate{padding:6px 8px;font-size:17px}.ime-help{gap:4px}.practice-page:has(.pinyin-composer) .practice-stage{padding-top:18px}.practice-page:has(.pinyin-composer) .typing-passage{max-height:110px}.typeflow-brand strong{font-size:19px!important}.finger-hint{margin-top:3px}}@media(prefers-reduced-motion:reduce){.pinyin-composer,.ime-candidate{animation:none}.practice-page .key{transition:none}}.practice-page:has(.pinyin-composer) .typing-passage{min-height:0}.practice-page:has(.pinyin-composer) .keyboard-wrap{margin-left:auto;margin-right:auto}.practice-page:has(.pinyin-composer) .practice-bottom{margin-top:12px;opacity:.85}@media(max-width:600px){.ime-candidates{min-height:82px;align-content:center}}.stats-panel.recent-attempts-panel{display:flex;flex-direction:column;height:472px;min-height:472px;overflow:hidden}.recent-attempts-panel .panel-heading{flex:0 0 auto;margin-bottom:14px}.recent-attempts-panel .recent-attempts-scroll{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;scrollbar-gutter:stable}.recent-attempts-panel .recent-attempts-scroll table{border-collapse:separate;border-spacing:0}.recent-attempts-panel thead th{position:sticky;top:0;z-index:2;padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line);background:var(--surface)}.recent-attempts-panel tbody td{padding-top:11px;padding-bottom:11px}.recent-attempts-panel tbody tr:last-child td{border-bottom:0}.panel-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.attempt-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.attempt-delete-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;opacity:.58;transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}.attempt-delete-button svg{width:15px;height:15px;overflow:visible;transform-origin:50% 58%;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.attempt-delete-button:is(:hover,:focus-visible){opacity:1;border-color:color-mix(in srgb,#d94b58 35%,var(--line));background:color-mix(in srgb,#d94b58 9%,transparent);color:#d94b58}.attempt-delete-button:is(:hover,:focus-visible) svg{animation:attempt-trash-wiggle .48s cubic-bezier(.2,.8,.2,1)}.attempt-delete-button:active{transform:scale(.88)}.attempt-delete-button:focus-visible{outline:2px solid color-mix(in srgb,#d94b58 52%,transparent);outline-offset:1px}.recent-attempts-panel tbody tr{transition:opacity .2s ease,transform .2s ease,background-color .18s ease}.recent-attempts-panel tbody tr:has(.attempt-delete-button:hover){background:color-mix(in srgb,#d94b58 4%,transparent)}.recent-attempts-panel tbody tr.is-removing{opacity:0;transform:translate(16px);pointer-events:none}@keyframes attempt-trash-wiggle{0%,to{transform:rotate(0) scale(1)}28%{transform:rotate(-10deg) scale(1.08)}58%{transform:rotate(7deg) scale(1.04)}78%{transform:rotate(-3deg) scale(1.02)}}:root[data-theme=dark] .attempt-delete-button:is(:hover,:focus-visible){border-color:color-mix(in srgb,#ff7b84 40%,var(--line));background:color-mix(in srgb,#ff7b84 12%,transparent);color:#ff9299}:root[data-theme=dark] .recent-attempts-panel tbody tr:has(.attempt-delete-button:hover){background:color-mix(in srgb,#ff7b84 6%,transparent)}.panel-count{color:var(--muted);font:10px Consolas,monospace;white-space:nowrap}@media(prefers-reduced-motion:reduce){.attempt-delete-button,.attempt-delete-button svg,.recent-attempts-panel tbody tr{animation:none!important;transition-duration:.01ms!important}}.course-title{display:-webkit-box;min-height:3.2em;overflow:hidden;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-card-body{min-height:112px}.badge-card{display:flex;flex-direction:column;align-items:center;min-height:250px}.badge-card>h3{display:-webkit-box;min-height:3.2em;overflow:hidden;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.badge-card>p{display:-webkit-box;min-height:5.4em;overflow:hidden;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:3}@media(max-width:900px){.stats-panel.recent-attempts-panel{height:420px;min-height:420px}.badge-card{min-height:220px}}@media(max-width:760px){.stats-panel.recent-attempts-panel{height:380px;min-height:380px}.course-card-body{min-height:100px}}:root{--blue:#0a84ff;--a1:#12c2a5;--a2:#0a84ff;--ok:#0f9d73;--bad:#ef4444;--amber:#f5a524;--bg:#fafafa;--text:#2b3749;--muted:#6f7b8a;--line:#e3e5e8;--surface:#fff;--g-hl:.55;--g-fill:rgba(255,255,255,.66);--g-fill2:rgba(255,255,255,.4);--g-edge:rgba(255,255,255,.95);--g-edge2:rgba(255,255,255,.6);--g-sh:0 18px 48px rgba(30,50,100,.14);--g-sh2:0 6px 18px rgba(30,50,100,.1);--f0:rgba(122,110,180,.3);--f1:rgba(190,160,105,.3);--f2:rgba(85,175,145,.3);--f3:rgba(95,140,200,.32);--f4:rgba(190,110,105,.3);--aurora:radial-gradient(60vmax 50vmax at 6% -8%,rgba(127,212,255,.55),transparent 60%),radial-gradient(55vmax 45vmax at 98% 6%,rgba(195,178,255,.5),transparent 60%),radial-gradient(60vmax 50vmax at 72% 110%,rgba(255,196,168,.5),transparent 60%),radial-gradient(50vmax 40vmax at -4% 100%,rgba(142,240,207,.45),transparent 60%)}:root[data-theme=dark]{--blue:#4da3ff;--a1:#2ee6c5;--a2:#4da3ff;--ok:#34d399;--bad:#ff6b6b;--amber:#fbbf24;--bg:#111722;--text:#e2e8f0;--muted:#9ba9bb;--line:#2e3b4d;--surface:#1c2534;--g-hl:.12;--g-fill:rgba(26,38,54,.72);--g-fill2:rgba(18,27,40,.6);--g-edge:rgba(255,255,255,.18);--g-edge2:rgba(80,125,185,.26);--g-sh:0 22px 56px rgba(0,0,0,.55);--g-sh2:0 8px 24px rgba(0,0,0,.45);--panel-fill:radial-gradient(120% 80% at 12% -12%,rgba(255,255,255,.07),transparent 52%),linear-gradient(145deg,rgba(8,10,14,.92),rgba(3,5,8,.88));--panel-edge:rgba(255,255,255,.1);--panel-sh:inset 0 1px 0 rgba(255,255,255,.12),0 18px 46px rgba(0,0,0,.52);--f0:rgba(150,132,220,.3);--f1:rgba(205,175,125,.28);--f2:rgba(100,185,155,.28);--f3:rgba(115,158,215,.3);--f4:rgba(210,135,130,.28);--aurora:radial-gradient(60vmax 50vmax at 6% -8%,rgba(23,71,214,.4),transparent 60%),radial-gradient(55vmax 45vmax at 98% 6%,rgba(109,40,217,.35),transparent 60%),radial-gradient(60vmax 50vmax at 72% 110%,rgba(190,24,93,.28),transparent 60%),radial-gradient(50vmax 40vmax at -4% 100%,rgba(15,118,110,.35),transparent 60%)}html{background-color:var(--bg)!important;color:var(--text);color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background-color:var(--bg)!important;color:var(--text)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--aurora);transition:opacity .2s ease}body,.sidebar,.topbar,.course-card,.panel,.stats-panel,.bento-card,.auth-flow-card,.sync-card,.security-card,.profile-hero-card,.outline-chapter-card,.modal{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.course-card,.stats-panel,.panel,.game-mode-card,.badge-card,.recommended-card,.performance-box,.speed-box,.time-box,.auth-card,.custom-practice,.lesson-tile,.modal,.popup,.pinyin-composer,.practice-text-area,.practice-metrics span,.result-body,.result-points,.keyboard-wrap:before,.outline-button,.ime-candidate,.search-input,.segmented,.setting-row select,.filter-sidebar{background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh)}.outline-button,.ime-candidate,.search-input,.segmented,.setting-row select,.practice-metrics span,.result-points{box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)}:root[data-theme=dark] .course-card,:root[data-theme=dark] .stats-panel,:root[data-theme=dark] .panel{border-color:var(--g-edge2)}.course-card,.stats-panel,.panel,.game-mode-card,.badge-card,.recommended-card{border-radius:26px}.course-card,.game-mode-card,.badge-card,.recommended-card{transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s}.course-card:hover,.game-mode-card:hover,.badge-card:hover,.recommended-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--g-edge),0 26px 52px #1e3c8233;background-color:transparent}.game-mode-card:hover{background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2))}.game-mode-card>span{box-shadow:inset 0 1px #ffffffb3}.sidebar{background:linear-gradient(180deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border-right:1px solid var(--g-edge2);box-shadow:inset -1px 0 0 var(--g-edge)}.sidebar nav{margin:30px 14px 0}.nav-item{border-radius:16px}.nav-item:hover:not(.active){background:color-mix(in srgb,var(--blue) 10%,transparent)}.nav-item.active{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-weight:600;box-shadow:inset 0 1px #ffffff80,0 10px 22px color-mix(in srgb,var(--a2) 32%,transparent)}.nav-item.active:after{display:none}.nav-item.active svg{stroke:#fff}.topbar{background:color-mix(in srgb,var(--bg) 45%,transparent);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%)}.dark-button{background:linear-gradient(135deg,var(--a1),var(--a2));border:0;color:#fff;box-shadow:inset 0 1px #ffffff80,0 10px 22px color-mix(in srgb,var(--a2) 32%,transparent)}.dark-button:hover{background:linear-gradient(135deg,var(--a1),var(--a2));filter:brightness(1.07)}.outline-button:hover{background-color:transparent;filter:brightness(1.04)}.modal-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal{border-radius:32px}.popup{border-radius:20px}#toast{background:#0f1624d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff40,0 10px 30px #0000004d}.lesson-tile{border-radius:18px}.sound-tools{display:flex;gap:10px;align-items:center}.popup.sound-popover{width:min(420px,calc(100vw - 20px));min-width:360px}.sound-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:126px;padding:2px 6px 2px 2px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent}.sound-options::-webkit-scrollbar{display:block!important;width:4px!important}.sound-options::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:99px}.popup .sound-options button{display:flex;align-items:center;height:38px;min-height:38px;text-align:left;padding:0 10px;border-radius:12px;font-size:13px;scroll-snap-align:start;white-space:nowrap}.sound-options button.selected{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff}.practice-page,.result-page{background:var(--aurora),var(--bg)}.practice-page .practice-toolbar,.result-toolbar{background:var(--g-fill2);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border-bottom:1px solid var(--g-edge2)}.start-typing{background:linear-gradient(160deg,var(--a1),var(--a2));box-shadow:0 12px 24px color-mix(in srgb,var(--a2) 35%,transparent);font-weight:600}.practice-text-area{position:relative;border-radius:30px;padding:22px 30px 12px;transition:box-shadow .3s}.typing-passage{border-bottom:0;color:var(--muted)}.typing-passage .correct{color:var(--ok)}.typing-passage .incorrect{background:var(--bad);color:#fff;border-radius:7px}.typing-passage .caret{border-bottom:0;padding:0;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--a2) 25%,transparent),0 4px 14px color-mix(in srgb,var(--a2) 45%,transparent)}.typing-passage .pop{position:relative;animation:glass-pop .24s}@keyframes glass-pop{40%{top:-6px;text-shadow:0 0 14px currentColor}}.practice-text-area.hot{box-shadow:inset 0 1px 0 var(--g-edge),0 0 0 1px #ff8c3c80,0 0 46px #ff8c3c59}.shake{animation:glass-shake .22s}@keyframes glass-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.float-text{position:absolute;left:50%;top:6px;z-index:3;font-weight:800;font-size:22px;color:var(--a2);pointer-events:none;white-space:nowrap;animation:glass-float .9s ease-out forwards}.float-text.combo{color:#ff8a3d}@keyframes glass-float{0%{opacity:1;transform:translate(-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-48px) scale(1.2)}}body.edge-flash:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;box-shadow:inset 0 0 100px #ff3b3066;animation:glass-edge .3s forwards}@keyframes glass-edge{to{opacity:0}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:300}.practice-metrics{opacity:1;font-size:13px;gap:12px;margin-top:18px}.practice-metrics span{padding:8px 18px;border-radius:22px}.practice-metrics b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.practice-race>span{height:8px;background:linear-gradient(90deg,var(--a1),var(--a2));box-shadow:0 0 12px color-mix(in srgb,var(--a2) 55%,transparent)}.practice-race>span:nth-child(2){background:linear-gradient(90deg,#f59e0b,#fb923c);box-shadow:none}#practice-keyboard{position:relative;max-width:680px;margin:16px auto 0;padding:16px 18px 12px;border-radius:28px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh);transition:all .25s ease}.practice-page #practice-keyboard:not(.hidden){animation:keyboard-reveal .32s cubic-bezier(.2,.7,.3,1) both}@keyframes keyboard-reveal{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.keyboard-wrap{position:relative;width:100%;max-width:650px;margin:0 auto;padding-bottom:0}.keyboard-wrap.show-hands{padding-bottom:155px!important;overflow:visible!important}.keyboard-wrap:before{display:none}.key{position:relative;border-radius:10px;border:1px solid var(--g-edge2);color:var(--text);font-weight:500;background:linear-gradient(180deg,#ffffff9e,#ffffff0f 62%),var(--fc,rgba(255,255,255,.3));box-shadow:inset 0 1px 0 var(--g-edge),inset 0 -3px #0000001f,0 6px 10px #14285a1a}:root[data-theme=dark] .key{border-color:var(--g-edge2);color:var(--text);background:linear-gradient(180deg,#ffffff29,#ffffff05 62%),var(--fc,rgba(255,255,255,.06))}.finger-colors .key[data-finger="0"]{--fc:var(--f0)}.finger-colors .key[data-finger="1"]{--fc:var(--f1)}.finger-colors .key[data-finger="2"]{--fc:var(--f2)}.finger-colors .key[data-finger="3"]{--fc:var(--f3)}.finger-colors .key[data-finger="4"]{--fc:var(--f4)}.key.practiced{background:linear-gradient(180deg,#ffffff8c,#ffffff0d 62%),color-mix(in srgb,var(--a1) 28%,transparent);color:var(--text)}.key.next-key{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;border-color:transparent;transform:translateY(-3px) scale(1.06);z-index:2;box-shadow:inset 0 1px #ffffff80,0 0 0 2px var(--a2),0 0 26px color-mix(in srgb,var(--a2) 65%,transparent)}.key.is-held{transform:translateY(3px);filter:brightness(.93)}.key.feedback-correct:after,.key.feedback-error:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;animation:glass-ripple .38s ease-out}.key.feedback-correct{background:linear-gradient(180deg,rgba(255,255,255,.4),transparent 60%),var(--ok);color:#fff}.key.feedback-error{background:linear-gradient(180deg,rgba(255,255,255,.3),transparent 60%),var(--bad);color:#fff}@keyframes glass-ripple{0%{box-shadow:0 0 color-mix(in srgb,var(--a2) 60%,transparent)}to{box-shadow:0 0 0 14px transparent}}.pinyin-composer{border-radius:26px}.ime-candidate{border-radius:16px}.ime-candidate.selected{outline:2px solid var(--a2);background:color-mix(in srgb,var(--a2) 14%,transparent)}.ime-candidate kbd{color:var(--muted)}.hand-guide{display:none;position:absolute;left:0;right:0;top:50px;width:100%;height:auto;z-index:2;pointer-events:none}.show-hands .hand-guide{display:block}.finger-hint{position:relative;z-index:3;height:26px;line-height:26px;text-align:center;margin-top:8px;font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.5px}.practice-page{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important;box-shadow:none!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}.practice-stage{position:relative;width:min(920px,calc(100% - 60px));margin:0 auto;padding:40px 0 24px!important}.practice-text-area{position:relative}.practice-page:has(.pinyin-composer) .practice-stage{padding:12px 0 16px!important}.practice-page:has(.pinyin-composer) .typing-passage{max-height:100px!important;min-height:0!important}.practice-page:has(.pinyin-composer) .pinyin-composer{max-width:780px!important;margin:6px auto!important;padding:10px 16px!important;border-radius:18px!important}.practice-page:has(.pinyin-composer) #practice-keyboard{margin-top:8px!important;padding:12px 14px 10px!important}.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:135px!important;overflow:visible!important}.practice-page:has(.pinyin-composer) .finger-hint{margin-top:5px!important}.practice-page:has(.pinyin-composer) .practice-bottom{margin-top:8px!important}@media(max-width:900px){.user-hub-button .user-display-name{display:none}.user-hub-button{padding:6px 8px;gap:6px}}@media(max-width:760px){.user-hub-button .hub-status-dot,.tool-tile span{display:none}.tool-tile{padding:8px 4px}}.sidebar-bottom{margin-top:auto;padding:12px 14px 16px!important;display:flex;flex-direction:column;gap:10px!important}.sidebar-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.tool-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 6px;border-radius:14px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);border:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;position:relative;transition:all .24s cubic-bezier(.34,1.56,.64,1);width:100%}.tool-tile:hover{background:linear-gradient(135deg,#ffffffe6,#ffffff80);transform:translateY(-2px);color:var(--blue);border-color:var(--blue);box-shadow:inset 0 1px 0 var(--g-edge),0 6px 16px #0a84ff2e}.tool-tile:active{transform:scale(.95)}.tool-tile.active{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff80,0 6px 16px color-mix(in srgb,var(--a2) 40%,transparent)}.tool-tile.active svg{color:#fff!important}.tool-tile svg{width:18px;height:18px;color:var(--blue);transition:transform .28s cubic-bezier(.34,1.56,.64,1)!important}.tool-tile:hover svg{transform:scale(1.22) rotate(6deg)}.tool-tile .support-count{position:absolute;top:4px;right:6px;background:var(--blue);color:#fff;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700}.sidebar-status-tag{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 10px;border-radius:20px;background:color-mix(in srgb,var(--text) 4%,transparent);width:100%}.status-pulse-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}button svg,a svg{transition:transform .26s cubic-bezier(.34,1.56,.64,1),filter .24s ease!important}.nav-item:hover svg{transform:scale(1.2) translateY(-1px);filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--blue) 50%,transparent))}.nav-item:active svg{transform:scale(.92)}.nav-item.active svg{animation:svg-spring-pop .38s cubic-bezier(.34,1.56,.64,1)}@keyframes svg-spring-pop{0%{transform:scale(.75)}60%{transform:scale(1.25) rotate(4deg)}to{transform:scale(1) rotate(0)}}.locale-button{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:20px;border:1px solid var(--g-edge2);background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));font-size:13px;font-weight:600;color:var(--text);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2);transition:all .2s}.locale-button:hover{background:linear-gradient(135deg,#ffffffe6,#ffffff80);color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.locale-button:hover svg:first-child{transform:rotate(20deg) scale(1.15)}.locale-button:hover svg:last-child{transform:translateY(2px)}.locale-flag{font-size:15px;line-height:1}.lang-options{display:flex;flex-direction:column;gap:5px;min-width:170px;padding:4px}.lang-options button{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:550;color:var(--text);border:0;background:transparent;cursor:pointer;transition:all .18s;width:100%;text-align:left}.lang-options button:hover{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}.lang-options button.selected{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-weight:700}.lang-options button.selected svg{margin-left:auto;stroke:#fff;width:15px;height:15px}.lang-flag{font-size:16px}.user-hub-button{display:flex;align-items:center;gap:9px;padding:6px 14px;border-radius:24px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));border:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2);color:var(--text);font-size:14px;font-weight:600}.user-hub-button:hover{transform:translateY(-1px);border-color:var(--blue);color:var(--blue)}.user-avatar-tag{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-size:13px;font-weight:700;box-shadow:0 2px 6px color-mix(in srgb,var(--a2) 40%,transparent)}.hub-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981}.hub-status-dot.is-offline{background:#9aa7b5;box-shadow:none}.modal-backdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#0f172a73!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;padding:24px!important}.modal{position:relative!important;border-radius:28px!important;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2))!important;-webkit-backdrop-filter:blur(28px) saturate(180%)!important;backdrop-filter:blur(28px) saturate(180%)!important;border:1px solid var(--g-edge2)!important;box-shadow:inset 0 1px 0 var(--g-edge),0 24px 60px #0f172a40!important;max-height:calc(100dvh - 48px)!important;overflow-y:auto!important;outline:none!important}.modal-close{position:absolute!important;right:18px!important;top:18px!important;z-index:20!important;width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--text) 8%,transparent)!important;color:var(--text)!important;border:1px solid var(--g-edge2)!important;box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)!important;cursor:pointer!important;transition:all .2s!important}.modal-close:hover{background:color-mix(in srgb,var(--blue) 20%,transparent)!important;color:var(--blue)!important;transform:rotate(90deg)!important}.fb-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin-bottom:14px}.fb-form input,.fb-form select,.fb-form textarea{border:1px solid var(--g-edge2);background:var(--surface);border-radius:12px;padding:10px 14px;font-size:14px;color:var(--text)}.sync-card{padding:16px;border-radius:16px;background:var(--soft);border:1px solid var(--line)}.sync-card h3{margin:0 0 6px;font-size:14px}.sync-card p{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.6}.file-picker-label{cursor:pointer;position:relative}.fb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fb-list-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fb-items-scroll{display:flex;flex-direction:column;gap:12px;max-height:360px;overflow-y:auto;padding-right:4px}.fb-item-card{padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--g-sh2)}.fb-item-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.fb-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:8px;background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}.fb-time{margin-left:auto;font-size:11px;color:var(--muted)}.fb-item-card p{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--text)}.fb-id{font-size:11px;color:var(--muted)}.result-body{border-radius:38px;padding:44px 36px 40px;margin-top:56px}.result-stars .earned{animation:glass-star .55s both}.result-stars>span:nth-child(2).earned{animation-delay:.14s}.result-stars>span:nth-child(3).earned{animation-delay:.28s}.result-stars>span:nth-child(4).earned{animation-delay:.42s}.result-stars>span:nth-child(5).earned{animation-delay:.56s}.stars .earned{color:var(--amber);filter:drop-shadow(0 2px 8px rgba(245,165,36,.5))}@keyframes glass-star{0%{opacity:0;transform:scale(.2) rotate(-40deg)}70%{transform:scale(1.35) rotate(8deg)}to{opacity:1;transform:none}}.result-points{border-radius:20px}main{padding-top:88px!important}.home-content{padding-top:24px!important;padding-bottom:60px!important}.greeting{margin-bottom:28px!important}.sidebar-bottom{padding:16px 18px 22px!important;gap:8px!important}.local-edition{font-size:11px!important;color:var(--muted);opacity:.85;margin-top:4px}@media(prefers-reduced-transparency:reduce){.course-card,.stats-panel,.panel,.game-mode-card,.badge-card,.recommended-card,.sidebar,.topbar,.modal,.popup,.pinyin-composer,.practice-text-area,.result-body,.keyboard-wrap:before,.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.typing-passage .pop,.result-stars .earned,.float-text{animation:none}}.auth-config-notice{margin:0 0 18px;padding:12px 16px;border:1px solid rgba(36,118,222,.24);border-radius:14px;background:#e7f3ffbd;color:#315675;font-size:.88rem;line-height:1.5}.practice-text-area.reward-pulse{animation:practice-reward-area .4s cubic-bezier(.2,.75,.25,1)}.practice-metrics.reward-pulse span{animation:practice-reward-metric .4s cubic-bezier(.2,.75,.25,1)}#practice-keyboard.reward-pulse{animation:practice-reward-keyboard .4s cubic-bezier(.2,.75,.25,1)}@keyframes practice-reward-area{0%{transform:translateY(0);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh)}38%{transform:translateY(-3px);box-shadow:inset 0 1px 0 var(--g-edge),0 0 0 3px color-mix(in srgb,var(--a1) 18%,transparent),0 18px 46px color-mix(in srgb,var(--a1) 16%,transparent)}to{transform:translateY(0);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh)}}@keyframes practice-reward-metric{0%,to{transform:scale(1)}45%{transform:translateY(-2px) scale(1.035)}}@keyframes practice-reward-keyboard{0%,to{transform:translateY(0)}45%{transform:translateY(-3px) scale(1.006)}}@media(prefers-reduced-motion:reduce){.practice-text-area.reward-pulse,.practice-metrics.reward-pulse span,#practice-keyboard.reward-pulse{animation:none!important}}.brand.typeflow-brand{gap:10px;isolation:isolate;text-decoration:none;transition:opacity .22s ease,transform .22s ease;animation:brand-reveal .45s cubic-bezier(.2,.75,.25,1) both}.brand.typeflow-brand .typeflow-mark{position:relative;display:block;flex:0 0 44px;width:44px;height:44px;border-radius:13px;overflow:hidden;filter:drop-shadow(0 3px 6px #3162ac18);transition:transform .3s cubic-bezier(.2,.75,.25,1),filter .3s ease}.brand.typeflow-brand .typeflow-mark img{display:block;width:44px;height:44px;max-width:none;border-radius:0;box-shadow:none;transition:transform .3s ease}.brand.typeflow-brand .typeflow-mark:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;background:linear-gradient(110deg,transparent 38%,#ffffffa6 49%,transparent 60%);transform:translate(-95%);opacity:0;pointer-events:none;transition:transform .6s ease,opacity .25s ease}.brand.typeflow-brand .typeflow-wordmark{font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:24px!important;font-weight:650;letter-spacing:-.85px!important;line-height:1.1;color:#1e304b;transition:color .22s ease,text-shadow .22s ease}.brand.typeflow-brand .typeflow-wordmark>span{color:#356ba8;transition:color .22s ease}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand{--elastic-primary:#1e304b;--elastic-accent:#356ba8;--elastic-letter-spacing:-.85;position:relative;display:block;flex:0 0 114px;width:114px;height:36px;margin-left:-7px;overflow:visible;touch-action:none;cursor:grab;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand[data-elastic-grabbing=true]{cursor:grabbing}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand>.elastic-mesh-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .24s ease}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand[data-elastic-ready=true]>.elastic-mesh-canvas{opacity:1}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand>.elastic-mesh-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--elastic-primary);font:650 24px/1.1 Inter,Segoe UI,system-ui,sans-serif;letter-spacing:-.85px;white-space:nowrap;pointer-events:none;transition:opacity .2s ease}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand>.elastic-mesh-fallback .typeflow-flow{color:var(--elastic-accent)}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand[data-elastic-ready=true]>.elastic-mesh-fallback{opacity:0}.brand.typeflow-brand elastic-wordmark.elastic-mesh-brand[data-elastic-fallback=true]>.elastic-mesh-canvas{display:none}.brand.typeflow-brand:hover .typeflow-mark{transform:translateY(-1px) rotate(-4deg);filter:drop-shadow(0 5px 8px #3162ac29)}.brand.typeflow-brand:hover .typeflow-mark:after{transform:translate(95%);opacity:.75}.brand.typeflow-brand:hover .typeflow-wordmark>span{color:#1b75d1}.brand.typeflow-brand:active{transform:scale(.975)}.brand.typeflow-brand:active .typeflow-mark{transform:scale(.96)}.brand.typeflow-brand:focus-visible{outline:2px solid #5b9adf;outline-offset:-3px;border-radius:12px}:root[data-theme=dark] .brand.typeflow-brand .typeflow-wordmark{color:#e5edf8}:root[data-theme=dark] .brand.typeflow-brand .typeflow-wordmark>span{color:#9bcaff}:root[data-theme=dark] .brand.typeflow-brand elastic-wordmark.elastic-mesh-brand{--elastic-primary:#e5edf8;--elastic-accent:#9bcaff}:root[data-theme=dark] .brand.typeflow-brand .typeflow-mark{filter:drop-shadow(0 3px 9px #599aeb26)}@keyframes brand-reveal{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.brand.typeflow-brand{gap:8px}.brand.typeflow-brand .typeflow-wordmark{font-size:22px!important}.brand.typeflow-brand .typeflow-mark,.brand.typeflow-brand .typeflow-mark img{width:40px;height:40px}.brand.typeflow-brand .typeflow-mark{flex-basis:40px}}@media(prefers-reduced-motion:reduce){.brand.typeflow-brand,.brand.typeflow-brand *,.brand.typeflow-brand:after{animation:none!important;transition:none!important}.brand.typeflow-brand .typeflow-mark:after{display:none}}.pixel-icon{width:24px;height:24px;flex-shrink:0;shape-rendering:crispEdges}.course-world.quest-world{min-height:calc(100dvh - 72px);padding:30px 32px 50px;overflow:visible;background:linear-gradient(180deg,#f5faffd9,#f8fafdd9 520px);color:var(--text)}.quest-container{max-width:1120px;margin:auto;min-width:0}.quest-breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#8393a8;margin-bottom:22px}.quest-breadcrumb>.pixel-icon{width:17px;height:17px}.quest-breadcrumb b{font:500 10px Consolas,monospace;letter-spacing:1.3px;color:#5f7796}.learning-tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}.learning-track{min-width:0;display:flex;align-items:center;text-align:left;gap:12px;padding:16px;border:1px solid #dfe7f1;border-radius:12px;background:#ffffffb3;box-shadow:0 3px #dfe7f144,inset 0 1px #fff;color:#55667d;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.learning-track:hover{border-color:#a5c8f4;background:#fff;transform:translateY(-2px)}.learning-track:active{transform:translateY(1px) scale(.985)}.learning-track.is-active{background:linear-gradient(125deg,#edf5ff,#fff);border-color:#8cb8ef;box-shadow:0 3px #c4daf6,inset 0 1px #fff}.track-symbol{width:39px;height:39px;display:grid;place-items:center;background:#edf3fa;border:1px solid #e0eaf5;border-radius:8px;color:#7890ad}.learning-track.is-active .track-symbol{background:#3279d7;color:#fff;border-color:#3279d7;box-shadow:0 3px #235aa6}.track-copy{flex:1;min-width:0}.track-copy>small{font:10px Consolas,monospace;letter-spacing:1.3px;color:#92a0b3}.track-copy>strong{display:flex;align-items:baseline;gap:10px;margin-top:4px;font-size:17px;font-weight:650;color:#31445f}.track-copy>strong>span{font-size:10px;font-weight:400;white-space:nowrap;color:#8a9aaf}.track-tail{display:flex;color:#99adc4}.track-tail svg{width:18px;height:18px}.track-tail b{font-size:10px;font-weight:500;white-space:nowrap}.quest-hero{display:flex;align-items:center;justify-content:space-between;position:relative;min-height:215px;padding:24px 30px;border:1px solid #dbe7f4;border-radius:16px;background:radial-gradient(ellipse at 90% 15%,#dcecffaa,transparent 60%),linear-gradient(120deg,#fff,#f5faff);box-shadow:0 8px 32px #254f8710,inset 0 1px #fff;overflow:hidden}.quest-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(#9bb7d42b .8px,transparent .8px);background-size:12px 12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}.quest-hero-copy{position:relative;z-index:1}.quest-eyebrow{font:10px Consolas,monospace;letter-spacing:1.5px;color:#7f95af}.quest-hero h1{font-size:32px;line-height:1.3;margin:9px 0;color:#253a58;letter-spacing:1px;font-weight:700}.quest-hero p{font-size:12px;color:#7d8ea5;line-height:1.8;margin:0 0 22px}.quest-start.pixel-button{display:inline-flex;align-items:center;gap:9px;border:1px solid #286ac4;border-radius:7px;padding:11px 14px;background:linear-gradient(#458ee9,#3277d2);color:#fff;font-size:12px;font-weight:600;box-shadow:0 4px #24579e,inset 0 1px #8dbbff;transition:transform .2s,box-shadow .2s,filter .2s}.quest-start .pixel-icon{width:17px;height:17px}.quest-start span{font:10px Consolas,monospace;letter-spacing:.5px;opacity:.7;margin-left:9px}.quest-start:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 6px #24579e,inset 0 1px #8dbbff}.quest-start:active{transform:translateY(3px);box-shadow:0 1px #24579e}.quest-hero-art{width:230px;flex-shrink:0;position:relative;text-align:center}.quest-island{width:220px;height:140px;shape-rendering:crispEdges;filter:drop-shadow(0 12px 12px #648db91a)}.quest-hero-art>span{display:block;font:8px Consolas,monospace;letter-spacing:2px;color:#8da3ba}.quest-course-switch{display:flex;align-items:center;gap:12px;margin:16px 0 20px;font-size:11px;color:#7589a4;position:relative}.quest-switch-label{display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.3px;color:#4f6b8c;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none}.quest-switch-label .pixel-icon{width:16px;height:16px;color:#3975c3}.quest-switch-rail,.quest-chapters-rail{position:relative;display:flex;align-items:center;gap:6px;flex:1;min-width:0}.quest-switch-track,.quest-course-switch>div{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;min-width:0;flex:1;padding:5px 8px;background:#ffffffa6;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(205,222,244,.8);border-radius:12px;box-shadow:inset 0 1px #fff,0 4px 16px #234b870d;cursor:grab;-webkit-user-select:none;user-select:none;scroll-behavior:smooth}.quest-switch-track.is-dragging{cursor:grabbing!important;scroll-behavior:auto!important}.quest-scroll-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:8px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(205,222,244,.9);color:#537093;cursor:pointer;flex-shrink:0;box-shadow:0 2px 6px #28508c0f;transition:all .2s cubic-bezier(.16,1,.3,1)}.quest-scroll-arrow .pixel-icon{width:14px;height:14px}.quest-scroll-arrow:hover{background:#fff;color:#2563eb;border-color:#93c5fd;transform:scale(1.08);box-shadow:0 4px 12px #2563eb29}.quest-scroll-arrow:active{transform:scale(.95)}.quest-course-chip{flex-shrink:0;white-space:nowrap;padding:6px 13px;font-size:11.5px;font-weight:500;letter-spacing:.2px;color:#5a7291;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1)}.quest-course-chip:hover{background:#e6f1ffcc;color:#2563eb;transform:translateY(-1px)}.quest-course-chip.selected{background:linear-gradient(135deg,#fffffffa,#ebf5ffeb);border-color:#93c5fd;color:#1d4ed8;font-weight:600;box-shadow:0 2px 8px #2563eb29,inset 0 1px #fff;transform:translateY(-1px)}.quest-course-chip:active{transform:scale(.96) translateY(0)}.quest-progress-panel{display:flex;gap:24px;align-items:center;padding:17px 22px;border:1px solid #e0e8f1;border-radius:12px;background:#ffffffb3}.quest-progress-main{flex:1}.quest-progress-label{display:flex;align-items:center;gap:8px;color:#71849c;font-size:11px}.quest-progress-label>svg{width:16px;height:16px;color:#8fa8c6}.quest-progress-label>strong{margin-left:auto;color:#385778;font-size:15px}.quest-progress-label small{font-size:10px;color:#8c9bad;font-weight:400}.quest-progress-meter{height:6px;overflow:hidden;border-radius:2px;background:#edf1f6;margin-top:10px;box-shadow:inset 0 1px #d8e1ed}.quest-progress-meter>span{display:block;height:100%;background:repeating-linear-gradient(90deg,#4e91df 0,#4e91df 8px,#78acec 8px,#78acec 10px);transition:width .5s ease}.quest-small-stat{display:grid;grid-template-columns:20px auto;column-gap:8px;row-gap:3px;border-left:1px solid #e6ecf4;padding-left:22px}.quest-small-stat>.pixel-icon{grid-row:1/3;align-self:center;width:20px;height:20px;color:#90a7c4}.quest-small-stat strong{font:600 16px Consolas,monospace;color:#4b6382}.quest-small-stat span{font-size:10px;color:#8b9aaf}.quest-map-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:36px 0 18px}.quest-map-heading h2{font-size:20px;color:#344c6d;margin:7px 0 0}.quest-map-heading .quest-eyebrow{font-size:9px}.quest-legend{display:flex;gap:14px;font-size:10px;color:#8495aa}.quest-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.quest-legend i{display:inline-block;width:6px;height:6px;background:#b9c6d6;box-shadow:1px 1px #9dafc4}.quest-legend .legend-current{background:#3984df;box-shadow:1px 1px #225ea7}.quest-legend .legend-cleared{background:#73b5a4;box-shadow:1px 1px #458c7a}.quest-chapters-rail{position:relative;display:flex;align-items:center;gap:6px;margin:16px 0 22px;min-width:0}.quest-chapters{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:4px 2px;flex:1;min-width:0;cursor:grab;scroll-behavior:smooth}.quest-chapters.is-dragging{cursor:grabbing!important;scroll-behavior:auto!important}.quest-chapters>button{flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:#ffffffbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(220,231,243,.9);color:#556e8e;font-size:11px;box-shadow:0 2px 6px #28508c0a;transition:all .2s cubic-bezier(.16,1,.3,1)}.quest-chapters>button:hover{background:#fff;border-color:#93c5fd;color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1f}.quest-chapters>button:active{transform:scale(.98)}.quest-chapters b{font:10px Consolas,monospace;color:#8fa5c2}.quest-chapters small{font:9px Consolas,monospace;color:#8299b6}.quest-stage{scroll-margin-top:90px;position:relative;border:1px solid #dce6f1;border-radius:12px;margin-bottom:24px;background:#ffffffd9;box-shadow:0 5px 22px #344f7510;overflow:hidden}.quest-stage-header{display:flex;align-items:center;gap:14px;padding:20px 23px;border-bottom:1px solid #eaf0f7;background:linear-gradient(100deg,#f0f6ff,#fff)}.quest-world-number{display:block;font:8px/1.4 Consolas,monospace;letter-spacing:.5px;color:#8ba4c1;border-right:1px solid #d7e4f4;padding-right:15px}.quest-world-number b{font-size:22px;font-weight:500;letter-spacing:1px;color:#4774a8}.quest-stage-header h2{font-size:17px;font-weight:650;color:#3d587b;margin:0 0 5px}.quest-stage-header p{font-size:10px;color:#93a2b4;margin:0;line-height:1.5}.quest-stage-progress{display:flex;align-items:center;gap:6px;font:10px Consolas,monospace;color:#a0afc1;margin-left:auto;white-space:nowrap}.quest-stage-progress .pixel-icon{width:14px;height:14px;color:#aebed0}.quest-stage-progress b{color:#6884a4;font-weight:500}.quest-level-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:12px;row-gap:20px;padding:28px 23px 24px;background-image:radial-gradient(#a5bed224 .7px,transparent .7px);background-size:10px 10px}.quest-level{display:flex;position:relative;flex-direction:column;align-items:center;gap:0;min-width:0;min-height:146px;padding:8px 4px;border-radius:8px;border:1px solid transparent;background:transparent;color:#617997;transition:transform .22s,background .22s,border-color .22s}.quest-level:before{content:"";position:absolute;left:-8px;right:-8px;top:62px;height:3px;background:repeating-linear-gradient(90deg,#cfdfef 0,#cfdfef 4px,transparent 4px,transparent 8px);z-index:0}.quest-level.is-current{background:#eff6ff9c;border-color:#c8defa}.quest-level:hover{background:#f1f6fc;border-color:#d5e5f7;transform:translateY(-3px)}.quest-level:active{transform:translateY(1px) scale(.97)}.quest-level.is-locked:hover{background:#f5f7fa;border-color:#e5ebf2}.quest-level:focus-visible{outline:2px solid #5296ef;outline-offset:2px}.quest-level-top{display:flex;justify-content:center;align-items:center;gap:9px;min-height:19px;width:100%;margin-bottom:7px;position:relative;z-index:1}.quest-level-top b{font:600 12px Consolas,monospace;color:#8fa4bd}.quest-level-top>.pixel-icon{width:11px;height:11px;color:#b2c1d2}.quest-level-top small{font:8px Consolas,monospace;color:#3074ca;background:#e0edff;padding:3px 4px}.quest-level-pad{display:grid;place-items:center;width:62px;height:56px;margin-bottom:10px;position:relative;z-index:1;background:linear-gradient(145deg,#f8fbff,#e7eff9);box-shadow:inset 0 2px #fff,inset 0 -5px #c8d9ed;clip-path:polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,100% 3px,100% calc(100% - 6px),calc(100% - 3px) calc(100% - 6px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 3px),0 calc(100% - 3px),0 3px,6px 3px);transition:background .22s,transform .22s,box-shadow .22s;color:#8fa9c7}.quest-level-pad>.pixel-icon{width:26px;height:26px;margin-bottom:3px}.is-current .quest-level-pad{background:linear-gradient(145deg,#71a8f2,#347bd7);box-shadow:inset 0 2px #9fc9ff,inset 0 -6px #2660ac;color:#fff}.is-current .quest-level-top b{color:#3373c5}.is-cleared .quest-level-pad{background:linear-gradient(145deg,#dcf1ee,#c7e5dd);box-shadow:inset 0 2px #f2fffb,inset 0 -5px #91c1b5;color:#539280}.is-cleared .quest-level-top>.pixel-icon{color:#66a695}.is-locked .quest-level-pad{background:linear-gradient(145deg,#f4f6f9,#e9eef4);box-shadow:inset 0 2px #fff,inset 0 -5px #d8e1ec;color:#b2c0d0}.quest-level:hover .quest-level-pad{transform:translateY(-2px)}.quest-level-name{font-size:11px;line-height:1.55;max-width:100%;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#5d7491;position:relative;z-index:1}.quest-level.is-current .quest-level-name{color:#326ab0;font-weight:600}.quest-level-detail{font-size:9px;line-height:1.4;color:#9eadbf;margin-top:3px}.is-locked .quest-level-name{color:#91a1b5}.is-cleared .quest-level-detail{color:#74a391}.quest-stage-footer{display:flex;align-items:center;gap:8px;padding:13px 22px;background:#f9fbfd;border-top:1px solid #eaf0f7;font-size:10px;color:#93a5ba}.quest-stage-footer>.pixel-icon{width:14px;height:14px;color:#9aafc8}.quest-stage-footer>span:last-child{margin-left:auto;font:9px Consolas,monospace;white-space:nowrap}.quest-map-footer{display:flex;align-items:center;gap:9px;font-size:11px;color:#93a4ba;padding:4px 0 18px}.quest-map-footer>.pixel-icon{width:19px;height:19px}.quest-map-footer>button{margin-left:auto;font-size:11px;display:flex;gap:7px;align-items:center}.quest-map-footer>button>.pixel-icon{width:15px;height:15px}.library-tracks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:2px 0 30px}.library-track{display:flex;justify-content:center;align-items:center;gap:9px;padding:13px 12px;color:#7e91aa;background:#ffffffa3;border:1px solid #dfe8f4;border-radius:10px;font-size:13px;transition:background .2s,border-color .2s,transform .2s}.library-track>.pixel-icon{width:20px;height:20px}.library-track>span{font:10px Consolas,monospace;color:#9eb0c5}.library-track.is-active{color:#3479ce;border-color:#98beec;background:#edf5ff;box-shadow:0 2px #c7ddf6}.library-track:hover{transform:translateY(-2px);border-color:#9abfe9}.library-track:active{transform:scale(.98)}.home-content>.learning-tracks{margin:25px 0 30px}.library-section>.track-group-heading{display:flex;align-items:center;gap:9px}.track-group-heading .pixel-icon{width:20px;height:20px;color:#78a2cf}.track-group-heading small{font:9px Consolas,monospace;letter-spacing:1px;color:#a0afbf;margin-left:6px}.course-mode .topbar{background:#ffffff80;border-bottom:1px solid #e2eaf4}:root[data-theme=dark] .course-world.quest-world{background:linear-gradient(180deg,#17273be8,#192432ed 700px)}:root[data-theme=dark] .quest-hero,:root[data-theme=dark] .quest-stage,:root[data-theme=dark] .quest-progress-panel,:root[data-theme=dark] .learning-track,:root[data-theme=dark] .library-track{background:#223247da;border-color:#354a66;color:#a6bad2;box-shadow:0 5px 16px #07101c15}:root[data-theme=dark] .quest-hero h1,:root[data-theme=dark] .track-copy>strong,:root[data-theme=dark] .quest-map-heading h2,:root[data-theme=dark] .quest-stage-header h2{color:#d5e4f6}:root[data-theme=dark] .quest-stage-header{background:linear-gradient(100deg,#293c55,#243449);border-color:#354963}:root[data-theme=dark] .learning-track.is-active,:root[data-theme=dark] .library-track.is-active{background:#2b4361;border-color:#5784b9}:root[data-theme=dark] .track-symbol,:root[data-theme=dark] .quest-chapters>button{background:#293e57;border-color:#3d5470;color:#aac6e8}:root[data-theme=dark] .quest-course-chip.selected{background:#2a405c;border-color:#43648b;color:#a7ceff}:root[data-theme=dark] .quest-level.is-current{background:#29466880;border-color:#4777ac}:root[data-theme=dark] .quest-level:hover{background:#2b3c51;border-color:#435d7b}:root[data-theme=dark] .quest-level-name{color:#b6c8de}:root[data-theme=dark] .quest-level.is-current .quest-level-name{color:#b6d8ff}:root[data-theme=dark] .is-locked .quest-level-name{color:#7f96b1}:root[data-theme=dark] .quest-level:before{background:repeating-linear-gradient(90deg,#3d5570 0,#3d5570 4px,transparent 4px,transparent 8px)}:root[data-theme=dark] .is-locked .quest-level-pad{background:linear-gradient(145deg,#35485e,#2b3c51);box-shadow:inset 0 2px #455d79,inset 0 -5px #223044;color:#5f7894}:root[data-theme=dark] .quest-stage-footer{background:#203044;border-color:#344a65}:root[data-theme=dark] .quest-progress-meter{background:#1d2c40;box-shadow:inset 0 1px #142136}:root[data-theme=dark] .quest-progress-label>strong,:root[data-theme=dark] .quest-small-stat strong{color:#b7cfea}:root[data-theme=dark] .quest-small-stat{border-color:#3e526c}:root[data-theme=dark] .course-mode .topbar{background:#1d2f43bb;border-color:#354c66}@media(max-width:1200px){.track-copy>strong{gap:7px}.track-copy>strong>span{display:none}.learning-track{padding:13px;gap:10px}.quest-hero-art{width:200px}.quest-island{width:190px}.quest-level-grid{column-gap:7px;padding-left:18px;padding-right:18px}}@media(max-width:1000px){.course-world.quest-world{padding:24px}.quest-level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.quest-hero{padding:24px}.track-tail{display:none}.learning-track{gap:9px}.quest-hero-art,.quest-island{width:170px}.quest-small-stat{padding-left:14px}.quest-progress-panel{gap:16px}.quest-hero h1{font-size:28px}}@media(max-width:760px){.course-world.quest-world{padding:23px 20px 30px}.learning-tracks{gap:8px;margin-bottom:18px}.learning-track{gap:9px;padding:12px}.track-symbol{width:32px;height:32px}.track-symbol .pixel-icon{width:20px;height:20px}.track-copy>small{font-size:8px;letter-spacing:.6px}.track-copy>strong{font-size:15px}.quest-level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.quest-hero p{font-size:11px}.quest-progress-panel{padding:15px}.quest-hero-art,.quest-island{width:160px}.quest-legend{gap:9px}.quest-hero-art>span{font-size:7px;letter-spacing:1px}}@media(max-width:600px){.course-world.quest-world{padding:20px 15px 30px}.quest-breadcrumb{margin-bottom:17px;font-size:10px}.quest-breadcrumb b{font-size:9px;letter-spacing:.8px}.learning-tracks{gap:7px}.learning-track{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:11px 8px;border-radius:8px}.track-symbol{width:25px;height:29px;border:0;background:transparent}.track-symbol .pixel-icon{width:20px;height:20px}.learning-track.is-active .track-symbol{background:transparent;color:#3479ce;border:0;box-shadow:none}.track-copy>small{font-size:7px;letter-spacing:.1px}.track-copy>strong{font-size:14px;margin-top:3px}.quest-hero{min-height:206px;padding:23px 19px;border-radius:12px}.quest-hero h1{font-size:27px;letter-spacing:.5px;margin:10px 0}.quest-hero p{max-width:195px;margin-bottom:20px;line-height:1.7}.quest-hero-art{position:absolute;right:-29px;top:6px;width:146px;opacity:.65}.quest-island{width:146px;height:125px}.quest-hero-art>span{display:none}.quest-eyebrow{font-size:9px;letter-spacing:1px}.quest-start.pixel-button{font-size:11px;padding:10px 12px;gap:7px}.quest-start span{font-size:9px;margin-left:3px}.quest-course-switch{gap:9px;margin:17px 0}.quest-course-switch>span{font-size:10px}.quest-course-chip{font-size:10px;padding:6px 8px}.quest-progress-panel{gap:10px;padding:13px;border-radius:9px}.quest-progress-label{font-size:10px;gap:5px}.quest-progress-label>svg{width:13px;height:13px}.quest-progress-label strong{font-size:13px}.quest-progress-label small{font-size:8px}.quest-small-stat{padding-left:10px;column-gap:5px;grid-template-columns:auto}.quest-small-stat>.pixel-icon{display:none}.quest-small-stat strong{font-size:14px}.quest-small-stat span{font-size:8px}.quest-map-heading{margin-top:27px;align-items:center}.quest-map-heading h2{font-size:18px}.quest-map-heading .quest-eyebrow{font-size:7px;letter-spacing:.7px}.quest-legend{gap:7px;font-size:8px}.quest-legend i{width:5px;height:5px}.quest-chapters{gap:5px}.quest-chapters>button{gap:5px;padding:8px;font-size:10px}.quest-chapters small{display:none}.quest-stage-header{padding:16px 14px;gap:10px}.quest-stage-header h2{font-size:15px}.quest-stage-header p{font-size:9px;max-width:175px}.quest-world-number{font-size:7px;padding-right:10px}.quest-world-number b{font-size:20px}.quest-stage-progress{font-size:9px;gap:4px}.quest-stage-progress>.pixel-icon{display:none}.quest-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 5px;padding:20px 12px}.quest-level{padding:6px 2px;min-height:145px}.quest-level-name{font-size:11px}.quest-stage-footer{padding:12px;font-size:9px;gap:6px}.quest-stage-footer>span:last-child{font-size:8px}.quest-map-footer{font-size:10px;flex-wrap:wrap}.quest-map-footer>button{font-size:10px}.library-tracks{gap:6px;margin-bottom:22px}.library-track{gap:5px;padding:12px 5px;font-size:11px}.library-track>.pixel-icon{width:16px;height:16px}.library-track>span{font-size:9px}.home-content>.learning-tracks{margin-top:20px}}@media(max-width:350px){.course-world.quest-world{padding-left:12px;padding-right:12px}.learning-track{padding:10px 6px;gap:4px;grid-template-columns:21px 1fr}.track-copy>small{font-size:6px}.track-copy>strong{font-size:13px}.quest-hero-art{right:-47px;opacity:.4}.quest-hero p{max-width:175px}.quest-progress-panel{gap:7px;padding:11px}.quest-small-stat{padding-left:7px}.quest-legend{gap:5px}.quest-stage-header p{max-width:149px}.quest-chapters>button{padding:7px 6px;font-size:9px}}@media(prefers-reduced-motion:reduce){.quest-world *,.learning-tracks *,.library-tracks *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root[data-theme=dark] .course-world.quest-world{background:linear-gradient(180deg,#111722eb,#111722f5 520px);color:var(--text)}:root[data-theme=dark] .learning-track,:root[data-theme=dark] .quest-hero,:root[data-theme=dark] .quest-progress-panel,:root[data-theme=dark] .quest-stage{background:radial-gradient(120% 80% at 10% -10%,rgba(77,163,255,.08),transparent 55%),linear-gradient(135deg,#1a2636cc,#121b28ad);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-color:#507db94d;box-shadow:inset 0 1px #ffffff1f,0 14px 42px #0006;color:var(--text)}:root[data-theme=dark] .quest-breadcrumb,.root[data-theme=dark] .quest-breadcrumb b{color:var(--muted)}:root[data-theme=dark] .quest-switch-track{background:color-mix(in srgb,var(--surface) 68%,transparent);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);border-color:#507db94d;box-shadow:inset 0 1px #ffffff1f,0 6px 20px #00000052}:root[data-theme=dark] .quest-course-chip{color:var(--text);background:color-mix(in srgb,var(--surface) 58%,transparent);border-color:#507db93d}:root[data-theme=dark] .quest-course-chip:hover{border-color:color-mix(in srgb,var(--blue) 48%,transparent);background:color-mix(in srgb,var(--blue) 12%,transparent)}:root[data-theme=dark] .quest-course-chip.selected{color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;box-shadow:inset 0 1px #ffffff57,0 8px 22px color-mix(in srgb,var(--a2) 34%,transparent)}:root[data-theme=dark] .quest-scroll-arrow{color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent);border-color:#507db94d}:root[data-theme=dark] .quest-scroll-arrow:hover{color:#fff;background:color-mix(in srgb,var(--blue) 16%,transparent);border-color:color-mix(in srgb,var(--blue) 44%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--blue) 18%,transparent)}:root[data-theme=dark] .quest-progress-meter{background:#ffffff1f}:root[data-theme=dark] .quest-chapters>button{color:var(--text);background:color-mix(in srgb,var(--surface) 62%,transparent);border-color:#507db93d;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}:root[data-theme=dark] .quest-stage-header{background:linear-gradient(100deg,#23344aeb,#182436e0);border-bottom-color:#507db93d;color:var(--text)}:root[data-theme=dark] .quest-stage-header h2{color:var(--text)}:root[data-theme=dark] .quest-stage-header p{color:var(--muted)}:root[data-theme=dark] .quest-level.is-current{background:color-mix(in srgb,var(--blue) 12%,transparent);border-color:color-mix(in srgb,var(--blue) 36%,transparent)}:root[data-theme=dark] .quest-level:hover{background:color-mix(in srgb,var(--blue) 7%,transparent);border-color:color-mix(in srgb,var(--blue) 28%,transparent)}:root[data-theme=dark] .quest-stage-footer{background:color-mix(in srgb,var(--surface) 62%,transparent);border-top-color:#507db938;color:var(--muted)}.quest-switch-track,.quest-course-switch>div,.quest-chapters,.quest-chapters-rail nav,.library-tracks,.learning-tracks,[data-scroll-gesture]{scrollbar-width:none!important;-ms-overflow-style:none!important;scroll-behavior:smooth}.quest-switch-track::-webkit-scrollbar,.quest-course-switch>div::-webkit-scrollbar,.quest-chapters::-webkit-scrollbar,.quest-chapters-rail nav::-webkit-scrollbar,.library-tracks::-webkit-scrollbar,.learning-tracks::-webkit-scrollbar,[data-scroll-gesture]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.quest-course-chip{flex-shrink:0}@media(min-width:761px){.course-world.quest-world{padding-top:23px}.quest-breadcrumb{margin-bottom:16px}.learning-tracks{margin-bottom:20px}.learning-track{padding-top:12px;padding-bottom:12px}.quest-hero{min-height:166px;padding:19px 25px}.quest-hero h1{font-size:28px;margin:6px 0}.quest-hero p{margin-bottom:14px}.quest-hero-art{width:205px}.quest-island{height:115px;width:185px}.quest-hero-art>span{font-size:7px}.quest-course-switch{margin:15px 0}.quest-progress-panel{padding:13px 19px}.quest-map-heading{margin-top:26px;margin-bottom:15px}.quest-map-heading h2{font-size:19px}.quest-stage-header{padding-top:16px;padding-bottom:16px}}@media(max-width:600px){.quest-hero{min-height:180px;padding-top:19px;padding-bottom:19px}.quest-hero h1{margin:7px 0}.quest-hero p{margin-bottom:16px}.quest-course-switch{margin:14px 0}.quest-switch-track{padding:4px 6px}}.quest-course-switch .quest-switch-track,.quest-course-switch>div{padding-inline:0;border-color:transparent!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body{--sidebar-width:246px;--filter-width:302px;--rail-width:76px;--sidebar-time:.42s;--sidebar-ease:cubic-bezier(.22,.8,.22,1)}.sidebar{width:var(--sidebar-width);transition:width var(--sidebar-time) var(--sidebar-ease)}body:not(.library-mode):not(.auth-mode) main{margin-left:var(--sidebar-width)}body:not(.library-mode):not(.auth-mode) .topbar{left:var(--sidebar-width)}main{transition:margin-left var(--sidebar-time) var(--sidebar-ease)}.topbar{transition:left var(--sidebar-time) var(--sidebar-ease)}.sidebar .brand{padding-left:16px!important;padding-right:12px!important;justify-content:flex-start;gap:10px;overflow:hidden}.sidebar .brand .typeflow-wordmark{display:block!important;max-width:165px;opacity:1;transform:translate(0);transition:max-width var(--sidebar-time) var(--sidebar-ease),opacity .24s ease,transform var(--sidebar-time) var(--sidebar-ease);overflow:hidden}.sidebar nav{margin:30px 12px 0!important;min-height:0;overflow:auto;scrollbar-width:none}.sidebar .nav-item{height:53px;min-height:53px;padding:14px 16px;gap:12px;white-space:nowrap;overflow:hidden;transition:padding var(--sidebar-time) var(--sidebar-ease),gap var(--sidebar-time) var(--sidebar-ease),background-color .2s,transform .2s}.sidebar .nav-item>span{display:block!important;opacity:1;max-width:190px;transform:translate(0);transition:max-width var(--sidebar-time) var(--sidebar-ease),opacity .22s ease,transform var(--sidebar-time) var(--sidebar-ease)}.sidebar .nav-item.nav-separated{margin-top:8px;padding-top:14px}.sidebar .sidebar-bottom{padding:16px 12px 20px!important;align-items:stretch}.sidebar .sidebar-tools-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.sidebar .tool-tile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:36px;min-height:36px;min-width:0;padding:0 10px;overflow:hidden;gap:10px;border:0;border-radius:11px;background:transparent;box-shadow:none;color:var(--ink);font-size:12px;font-weight:500;transition:gap var(--sidebar-time) var(--sidebar-ease),padding var(--sidebar-time) var(--sidebar-ease),transform .16s ease,background-color .18s ease,color .18s ease}.sidebar .tool-tile>svg{width:16px;height:16px;flex:0 0 16px}.sidebar .tool-tile>svg{color:var(--blue)!important;stroke:currentColor!important}.sidebar .tool-tile>span{display:block!important;min-width:0;white-space:nowrap;max-width:180px;max-height:20px;overflow:hidden;opacity:1;transform:translate(0);transition:max-width var(--sidebar-time) var(--sidebar-ease),opacity .16s .1s ease,transform var(--sidebar-time) var(--sidebar-ease)}.sidebar .tool-tile:hover{transform:scale(1.015);background:transparent;color:var(--blue)}.sidebar .tool-tile:active{transform:scale(.97)}.sidebar .tool-tile:hover svg{transform:scale(1.06)}.sidebar .tool-tile.active{background:transparent;color:var(--blue)}.sidebar .tool-tile.active>svg{color:var(--blue)!important;stroke:currentColor!important}.sidebar .sidebar-bottom{flex-shrink:0;gap:10px}.sidebar .tool-tile{width:calc(100% - 14px);margin-inline:7px}.sidebar-status-tag{height:30px;overflow:hidden;white-space:nowrap;transition:gap var(--sidebar-time) var(--sidebar-ease)}.sidebar .local-edition{max-width:190px;opacity:1;overflow:hidden;transition:max-width var(--sidebar-time) var(--sidebar-ease),opacity .18s ease}.sidebar-toggle{position:absolute;z-index:2;top:74px;right:-14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;padding:0;background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:0 3px 12px #172b3a12;transition:transform .2s,background .2s,color .2s}.sidebar-toggle svg{width:16px;height:16px;transition:transform var(--sidebar-time) var(--sidebar-ease)}.sidebar-toggle:hover{transform:scale(1.1);color:var(--blue);background:var(--surface)}.sidebar-toggle:active{transform:scale(.92)}.sidebar-collapsed{--sidebar-width:var(--rail-width)}.sidebar-collapsed .sidebar{width:var(--rail-width)}.sidebar-collapsed .sidebar .brand .typeflow-wordmark{max-width:0;opacity:0;transform:translate(-10px)}.sidebar-collapsed .sidebar .brand,.sidebar-collapsed .sidebar .nav-item{gap:0}.sidebar-collapsed .sidebar .nav-item>span{max-width:0;opacity:0;transform:translate(-8px)}.sidebar-collapsed .sidebar .tool-tile{height:36px;gap:0;padding:0 10px;width:calc(100% - 14px)}.sidebar-collapsed .sidebar .tool-tile>span{max-width:0;max-height:20px;opacity:0;transform:translate(-6px);pointer-events:none;transition:max-width var(--sidebar-time) var(--sidebar-ease),opacity .1s ease,transform var(--sidebar-time) var(--sidebar-ease)}.sidebar-collapsed .sidebar .sidebar-tools-grid{grid-template-columns:minmax(0,1fr);gap:6px}.sidebar-collapsed .sidebar .tool-tile svg{width:16px;height:16px}.sidebar-collapsed .local-edition{max-width:0;opacity:0}.sidebar-collapsed .sidebar-status-tag{gap:0}.sidebar-collapsed .sidebar-toggle svg,.filters-collapsed .filter-toggle svg{transform:rotate(180deg)}.filter-sidebar{width:var(--filter-width);padding:0;overflow:visible;transition:width var(--sidebar-time) var(--sidebar-ease)}.library-mode main{margin-left:var(--filter-width)}.library-mode .library-topbar{left:0}.filter-toggle{top:24px}.filter-panel{height:100%;overflow:hidden;opacity:1;visibility:visible;transition:opacity .24s ease,visibility 0s,max-height var(--sidebar-time) var(--sidebar-ease)}.filter-panel-inner{height:100%;width:var(--filter-width);padding:70px 32px 40px 62px;overflow:auto;transform:translate(0);transition:transform var(--sidebar-time) var(--sidebar-ease)}.filter-panel h2{font-size:24px;margin-bottom:37px}.filter-panel h3{font-size:15px;margin-bottom:17px}.filter-panel select{display:block;width:100%;border-width:0 0 1px;border-radius:0;background:none;padding-left:0}.filter-rail{position:absolute;left:12px;right:12px;top:70px;display:flex;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translate(-10px);transition:opacity .18s ease,transform var(--sidebar-time) var(--sidebar-ease),visibility 0s .24s}.filter-rail button{height:48px;border-radius:14px;display:grid;place-items:center;color:var(--blue)}.filters-collapsed{--filter-width:var(--rail-width)}.filters-collapsed .filter-panel{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s var(--sidebar-time)}.filters-collapsed .filter-panel-inner{transform:translate(-24px)}.filters-collapsed .filter-rail{opacity:1;visibility:visible;transform:none;transition:opacity .24s .16s ease,transform var(--sidebar-time) var(--sidebar-ease),visibility 0s}.library-back{display:inline-flex;align-items:center;gap:6px;min-height:36px;border-radius:12px;padding:6px 8px}@media(max-width:1200px)and (min-width:761px){body:not(.sidebar-collapsed){--sidebar-width:210px}body:not(.filters-collapsed){--filter-width:245px}.filter-panel-inner{padding-left:30px;padding-right:24px}}@media(max-width:1000px)and (min-width:761px){body:not(.sidebar-collapsed){--sidebar-width:180px}.sidebar .brand .typeflow-wordmark{font-size:20px!important}}@media(max-width:760px){body{--rail-width:68px;--sidebar-width:210px;--filter-width:220px}.sidebar-collapsed{--sidebar-width:68px}.sidebar .brand{height:65px;padding-left:12px!important}.sidebar nav{margin-left:8px!important;margin-right:8px!important}.sidebar .nav-item>svg{margin:0}.sidebar .nav-item>span{font-size:14px}.sidebar .sidebar-bottom{padding:12px 8px!important}.filter-panel-inner{padding:45px 22px}.filter-panel h2{font-size:21px;margin-bottom:25px}.filters-collapsed{--filter-width:68px}.library-back span{display:none}.library-back svg{width:19px;height:19px}}@media(max-width:500px){body:not(.sidebar-collapsed){--sidebar-width:210px}body:not(.library-mode):not(.auth-mode) main{margin-left:var(--rail-width)}body:not(.library-mode):not(.auth-mode) .topbar{left:var(--rail-width)}.sidebar{box-shadow:8px 0 32px #172b3a18}.filter-sidebar{position:relative;inset:auto;width:auto;margin:0 20px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.filter-toggle{top:0;right:0;width:36px;height:36px}.filter-toggle svg{transform:rotate(-90deg)}.filters-collapsed .filter-toggle svg{transform:rotate(90deg)}.filter-rail{display:none}.filter-panel,.filters-collapsed .filter-panel{display:grid;grid-template-rows:1fr;height:auto;opacity:1;visibility:visible;transition:grid-template-rows var(--sidebar-time) var(--sidebar-ease),opacity .22s,visibility 0s}.filter-panel-inner{width:auto;padding:0 44px 0 0;min-height:0;overflow:hidden;transform:none!important;height:auto}.filter-panel h2{font-size:18px;margin:6px 0 20px}.filter-panel .mobile-filter-toggle{display:none}.filter-panel .sort-options{display:flex;flex-direction:column;margin-bottom:24px}.filter-panel h3{display:block;margin:16px 0}.filter-panel .filter-heading,.filter-panel .subject-options{display:flex}.filter-panel select{margin-bottom:20px}.filters-collapsed .filter-panel{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows var(--sidebar-time) var(--sidebar-ease),opacity .18s,visibility 0s var(--sidebar-time)}.filters-collapsed .filter-sidebar{min-height:40px}.library-mode main{margin-left:0;padding-top:0!important}.library-content{padding-top:16px}}@media(prefers-reduced-motion:reduce){.sidebar,.sidebar *,.filter-sidebar,.filter-sidebar *,main,.topbar{transition-duration:.01ms!important;animation-duration:.01ms!important}}.filter-panel h2{font-size:21px;font-weight:700;letter-spacing:.3px;margin-bottom:6px}.filter-panel .filter-label{display:block;margin:24px 0 10px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:2px}.filter-panel .filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-panel .glass-filter-group{display:flex;flex-direction:column;gap:3px;padding:6px;border-radius:20px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)}.filter-panel .filter-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 13px 0 14px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text);font-size:13px;font-weight:550;text-align:left;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .16s ease}.filter-panel .filter-option:hover{background:color-mix(in srgb,var(--blue) 10%,transparent)}.filter-panel .filter-option:active{transform:scale(.98)}.filter-panel .filter-option:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:-2px}.filter-panel .filter-option.selected{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-weight:650;box-shadow:inset 0 1px #ffffff80,0 6px 16px color-mix(in srgb,var(--a2) 30%,transparent)}.filter-panel .filter-option-check{display:none;flex:0 0 15px;width:15px;height:15px}.filter-panel .filter-option.selected .filter-option-check{display:block}.filter-panel .filter-option-check .pixel-icon{display:block;width:15px;height:15px;image-rendering:pixelated}.filter-panel .subject-options>label{position:relative;display:flex;align-items:center;gap:11px;min-height:44px;padding:0 12px 0 9px;border:1px solid transparent;border-radius:14px;color:var(--text);font-size:13px;font-weight:550;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.filter-panel .subject-options>label:hover{background:color-mix(in srgb,var(--blue) 10%,transparent)}.filter-panel .subject-options input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.filter-panel .subject-options label:has(input:focus-visible){outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:-2px}.filter-panel .subject-box{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:6px;border:1.5px solid color-mix(in srgb,var(--muted) 60%,transparent);background:color-mix(in srgb,var(--surface) 55%,transparent);box-shadow:inset 0 1px #fff6;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.filter-panel .subject-box .pixel-icon{display:block;width:13px;height:13px;image-rendering:pixelated;color:#fff;opacity:0;transform:scale(.4);transition:opacity .16s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.filter-panel .subject-options label:has(input:checked){background:color-mix(in srgb,var(--blue) 13%,transparent);border-color:color-mix(in srgb,var(--blue) 24%,transparent)}.filter-panel .subject-options label:has(input:checked) .subject-box{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;box-shadow:inset 0 1px #ffffff73,0 3px 8px color-mix(in srgb,var(--a2) 30%,transparent)}.filter-panel .subject-options label:has(input:checked) .subject-box .pixel-icon{opacity:1;transform:scale(1)}.filter-panel .filter-clear{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--g-edge2);background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);box-shadow:inset 0 1px 0 var(--g-edge);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .16s ease}.filter-panel .filter-clear:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 38%,var(--g-edge2))}.filter-panel .filter-clear:active{transform:scale(.94)}.filter-panel .filter-clear:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:2px}:root[data-theme=dark] .filter-panel .subject-box{border-color:color-mix(in srgb,var(--muted) 45%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] .filter-panel .subject-options label:has(input:checked){background:color-mix(in srgb,var(--blue) 20%,transparent)}@media(max-width:760px){.filter-panel h2{margin-bottom:4px}}@media(max-width:500px){.filter-panel h2{font-size:18px;margin:6px 0 18px}.filter-panel .filter-label{margin:18px 0 8px}.filter-panel .glass-filter-group{border-radius:18px}.filter-panel .filter-option,.filter-panel .subject-options>label{min-height:42px}}#modal-root>.fullscreen-view{display:block!important;padding:0!important;background:var(--bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:fullscreen-enter .22s ease both}#modal-root>.fullscreen-view>.modal{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;border-radius:0!important;border:0!important;padding:0!important;box-shadow:none!important;background:var(--aurora),var(--bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;animation:fullscreen-content-enter .26s cubic-bezier(.22,.8,.22,1) both}#modal-root>.fullscreen-view.leaving{animation:fullscreen-leave .18s ease both}#modal-root>.fullscreen-view.leaving>.modal{animation:fullscreen-content-leave .18s ease both}.fullscreen-view .practice-toolbar,.fullscreen-view .result-toolbar{position:sticky;top:0;z-index:3}@keyframes fullscreen-enter{0%{opacity:0}to{opacity:1}}@keyframes fullscreen-content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fullscreen-leave{0%{opacity:1}to{opacity:0}}@keyframes fullscreen-content-leave{0%{transform:none}to{transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){#modal-root>.fullscreen-view,#modal-root>.fullscreen-view>.modal{animation:none!important}}.practice-page .keyboard-wrap .hand-guide{top:50px;width:100%;height:auto;max-height:none;overflow:hidden}.practice-page .keyboard-wrap.show-hands,.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:100px!important;overflow:hidden!important}@media(max-width:760px){.practice-page .keyboard-wrap.show-hands,.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:calc(15.385vw - 8px)!important}}.practice-page{scrollbar-gutter:stable}.practice-page .practice-stage,.practice-page:has(.pinyin-composer) .practice-stage{padding:28px 0 24px!important}.practice-page .practice-text-area{overflow:visible;padding:24px 28px 14px;isolation:isolate}.practice-page .typing-passage,.practice-page:has(.pinyin-composer) .typing-passage{height:clamp(130px,20dvh,190px);min-height:0!important;max-height:none!important;line-height:1.8;scrollbar-gutter:stable;padding-bottom:12px}.practice-page .practice-text-area>.typing-input{z-index:0}.practice-page #practice-keyboard{transition:background-color .24s,box-shadow .24s,border-color .24s;scrollbar-gutter:auto}.practice-page .keyboard-wrap,.practice-page .keyboard-wrap.show-hands,.practice-page:has(.pinyin-composer) .keyboard-wrap,.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:100px!important;overflow:hidden!important}.practice-page .keyboard-wrap .hand-guide{display:block!important;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .24s ease,transform .3s ease,visibility 0s .24s}.practice-page .keyboard-wrap.show-hands .hand-guide{opacity:1;visibility:visible;transform:none;transition:opacity .24s ease,transform .3s ease,visibility 0s}.practice-page .finger-hint{height:28px!important;line-height:28px!important;margin:6px 0 0!important;font-size:12px;letter-spacing:0;white-space:nowrap}.practice-page .practice-bottom{margin-top:14px!important;min-height:36px;font-size:11px;opacity:1;align-items:center}.practice-page .practice-bottom .text-button{font-size:12px;min-height:36px}.practice-tools button{border-radius:10px;transition:background .2s,color .2s,transform .2s}.practice-tools button[aria-pressed=true]{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}.practice-tools button:hover{background:color-mix(in srgb,var(--blue) 16%,transparent);transform:scale(1.04)}.practice-tools button:active{transform:scale(.94)}.practice-page .practice-text-area>.ime-dock{position:relative;z-index:5;max-width:none!important;width:100%;height:52px;margin:10px 0 0!important;padding:6px 0 0!important;border:0;border-top:1px solid var(--line);border-radius:0!important;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;gap:14px;animation:none;text-align:left}.ime-dock .ime-heading{margin:0;font-size:12px;color:var(--muted);flex-shrink:0}.ime-dock .ime-heading>span{gap:6px}.ime-dock .ime-heading svg{width:16px;height:16px}.ime-dock .ime-local{flex:1;min-width:0}.ime-dock .ime-field{height:38px;padding:6px 10px;gap:12px;border-radius:12px;background:color-mix(in srgb,var(--blue) 6%,transparent);transition:background .22s,box-shadow .22s}.ime-dock .ime-field>span{font-size:13px;color:var(--blue)}.ime-dock .ime-field input{font-size:17px;letter-spacing:1px;color:var(--text);height:26px}.ime-dock .ime-field input::placeholder{font-size:12px;color:var(--muted);letter-spacing:0}.ime-dock .ime-mode-switch{display:flex;align-items:center;gap:3px;flex-shrink:0;font-size:12px;min-height:36px;padding:6px 8px;border-radius:10px;color:var(--muted)}.ime-dock .ime-mode-switch svg{width:13px;height:13px}.ime-dock .ime-mode-switch:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.ime-dock .ime-candidates{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:6;max-height:120px;min-height:48px;margin:0;padding:9px;gap:6px;overflow:auto;border:1px solid var(--g-edge2);border-radius:16px;background:linear-gradient(135deg,var(--g-fill),var(--g-fill2)),var(--surface);box-shadow:var(--g-sh);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .18s,transform .2s,visibility 0s .2s}.ime-dock.is-composing .ime-candidates{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .18s,transform .2s,visibility 0s}.ime-dock .ime-candidate{min-height:34px;font-size:16px;border-radius:10px;padding:5px 10px;box-shadow:none;background:transparent;animation:none;color:var(--text)}.ime-dock .ime-candidate.selected{background:color-mix(in srgb,var(--blue) 14%,var(--surface));outline:1px solid color-mix(in srgb,var(--blue) 40%,transparent);color:var(--blue)}.ime-dock .ime-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ime-dock .ime-native-note{flex:1;font-size:12px;margin:0;color:var(--muted)}.popup-leaving{animation:popover-out .16s ease both!important;pointer-events:none}@keyframes popover-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}:root[data-theme=dark]{--bg:#000;--surface:#171717;--text:#ededed;--muted:#a3a3a3;--line:#343434;--primary:#ededed;--soft:#262626;--fill:#292929;--hand-stroke:#929292;--hand-fill:#18181866;--aurora:linear-gradient(#000,#000);--g-hl:.06;--g-fill:rgba(30,30,30,.92);--g-fill2:rgba(18,18,18,.86);--g-edge:rgba(255,255,255,.16);--g-edge2:rgba(255,255,255,.13);--g-sh:0 18px 48px #0008;--g-sh2:0 5px 18px #0006;--a1:#2584e9;--a2:#0a84ff}:root[data-theme=dark] body{background:#000}:root[data-theme=dark] body:before{background:#000}:root[data-theme=dark] :is(.popup,.modal,.pinyin-composer){background:linear-gradient(135deg,var(--g-fill),var(--g-fill2))!important;color:var(--text);border-color:var(--line)!important}:root[data-theme=dark] :is(.topbar,.course-mode .topbar,.practice-toolbar,.result-toolbar,.library-topbar){background:#0c0c0ce0;border-color:var(--line)}:root[data-theme=dark] :is(.course-world.quest-world,.auth-page){background:#000}:root[data-theme=dark] :is(.quest-hero,.quest-stage,.quest-progress-panel,.learning-track,.library-track,.quest-stage-header,.quest-stage-footer,.track-symbol,.quest-chapters>button,.quest-course-chip,.quest-level-pad,.badge-illustration,.badge-illustration>div,.segmented){background:linear-gradient(135deg,#222e,#141414ee);border-color:var(--line);color:var(--text);box-shadow:inset 0 1px #ffffff14,var(--g-sh2)}:root[data-theme=dark] :is(.quest-level.is-current,.quest-level:hover,.quest-course-chip.selected,.learning-track.is-active,.library-track.is-active,.quest-chapters>button.active){background:#202020;border-color:#666;color:var(--text)}:root[data-theme=dark] :is(.quest-hero h1,.track-copy>strong,.quest-map-heading h2,.quest-stage-header h2,.quest-level-name,.quest-level.is-current .quest-level-name,.quest-progress-label>strong,.quest-small-stat strong){color:var(--text)}:root[data-theme=dark] .quest-level.is-locked .quest-level-name{color:#858585}:root[data-theme=dark] .quest-level:before{background:repeating-linear-gradient(90deg,#555 0,#555 4px,transparent 4px,transparent 8px)}:root[data-theme=dark] .quest-progress-meter{background:#292929;box-shadow:inset 0 1px #000}:root[data-theme=dark] :is(.tool-tile:hover,.outline-button:hover,.locale-button:hover,.user-hub-button:hover,.sidebar-toggle:hover,.calendar-day.today>header){background:#292929;color:var(--text)}:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=range]),select,textarea){background-color:#1e1e1e;border-color:#414141;color:var(--text)}:root[data-theme=dark] :is(.setting-row input[type=checkbox],.popup-switch input){background:#484848}:root[data-theme=dark] :is(.setting-row input:checked,.popup-switch input:checked){background:var(--blue)}:root[data-theme=dark] .key{background:linear-gradient(#333,#202020);border-color:#414141;color:var(--text);box-shadow:0 3px #101010,inset 0 1px #ffffff12}:root[data-theme=dark] .key.next-key{background:#15283c;color:#8ec5ff;border-color:#456a8f;box-shadow:0 3px #101010}:root[data-theme=dark] .typing-passage{color:#adadad}:root[data-theme=dark] .ime-field{background:#232323}:root[data-theme=dark] .ime-field>span,:root[data-theme=dark] .ime-field input{color:#a7d2ff}:root[data-theme=dark] .ime-dock .ime-field input{background:transparent!important}:root[data-theme=dark] .practice-text-area>.ime-dock{background:none!important}:root[data-theme=dark] .ime-candidate.selected,:root[data-theme=dark] .ime-candidate:hover{background:#252525;border-color:#666;color:#a7d2ff}:root[data-theme=dark] .ime-dock .ime-candidates{background:linear-gradient(135deg,#242424f5,#161616f5);border-color:#484848}:root[data-theme=dark] .time-ring{background:conic-gradient(var(--blue) calc(var(--progress)*1%),#303030 0)}:root[data-theme=dark] :is(.search-input,.setting-row select,.game-options select){color:var(--text)}:root[data-theme=dark] .course-card:hover,:root[data-theme=dark] .game-mode-card:hover,:root[data-theme=dark] .badge-card:hover{box-shadow:inset 0 1px 0 var(--g-edge),0 20px 50px #0008}:root[data-theme=dark] .keyboard-wrap.finger-colors .key{background:linear-gradient(#3338,#15151588),var(--fc,#242424)}:is(.panel,.modal,.popup,.topbar,.sidebar,.filter-sidebar,.practice-text-area,.practice-metrics>span,.result-body,.key,.ime-field,select,input,textarea){transition-property:background-color,border-color,color,box-shadow,opacity,transform;transition-duration:.22s;transition-timing-function:ease}.sidebar{transition:width var(--sidebar-time) var(--sidebar-ease),background-color .22s,color .22s}.topbar{transition:left var(--sidebar-time) var(--sidebar-ease),background-color .22s,color .22s}.filter-sidebar{transition:width var(--sidebar-time) var(--sidebar-ease),background-color .22s,color .22s}@media(max-width:760px){.practice-page .practice-stage,.practice-page:has(.pinyin-composer) .practice-stage{width:calc(100% - 28px);padding:20px 0!important}.practice-page .practice-text-area{padding:18px 16px 10px;border-radius:22px}.practice-page .keyboard-wrap,.practice-page .keyboard-wrap.show-hands,.practice-page:has(.pinyin-composer) .keyboard-wrap,.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:calc(15.385vw - 8px)!important}.ime-dock .ime-heading>span{font-size:0;gap:0}.ime-dock .ime-mode-switch{font-size:11px;padding:4px}.practice-page .practice-text-area>.ime-dock{gap:6px}.ime-dock .ime-field{gap:6px;padding:6px}.ime-dock .ime-field>span{font-size:12px}.ime-dock .ime-field input::placeholder{font-size:11px}.practice-page .practice-metrics{gap:6px;flex-wrap:wrap}.practice-page .practice-metrics>span{padding:6px 10px;font-size:11px}.practice-page .practice-metrics b{font-size:17px}.practice-page .practice-bottom{font-size:10px}.practice-page .practice-bottom .text-button{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{transition:background-color .28s ease,color .22s ease}body:before{transition:opacity .28s ease}:root[data-theme=dark] body:before{opacity:0}:root[data-theme=dark] .modal-backdrop{background:#0000009e!important}:root[data-theme=dark] #toast{background:#1c1c1cf0;color:var(--text)}:root[data-theme=dark] .sidebar-status-tag{background:#ffffff08}:root[data-theme=dark] :is(.fb-tabs button:hover,.segmented button:hover){background:#303030}:root[data-theme=dark] :is(.fb-tabs button.selected,.segmented button.selected){background:#353535;color:var(--text)}@media(min-width:761px)and (max-height:800px){.practice-page .practice-stage,.practice-page:has(.pinyin-composer) .practice-stage{padding:12px 0 10px!important}.practice-page .practice-text-area{padding:16px 22px 10px}.practice-page .typing-passage,.practice-page:has(.pinyin-composer) .typing-passage{height:88px;font-size:28px!important;line-height:1.65}.practice-page .practice-metrics{margin-top:8px!important;gap:8px}.practice-page .practice-metrics>span{padding:5px 13px;font-size:12px}.practice-page .practice-metrics b{font-size:18px}.practice-page #practice-keyboard{max-width:560px;margin-top:6px!important;padding:10px 12px 8px!important}.practice-page .key{height:29px;font-size:17px}.practice-page .key[class*=key-]{font-size:9px}.practice-page .keyboard-wrap,.practice-page .keyboard-wrap.show-hands,.practice-page:has(.pinyin-composer) .keyboard-wrap,.practice-page:has(.pinyin-composer) .keyboard-wrap.show-hands{padding-bottom:80px!important;margin-top:0!important}.practice-page .keyboard-wrap .hand-guide{top:36px}.practice-page .finger-hint{height:24px!important;line-height:24px!important;margin-top:4px!important}.practice-page .practice-bottom{min-height:32px;margin-top:6px!important}}.topbar .topbar-actions{gap:14px}.topbar-switches{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--g-edge2);border-radius:16px;background:linear-gradient(135deg,var(--g-fill),var(--g-fill2));box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:topbar-controls-in .34s ease both}.topbar .topbar-icon-control{position:relative;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-height:38px;margin:0;padding:0;border:0;border-radius:12px;color:var(--text);background:transparent;box-shadow:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s;isolation:isolate}.topbar .topbar-icon-control:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent);transform:scale(1.045);box-shadow:inset 0 1px 0 var(--g-edge)}.topbar .topbar-icon-control:active{transform:scale(.91)}.topbar .topbar-icon-control:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.topbar .locale-button[aria-expanded=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 25%,transparent)}.topbar .topbar-icon-control svg{width:21px!important;height:21px!important;stroke-width:1.7}.globe-motion{display:grid;place-items:center;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.globe-motion svg path:first-of-type{transform-box:view-box;transform-origin:12px 12px;animation:globe-longitude 3.2s ease-in-out infinite;animation-play-state:paused}.locale-button:hover .globe-motion{transform:rotate(-12deg)}.locale-button[aria-expanded=true] .globe-motion{transform:rotate(12deg)}.locale-button:is(:hover,:focus-visible,[aria-expanded=true]) .globe-motion svg path:first-of-type{animation-play-state:running}.control-pixel{position:absolute;right:6px;bottom:6px;width:3px;height:3px;border-radius:1px;background:var(--blue);opacity:0;transform:scale(0);transition:opacity .2s,transform .28s cubic-bezier(.2,.9,.3,1.4)}.locale-button[aria-expanded=true] .control-pixel{opacity:1;transform:scale(1)}.theme-motion{position:relative;width:22px;height:22px;display:block}.theme-motion>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:opacity .28s,transform .5s cubic-bezier(.22,.8,.22,1);transform-origin:center}.theme-motion .theme-sun{opacity:0;transform:rotate(-100deg) scale(.45)}.theme-motion .theme-moon{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=dark] .theme-motion .theme-sun{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=dark] .theme-motion .theme-moon{opacity:0;transform:rotate(100deg) scale(.45)}.theme-toggle:hover .theme-motion{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--blue) 30%,transparent))}.theme-toggle .theme-sun svg path{transform-origin:12px 12px;transition:transform .4s}.theme-toggle:hover .theme-sun svg path{transform:rotate(25deg)}.language-popover{width:244px;z-index:110;padding:8px;border-radius:20px;transform-origin:calc(100% - 24px) 0;animation:language-menu-in .24s cubic-bezier(.2,.8,.2,1) both}.language-popover.popup-leaving{animation:language-menu-out .18s ease both!important}.language-popover>h3{display:flex;justify-content:space-between;align-items:center;margin:8px 10px 12px;font-size:12px;color:var(--muted)}.language-popover>h3 small{font-size:10px;letter-spacing:1px;font-weight:400}.language-popover .lang-options{display:grid;gap:4px}.language-popover .lang-options button{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;font-size:13px;text-align:left;color:var(--text);transition:background-color .2s,transform .2s,color .2s;animation:language-option-in .22s ease both}.language-popover .lang-options button:nth-child(2){animation-delay:25ms}.language-popover .lang-options button:nth-child(3){animation-delay:50ms}.language-popover .lang-options button:nth-child(4){animation-delay:75ms}.language-popover .lang-options button:nth-child(5){animation-delay:.1s}.language-popover .lang-options button:hover{background:color-mix(in srgb,var(--blue) 10%,transparent);transform:translate(2px)}.language-popover .lang-options button:active{transform:scale(.97)}.language-popover .lang-options button.selected{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff}.language-popover .lang-code{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:7px;font-family:Consolas,Microsoft YaHei,monospace;font-size:11px}.language-popover .lang-name{flex:1;font-weight:500}.language-popover .lang-check{width:16px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}.language-popover .selected .lang-check{opacity:1;transform:scale(1)}.language-popover .lang-check svg{width:15px;height:15px}:root[data-theme=dark] .topbar .topbar-icon-control:hover{background:#282828;color:var(--blue)}:root[data-theme=dark] .topbar .locale-button[aria-expanded=true]{background:#1d2b39;color:var(--blue)}@keyframes globe-longitude{0%,to{transform:scaleX(1)}50%{transform:scaleX(.18)}}@keyframes topbar-controls-in{0%{opacity:0;transform:translateY(-4px) scale(.94)}to{opacity:1;transform:none}}@keyframes language-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:none}}@keyframes language-menu-out{to{opacity:0;transform:translateY(-5px) scale(.96)}}@keyframes language-option-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(max-width:760px){.topbar .topbar-actions{gap:8px}.topbar-switches{padding:2px;border-radius:14px}.topbar .topbar-icon-control{width:34px;height:34px;min-height:34px;flex-basis:34px}.topbar .topbar-icon-control svg{width:20px!important;height:20px!important}.language-popover{width:min(244px,calc(100vw - 24px))}}@media(prefers-reduced-motion:reduce){.topbar-switches,.topbar-switches *,.language-popover,.language-popover *{animation:none!important;transition:none!important}}#site-topbar-leading{display:flex;align-items:center;min-width:0}.topbar-clock{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 12px;border:1px solid var(--g-edge2);border-radius:14px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);animation:topbar-controls-in .34s ease both}.topbar-clock-icon{display:inline-flex;color:var(--muted)}.topbar-clock-icon svg{width:15px;height:15px}.topbar-clock-city{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);white-space:nowrap}.topbar-clock b{font-size:13px;font-weight:650;letter-spacing:.03em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.topbar-clock-city{display:none}.topbar-clock{padding:0 12px}}@media(max-width:420px){.topbar-clock-icon{display:none}}@media(prefers-reduced-motion:reduce){.topbar-clock{animation:none!important}}.topbar-clock b{display:inline-flex;align-items:center;line-height:1}.clock-colon{display:inline-block}.clock-digit{position:relative;display:inline-block;overflow:hidden}.clock-digit i{display:block;font-style:normal;will-change:transform,opacity}.clock-digit i.in{animation:clock-digit-in .3s var(--ease-standard, ease) both}.clock-digit i.out{position:absolute;top:0;right:0;bottom:0;left:0;animation:clock-digit-out .3s var(--ease-standard, ease) both}@keyframes clock-digit-in{0%{transform:translateY(.62em);opacity:0}}@keyframes clock-digit-out{0%{transform:none;opacity:1}to{transform:translateY(-.62em);opacity:0}}@media(prefers-reduced-motion:reduce){.clock-digit i{animation:none!important}}:is(.home-content,.standard-content,.library-content,.dashboard-subject,.subject-grid,.enrolled-cards,.dashboard-statistics,.course-card,.course-card-body,.stats-panel,.panel,.badge-card,.game-mode-card,.learning-track,.library-track,.quest-hero-copy,.quest-progress-main){min-width:0}:is(.course-card,.stats-panel,.panel,.badge-card,.game-mode-card,.learning-track,.library-track){max-width:100%;height:auto}:is(.course-card,.stats-panel,.panel,.badge-card,.game-mode-card,.learning-track,.library-track) :is(h1,h2,h3,p,strong,b,small,button){overflow-wrap:anywhere;word-break:normal}:is(.course-title,.course-progress,.course-meta,.track-copy,.panel-heading,.quest-level-name,.quest-level-detail){min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}.course-title{width:100%;white-space:normal;line-height:1.65;min-height:2.8em}.course-card-body{display:flex;flex-direction:column;height:auto}.course-meta,.course-progress{flex-wrap:wrap;gap:8px 12px;line-height:1.6}.course-meta>span,.course-progress>span{min-width:0;max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere}.course-meta>span{align-items:flex-start}.course-progress strong{font-variant-numeric:tabular-nums}.course-card .cover-button{max-width:100%}.enrolled-cards{flex-wrap:wrap;align-items:flex-start}.enrolled-cards .course-card{flex:0 1 274px;width:min(274px,100%)}.recommendation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.library-grid .course-card{width:100%;min-width:0}.library-grid .course-meta{font-size:11px;gap:6px 10px;flex-wrap:wrap}.library-grid .course-meta>span:last-child{display:flex}.library-grid .course-card-body{min-height:0;padding:14px 10px 18px}.library-grid .course-title{font-size:14px}.greeting,.section-heading,.page-heading,.panel-heading{flex-wrap:wrap;gap:12px}.greeting h1,.section-heading h2,.page-heading h1,.panel-heading h2{min-width:0;overflow-wrap:anywhere}.dashboard-subject{container:subject / inline-size}.subject-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}.dashboard-statistics{container:dashboard / inline-size}.dashboard-statistics :is(fieldset,.time-ring-item,.overall-time,.speed-bars>div){min-width:0;max-width:100%}.dashboard-statistics fieldset{position:relative;padding-top:38px}.dashboard-statistics fieldset>legend{position:absolute;top:18px;left:24px;z-index:1;display:block;width:auto;margin:0;padding:0 4px;color:var(--muted);font-size:12px;line-height:1.3;letter-spacing:.04em;background:transparent}.dashboard-statistics .time-box>legend{margin-left:0}.dashboard-statistics .speed-box>legend,.dashboard-statistics .performance-box>legend{margin-left:0}.rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr);align-items:center;gap:14px}.time-ring-item>strong{white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.5;min-height:1.5em}.time-ring-item>span{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.time-ring{--ring-size:clamp(58px,17cqi,82px);width:var(--ring-size);height:var(--ring-size);max-width:100%}.time-ring>div{width:calc(var(--ring-size) - 12px);height:calc(var(--ring-size) - 12px);font-size:10px;line-height:1.3;padding:3px}.time-ring>div b{font-size:10px;white-space:normal;overflow-wrap:anywhere}.overall-time{min-width:0;padding-left:14px}.overall-time strong{white-space:normal;overflow-wrap:anywhere;font-size:clamp(18px,4cqi,24px);line-height:1.5;font-variant-numeric:tabular-nums}.overall-time span{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.dashboard-lower{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.speed-bars{gap:10px}.speed-bars>div{flex:1 1 0;min-width:0}.speed-bars b{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.5;font-size:11px;font-variant-numeric:tabular-nums}.speed-bars b small{display:block;font-size:10px;line-height:1.5}.speed-bars span{width:min(40px,100%)}.speed-bars>div>small{min-width:0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.performance-box{padding:22px 18px}.performance-box>span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.performance-box>strong{font-size:20px;line-height:1.4;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-breakdown{flex-wrap:wrap;row-gap:14px}.time-breakdown>div{min-width:0;flex:1 1 90px}.time-overview>div:first-child{min-width:0}.time-overview>div:first-child>strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.panel-heading h2{flex:1 1 150px;line-height:1.6}.panel-heading select{max-width:100%;flex:0 1 auto}.game-mode-card h2{line-height:1.5;white-space:normal}.game-mode-card p{height:auto;line-height:1.8;margin-bottom:14px}.game-mode-card b{display:flex;flex-wrap:wrap;gap:8px;align-items:center;line-height:1.6}.badge-card h3{line-height:1.6;white-space:normal}.badge-card p{white-space:normal;line-height:1.8}.badge-medal{max-width:100%}.track-copy>strong{flex-wrap:wrap;row-gap:3px;line-height:1.5}.track-copy>small{display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.5}.track-copy>strong>span{white-space:normal;overflow-wrap:anywhere}.learning-track{align-items:center}.learning-track .track-tail{flex-shrink:0}.library-track{white-space:normal;line-height:1.5;flex-wrap:wrap}.quest-hero-copy h1,.quest-hero-copy p{overflow-wrap:anywhere}.quest-progress-panel{flex-wrap:wrap}.quest-progress-main{flex:1 1 180px}.quest-progress-label{flex-wrap:wrap}.quest-small-stat{min-width:0;max-width:100%;overflow-wrap:anywhere}.quest-stage-header{flex-wrap:wrap}.quest-stage-header>div{min-width:0;flex:1 1 100px}.quest-stage-progress{max-width:100%;overflow-wrap:anywhere}.quest-chapters>button{min-width:0;max-width:100%;flex-wrap:wrap;white-space:normal}.quest-level-name{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal;line-height:1.6}.quest-level-detail{max-width:100%;white-space:normal;overflow-wrap:anywhere}.sync-card,.fb-item-card{min-width:0;max-width:100%;overflow-wrap:anywhere}@container subject (max-width:780px){.subject-grid{grid-template-columns:minmax(0,1fr);gap:22px}.enrolled-cards .course-card{flex-basis:274px}}@container dashboard (max-width:440px){.rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.overall-time{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.overall-time span{margin:0}.dashboard-lower{gap:12px}.speed-box,.performance-box{padding:18px 12px}}@container dashboard (max-width:300px){.dashboard-lower{grid-template-columns:minmax(0,1fr)}.performance-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px}.performance-box>strong{margin:0}.speed-bars{gap:8px}}@media(max-width:760px){.stats-grid{grid-template-columns:minmax(0,1fr)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}.recommendation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.track-copy>strong>span{display:none}.badge-card h3{font-size:14px}.badge-card p{font-size:12px}}@media(max-width:500px){.home-content{padding-left:18px!important;padding-right:18px!important}.library-grid .course-meta{font-size:11px}.performance-box>span{font-size:12px}.performance-box>strong{font-size:20px}.time-box{padding:18px 12px}.game-mode-card{grid-template-columns:minmax(0,55px) minmax(0,1fr);column-gap:14px}}.games-page{width:min(100%,1480px);padding:24px clamp(20px,4vw,56px) 56px;display:flex;flex-direction:column;gap:22px}.games-head{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}.games-head h1{margin:0;font-size:clamp(24px,2.6vw,30px);letter-spacing:-.03em}.games-setup{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.games-setup-field{display:flex;align-items:center;gap:8px}.games-setup-label{color:var(--muted);font-size:12px}.games-pills{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--text) 5%,transparent)}.games-pill{min-height:30px;padding:4px 13px;border:0;border-radius:8px;color:var(--muted);font-size:12px;font-weight:550;transition:color .18s,background .18s,box-shadow .18s}.games-pill:hover{color:var(--text)}.games-pill:active{background:color-mix(in srgb,var(--blue) 12%,transparent)}.games-pill.selected{color:var(--blue);background:var(--surface);box-shadow:0 1px 4px #14285029}.games-sec{display:flex;flex-direction:column;gap:10px}.games-sec-head{display:flex;align-items:baseline;gap:10px}.games-sec-head h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.games-sec-en{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.18em;opacity:.7}.games-arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.games-arcade-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);text-align:left;transition:transform .18s cubic-bezier(.2,.7,.3,1),border-color .18s,box-shadow .18s}.games-arcade-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 45%,transparent);box-shadow:0 8px 20px #1e3c821f}.games-arcade-tile:active{transform:translateY(0)}.games-arcade-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #26334e;border-radius:10px;background:#0d1120;box-shadow:inset 0 0 12px #00000080}.games-arcade-icon .pixel-icon{width:20px;height:20px;color:#4da3ff;filter:drop-shadow(0 0 6px rgba(77,163,255,.55));transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.games-arcade-tile:hover .games-arcade-icon .pixel-icon{transform:scale(1.12)}.games-arcade-name{font-size:13px;font-weight:650;line-height:1.3}.games-arcade-tag{color:var(--muted);font-size:10.5px;line-height:1.3}.games-group{display:flex;flex-direction:column;gap:6px}.games-group-label{padding-left:2px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em}.games-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%)}.games-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto 12px;align-items:center;gap:12px;min-height:48px;padding:7px 14px;text-align:left;transition:background .15s}.games-row+.games-row:before{content:"";position:absolute;top:0;left:54px;right:0;border-top:1px solid var(--line)}.games-row:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}.games-row:active{background:color-mix(in srgb,var(--blue) 10%,transparent)}.games-row-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.games-row-icon .pixel-icon{width:15px;height:15px}.games-row.tone-teal .games-row-icon{color:#0d9276;background:color-mix(in srgb,#12c2a5 13%,transparent)}.games-row.tone-violet .games-row-icon{color:#6f5cc2;background:color-mix(in srgb,#8b78e8 13%,transparent)}.games-row.tone-amber .games-row-icon{color:#a77518;background:color-mix(in srgb,#f5a524 14%,transparent)}.games-row.tone-rose .games-row-icon{color:#b2557a;background:color-mix(in srgb,#ff7da1 13%,transparent)}.games-row.tone-slate .games-row-icon{color:#52647b;background:color-mix(in srgb,#64748b 14%,transparent)}.games-row-name{font-size:13.5px;font-weight:600}.games-row-tag{overflow:hidden;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.games-row-arrow{color:var(--muted);opacity:.55}.games-row-arrow .pixel-icon{width:11px;height:11px}.games-custom{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%)}.games-custom-label{flex:none;font-size:13px;font-weight:700}.games-custom-field{display:flex;align-items:center;gap:10px;flex:1 1 340px;min-width:0}.games-custom-field textarea{flex:1;min-width:0;min-height:38px;max-height:200px;padding:9px 12px;resize:vertical;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.games-custom-field textarea::placeholder{color:var(--muted);opacity:.75}.games-custom-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent);outline:0}.games-custom .dark-button{flex:none;min-height:38px;padding:8px 16px;font-size:12.5px}.games-pill:focus-visible,.games-arcade-tile:focus-visible,.games-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.games-section-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.18em}.memory-preview{margin:0 0 24px;padding:22px;border:1px solid var(--g-edge2);border-radius:19px;background:linear-gradient(140deg,var(--g-fill),var(--g-fill2));box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)}.memory-preview h2{margin:5px 0 11px;font-size:19px}.memory-preview p{margin:0 0 18px;font-family:ui-monospace,Consolas,monospace;font-size:clamp(17px,2vw,24px);line-height:1.7;overflow-wrap:anywhere}.memory-preview .dark-button{background:linear-gradient(105deg,var(--a1),var(--a2));border:0}.practice-text-area.memory-concealed .typing-passage{visibility:hidden}.practice-text-area.memory-locked .typing-input{pointer-events:none}.mode-goal{margin-bottom:20px;padding:9px 13px;border:1px solid var(--g-edge2);border-radius:12px;color:var(--blue);background:#eef6ffa6;font-size:12px;font-weight:650;text-align:center}.badges-hero-tag{display:flex;align-items:center;gap:8px}.badges-hero-tag .pixel-icon{width:16px;height:16px}.egg-locked-icon svg{width:19px;height:19px}.egg-banner-btn svg{width:16px;height:16px}:root[data-theme=dark] .games-pill.selected{color:#7db8ff;box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000059}:root[data-theme=dark] .games-arcade-tile,:root[data-theme=dark] .games-list,:root[data-theme=dark] .games-custom{background:color-mix(in srgb,var(--surface) 45%,transparent)}:root[data-theme=dark] .games-custom-field textarea{background:color-mix(in srgb,#0d1420 70%,transparent)}:root[data-theme=dark] .games-row.tone-teal .games-row-icon{color:#2ee6c5}:root[data-theme=dark] .games-row.tone-violet .games-row-icon{color:#b3a3ff}:root[data-theme=dark] .games-row.tone-amber .games-row-icon{color:#fbbf24}:root[data-theme=dark] .games-row.tone-rose .games-row-icon{color:#ff9db8}:root[data-theme=dark] .games-row.tone-slate .games-row-icon{color:#9db0c8}:root[data-theme=dark] .mode-goal{background:#1d38587a}@media(max-width:900px){.games-head{align-items:flex-start;flex-direction:column;gap:12px}.games-arcade-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(max-width:560px){.games-page{padding:18px 16px 44px;gap:18px}.games-arcade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.games-row{grid-template-columns:26px minmax(0,1fr) 10px;gap:10px;min-height:46px;padding:6px 12px}.games-row-tag{display:none}.games-row+.games-row:before{left:48px}.games-custom{align-items:stretch;flex-direction:column}.games-custom-field{flex-direction:column;align-items:stretch}.games-custom-field textarea{min-height:60px}.games-custom .dark-button{align-self:flex-end;min-width:128px}}@media(prefers-reduced-motion:reduce){.games-page *,.memory-preview{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--motion-instant: 90ms;--motion-fast: .14s;--motion-base: .22s;--motion-slow: .32s;--motion-morph: .36s;--ease-standard: cubic-bezier(.2, .7, .3, 1);--ease-emphasized: cubic-bezier(.22, 1, .36, 1);--ease-morph: cubic-bezier(.4, 0, .2, 1)}html[data-morphing=true] main{view-transition-name:none}html[data-morphing=true] #modal-root>.fullscreen-view,html[data-morphing=true] #modal-root>.fullscreen-view>.practice-page{animation:none!important}html[data-morphing=true] #modal-root>.fullscreen-view{background:transparent!important}#modal-root>.fullscreen-view.morph-entered,#modal-root>.fullscreen-view.morph-entered>.practice-page{animation:none!important}#modal-root>.fullscreen-view.morph-entered.leaving{animation:fullscreen-leave .18s ease both!important}#modal-root>.fullscreen-view.morph-entered.leaving>.practice-page{animation:fullscreen-content-leave .18s ease both!important}::view-transition-group(page-morph){border-radius:14px;overflow:hidden;box-shadow:0 18px 60px #0f1e372e;animation-duration:var(--motion-morph);animation-timing-function:var(--ease-morph)}::view-transition-old(page-morph){animation:morph-out .12s var(--ease-standard) .22s both}::view-transition-new(page-morph){animation:morph-in .2s var(--ease-standard) both}@keyframes morph-out{to{opacity:0}}@keyframes morph-in{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-group(page-morph){animation-duration:.01ms!important}}.settings-redesign{--settings-blue: #2f78c8;--settings-blue-soft: rgb(47 120 200 / 10%);--settings-line: rgb(39 74 112 / 11%);--settings-card: rgb(255 255 255 / 62%);--settings-card-strong: rgb(255 255 255 / 82%);--settings-shadow: 0 24px 70px rgb(37 67 105 / 11%);position:relative;max-width:1180px;margin:0 auto;padding-bottom:76px}.settings-redesign:before{position:absolute;z-index:-1;top:-90px;right:4%;width:340px;height:280px;border-radius:50%;background:radial-gradient(circle,rgb(73 145 229 / 10%),transparent 68%);content:"";pointer-events:none}.settings-back{margin-bottom:22px;transition:transform .18s ease,color .18s ease,background-color .18s ease}.settings-back:hover{transform:translate(-3px)}.settings-back:active{transform:translate(-1px) scale(.97)}.settings-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;min-height:214px;margin-bottom:22px;padding:30px 32px;overflow:hidden;border:1px solid var(--settings-line);border-radius:30px;background:linear-gradient(132deg,#ffffffd6,#f6faff8f),var(--settings-card);box-shadow:inset 0 1px #ffffffe0,var(--settings-shadow);-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);animation:settings-hero-in .62s cubic-bezier(.22,1,.36,1) both}.settings-hero:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgb(41 94 151 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(41 94 151 / 5%) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,transparent 42%,#000 100%);mask-image:linear-gradient(90deg,transparent 42%,#000 100%);content:"";pointer-events:none}.settings-hero:after{position:absolute;top:20px;right:24px;width:38px;height:38px;border-top:2px solid rgb(47 120 200 / 20%);border-right:2px solid rgb(47 120 200 / 20%);content:""}.settings-hero-copy,.settings-hero-side{position:relative;z-index:1}.settings-hero h1{margin:0;color:var(--text);font-size:clamp(40px,5vw,58px);font-weight:760;line-height:1;letter-spacing:-.055em}.settings-hero-side{display:flex;align-items:center;gap:18px}.settings-hero-pixel{display:grid;place-items:center;width:84px;height:84px;border:1px solid rgb(47 120 200 / 14%);border-radius:23px;background:#ffffff8a;box-shadow:inset 0 1px #ffffffeb,0 15px 35px #2957891a;color:var(--settings-blue);animation:settings-device-float 6s ease-in-out infinite}.settings-hero-pixel .pixel-icon{width:52px;height:52px}.settings-save-state{display:flex;align-items:center;gap:11px;min-width:166px;padding:13px 15px;border:1px solid var(--settings-line);border-radius:16px;background:#ffffff94;box-shadow:inset 0 1px #ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.settings-save-state.is-saving{border-color:#2f78c847;transform:scale(1.015)}.settings-save-state.is-error{border-color:#ef444457;background:#ef444412}.settings-save-state.is-error .settings-save-dot{background:#ef4444;box-shadow:0 0 0 5px #ef44441a}.settings-save-dot{width:8px;height:8px;border-radius:50%;background:#42b96f;box-shadow:0 0 0 5px #42b96f1a;transition:background-color .18s ease,box-shadow .18s ease}.settings-save-state.is-saving .settings-save-dot{background:var(--settings-blue);box-shadow:0 0 0 5px #2f78c81a;animation:settings-save-pulse .7s ease-in-out infinite alternate}.settings-save-state strong{display:block}.settings-save-state strong{color:var(--text);font-size:12px;font-weight:620}.settings-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.78fr);align-items:start;gap:22px}.settings-column{display:flex;min-width:0;flex-direction:column;gap:22px}.settings-card{position:relative;min-width:0;padding:27px 28px;overflow:hidden;border:1px solid var(--settings-line);border-radius:25px;background:radial-gradient(110% 100% at 0 0,rgb(255 255 255 / 78%),transparent 52%),var(--settings-card);box-shadow:inset 0 1px #ffffffe5,0 18px 54px #25436917;-webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%);animation:settings-card-in .56s cubic-bezier(.22,1,.36,1) both}.settings-column--main .settings-card:nth-child(2){animation-delay:70ms}.settings-column--main .settings-card:nth-child(3),.settings-column--side .settings-card:nth-child(2){animation-delay:.13s}.settings-card:after{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgb(47 120 200 / 10%) 1px,transparent 0);background-size:15px 15px;-webkit-mask-image:linear-gradient(125deg,#000,transparent 34%);mask-image:linear-gradient(125deg,#000,transparent 34%);opacity:.38;content:"";pointer-events:none}.settings-card>*{position:relative;z-index:1}.settings-card-heading{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px}.settings-card-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgb(47 120 200 / 12%);border-radius:14px;background:#ffffff85;box-shadow:inset 0 1px #ffffffe0;color:var(--settings-blue)}.settings-card-icon svg{width:19px;height:19px}.settings-card-title h2{margin:0;color:var(--text);font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.025em}.settings-card-count{align-self:start;padding:6px 9px;border:1px solid var(--settings-line);border-radius:9px;background:#ffffff70;color:var(--muted);font:600 9px/1 SFMono-Regular,Consolas,monospace;white-space:nowrap}.settings-switch-list{margin-top:22px;border-top:1px solid var(--settings-line)}.settings-switch-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:67px;padding:13px 9px;border-bottom:1px solid var(--settings-line);border-radius:14px;cursor:pointer;transition:background-color .18s ease,transform .16s cubic-bezier(.22,1,.36,1)}.settings-switch-row:last-child{border-bottom-color:transparent}.settings-switch-row:hover{background:#2f78c80d;transform:translate(3px)}.settings-switch-row:active{transform:scale(.992)}.settings-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#2f78c80f;color:var(--settings-blue);transition:background-color .18s ease,transform .18s ease}.settings-switch-row:hover .settings-row-icon{background:#2f78c81a;transform:scale(1.04)}.settings-row-icon svg{width:16px;height:16px}.settings-row-copy strong{display:block}.settings-row-copy strong{color:var(--text);font-size:14px;font-weight:620}.settings-switch-control{position:relative;display:block;width:48px;height:29px;flex:0 0 48px}.settings-switch-control input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.settings-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgb(35 67 101 / 10%);border-radius:99px;background:#56677a38;box-shadow:inset 0 2px 4px #14273d14;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .16s ease}.settings-switch-track:after{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #12263d30;content:"";transition:transform .25s cubic-bezier(.22,1,.36,1)}.settings-switch-control input:checked+.settings-switch-track{border-color:#2f78c847;background:var(--settings-blue);box-shadow:inset 0 1px 1px #fff3,0 0 0 4px #2f78c812}.settings-switch-control input:checked+.settings-switch-track:after{transform:translate(19px)}.settings-switch-control input:focus-visible+.settings-switch-track{outline:2px solid var(--settings-blue);outline-offset:3px}.settings-switch-row:active .settings-switch-track{transform:scale(.95)}.settings-pinyin-master{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;padding:16px 17px;border:1px solid rgb(47 120 200 / 12%);border-radius:16px;background:#ffffff61}.settings-pinyin-master strong{color:var(--text);font-size:14px;font-weight:640}.settings-fuzzy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px;transition:opacity .22s ease,filter .22s ease}.settings-card--pinyin.is-muted .settings-fuzzy-grid{opacity:.42;filter:grayscale(.55)}.settings-fuzzy-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:2px 8px;min-width:0;padding:12px 11px;border:1px solid var(--settings-line);border-radius:13px;background:#ffffff70;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .16s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.settings-fuzzy-option:hover{border-color:#2f78c83d;background:#ffffffa8}.settings-fuzzy-option:active{transform:scale(.97)}.settings-fuzzy-option:has(input:checked){border-color:#2f78c84d;background:#2f78c814;box-shadow:inset 0 0 0 1px #2f78c80d}.settings-fuzzy-option input{position:absolute;opacity:0;pointer-events:none}.settings-fuzzy-option:has(input:disabled){cursor:default}.settings-fuzzy-option strong{overflow:hidden;color:var(--text);font:650 12px/1.2 SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.settings-fuzzy-check{display:grid;grid-row:1 / span 2;grid-column:2;place-items:center;align-self:center;width:18px;height:18px;border:1px solid var(--settings-line);border-radius:6px;color:transparent;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.settings-fuzzy-check svg{width:11px;height:11px;stroke-width:2.4}.settings-fuzzy-option input:checked~.settings-fuzzy-check{border-color:var(--settings-blue);background:var(--settings-blue);color:#fff}.settings-fuzzy-option input:focus-visible~.settings-fuzzy-check{outline:2px solid var(--settings-blue);outline-offset:2px}.settings-control-list{margin-top:20px}.settings-control-row,.settings-range-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:61px;padding:12px 0;border-bottom:1px solid var(--settings-line)}.settings-control-row:last-child,.settings-range-row:last-child{border-bottom:0}.settings-control-row strong{display:block}.settings-control-row strong,.settings-range-row strong{color:var(--text);font-size:13px;font-weight:610}.settings-control-row select{width:auto;min-width:92px;max-width:122px;height:34px;padding:0 28px 0 10px;border:1px solid var(--settings-line);border-radius:10px;background-color:#ffffff94;color:var(--text);font-size:11px;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .16s ease}.settings-control-row select:hover{border-color:#2f78c840}.settings-control-row select:active{transform:scale(.97)}.settings-card--audio>.settings-switch-row{margin-top:19px;padding-inline:0}.settings-audio-controls{padding-top:3px;border-top:1px solid var(--settings-line)}.settings-range-row{display:block}.settings-range-row>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-range-row output{color:var(--settings-blue);font:650 11px/1 SFMono-Regular,Consolas,monospace}.settings-range-row input[type=range]{width:100%;height:20px;margin:10px 0 0;accent-color:var(--settings-blue);cursor:pointer}.settings-play-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;margin-top:8px;border:1px solid rgb(47 120 200 / 18%);border-radius:11px;background:#2f78c812;color:var(--settings-blue);font-size:11px;font-weight:620;transition:background-color .18s ease,transform .16s ease}.settings-play-button:hover{background:#2f78c81f}.settings-play-button:active{transform:scale(.975)}.settings-play-button svg{width:14px;height:14px}.settings-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.settings-action-card{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:72px;padding:12px;overflow:hidden;border:1px solid var(--settings-line);border-radius:14px;background:#ffffff6e;color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .16s cubic-bezier(.22,1,.36,1)}.settings-action-card:hover{border-color:#2f78c83d;background:#ffffffa8;transform:translateY(-2px)}.settings-action-card:active{transform:scale(.975)}.settings-action-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--settings-blue-soft);color:var(--settings-blue)}.settings-action-card>span svg,.settings-action-card>svg{width:15px;height:15px}.settings-action-card>svg{color:var(--muted)}.settings-action-card strong{display:block}.settings-action-card strong{font-size:12px;font-weight:630}.settings-action-card--danger:hover{border-color:#d447473d;background:#fff4f4c2}.settings-action-card--danger>span{background:#d4474714;color:#c24949}.settings-file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}:root[data-theme=dark] .settings-redesign{--settings-blue: #76b4f3;--settings-blue-soft: rgb(118 180 243 / 12%);--settings-line: rgb(205 225 247 / 10%);--settings-card: rgb(25 31 40 / 72%);--settings-card-strong: rgb(31 38 49 / 88%);--settings-shadow: 0 24px 70px rgb(0 0 0 / 25%)}:root[data-theme=dark] .settings-hero,:root[data-theme=dark] .settings-card{background:linear-gradient(132deg,#29313d9e,#161c248a),var(--settings-card);box-shadow:inset 0 1px #ffffff0f,var(--settings-shadow)}:root[data-theme=dark] .settings-hero-pixel,:root[data-theme=dark] .settings-save-state,:root[data-theme=dark] .settings-card-icon,:root[data-theme=dark] .settings-pinyin-master,:root[data-theme=dark] .settings-fuzzy-option,:root[data-theme=dark] .settings-card-count,:root[data-theme=dark] .settings-action-card,:root[data-theme=dark] .settings-control-row select{background-color:#ffffff0a}:root[data-theme=dark] .settings-fuzzy-option:hover{background-color:#ffffff1a}:root[data-theme=dark] .settings-switch-track{background:#ffffff24}:root[data-theme=dark] .settings-action-card--danger:hover{background:#54202385}@keyframes settings-hero-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settings-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes settings-device-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes settings-save-pulse{to{box-shadow:0 0 0 7px #2f78c80a}}@media(max-width:1040px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-column--side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){body:has(.settings-redesign){--sidebar-width: 68px;--rail-width: 68px}body:has(.settings-redesign) .sidebar .brand{justify-content:center;padding-inline:10px!important}body:has(.settings-redesign) .sidebar .brand .typeflow-wordmark,body:has(.settings-redesign) .sidebar .nav-item>span,body:has(.settings-redesign) .sidebar .tool-tile>span,body:has(.settings-redesign) .sidebar .local-edition{display:none!important}body:has(.settings-redesign) .sidebar .nav-item{justify-content:center;padding-inline:10px}body:has(.settings-redesign) .sidebar .sidebar-bottom{padding-inline:7px!important}body:has(.settings-redesign) .sidebar .tool-tile{justify-content:center;padding-inline:0}.settings-redesign{padding-bottom:52px}.settings-hero{min-height:0;padding:24px 21px;border-radius:24px}.settings-hero h1{font-size:42px}.settings-hero-side{align-items:flex-end;flex-direction:column;gap:10px}.settings-hero-pixel{width:64px;height:64px;border-radius:18px}.settings-hero-pixel .pixel-icon{width:40px;height:40px}.settings-save-state{min-width:0;padding:10px 11px}.settings-card{padding:23px 20px;border-radius:21px}.settings-card-heading{grid-template-columns:40px minmax(0,1fr)}.settings-card-count{grid-column:2;width:fit-content;margin-top:2px}.settings-fuzzy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-data-grid{grid-template-columns:minmax(0,1fr)}.settings-action-card{min-height:64px}.settings-column--side{display:flex}}@media(max-width:440px){.settings-hero{align-items:flex-start;flex-direction:column}.settings-hero-side{width:100%;align-items:center;flex-direction:row;justify-content:space-between}.settings-switch-row{grid-template-columns:31px minmax(0,1fr) auto;gap:10px;padding-inline:5px}.settings-row-icon{width:31px;height:31px}.settings-switch-control{width:44px;height:27px;flex-basis:44px}.settings-switch-track:after{width:19px;height:19px}.settings-switch-control input:checked+.settings-switch-track:after{transform:translate(17px)}.settings-control-row{align-items:flex-start;flex-direction:column;gap:9px}.settings-control-row select{width:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.settings-hero,.settings-card,.settings-hero-pixel,.settings-save-state.is-saving .settings-save-dot{animation:none!important}.settings-redesign *,.settings-redesign *:before,.settings-redesign *:after{scroll-behavior:auto!important;transition-duration:1ms!important}}.settings-page.settings-redesign{width:100%;max-width:none;padding:22px 28px 46px!important}.settings-redesign .settings-back{min-height:30px;margin-bottom:10px;padding-block:5px;font-size:11px}.settings-redesign .settings-hero{align-items:center;min-height:0;margin-bottom:14px;padding:17px 22px;border-radius:20px;gap:20px}.settings-redesign .settings-hero h1{margin:0;font-size:clamp(31px,3.1vw,38px);letter-spacing:-.045em}.settings-redesign .settings-hero-side{gap:10px}.settings-redesign .settings-hero-pixel{width:54px;height:54px;border-radius:15px}.settings-redesign .settings-hero-pixel .pixel-icon{width:34px;height:34px}.settings-redesign .settings-save-state{min-width:148px;padding:9px 11px;border-radius:12px}.settings-redesign .settings-save-state strong{font-size:11px}.settings-redesign .settings-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch}.settings-redesign .settings-column{display:contents}.settings-redesign .settings-card--practice{grid-row:1;grid-column:span 5}.settings-redesign .settings-card--pinyin{grid-row:1;grid-column:span 7;display:flex;flex-direction:column}.settings-redesign .settings-card--data,.settings-redesign .settings-card--appearance,.settings-redesign .settings-card--audio{grid-row:2;grid-column:span 4}.settings-redesign .settings-card{padding:18px 19px;border-radius:20px}.settings-redesign .settings-card-heading{grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:center}.settings-redesign .settings-card-icon{width:36px;height:36px;border-radius:11px}.settings-redesign .settings-card-icon svg{width:16px;height:16px}.settings-redesign .settings-card-title h2{font-size:19px}.settings-redesign .settings-card-count{padding:5px 7px;font-size:8px}.settings-redesign .settings-switch-list{margin-top:13px}.settings-redesign .settings-switch-row{min-height:45px;padding:6px 7px;gap:10px}.settings-redesign .settings-row-icon{width:30px;height:30px;border-radius:9px}.settings-redesign .settings-row-icon svg{width:14px;height:14px}.settings-redesign .settings-row-copy strong{font-size:13px}.settings-redesign .settings-switch-control{width:43px;height:26px;flex-basis:43px}.settings-redesign .settings-switch-track:after{width:18px;height:18px}.settings-redesign .settings-switch-control input:checked+.settings-switch-track:after{transform:translate(17px)}.settings-redesign .settings-pinyin-master{margin-top:13px;padding:11px 13px;border-radius:13px}.settings-redesign .settings-pinyin-master strong{font-size:13px}.settings-redesign .settings-fuzzy-grid{gap:7px;margin-top:9px;flex:1;align-content:center}.settings-redesign .settings-fuzzy-option{min-height:44px;padding:10px 11px;border-radius:10px}.settings-redesign .settings-fuzzy-option strong{font-size:12px}.settings-redesign .settings-fuzzy-check{width:16px;height:16px;border-radius:5px}.settings-redesign .settings-control-list{margin-top:13px}.settings-redesign .settings-control-row,.settings-redesign .settings-range-row{min-height:45px;padding:6px 0}.settings-redesign .settings-control-row strong,.settings-redesign .settings-range-row strong{font-size:12px}.settings-redesign .settings-control-row select{min-width:82px;max-width:108px;height:30px;font-size:10px}.settings-redesign .settings-card--audio>.settings-switch-row{min-height:49px;margin-top:11px}.settings-redesign .settings-range-row input[type=range]{margin-top:6px}.settings-redesign .settings-play-button{min-height:34px;margin-top:5px;font-size:10px}.settings-redesign .settings-data-grid{grid-template-columns:minmax(0,1fr);gap:7px;margin-top:13px}.settings-redesign .settings-action-card{min-height:52px;padding:8px 10px;grid-template-columns:28px minmax(0,1fr) 14px;gap:8px}.settings-redesign .settings-action-card>span{width:28px;height:28px;border-radius:8px}.settings-redesign .settings-action-card strong{font-size:12px}@media(max-width:1000px){.settings-redesign .settings-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-redesign .settings-card--practice{grid-row:auto;grid-column:1 / -1}.settings-redesign .settings-card--pinyin,.settings-redesign .settings-card--data,.settings-redesign .settings-card--appearance,.settings-redesign .settings-card--audio{grid-row:auto;grid-column:span 1}}@media(max-width:760px){.settings-page.settings-redesign{padding:14px 14px 40px!important}.settings-redesign .settings-hero{padding:15px 17px;border-radius:18px}.settings-redesign .settings-hero h1{font-size:31px}.settings-redesign .settings-hero-side{flex-direction:row}.settings-redesign .settings-layout{grid-template-columns:minmax(0,1fr);gap:12px}.settings-redesign .settings-card--practice,.settings-redesign .settings-card--pinyin,.settings-redesign .settings-card--data,.settings-redesign .settings-card--appearance,.settings-redesign .settings-card--audio{grid-column:1}}.course-mode #site-topbar-leading{flex:1 1 auto;min-width:0;overflow:hidden}.course-toolbar-title{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;flex:0 0 auto;min-width:0;white-space:nowrap;animation:course-toolbar-in .36s cubic-bezier(.22,1,.36,1) both}.course-toolbar-title>.course-toolbar-course,.course-toolbar-title>.course-toolbar-stats{width:auto;height:auto;margin:0}.course-toolbar-title>.course-toolbar-course{background:none}.course-toolbar-course{display:flex;flex:0 0 auto;min-width:0;flex-direction:column;gap:2px}.course-toolbar-course small{color:color-mix(in srgb,var(--blue) 84%,var(--muted));font:650 8px/1.2 SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.course-toolbar-course strong{overflow:hidden;max-width:210px;color:var(--text);font-size:17px;font-weight:680;line-height:1.2;letter-spacing:-.025em;text-overflow:ellipsis}.course-toolbar-stats{display:flex;align-items:stretch;gap:0;flex:0 0 auto;padding:4px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 74%,transparent),color-mix(in srgb,var(--surface) 42%,transparent));box-shadow:inset 0 1px color-mix(in srgb,#fff 82%,transparent),0 5px 18px #20497c0d;-webkit-backdrop-filter:blur(18px) saturate(165%);backdrop-filter:blur(18px) saturate(165%)}.course-toolbar-title>.course-toolbar-stats{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 74%,transparent),color-mix(in srgb,var(--surface) 42%,transparent))}.course-stat{position:relative;display:grid;grid-template-columns:18px auto;align-items:center;gap:7px;min-width:66px;padding:4px 9px;color:var(--text)}.course-stat+.course-stat:before{position:absolute;top:7px;bottom:7px;left:0;width:1px;background:color-mix(in srgb,var(--line) 72%,transparent);content:""}.course-stat-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:color-mix(in srgb,var(--blue) 8%,transparent);color:var(--blue)}.course-stat-icon svg{width:12px;height:12px;stroke-width:1.9}.course-stat>span:last-child{display:flex;align-items:baseline;gap:4px}.course-stat b{color:var(--text);font-size:11px;font-weight:680;font-variant-numeric:tabular-nums}.course-stat small{color:var(--muted);font-size:8px;font-weight:520}.course-stat--progress{grid-template-columns:36px auto;min-width:93px}.course-progress-track{position:relative;width:36px;height:5px;overflow:hidden;border-radius:4px;background:color-mix(in srgb,var(--line) 74%,transparent);box-shadow:inset 0 1px 1px #1f406514}.course-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 76%,#fff),var(--blue));box-shadow:0 0 8px color-mix(in srgb,var(--blue) 28%,transparent);transform-origin:left center;animation:course-progress-in .52s .1s cubic-bezier(.22,1,.36,1) both}:root[data-theme=dark] .course-toolbar-stats{border-color:#ffffff14;background:#12171fbd;box-shadow:inset 0 1px #ffffff0f,0 8px 22px #00000038}:root[data-theme=dark] .course-stat-icon{background:color-mix(in srgb,var(--blue) 13%,transparent)}@keyframes course-toolbar-in{0%{opacity:0;transform:translate(-7px)}to{opacity:1;transform:translate(0)}}@keyframes course-progress-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:1120px){.course-toolbar-title{gap:9px}.course-toolbar-course strong{max-width:150px;font-size:15px}.course-stat{min-width:56px;padding-inline:7px}.course-stat small{display:none}.course-stat--progress{min-width:82px}}@media(max-width:820px){.course-toolbar-title{gap:7px}.course-toolbar-course small,.course-stat:nth-child(2){display:none}.course-toolbar-course strong{max-width:125px;font-size:14px}.course-toolbar-stats{padding:3px;border-radius:12px}.course-stat{min-width:50px;padding:4px 6px}.course-stat--progress{min-width:76px}}@media(max-width:640px){.course-toolbar-title{display:none}}@media(prefers-reduced-motion:reduce){.course-toolbar-title,.course-progress-track i{animation:none!important}}.pcard{--pc-radius: 18px;--pc-holo: .8;--pc-glare: .5;--pc-frame: rgba(240, 240, 243, .86);--pc-frame-edge: rgba(24, 24, 27, .08);--pc-frame-highlight: rgba(255, 255, 255, .95);--pc-frame-shadow: 0 22px 44px -22px rgba(24, 24, 27, .3), 0 6px 16px -10px rgba(24, 24, 27, .16);--pc-tile: linear-gradient(180deg, #ffffff 0%, #f6f6f8 100%);--pc-tile-edge: rgba(24, 24, 27, .08);--pc-tile-highlight: rgba(255, 255, 255, 1);--pc-tile-shadow: 0 4px 10px -5px rgba(24, 24, 27, .25);--pc-ink: #27272a;--pc-muted: rgba(39, 39, 42, .6);--pc-hover: brightness(.97);--pc-press: brightness(.92);--pc-shade: rgba(24, 24, 27, .14);--pc-blend: multiply;--pc-holo-filter: invert(1) hue-rotate(180deg);--pc-sheen: rgba(255, 255, 255, 0);position:relative;width:min(340px,calc(100vw - 48px));border-radius:var(--pc-radius);padding:10px;background:var(--pc-frame);border:1px solid var(--pc-frame-edge);box-shadow:var(--pc-frame-shadow),inset 0 1px 0 var(--pc-frame-highlight);transition:transform .18s ease,box-shadow .18s ease}.pcard:hover{transform:translateY(-2px)}:root[data-theme=dark] .pcard{--pc-frame: rgba(38, 35, 46, .66);--pc-frame-edge: rgba(255, 255, 255, .08);--pc-frame-highlight: rgba(255, 255, 255, .07);--pc-frame-shadow: 0 22px 44px -20px rgba(0, 0, 0, .8), 0 6px 16px -8px rgba(0, 0, 0, .5);--pc-tile: linear-gradient(180deg, #3a3644 0%, #27242f 100%);--pc-tile-edge: rgba(255, 255, 255, .07);--pc-tile-highlight: rgba(255, 255, 255, .12);--pc-tile-shadow: 0 4px 10px -4px rgba(0, 0, 0, .7);--pc-ink: #f4f4f5;--pc-muted: rgba(244, 244, 245, .6);--pc-hover: brightness(1.12);--pc-press: brightness(.8);--pc-shade: rgba(0, 0, 0, .4);--pc-blend: color-dodge;--pc-holo-filter: hue-rotate(0deg);--pc-sheen: rgba(255, 255, 255, .16)}.pcard-body{position:relative;transform-style:preserve-3d;perspective:700px}.pcard-tile{position:relative;aspect-ratio:4 / 4.4;border-radius:calc(var(--pc-radius) - 5px);overflow:hidden;background:radial-gradient(100% 55% at 82% 12%,color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 32%,transparent),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%),linear-gradient(155deg,color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 24%,#29243d),#161722 72%);border:1px solid var(--pc-tile-edge);box-shadow:var(--pc-tile-shadow),inset 0 1px 0 var(--pc-tile-highlight);transform:translateZ(0);display:grid;place-items:center;transition:filter .18s ease}.pcard-photo{display:grid;place-items:center;width:46%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--pc-tile);border:2px solid rgba(255,255,255,.65);box-shadow:0 14px 30px -10px #00000080,0 0 0 4px #ffffff1f;transform:translateZ(28px);-webkit-user-select:none;user-select:none}.pcard-photo img{width:100%;height:100%;display:block;image-rendering:pixelated}.pcard-scrim{position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62))}.pcard-info{position:absolute;inset:auto 0 14px;padding:0 16px;transform:translateZ(18px)}.pcard-name{margin:0 0 3px;color:#fff;font-size:19px;font-weight:700;letter-spacing:-.01em;text-shadow:0 2px 12px rgba(0,0,0,.45)}.pcard-title{margin:0;color:#ffffffd1;font-size:12px;font-weight:550}.pcard-holo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:normal;filter:none;opacity:calc(var(--pc-holo) * (.16 + var(--pc-tilt, 0) * .08))}.pcard-holo-glow{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:conic-gradient(from 0deg at var(--pc-band-x, 50%) var(--pc-band-y, 50%),#ff5f6d,#ffc371,#7bed9f,#70e1f5,#a17fe0,#ff5f6d)}.pcard-holo-shift{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.16) 0 2px,transparent 2px 7px);opacity:calc(var(--pc-reach, 0) * .7)}.pcard-sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,var(--pc-sheen) 48%,transparent 62%);background-size:240% 240%;background-position:var(--pc-band-x, 50%) var(--pc-band-y, 50%);mix-blend-mode:normal;opacity:.18}.pcard-tile-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,calc(.18 + var(--pc-tilt, 0) * .3))}.pcard-footer{display:flex;align-items:center;gap:10px;padding:12px 6px 4px}.pcard-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;flex-shrink:0;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(140deg,#0a84ff,#6f4bd8);box-shadow:var(--pc-tile-shadow)}.pcard-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.pcard-handle{color:var(--pc-ink);font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard-status{display:inline-flex;align-items:center;gap:5px;color:var(--pc-muted);font-size:11px}.pcard-status i{width:7px;height:7px;border-radius:50%;background:var(--pc-status, #22c55e);box-shadow:0 0 8px var(--pc-status, #22c55e)}.pcard-contact{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--pc-tile-edge);border-radius:999px;background:var(--pc-tile);box-shadow:var(--pc-tile-shadow),inset 0 1px 0 var(--pc-tile-highlight);color:var(--pc-ink);font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s ease,transform .15s ease}.pcard-contact:hover{filter:var(--pc-hover)}.pcard-contact:active{filter:var(--pc-press);transform:scale(.96)}.pcard-glare{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--pc-light-x, 50%) var(--pc-light-y, 50%),rgba(255,255,255,calc(.34 * var(--pc-glare) * var(--pc-active, 0))),transparent 65%);mix-blend-mode:normal}.pcard-shade{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,calc(.1 * var(--pc-tilt, 0))) 0%,transparent 32%,transparent 62%,var(--pc-shade) 100%);mix-blend-mode:normal}.pcard-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px rgba(255,255,255,calc(.12 + var(--pc-tilt, 0) * .35)),inset 0 0 0 1px rgba(255,255,255,calc(.05 + var(--pc-tilt, 0) * .22))}.pcard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:var(--pc-grain);background-size:180px;display:none}.pcard-holo,.pcard-sheen,.pcard-glare,.pcard-shade{display:none}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal.profile-card-modal{width:auto!important;max-width:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important}.profile-card-body{display:flex;flex-direction:column;align-items:center;padding:0}button.profile-hero-avatar{border:0;cursor:pointer;font:inherit;color:inherit;transition:transform .18s ease,box-shadow .18s ease}button.profile-hero-avatar:hover{transform:scale(1.06);box-shadow:0 0 0 4px #0a84ff2e}@media(prefers-reduced-motion:reduce){.pcard-tile{transition:none}}button.profile-hero-avatar{padding:0;overflow:hidden}.profile-hero-avatar.is-static{cursor:default}.profile-hero-avatar img,.pcard-avatar img,.user-avatar-tag img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.pcard-photo-letter{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(40px,9vw,72px);font-weight:800;color:#ffffffeb;text-shadow:0 3px 0 rgba(0,0,0,.18);letter-spacing:-.02em}.home-integrated{padding-top:32px!important;max-width:1420px}.home-integrated .greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.home-integrated .greeting-lead h1{font-size:32px;font-weight:750;line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--text)}.home-integrated .greeting-action-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 20px;border-radius:9999px;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.home-integrated .greeting-action-btn:hover{transform:translateY(-1px)}.home-integrated .greeting-action-btn svg{width:16px;height:16px}.home-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:20px;align-items:start;margin-bottom:28px}.home-courses,.home-overview{min-width:0;padding:24px;border-radius:24px}.home-workspace .section-heading{margin-bottom:20px;gap:12px}.home-workspace .section-heading h2{font-size:19px;letter-spacing:0}.home-workspace .section-heading p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.home-workspace .section-heading .text-button{font-size:11px}.home-courses .learning-tracks{gap:6px;margin:0 0 20px}.home-courses .learning-track{padding:10px 8px;gap:6px;border-radius:12px}.home-courses .track-symbol{width:26px;height:30px;flex-shrink:0}.home-courses .track-symbol .pixel-icon{width:18px;height:18px}.home-courses .track-copy>strong{font-size:14px}.home-courses .track-copy>strong>span,.home-courses .track-tail{display:none}.home-courses .track-copy>small{font-size:7px;letter-spacing:.6px}.home-courses .dashboard-subject{container:none;margin:0 0 18px}.home-courses .dashboard-subject:last-child{margin-bottom:0}.home-courses .subject-title{font-size:12px;margin:0 0 10px;gap:6px;color:var(--muted)}.home-courses .subject-title .pixel-icon{width:16px;height:16px}.home-courses .subject-title small{font:8px Consolas,monospace;letter-spacing:1px}.home-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:10px}.home-course-grid .course-card{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)}.home-course-grid .cover-button{width:76px;height:80px;aspect-ratio:auto;border-radius:10px}.home-course-grid .course-card-body{padding:4px 16px 4px 0;min-height:0}.home-course-grid .course-title{font-size:13px;min-height:0;line-height:1.6}.home-course-grid .course-progress{margin-top:12px;font-size:10px;gap:4px 8px}.home-course-grid .mini-progress{margin-top:8px;height:3px}.home-course-grid .card-more{top:10px;right:10px;border-radius:8px;width:22px;height:22px}.home-course-grid .card-more svg{width:16px;height:16px}.home-overview .dashboard-statistics{container:dashboard / inline-size}.home-overview .dashboard-statistics fieldset{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:0;border-radius:0;padding:0;margin:0;min-width:0}.home-overview .dashboard-statistics fieldset>legend{position:static;float:none;margin:0 0 14px;padding:0;line-height:1.5;font-size:11px}.home-overview .rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-overview .overall-time{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border:0;border-top:1px solid var(--line);padding:14px 0 0;margin-top:4px}.home-overview .overall-time strong{font-size:20px}.home-overview .overall-time span{margin:0;font-size:10px}.home-overview .dashboard-lower{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.home-overview .speed-bars{height:102px;gap:8px}.home-overview .performance-box{display:flex;gap:6px;border-left:1px solid var(--line)!important;padding-left:16px!important}.home-overview .performance-box>span{font-size:10px}.home-overview .performance-box>strong{font-size:18px;margin-bottom:5px}.home-overview .more-stats{font-size:11px;margin-top:18px;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.home-integrated .recommended>.section-heading{margin-bottom:14px}.home-integrated .recommended h2{font-size:18px}.home-integrated .recommendation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-integrated .recommended-card .cover-button{height:106px;aspect-ratio:auto}.home-integrated .recommended-card .course-card-body{padding:12px;min-height:0}.home-integrated .recommended-card .course-title{min-height:0;font-size:13px}.home-integrated .recommended-card .course-meta{margin-bottom:8px;font-size:10px}.home-empty{padding:24px 0;font-size:13px;color:var(--muted);line-height:1.8}@media(max-width:1100px){.home-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:14px}.home-courses,.home-overview{padding:18px}.home-course-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:850px){.home-workspace{grid-template-columns:minmax(0,1fr)}.home-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.home-integrated .recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.home-integrated{padding-top:24px!important}.home-courses,.home-overview{padding:16px}.home-workspace .section-heading{margin-bottom:16px}.home-courses .learning-track{display:flex;gap:4px;padding:8px 5px}.home-courses .track-symbol{display:none}.home-courses .track-copy>strong{font-size:12px}.home-courses .track-copy>small{font-size:6px}.home-course-grid .course-card{grid-template-columns:65px minmax(0,1fr);gap:10px}.home-course-grid .cover-button{width:65px;height:72px}.home-integrated .recommendation-grid{grid-template-columns:minmax(0,1fr)}.home-integrated .recommended-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:10px}.home-integrated .recommended-card .cover-button{height:85px}.home-integrated .recommended-card .course-card-body{padding:6px}.home-overview .dashboard-lower{gap:10px}.home-overview .performance-box{padding-left:10px!important}}.home-course-groups{max-height:460px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.home-course-grid .course-title{display:-webkit-box;max-height:3.2em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-integrated .recommended-card .course-title{display:-webkit-box;min-height:3.2em;max-height:3.2em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media(max-width:850px){.home-course-groups{max-height:420px}}@media(max-width:500px){.home-course-groups{max-height:360px}}.course-outline-dialog{max-width:820px!important;width:95vw!important;padding:32px 36px!important}.outline-modal-inner{display:flex;flex-direction:column;gap:20px}.outline-modal-header{display:flex;flex-direction:column;gap:8px}.outline-track-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.5px;color:#3b82f6;background:#eff6ffd9;border:1px solid rgba(191,219,254,.8);padding:4px 12px;border-radius:9999px;align-self:flex-start}.outline-track-badge .pixel-icon{width:15px;height:15px}.outline-modal-header h2{font-size:26px;font-weight:750;color:var(--text);margin:4px 0 0;letter-spacing:-.02em}.outline-course-desc{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}.outline-meta-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.outline-meta-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(215,230,248,.7);border-radius:12px;box-shadow:inset 0 1px #fff,0 2px 8px #1e3c6e0a}.outline-meta-item .meta-icon .pixel-icon{width:20px;height:20px;color:#3b82f6}.outline-meta-item .meta-text{display:flex;flex-direction:column}.outline-meta-item .meta-text small{font-size:10px;color:var(--muted)}.outline-meta-item .meta-text strong{font-size:13px;color:var(--text);font-weight:600}.outline-chapters-container{display:flex;flex-direction:column;gap:14px;max-height:440px;overflow-y:auto;padding-right:4px}.outline-chapters-container::-webkit-scrollbar{width:5px}.outline-chapters-container::-webkit-scrollbar-thumb{background:#b4cdeb80;border-radius:9999px}.outline-chapter-card{border-radius:16px;background:#ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(215,230,248,.8);box-shadow:inset 0 1px #fff,0 4px 14px #1e46820a;overflow:hidden;transition:all .25s cubic-bezier(.16,1,.3,1)}.outline-chapter-card:hover{border-color:#93c5fd;box-shadow:inset 0 1px #fff,0 6px 20px #2563eb14}.outline-chapter-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;background:#f5faff80;border-bottom:1px solid rgba(220,233,248,.6);-webkit-user-select:none;user-select:none}.chapter-title-group{display:flex;align-items:center;gap:12px}.chapter-number{font:700 10px Consolas,monospace;letter-spacing:1px;padding:3px 7px;border-radius:6px;background:#dbeafe;color:#1d4ed8}.chapter-title-group h3{font-size:15px;font-weight:650;color:var(--text);margin:0}.chapter-range{font-size:11px;color:var(--muted)}.chapter-progress-pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#58718f;background:#ffffffe6;padding:4px 11px;border-radius:9999px;border:1px solid rgba(210,226,245,.8)}.chapter-progress-pill.cleared{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.chapter-progress-pill .pixel-icon{width:14px;height:14px}.chapter-progress-pill .toggle-icon .pixel-icon{width:12px;height:12px;transition:transform .25s ease;transform:rotate(90deg)}.outline-chapter-card.is-collapsed .chapter-progress-pill .toggle-icon .pixel-icon{transform:rotate(0)}.outline-chapter-card.is-collapsed .outline-lessons-grid{display:none}.outline-lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:14px 18px}.outline-lesson-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#fffc;border:1px solid rgba(220,233,248,.9);box-shadow:0 2px 6px #28508c0a;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.outline-lesson-item:hover{transform:translateY(-2px);border-color:#60a5fa;box-shadow:0 4px 14px #2563eb26;background:#fff}.outline-lesson-item.is-current{border-color:#3b82f6;background:linear-gradient(135deg,#eff6fff2,#fffffffa);box-shadow:0 0 0 2px #3b82f640,0 4px 12px #2563eb1f}.outline-lesson-item.is-cleared{border-color:#a7f3d0;background:#f0fdfad9}.outline-lesson-item.is-locked{opacity:.65;background:#f8fafcb3;cursor:not-allowed}.lesson-item-top{display:flex;align-items:center;justify-content:space-between}.lesson-num{font:700 11px Consolas,monospace;color:#64748b}.lesson-status-icon .pixel-icon{width:14px;height:14px}.is-cleared .lesson-status-icon{color:#10b981}.is-current .lesson-status-icon{color:#3b82f6}.is-locked .lesson-status-icon{color:#94a3b8}.lesson-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-meta-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.lesson-xp{font-family:Consolas,monospace;color:#2563eb;font-weight:600}.outline-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px;padding-top:14px;border-top:1px solid rgba(220,233,248,.7)}.placement-dialog,.placement-report-modal{max-width:780px!important;width:95vw!important;padding:32px 36px!important}.placement-modal-inner{display:flex;flex-direction:column;gap:18px}.placement-header{display:flex;flex-direction:column;gap:6px}.placement-pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#2563eb;background:#eff6ffe6;border:1px solid rgba(191,219,254,.8);padding:4px 12px;border-radius:9999px;align-self:flex-start}.placement-pill .pixel-icon{width:15px;height:15px}.placement-header h2{font-size:26px;font-weight:750;color:var(--text);margin:4px 0 0;letter-spacing:-.02em}.placement-tagline{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}.placement-track-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}.placement-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 14px;border-radius:14px;background:#ffffffa6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(215,230,248,.8);color:#64748b;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #28508c0a}.placement-tab:hover{transform:translateY(-2px);border-color:#93c5fd;color:#2563eb;background:#fff}.placement-tab.selected{background:linear-gradient(135deg,#eff6fff2,#fff);border-color:#3b82f6;color:#1d4ed8;font-weight:600;box-shadow:0 4px 14px #2563eb29,inset 0 1px #fff}.placement-tab .pixel-icon{width:22px;height:22px;margin-bottom:2px}.placement-tab small{font:700 9px Consolas,monospace;letter-spacing:1px;opacity:.7}.placement-card-body{display:flex;flex-direction:column;gap:14px}.placement-focus-box{padding:12px 16px;border-radius:12px;background:#f0f9ffb3;border:1px solid rgba(186,230,253,.8);display:flex;flex-direction:column;gap:4px}.focus-title{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#0284c7}.focus-title .pixel-icon{width:14px;height:14px}.placement-focus-box p{font-size:12px;color:#334155;margin:0;line-height:1.5}.placement-tiers-preview h4{font-size:12.5px;font-weight:600;color:var(--text);margin:0 0 8px}.tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tier-card{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:10px;background:#ffffffb3;border:1px solid rgba(220,233,248,.8);font-size:11px}.tier-card strong{font-size:11px;color:var(--text)}.tier-card span{font:700 11px Consolas,monospace;color:#2563eb}.tier-card p{font-size:10px;color:var(--muted);margin:2px 0 0;line-height:1.3}.placement-passage-preview{display:flex;flex-direction:column;gap:6px}.preview-label{font-size:11px;font-weight:600;color:var(--muted)}.preview-text-box{padding:12px 14px;border-radius:10px;background:#f8fafccc;border:1px solid rgba(226,232,240,.8);font-size:12px;color:#475569;line-height:1.6;max-height:72px;overflow:hidden;position:relative}.placement-specs-row{display:flex;align-items:center;justify-content:space-around;padding:10px 14px;border-radius:10px;background:#fff9;border:1px solid rgba(220,233,248,.7);font-size:11.5px;color:#475569}.placement-specs-row span{display:inline-flex;align-items:center;gap:6px}.placement-specs-row .pixel-icon{width:14px;height:14px;color:#3b82f6}.placement-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid rgba(220,233,248,.7)}.placement-launch-btn{padding:10px 22px!important;font-size:13.5px!important;font-weight:600!important}.diagnostic-report-inner{display:flex;flex-direction:column;gap:18px}.report-badge-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.report-trophy .pixel-icon{width:44px;height:44px;color:#f59e0b}.report-tier-title{font-size:14px;font-weight:700;color:#d97706;background:#fef3c7;border:1px solid #fde68a;padding:4px 14px;border-radius:9999px}.report-badge-hero h2{font-size:22px;font-weight:750;color:var(--text);margin:4px 0 0}.report-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-tile{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:12px;background:#ffffffbf;border:1px solid rgba(220,233,248,.8);box-shadow:0 2px 6px #28508c0a}.metric-tile strong{font-size:20px;font-weight:700;color:#1e3a8a;font-family:Consolas,monospace}.metric-tile span{font-size:10.5px;color:var(--muted);margin-top:3px}.report-analysis-card{padding:14px 18px;border-radius:14px;background:#f0f9ffbf;border:1px solid rgba(186,230,253,.8)}.report-analysis-card h3{font-size:13px;font-weight:650;color:#0369a1;margin:0 0 6px;display:flex;align-items:center;gap:7px}.report-analysis-card h3 .pixel-icon{width:16px;height:16px}.report-analysis-card p{font-size:12.5px;color:#334155;line-height:1.6;margin:0}.report-recommendations h3{font-size:13px;font-weight:650;color:var(--text);margin:0 0 10px;display:flex;align-items:center;gap:7px}.report-recommendations h3 .pixel-icon{width:16px;height:16px;color:#3b82f6}.recommended-courses-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.report-course-card{display:flex;flex-direction:column;border-radius:14px;background:#ffffffd9;border:1px solid rgba(215,230,248,.85);box-shadow:0 3px 10px #234b870d;overflow:hidden;transition:all .22s ease}.report-course-card:hover{transform:translateY(-3px);border-color:#60a5fa;box-shadow:0 6px 18px #2563eb1f}.report-course-card img{width:100%;height:95px;object-fit:cover}.report-course-info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;flex:1}.report-course-info h4{font-size:13.5px;font-weight:650;color:var(--text);margin:0}.report-course-info p{font-size:11px;color:var(--muted);line-height:1.4;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.report-enroll-btn{margin-top:6px;padding:6px 12px!important;font-size:11.5px!important;border-radius:8px!important;width:100%;justify-content:center}.report-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid rgba(220,233,248,.7)}:root[data-theme=dark] .outline-meta-item,:root[data-theme=dark] .outline-chapter-card,:root[data-theme=dark] .outline-lesson-item,:root[data-theme=dark] .placement-tab,:root[data-theme=dark] .tier-card,:root[data-theme=dark] .metric-tile,:root[data-theme=dark] .report-course-card{background:#1e2c3ebf;border-color:#3c5573b3;box-shadow:0 2px 8px #00000040;color:#e2e8f0}:root[data-theme=dark] .outline-chapter-header{background:#233246b3;border-color:#3c557399}:root[data-theme=dark] .chapter-progress-pill{background:#141e2dcc;border-color:#3b5373;color:#94a3b8}:root[data-theme=dark] .chapter-progress-pill.cleared{background:#064e3b66;color:#34d399;border-color:#059669}:root[data-theme=dark] .outline-lesson-item.is-current{background:linear-gradient(135deg,#1e3a8a40,#1e293b);border-color:#3b82f6}:root[data-theme=dark] .outline-lesson-item.is-cleared{background:#064e3b40;border-color:#059669}:root[data-theme=dark] .placement-focus-box,:root[data-theme=dark] .report-analysis-card{background:#0e749033;border-color:#06b6d466;color:#e0f2fe}:root[data-theme=dark] .placement-focus-box p,:root[data-theme=dark] .report-analysis-card p{color:#cbd5e1}:root[data-theme=dark] .preview-text-box{background:#0f172a99;border-color:#334155;color:#94a3b8}:root[data-theme=dark] .placement-specs-row{background:#1e2c3e99;border-color:#3b5373;color:#cbd5e1}:root[data-theme=dark] .placement-tab.selected{background:linear-gradient(135deg,#1e3a8a,#1e293b);border-color:#3b82f6;color:#93c5fd}:root[data-theme=dark] .placement-page{background:linear-gradient(180deg,#111722e6,#111722f5 520px)}:root[data-theme=dark] .placement-header,:root[data-theme=dark] .placement-focus-box,:root[data-theme=dark] .placement-passage-preview,:root[data-theme=dark] .placement-tiers-preview{color:var(--text)}:root[data-theme=dark] .placement-focus-box,:root[data-theme=dark] .placement-passage-preview,:root[data-theme=dark] .placement-specs-row,:root[data-theme=dark] .placement-tab,:root[data-theme=dark] .tier-card{background:radial-gradient(120% 80% at 10% -10%,rgba(77,163,255,.08),transparent 55%),linear-gradient(135deg,#1a2636d1,#121b28b3);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border-color:#507db94d;box-shadow:inset 0 1px #ffffff1f,0 12px 34px #0000005c}:root[data-theme=dark] .preview-text-box{background:#0d1521ad;border-color:#507db947;color:#c9d6e7;box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] .placement-pill{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border-color:color-mix(in srgb,var(--blue) 28%,transparent)}:root[data-theme=dark] .placement-tab.selected{color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;box-shadow:inset 0 1px #ffffff57,0 12px 28px color-mix(in srgb,var(--a2) 32%,transparent)}:root[data-theme=dark] .dark-button{color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;box-shadow:inset 0 1px #ffffff52,0 10px 28px color-mix(in srgb,var(--a2) 32%,transparent)}.placement-page{max-width:1240px;margin:0 auto;padding:8px 16px 48px}.placement-page-inner{display:flex;flex-direction:column;gap:20px}.placement-page-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:24px;align-items:start}.placement-primary-col,.placement-secondary-col{display:flex;flex-direction:column;gap:16px}.preview-header{display:flex;justify-content:space-between;align-items:center}.preview-header small{font:600 11px Consolas,monospace;color:var(--muted)}.placement-action-bar{display:flex;align-items:center;gap:14px;margin-top:6px}.tier-grid-vertical{display:flex;flex-direction:column;gap:10px}.tier-card-head{display:flex;justify-content:space-between;align-items:center}.outline-page{padding-bottom:60px}.outline-page-inner{display:flex;flex-direction:column;gap:22px}.outline-page-chapters{max-height:none!important;overflow-y:visible!important;display:flex;flex-direction:column;gap:16px}.outline-meta-action{display:flex;align-items:center;justify-content:flex-end}@media(max-width:960px){.placement-page-grid{grid-template-columns:1fr}}.placement-page{width:min(1160px,100%);padding:18px 28px 64px}.placement-page-inner{gap:22px}.placement-page .placement-header{gap:8px;max-width:760px}.placement-page .placement-header h1{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.18;letter-spacing:-.045em}.placement-page .placement-tagline{max-width:620px;font-size:13px;line-height:1.7}.placement-page .placement-track-tabs{gap:12px;margin-top:0}.placement-page .placement-tab{min-height:76px;padding:12px 16px;flex-direction:row;justify-content:flex-start;gap:12px;text-align:left;border-radius:16px}.placement-page .placement-tab .pixel-icon{width:22px;height:22px;margin:0;flex:0 0 22px}.placement-page .placement-tab span{font-size:14px;font-weight:650}.placement-page .placement-tab small{margin-left:auto;font-size:9px}.placement-page-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:18px}.placement-page .placement-primary-col,.placement-page .placement-secondary-col{gap:14px;min-width:0}.placement-page .placement-focus-box,.placement-page .placement-passage-preview,.placement-page .placement-tiers-preview{padding:18px;border:1px solid color-mix(in srgb,var(--blue) 12%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:inset 0 1px #ffffffa8,0 10px 30px #254b7410}.placement-page .placement-focus-box{padding:14px 16px}.placement-page .placement-focus-box p{line-height:1.65}.placement-page .placement-passage-preview{gap:12px}.placement-page .preview-header{gap:10px}.placement-page .preview-label{color:var(--text);font-size:12px}.placement-page .preview-text-box{max-height:112px;overflow:auto;scrollbar-width:thin;border-radius:12px;line-height:1.75}.placement-page .placement-specs-row{flex-wrap:wrap;justify-content:flex-start;gap:10px 18px;padding:12px 14px;background:color-mix(in srgb,var(--surface) 72%,transparent);border-radius:14px}.placement-page .placement-action-bar{gap:12px;margin-top:2px}.placement-page .placement-launch-btn{min-height:48px;padding-inline:24px!important;border-radius:16px}.placement-page .placement-tiers-preview h4{margin-bottom:14px;font-size:14px}.placement-page .tier-grid-vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.placement-page .tier-card{min-width:0;min-height:112px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--surface) 84%,transparent);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.placement-page .tier-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 42%,var(--line));box-shadow:0 8px 20px #254b7412}.placement-page .tier-card-head{align-items:flex-start;gap:8px}.placement-page .tier-card strong{min-width:0;line-height:1.45}.placement-page .tier-card span{flex:0 0 auto;white-space:nowrap;font-size:10px}.placement-page .tier-card p{line-height:1.5}@media(max-width:960px){.placement-page-grid{grid-template-columns:minmax(0,1fr)}.placement-page .placement-tiers-preview{order:2}}@media(max-width:600px){.placement-page{padding:12px 16px 48px}.placement-page-inner{gap:16px}.placement-page .placement-track-tabs{grid-template-columns:minmax(0,1fr);gap:8px}.placement-page .placement-tab{min-height:58px;padding:10px 13px}.placement-page .placement-focus-box,.placement-page .placement-passage-preview,.placement-page .placement-tiers-preview{padding:14px}.placement-page .tier-grid-vertical{grid-template-columns:minmax(0,1fr)}.placement-page .tier-card{min-height:0}.placement-page .placement-specs-row{align-items:flex-start;flex-direction:column}.placement-page .placement-action-bar{align-items:stretch;flex-direction:column}.placement-page .placement-action-bar button{width:100%}}.back-link{display:inline-flex!important;align-items:center!important;gap:8px!important;height:38px!important;padding:0 16px 0 10px!important;margin-bottom:20px!important;border-radius:9999px!important;font-size:13px!important;font-weight:550!important;letter-spacing:.2px!important;color:var(--text)!important;background:color-mix(in srgb,var(--surface) 75%,transparent)!important;-webkit-backdrop-filter:blur(16px) saturate(160%)!important;backdrop-filter:blur(16px) saturate(160%)!important;border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line))!important;box-shadow:inset 0 1px #ffffffe6,0 2px 8px #234b870d!important;cursor:pointer!important;transition:all .22s cubic-bezier(.16,1,.3,1)!important;text-decoration:none!important;outline:none!important;-webkit-user-select:none!important;user-select:none!important}.back-link svg,.back-link .pixel-icon{width:16px!important;height:16px!important;color:var(--blue)!important;transition:transform .22s cubic-bezier(.16,1,.3,1)!important}.back-link:hover{background:var(--surface)!important;border-color:var(--blue)!important;color:var(--blue)!important;transform:translateY(-1px)!important;box-shadow:inset 0 1px #fff,0 6px 16px #2563eb24!important}.back-link:hover svg,.back-link:hover .pixel-icon{transform:translate(-3px)!important}.back-link:active{transform:scale(.97) translateY(0)!important}.back-link:focus-visible{outline:2px solid var(--blue)!important;outline-offset:3px!important}.practice-toolbar .practice-back-control,.result-toolbar .result-back-control,.placement-action-bar .placement-back-control{width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 12px 0 9px!important;flex:0 0 auto;white-space:nowrap}.practice-toolbar .practice-back-control span{display:inline;font-size:12px}@media(prefers-reduced-motion:reduce){.back-link{transition-duration:.01ms!important}}.profile-page{width:min(1200px,100%);margin:0 auto;padding:12px 24px 64px}.profile-page-inner{display:flex;flex-direction:column;gap:20px}.profile-hero-card{display:flex;align-items:center;gap:24px;padding:24px 30px;border-radius:24px;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));box-shadow:inset 0 1px #fffffff2,0 12px 36px #234b8714}.hero-avatar-wrap{position:relative;flex-shrink:0}.profile-hero-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-size:32px;font-weight:800;box-shadow:0 8px 24px color-mix(in srgb,var(--a2) 40%,transparent);border:3px solid rgba(255,255,255,.8)}.avatar-status-badge{position:absolute;bottom:0;right:0;width:22px;height:22px;border-radius:50%;background:#10b981;color:#fff;display:grid;place-items:center;border:2px solid #fff}.avatar-status-badge .pixel-icon{width:12px;height:12px}.hero-info-wrap{flex:1;display:flex;flex-direction:column;gap:4px}.hero-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-name-row h2{font-size:24px;font-weight:750;color:var(--text);margin:0;letter-spacing:-.02em}.user-tier-pill{font-size:11.5px;font-weight:600;color:#2563eb;background:#eff6ffe6;border:1px solid rgba(191,219,254,.8);padding:3px 12px;border-radius:9999px}.user-email-text{font-size:13px;color:var(--muted);margin:0 0 4px;font-family:Consolas,monospace}.user-quick-meta{display:flex;gap:16px;font-size:12px;color:var(--muted);flex-wrap:wrap}.user-quick-meta span{display:inline-flex;align-items:center;gap:5px}.user-quick-meta .pixel-icon{width:14px;height:14px;color:var(--blue)}.hero-action-slot{flex-shrink:0}.profile-auth-switch-btn{padding:10px 22px!important;font-size:14px!important;font-weight:600!important}.profile-nav-segmented{display:flex;gap:8px;padding:6px;border-radius:16px;background:color-mix(in srgb,var(--surface) 65%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--blue) 15%,var(--line));box-shadow:inset 0 1px #ffffffe6,0 4px 14px #234b870a;overflow-x:auto;scrollbar-width:none}.profile-nav-segmented::-webkit-scrollbar{display:none}.profile-tab-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;font-size:13px;font-weight:550;color:var(--muted);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.profile-tab-btn:hover{background:#ffffff80;color:var(--text)}.profile-tab-btn.selected{background:var(--surface);color:var(--blue);font-weight:650;border-color:color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:0 4px 12px #234b8714,inset 0 1px #fff;transform:translateY(-1px)}.profile-tab-btn .pixel-icon{width:16px;height:16px}.apple-bento-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bento-card{padding:24px;border-radius:20px;background:color-mix(in srgb,var(--surface) 75%,transparent);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));box-shadow:inset 0 1px #fffffff2,0 8px 24px #234b870d;display:flex;flex-direction:column;gap:16px;transition:transform .22s ease,box-shadow .22s ease}.bento-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #fffffff2,0 14px 32px #2563eb1a}.card-header-line{display:flex;align-items:center;justify-content:space-between}.card-header-line h3{font-size:16px;font-weight:700;color:var(--text);margin:0}.card-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--blue);background:#eff6ffcc;border:1px solid rgba(191,219,254,.8);padding:2px 10px;border-radius:9999px}.card-pill .pixel-icon{width:12px;height:12px}.bento-metrics-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bento-metric-tile{padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--surface) 65%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);display:flex;flex-direction:column;gap:4px}.metric-number{font:750 22px Consolas,monospace;color:var(--text)}.metric-label{font-size:11px;color:var(--muted)}.cloud-status-indicator{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#ecfdf5b3;border:1px solid rgba(167,243,208,.8)}.cloud-pulse-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981}.cloud-status-text strong{display:block;font-size:13px;color:#065f46}.cloud-status-text small{font-size:11px;color:#047857}.sync-token-box{display:flex;flex-direction:column;gap:4px;font-size:11px}.sync-token-box .token-title{color:var(--muted)}.sync-token-box code{padding:8px 12px;border-radius:10px;background:#0f172a0d;font:600 13px Consolas,monospace;color:var(--text)}.card-inline-actions{display:flex;gap:10px}.rhythm-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rhythm-panel{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;gap:4px 6px;margin-top:16px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--surface) 55%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.rhythm-head{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:4px}.rhythm-head strong{font-size:12.5px;font-weight:650;letter-spacing:-.01em}.rhythm-range{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--text) 5%,transparent)}.rhythm-pill{min-height:26px;padding:3px 12px;border:0;border-radius:7px;color:var(--muted);font-size:11.5px;font-weight:550;transition:color .18s,background .18s,box-shadow .18s}.rhythm-pill:hover{color:var(--text)}.rhythm-pill:active{background:color-mix(in srgb,var(--blue) 12%,transparent)}.rhythm-pill.selected{color:var(--blue);background:var(--surface);box-shadow:0 1px 4px #14285029}.rhythm-pill:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.rhythm-months{grid-column:2;grid-row:3;display:grid;height:12px;margin-top:2px;font-size:9px;line-height:12px;color:var(--muted);overflow:hidden}.rhythm-months span{grid-row:1;white-space:nowrap}.rhythm-heatmap{grid-column:2;grid-row:2;display:grid;align-items:center;gap:1px;min-width:0}.rhythm-cell{display:block;width:100%;height:16px;border-radius:4px;background:color-mix(in srgb,var(--line) 42%,transparent)}.rhythm-cell.level-1{background:color-mix(in srgb,var(--blue) 30%,transparent)}.rhythm-cell.level-2{background:color-mix(in srgb,var(--blue) 52%,transparent)}.rhythm-cell.level-3{background:color-mix(in srgb,var(--blue) 76%,transparent)}.rhythm-cell.level-4{background:var(--blue)}.rhythm-cell.level-future{opacity:.25}.rhythm-cell.is-today{outline:2px solid var(--blue);outline-offset:0;z-index:1}.rhythm-legend{grid-column:1 / -1;grid-row:4;display:flex;align-items:center;gap:4px;margin-top:8px;font-size:10px;color:var(--muted)}.rhythm-legend .rhythm-cell{width:9px;height:9px;flex:none}.rhythm-legend small{margin-left:auto;letter-spacing:.04em}.rhythm-hint{margin:12px 0 0;font-size:11px;color:var(--muted)}.rhythm-tip{position:fixed;z-index:56;padding:7px 11px;border:1px solid rgba(47,120,200,.25);border-radius:10px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);box-shadow:0 8px 24px #234b8729;font-size:11px;line-height:1.4;color:#2b3749;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .15s ease-out,transform .15s ease-out}.rhythm-tip.is-visible{opacity:1;transform:none}:root[data-theme=dark] .rhythm-tip{background:#161c24eb;border-color:#ffffff1f;color:#e2e8f0;box-shadow:0 8px 24px #0006}@media(prefers-reduced-motion:reduce){.rhythm-tip{transition:none}}@media(prefers-reduced-transparency:reduce){.rhythm-tip{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .rhythm-tip{background:#161c24}}@media(max-width:900px){.rhythm-metrics{gap:8px}}@media(max-width:640px){.rhythm-panel{gap:3px 4px;padding:9px}.rhythm-months{display:none}.rhythm-heatmap{grid-template-columns:repeat(53,7px);grid-auto-columns:7px;overflow-x:auto;scrollbar-width:none}.rhythm-heatmap::-webkit-scrollbar{display:none}}.today-hero{display:flex;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}.today-ring{--pct: 0;position:relative;width:116px;height:116px;flex:none;display:grid;place-content:center;text-align:center;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--pct) * 1%),color-mix(in srgb,var(--line) 55%,transparent) 0)}.today-ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--surface)}.today-ring.is-done{background:conic-gradient(var(--ok) calc(var(--pct) * 1%),color-mix(in srgb,var(--line) 55%,transparent) 0)}.today-ring>*{position:relative}.today-ring strong{display:block;font-size:26px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.1}.today-ring strong small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}.today-ring span{margin-top:2px;color:var(--muted);font-size:10.5px}.today-side{display:grid;gap:8px;flex:1;min-width:150px}.today-side>div{display:flex;align-items:baseline;gap:8px;padding:4px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.today-side>div:last-child{border-bottom:0}.today-side strong{min-width:58px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.today-side strong small{font-size:10px;font-weight:500;color:var(--muted)}.today-side span{color:var(--muted);font-size:11px}.today-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.today-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 60%,transparent);text-align:left;transition:border-color .18s,background .18s,transform .18s}.today-btn:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--line));transform:translateY(-1px)}.today-btn:active{transform:none}.today-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.today-btn .pixel-icon{width:15px;height:15px;margin-bottom:4px;color:var(--muted)}.today-btn strong{font-size:12.5px;font-weight:650}.today-btn small{color:var(--muted);font-size:10.5px}.today-btn.is-primary{border-color:color-mix(in srgb,var(--blue) 35%,transparent);background:color-mix(in srgb,var(--blue) 9%,transparent)}.today-btn.is-primary .pixel-icon,.today-btn.is-primary strong{color:var(--blue)}.auth-flow-container{max-width:540px;margin:0 auto}.auth-flow-card{padding:32px 36px;border-radius:24px;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));box-shadow:inset 0 1px #fffffff2,0 16px 40px #234b8714;display:flex;flex-direction:column;gap:20px}.auth-mode-switch{display:flex;gap:6px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--surface) 50%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.auth-mode-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.auth-mode-btn.selected{background:var(--surface);color:var(--blue);box-shadow:0 2px 8px #0000000f;border-color:color-mix(in srgb,var(--blue) 30%,transparent)}.auth-mode-btn .pixel-icon{width:14px;height:14px}.auth-form-head h3{font-size:20px;font-weight:750;color:var(--text);margin:0 0 6px}.auth-form-head p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.5}.auth-form-body{display:flex;flex-direction:column;gap:14px}.auth-field-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--text)}.auth-field-label input{height:44px;padding:0 14px;border-radius:12px;background:#ffffffb3;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.auth-field-label input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}.auth-form-options{display:flex;align-items:center;justify-content:space-between;font-size:12px}.remember-checkbox,.terms-checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--muted);cursor:pointer;font-size:12px}.text-link-btn{background:transparent;border:none;color:var(--blue);font-size:12px;cursor:pointer}.auth-submit-btn{height:44px!important;font-size:14px!important;font-weight:650!important;border-radius:12px!important;margin-top:6px}.social-auth-divider{position:relative;text-align:center;margin:8px 0}.social-auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:color-mix(in srgb,var(--line) 80%,transparent)}.social-auth-divider span{position:relative;background:color-mix(in srgb,var(--surface) 90%,transparent);padding:0 12px;font-size:11px;color:var(--muted)}.social-auth-buttons{display:flex;flex-direction:column;gap:8px}.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.social-btn:hover{background:var(--surface);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.auth-switch-foot{text-align:center;font-size:12px;color:var(--muted);margin-top:6px}.sync-bento-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sync-card,.security-card{padding:24px;border-radius:20px;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));display:flex;flex-direction:column;gap:16px}.sync-desc{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}.sync-details-box{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--surface) 50%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);font-size:12px}.sync-row{display:flex;justify-content:space-between;align-items:center}.sync-row span{color:var(--muted)}.card-actions-row{display:flex;gap:10px}.backup-actions-grid{display:grid;grid-template-columns:1fr;gap:12px}.backup-btn-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px!important;border-radius:14px!important;text-align:left!important;cursor:pointer}.security-form{display:flex;flex-direction:column;gap:14px;max-width:480px}.security-divider{border:0;height:1px;background:color-mix(in srgb,var(--line) 80%,transparent);margin:12px 0}.danger-zone{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:14px;background:#ef444414;border:1px solid rgba(239,68,68,.2)}.danger-text h4{font-size:13.5px;color:#b91c1c;margin:0 0 4px}.danger-text p{font-size:11.5px;color:#7f1d1d;margin:0}:root[data-theme=dark] .profile-hero-card,:root[data-theme=dark] .bento-card,:root[data-theme=dark] .auth-flow-card,:root[data-theme=dark] .sync-card,:root[data-theme=dark] .security-card{background:#1c2a3cbf;border-color:#3c5573b3;box-shadow:0 8px 30px #00000059}:root[data-theme=dark] .auth-field-label input{background:#0f172a99;border-color:#334155cc;color:#f1f5f9}:root[data-theme=dark] .danger-zone{background:#ef444426;border-color:#ef44444d}:root[data-theme=dark] .danger-text h4{color:#fca5a5}:root[data-theme=dark] .danger-text p{color:#fecaca}@media(max-width:900px){.apple-bento-grid,.sync-bento-grid{grid-template-columns:1fr}.profile-hero-card{flex-direction:column;text-align:center}}.profile-page{width:min(1080px,100%);padding:12px 24px 52px}.profile-page-inner{gap:14px}.profile-page .profile-back{display:inline-flex;align-self:flex-start;width:auto;min-height:34px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 68%,transparent)}.profile-page .profile-hero-card{gap:18px;padding:18px 22px;border-radius:20px}.profile-page .profile-hero-avatar{width:60px;height:60px;font-size:26px}.profile-page .hero-name-row h2{font-size:22px}.profile-page .profile-nav-segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border-radius:15px}.profile-page .profile-tab-btn{min-width:0;height:40px;gap:7px;padding:0 10px;font-size:12px;transition:color .18s ease,background-color .22s ease,border-color .22s ease,transform .18s ease,box-shadow .22s ease}.profile-page .profile-tab-btn:hover{transform:translateY(-1px)}.profile-page .profile-tab-btn.selected{transform:none}.profile-page :is(.bento-card,.auth-flow-card,.sync-card,.security-card){min-width:0;padding:20px;border:1px solid color-mix(in srgb,var(--blue) 14%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:inset 0 1px #ffffffa8,0 10px 30px #254b7410;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.profile-page :is(.sync-bento-grid,.apple-bento-grid){gap:14px}.profile-page .security-card{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.profile-page .security-card .card-header-line{margin:0}.profile-page .security-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px}.profile-page .security-form .setting-label{display:grid;gap:7px;min-width:0;margin:0;color:var(--muted);font-size:12px;font-weight:600}.profile-page .security-form input,.profile-page .auth-field-label input{width:100%;min-width:0;min-height:42px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);box-shadow:inset 0 1px 2px #19385a08;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.profile-page .security-form input:focus,.profile-page .auth-field-label input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent)}.profile-page .security-form .form-actions{grid-column:1 / -1;margin:0}.profile-page .security-form .form-actions button{min-height:40px;padding:9px 17px;border-radius:13px}.profile-page .security-divider{width:100%;margin:0;border:0;border-top:1px solid var(--line)}.profile-page .danger-zone{gap:16px;padding:14px 16px;border-radius:14px}.profile-page .auth-flow-container{justify-content:flex-start}.profile-page .auth-flow-card{width:min(540px,100%);margin:0 auto}.profile-page .sync-card{display:flex;flex-direction:column;gap:12px}.profile-page .sync-desc{margin:0;line-height:1.65}.profile-page :is(.sync-details-box,.sync-token-box){min-width:0;overflow-wrap:anywhere}.profile-page .card-actions-row,.profile-page .backup-actions-grid{gap:9px}.profile-page :is(.backup-btn-tile,.card-actions-row button){min-width:0;transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.profile-page :is(.backup-btn-tile,.card-actions-row button):hover{transform:translateY(-1px)}@media(max-width:720px){.profile-page{padding:10px 16px 42px}.profile-page .profile-hero-card{flex-direction:row;text-align:left;padding:15px}.profile-page .hero-action-slot{margin-left:auto}.profile-page .user-quick-meta{gap:7px 12px}.profile-page .profile-nav-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page .security-form{grid-template-columns:minmax(0,1fr)}.profile-page .security-form .form-actions{grid-column:auto}.profile-page .danger-zone{align-items:flex-start;flex-direction:column}}@media(max-width:460px){.profile-page .profile-hero-card{align-items:flex-start;flex-wrap:wrap}.profile-page .hero-action-slot{width:100%;margin:0}.profile-page .hero-action-slot button{width:100%}.profile-page :is(.bento-card,.auth-flow-card,.sync-card,.security-card){padding:15px}.profile-page .profile-tab-btn{justify-content:flex-start;font-size:11px}.profile-page .card-actions-row{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.profile-page *,.profile-page *:before,.profile-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.profile-page .auth-flow-container{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);align-items:stretch;gap:16px}.profile-page :is(.auth-flow-aside,.auth-flow-card){min-width:0;border:1px solid color-mix(in srgb,var(--blue) 17%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%);box-shadow:inset 0 1px #ffffffdb,0 14px 34px #234b8712;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.profile-page .auth-flow-aside{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:24px;background:radial-gradient(ellipse at 16% 4%,rgba(72,165,255,.15),transparent 46%),color-mix(in srgb,var(--surface) 76%,transparent)}.profile-page .auth-aside-motif{position:relative;display:grid;width:76px;height:76px;place-items:center;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--blue) 17%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:inset 0 1px #ffffffe0,0 9px 22px #2563eb1a;isolation:isolate}.profile-page .auth-motif-glow{position:absolute;z-index:-1;top:10px;right:10px;bottom:10px;left:10px;border-radius:16px;background:linear-gradient(145deg,#13c2b42e,#2563eb2e)}.profile-page .auth-aside-motif .pixel-icon{width:38px;height:38px;color:var(--blue);filter:drop-shadow(0 4px 7px rgba(37,99,235,.14))}.profile-page .auth-motif-pixels{position:absolute;right:-6px;bottom:-6px;width:20px;height:20px;border:3px solid var(--surface);border-radius:6px;background:var(--blue);box-shadow:8px -7px 0 -3px color-mix(in srgb,var(--blue) 44%,var(--surface))}.profile-page .auth-aside-eyebrow{margin:0 0 8px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.17em}.profile-page .auth-flow-aside h3{margin:0;color:var(--text);font-size:clamp(23px,2.1vw,29px);font-weight:760;line-height:1.25;letter-spacing:-.035em}.profile-page .auth-flow-aside h3 span{color:var(--blue)}.profile-page .auth-aside-copy{max-width:34ch;margin:10px 0 20px;color:var(--muted);font-size:12.5px;line-height:1.65}.profile-page .auth-benefit-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.profile-page .auth-benefit-list li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.profile-page .auth-benefit-list li>.pixel-icon{box-sizing:content-box;width:16px;height:16px;padding:8px;border:1px solid color-mix(in srgb,var(--blue) 12%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--blue)}.profile-page .auth-benefit-list li span{display:grid;gap:2px;min-width:0}.profile-page .auth-benefit-list strong{color:var(--text);font-size:12px;font-weight:650}.profile-page .auth-benefit-list small{color:var(--muted);font-size:10.5px;line-height:1.4}.profile-page .auth-aside-foot{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:18px;color:var(--muted);font-size:10.5px}.profile-page .auth-aside-foot .pixel-icon{width:14px;height:14px;color:var(--blue)}.profile-page .auth-flow-card{width:auto;margin:0;padding:20px 22px;border-radius:20px;gap:14px}.profile-page .auth-mode-switch{gap:5px;padding:4px;border-radius:13px}.profile-page .auth-mode-btn{min-height:40px;border-radius:10px;transition:color .18s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .18s ease}.profile-page .auth-mode-btn:active,.profile-page .social-btn:active,.profile-page .auth-submit-btn:active{transform:scale(.98)}.profile-page .auth-form-body{gap:10px}.profile-page #typeflow-register-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:12px;row-gap:10px}.profile-page #typeflow-register-form .auth-form-head,.profile-page #typeflow-register-form .terms-checkbox,.profile-page #typeflow-register-form .auth-submit-btn,.profile-page #typeflow-register-form .auth-switch-foot{grid-column:1 / -1}.profile-page .auth-form-head h3{margin-bottom:4px;font-size:18px;letter-spacing:-.02em}.profile-page .auth-form-head p{font-size:12px}.profile-page .auth-field-label{gap:5px;font-size:11.5px}.profile-page .auth-field-label input{min-height:42px;height:42px;padding:0 12px;border-radius:11px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:13px}.profile-page .auth-form-options{min-height:22px;font-size:11px}.profile-page .remember-checkbox,.profile-page .terms-checkbox{font-size:11px}.profile-page .auth-submit-btn{min-height:42px;height:42px!important;margin-top:1px;border-radius:11px!important;transition:transform .18s ease,box-shadow .2s ease,filter .2s ease}.profile-page .social-auth-divider{margin:3px 0 1px}.profile-page .social-auth-divider span{padding:0 10px;font-size:10.5px}.profile-page .social-auth-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-page .social-btn{min-width:0;min-height:42px;height:auto;gap:7px;padding:0 8px;border-radius:11px;font-size:11.5px;transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.profile-page .social-brand-mark{display:inline-grid;flex:0 0 20px;width:20px;height:20px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--text);font-size:10px;font-weight:750}.profile-page .apple-mark{font-size:14px}.profile-page .google-mark{color:#4285f4;font-size:12px}.profile-page .auth-switch-foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:0;font-size:11px}.profile-page .auth-switch-foot .text-button{padding:3px 2px;font-size:11px}.profile-page .user-tier-pill{display:inline-flex;align-items:center;gap:5px}.profile-page .user-tier-pill .pixel-icon{width:12px;height:12px}:root[data-theme=dark] .profile-page .auth-flow-aside{background:radial-gradient(ellipse at 16% 4%,rgba(37,99,235,.2),transparent 46%),#1c2a3cc7}:root[data-theme=dark] .profile-page .auth-motif-glow{background:linear-gradient(145deg,#13c2b429,#2563eb3d)}@media(max-width:820px){.profile-page .auth-flow-container{grid-template-columns:minmax(0,1fr)}.profile-page .auth-flow-card{order:1}.profile-page .auth-flow-aside{order:2;padding:20px}.profile-page .auth-aside-motif{width:56px;height:56px;margin-bottom:14px;border-radius:18px}.profile-page .auth-aside-motif .pixel-icon{width:30px;height:30px}}@media(max-width:460px){.profile-page .auth-flow-container{gap:12px}.profile-page .auth-flow-card,.profile-page .auth-flow-aside{padding:16px}.profile-page .social-auth-buttons{gap:6px}.profile-page .social-btn{gap:5px;padding:0 5px;font-size:10.5px}.profile-page #typeflow-register-form{grid-template-columns:minmax(0,1fr);row-gap:9px}.profile-page #typeflow-register-form>*{grid-column:auto}}.rhythm-panel-in-stats{margin-top:0}.rhythm-panel-in-stats .rhythm-heatmap{grid-row:1}.rhythm-panel-in-stats .rhythm-months{grid-row:2}.rhythm-panel-in-stats .rhythm-legend{grid-row:3}.practice-page .practice-toolbar{height:56px;padding:0 14px 0 10px;gap:12px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--g-edge2);box-shadow:inset 0 1px 0 var(--g-edge)}.practice-toolbar>span{position:absolute;left:50%;transform:translate(-50%);max-width:min(46%,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--text);pointer-events:none}.practice-tools{margin-left:auto;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--g-edge2);border-radius:14px;background:linear-gradient(135deg,var(--g-fill),var(--g-fill2));box-shadow:inset 0 1px 0 var(--g-edge),var(--g-sh2)}.practice-tools>button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .16s ease}.practice-tools>button>svg{width:16px;height:16px}.practice-tools>button:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.practice-tools>button:active{transform:scale(.92)}.practice-tools>button:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:-2px}.practice-tools>button[aria-pressed=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.practice-tools>button:last-child{margin-left:4px;padding-left:7px;border-left:1px solid var(--g-edge2);border-radius:0 9px 9px 0}@media(max-width:640px){.practice-page .practice-toolbar{height:52px;padding:0 8px;gap:8px}.practice-toolbar .practice-back-control span{display:none}.practice-toolbar>span{position:static;transform:none;flex:1 1 auto;min-width:0;max-width:none;text-align:center;font-size:14px}.practice-tools{gap:2px;padding:2px;border-radius:12px}.practice-tools>button{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.practice-tools>button{transition:none!important}}.practice-tools svg .pi-rot,.practice-tools svg .pi-hand,.practice-tools svg .pi-gear,.practice-tools svg .pi-wave,.practice-tools svg .pi-key,.practice-tools svg .pi-pail,.practice-tools svg .pi-drop,.practice-tools svg .pi-m1,.practice-tools svg .pi-m2,.practice-tools svg .pi-m3{transform-box:view-box}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-rot{transform-origin:12px 12px;animation:pi-ccw .9s cubic-bezier(.3,.7,.3,1)}@keyframes pi-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-key{animation:pi-key .95s ease-in-out}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .k2{animation-delay:.13s}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .k3{animation-delay:.26s}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-space{animation-delay:.39s}@keyframes pi-key{0%,to{transform:translateY(0)}40%{transform:translateY(1.4px)}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-hand{transform-origin:12px 21px;animation:pi-wave 1.5s ease-in-out}@keyframes pi-wave{0%,to{transform:rotate(0)}30%{transform:rotate(12deg)}65%{transform:rotate(-7deg)}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-wave{transform-origin:8px 12px;animation:pi-wave-out 1.1s ease-out}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .w2{animation-delay:.18s}@keyframes pi-wave-out{0%{transform:scale(.8);opacity:.35}55%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-pail{transform-origin:5px 19px;animation:pi-pour 1.7s ease-in-out}@keyframes pi-pour{0%,to{transform:rotate(0)}35%{transform:rotate(-15deg)}60%{transform:rotate(-9deg)}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-drop{animation:pi-drop 1.7s ease-in-out}@keyframes pi-drop{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(4.5px);opacity:0}}.practice-tools>button:is(:hover,:focus-visible,.pi-play) .pi-gear{transform-origin:12px 12px;animation:pi-gear 3.2s linear}@keyframes pi-gear{to{transform:rotate(360deg)}}.practice-tools svg .pi-m1{transform-origin:12px 6px}.practice-tools svg .pi-m3{transform-origin:12px 18px}.practice-tools svg .pi-m1,.practice-tools svg .pi-m3{transition:transform .22s var(--ease-standard, ease)}.practice-tools>button:is(:hover,:focus-visible) .pi-m1{transform:translateY(1.5px) scaleX(.82)}.practice-tools>button:is(:hover,:focus-visible) .pi-m3{transform:translateY(-1.5px) scaleX(.82)}@media(prefers-reduced-motion:reduce){.practice-tools :is(svg,svg *){animation:none!important;transition:none!important}}.fluid-tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:auto;opacity:0;transition:opacity .28s ease}.fluid-tour-overlay.is-active{opacity:1}.fluid-tour-overlay.is-leaving{opacity:0;pointer-events:none}.fluid-magnetic-spotlight{position:absolute;top:0;left:0;border-radius:18px;pointer-events:none;box-shadow:0 0 0 9999px #0c121eb8,0 0 30px #0a84ff73,inset 0 0 0 2px #0a84ffd9;transition:transform .32s cubic-bezier(.16,1,.3,1),width .32s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1);will-change:transform,width,height}.fluid-magnetic-spotlight:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:20px;border:2px dashed rgba(255,255,255,.8);animation:magnetic-pulse 2.2s infinite ease-in-out;pointer-events:none}@keyframes magnetic-pulse{0%,to{opacity:.4;transform:scale(.995)}50%{opacity:.95;transform:scale(1.01)}}.fluid-magnetic-tooltip{position:absolute;top:0;left:0;width:350px;max-width:calc(100vw - 32px);z-index:10000;border-radius:22px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:inset 0 1px #fffffff2,0 20px 50px #0f172a4d;transition:transform .34s cubic-bezier(.16,1,.3,1);will-change:transform;pointer-events:auto}.tour-tooltip-inner{padding:22px 24px;display:flex;flex-direction:column;gap:12px}.tour-card-header{display:flex;align-items:center;justify-content:space-between}.tour-step-badge{font:700 10.5px Consolas,monospace;letter-spacing:1px;color:var(--blue);background:#eff6ffd9;border:1px solid rgba(191,219,254,.8);padding:3px 10px;border-radius:9999px}.tour-close-btn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--muted);background:#0000000d;border:none;cursor:pointer;transition:all .2s}.tour-close-btn:hover{background:#ef444426;color:#ef4444}.tour-title{font-size:17px;font-weight:750;color:var(--text);margin:0 0 6px;letter-spacing:-.02em}.tour-desc{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.tour-dots-row{display:flex;gap:6px;margin:4px 0}.tour-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--line) 90%,transparent);transition:all .2s ease}.tour-dot.active{width:20px;border-radius:6px;background:var(--blue)}.tour-footer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.tour-skip-btn{font-size:12px!important;color:var(--muted)!important;padding:0!important}.tour-skip-btn:hover{color:var(--text)!important}.tour-nav-btns{display:flex;gap:8px}.tour-btn-sm{min-height:34px!important;padding:0 14px!important;font-size:12.5px!important;font-weight:600!important;border-radius:10px!important}.about-modal-dialog{max-width:680px!important;width:95vw!important;padding:34px 38px!important}.about-modal-inner{display:flex;flex-direction:column;gap:18px}.about-love-hero{display:flex;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.about-heart-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#f43f5e,#fb7185);color:#fff;font-size:28px;display:grid;place-items:center;box-shadow:0 8px 24px #f43f5e59;border:2px solid rgba(255,255,255,.8);flex-shrink:0}.about-title-wrap h2{font-size:23px;font-weight:800;color:var(--text);margin:0 0 4px;letter-spacing:-.02em}.about-subtitle{font-size:12.5px;color:var(--muted);margin:0;display:flex;align-items:center;gap:8px}.about-pill{background:#f43f5e1a;color:#f43f5e;border:1px solid rgba(244,63,94,.25);padding:2px 8px;border-radius:9999px;font-size:10.5px;font-weight:600}.about-story-timeline{display:flex;flex-direction:column;gap:14px;max-height:380px;overflow-y:auto;padding-right:6px}.about-story-timeline::-webkit-scrollbar{width:5px}.about-story-timeline::-webkit-scrollbar-thumb{background:#b4cdeb80;border-radius:9999px}.story-card{padding:16px 18px;border-radius:16px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid color-mix(in srgb,var(--blue) 15%,var(--line));display:flex;flex-direction:column;gap:6px}.story-card-head{display:flex;align-items:center;gap:8px}.story-chapter-tag{font:700 9.5px Consolas,monospace;padding:2px 7px;border-radius:6px;background:#0ea5e926;color:#0284c7}.story-card-head h4{font-size:14px;font-weight:700;color:var(--text);margin:0}.story-card p{font-size:12.5px;color:var(--text);opacity:.88;line-height:1.65;margin:0}.story-highlight-quote{padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#fef2f2cc,#fff1f299);border:1px dashed rgba(244,63,94,.4);font-size:13px;line-height:1.6;color:#9f1239;text-align:center}.easter-egg-falling-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(254,205,211,.15),transparent 70%);animation:egg-fade-in .4s ease both}@keyframes egg-fade-in{0%{opacity:0}to{opacity:1}}.easter-egg-falling-container.is-closing{animation:egg-fade-out .4s ease both}@keyframes egg-fade-out{0%{opacity:1}to{opacity:0}}.egg-floating-toolbar{position:fixed;top:18px;right:24px;z-index:12100;display:flex;align-items:center;gap:12px;pointer-events:auto}.egg-love-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;font-size:13px;font-weight:650;color:#e11d48;background:#ffffffe0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(253,164,175,.9);box-shadow:0 8px 24px #e11d482e}.egg-close-pill{padding:8px 18px!important;font-size:12.5px!important;border-radius:9999px!important;background:#e11d48!important;color:#fff!important;box-shadow:0 4px 14px #e11d484d!important}.falling-leaf-text{position:absolute;top:0;left:0;padding:5px 14px;border-radius:9999px;font-size:14px;font-weight:750;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none;box-shadow:0 6px 18px #00000014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);will-change:transform}.leaf-hue-0{background:#fff1f2eb;border:1px solid rgba(251,113,133,.85);color:#e11d48}.leaf-hue-1{background:#fef2f2e6;border:1px solid rgba(244,63,94,.8);color:#be123c}.leaf-hue-2{background:#fef3c7eb;border:1px solid rgba(245,158,11,.8);color:#d97706}.leaf-hue-3{background:#f0fdfaeb;border:1px solid rgba(45,212,191,.8);color:#0f766e}.egg-ground-pile{position:fixed;bottom:0;left:0;right:0;height:90px;pointer-events:none}.settled-leaf-item{position:absolute;padding:4px 12px;border-radius:9999px;font-size:13px;font-weight:700;background:#fff1f2e0;border:1px solid rgba(251,113,133,.7);color:#e11d48;box-shadow:0 3px 10px #e11d481f;transition:opacity .5s ease;pointer-events:none;animation:settle-bounce .35s ease both}@keyframes settle-bounce{0%{transform:translateY(-8px) scale(1.05)}60%{transform:translateY(2px) scale(.98)}to{transform:translateY(0) scale(1)}}.easter-egg-prompt-modal{max-width:560px!important;padding:34px 36px!important}.egg-prompt-inner{display:flex;flex-direction:column;gap:16px;text-align:center}.egg-crown-hero{display:flex;flex-direction:column;align-items:center;gap:6px}.egg-trophy-symbol{font-size:48px;line-height:1}.egg-tag{font:700 11px Consolas,monospace;color:#d97706;background:#fef3c7;border:1px solid #fde68a;padding:3px 12px;border-radius:9999px}.egg-crown-hero h2{font-size:24px;font-weight:750;color:var(--text);margin:4px 0 0}.egg-prompt-desc{font-size:13.5px;color:var(--muted);line-height:1.7;margin:0}.egg-prompt-desc strong{color:var(--text);display:block;margin-top:6px}.egg-modal-actions{display:flex;justify-content:center;gap:12px;margin-top:10px}.egg-launch-btn{background:linear-gradient(135deg,#f43f5e,#fb7185)!important;border:0!important;color:#fff!important;font-size:14px!important;font-weight:650!important;box-shadow:0 8px 24px #f43f5e59!important}:root[data-theme=dark] .fluid-magnetic-tooltip{background:#162030e0;border-color:#3b82f666;box-shadow:0 20px 50px #00000080}:root[data-theme=dark] .story-card{background:#1e2c3eb3;border-color:#38506e99}:root[data-theme=dark] .story-highlight-quote{background:#88133740;border-color:#f43f5e66;color:#fecdd3}.badges-hero-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;margin-bottom:30px;border-radius:24px;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));box-shadow:inset 0 1px #fffffff2,0 12px 32px #234b870f}.badges-hero-panel.all-achieved{border-color:#f43f5e66;background:linear-gradient(135deg,#fff1f2cc,color-mix(in srgb,var(--surface) 80%,transparent))}.badges-hero-info{display:flex;flex-direction:column;gap:6px;max-width:680px}.badges-hero-tag span{font:700 11px Consolas,monospace;color:#d97706;background:#fef3c7;border:1px solid #fde68a;padding:3px 12px;border-radius:9999px;display:inline-block}.badges-hero-info h1{font-size:26px;font-weight:750;color:var(--text);margin:2px 0 0;letter-spacing:-.02em}.badges-hero-info p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.badges-stats-row{display:flex;align-items:center;gap:14px;margin-top:4px;font-size:13px;color:var(--text)}.badges-progress-pill{font-size:11px;font-weight:600;color:var(--blue);background:#eff6ffd9;border:1px solid rgba(191,219,254,.8);padding:2px 10px;border-radius:9999px}.badges-hero-action{flex-shrink:0}.egg-banner-btn{background:linear-gradient(135deg,#f43f5e,#fb7185)!important;color:#fff!important;font-weight:650!important;border:0!important;box-shadow:0 8px 22px #f43f5e59!important}@media(max-width:480px){.badges-hero-panel{flex-wrap:wrap;padding:20px 18px}.badges-hero-action{flex-basis:100%}.egg-banner-btn{width:100%;justify-content:center}}.badge-card{padding:16px 12px!important;border-radius:18px!important;background:color-mix(in srgb,var(--surface) 75%,transparent)!important;border:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;box-shadow:inset 0 1px #fffc,0 4px 14px #00000008!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}.badge-card:hover{transform:translateY(-3px)!important;border-color:var(--blue)!important;box-shadow:0 8px 24px #2563eb1f!important}.badge-card.earned{border-color:#f59e0b66!important;background:linear-gradient(135deg,#fef3c780,color-mix(in srgb,var(--surface) 80%,transparent))!important;box-shadow:inset 0 1px #fff,0 8px 24px #f59e0b29!important}:root[data-theme=dark] .badges-hero-panel{background:#1c2a3cbf;border-color:#3c5573b3;box-shadow:0 12px 32px #00000059}:root[data-theme=dark] .badge-card{background:#1e2c3eb3!important;border-color:#3c557399!important}:root[data-theme=dark] .badge-card.earned{background:linear-gradient(135deg,#78350f4d,#1e2c3ecc)!important;border-color:#f59e0b80!important;box-shadow:0 8px 24px #f59e0b33!important}:root[data-theme=dark] .badges-hero-panel,:root[data-theme=dark] .badge-card,:root[data-theme=dark] .badge-card.earned{background:radial-gradient(120% 80% at 12% -12%,rgba(255,255,255,.07),transparent 52%),linear-gradient(145deg,#080a0eeb,#030508e0)!important;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-color:#ffffff1a!important;box-shadow:inset 0 1px #ffffff1f,0 18px 46px #00000085!important}:root[data-theme=dark] .badge-card.earned{border-color:color-mix(in srgb,var(--amber) 52%,transparent)!important;box-shadow:inset 0 1px #ffffff24,0 10px 32px color-mix(in srgb,var(--amber) 18%,transparent)!important}:root[data-theme=dark] .badges-hero-tag span{color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent);border-color:color-mix(in srgb,var(--amber) 36%,transparent)}:root[data-theme=dark] .badges-progress-pill{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border-color:color-mix(in srgb,var(--blue) 28%,transparent)}:root[data-theme=dark] .fluid-magnetic-tooltip{background:radial-gradient(120% 80% at 10% -10%,rgba(77,163,255,.09),transparent 55%),linear-gradient(135deg,#1a2636e6,#121b28d1);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border-color:#507db957;box-shadow:inset 0 1px #ffffff1f,0 24px 64px #00000085}:root[data-theme=dark] .tour-step-badge{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border-color:color-mix(in srgb,var(--blue) 28%,transparent)}:root[data-theme=dark] .tour-close-btn{color:var(--muted);background:color-mix(in srgb,var(--text) 8%,transparent)}:root[data-theme=dark] .tour-dot{background:#ffffff29}:root[data-theme=dark] .about-love-hero{border-bottom-color:var(--line)}:root[data-theme=dark] .about-pill{color:#fb7185;background:#f43f5e24;border-color:#f43f5e57}:root[data-theme=dark] .about-story-timeline{scrollbar-color:color-mix(in srgb,var(--blue) 45%,transparent) transparent}:root[data-theme=dark] .story-card{background:radial-gradient(120% 80% at 10% -10%,rgba(77,163,255,.07),transparent 55%),linear-gradient(135deg,#1a2636cc,#121b28ad);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);border-color:#507db94d;box-shadow:inset 0 1px #ffffff1a,0 10px 28px #00000052}:root[data-theme=dark] .story-chapter-tag{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}:root[data-theme=dark]{--tf-dark-bg: #070b12;--tf-dark-bg-raised: #0c1320;--tf-glass-fill: rgba(15, 25, 40, .82);--tf-glass-fill-strong: rgba(19, 31, 49, .92);--tf-glass-fill-soft: rgba(12, 21, 35, .68);--tf-glass-line: rgba(120, 164, 220, .22);--tf-glass-line-hover: rgba(106, 174, 255, .52);--tf-glass-highlight: rgba(255, 255, 255, .12);--tf-glass-shadow: 0 18px 48px rgba(0, 0, 0, .42), 0 2px 8px rgba(0, 0, 0, .24);--tf-text-soft: #a9b8cc;--tf-text-dim: #7f91a9;--tf-status-fill: rgba(11, 67, 59, .34);--tf-status-line: rgba(52, 211, 153, .34)}:root[data-theme=dark] body{color:var(--text);background:radial-gradient(980px 620px at 78% -12%,rgba(37,99,235,.18),transparent 58%),radial-gradient(760px 520px at 4% 46%,rgba(20,184,166,.09),transparent 62%),linear-gradient(155deg,#070b12,#0a101a 48%,#070b12)}:root[data-theme=dark] .quest-switch-track{background:#000!important;background-image:none!important;box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] .settings-page :is(.settings-hero,.settings-card){background:#000!important;background-image:none!important;box-shadow:inset 0 1px #ffffff14,0 18px 52px #00000061}:root[data-theme=dark] :is(.sidebar,.topbar){background:#090f19c7;border-color:var(--tf-glass-line);box-shadow:inset 0 1px 0 var(--tf-glass-highlight),0 18px 44px #00000057}:root[data-theme=dark] :is(.back-link,.profile-back,.placement-back-control){min-height:34px;padding:6px 12px;border:1px solid var(--tf-glass-line);border-radius:12px;background:linear-gradient(145deg,#172539db,#0a121ec7);color:var(--tf-text-soft);box-shadow:inset 0 1px 0 var(--tf-glass-highlight),0 8px 22px #00000038}:root[data-theme=dark] :is(.back-link:hover,.profile-back:hover,.placement-back-control:hover){border-color:var(--tf-glass-line-hover);background:linear-gradient(145deg,#1d314df0,#0d192ae0);color:#eaf4ff;box-shadow:inset 0 1px #ffffff29,0 10px 26px #0000004d}:root[data-theme=dark] :is(.back-link svg,.back-link .pixel-icon,.profile-back svg){color:#69b0ff!important}:root[data-theme=dark] :is(.badges-hero-panel,.badge-card,.placement-tab,.placement-focus-box,.placement-passage-preview,.placement-specs-row,.tier-card,.profile-hero-card,.profile-nav-segmented,.bento-card,.bento-metric-tile,.today-btn,.sync-card,.security-card,.auth-flow-aside,.auth-flow-card,.learning-notifications li){color:var(--text);background:radial-gradient(120% 90% at 12% -12%,rgba(255,255,255,.075),transparent 54%),linear-gradient(145deg,var(--tf-glass-fill-strong),var(--tf-glass-fill-soft));border-color:var(--tf-glass-line);box-shadow:inset 0 1px 0 var(--tf-glass-highlight),var(--tf-glass-shadow);-webkit-backdrop-filter:blur(24px) saturate(165%);backdrop-filter:blur(24px) saturate(165%)}:root[data-theme=dark] :is(.badges-hero-panel,.badge-card,.placement-tab,.tier-card,.bento-card,.today-btn,.sync-card,.security-card,.auth-flow-card){transition:border-color .22s ease,box-shadow .26s ease,background-color .22s ease,transform .24s var(--ease, cubic-bezier(.2,.75,.25,1))}:root[data-theme=dark] :is(.badge-card:hover,.bento-card:hover,.today-btn:hover,.tier-card:hover){border-color:var(--tf-glass-line-hover);box-shadow:inset 0 1px #ffffff29,0 20px 52px #00000075,0 0 0 1px #4da3ff14}:root[data-theme=dark] .badges-hero-panel{border-color:#f5b84340;background:radial-gradient(90% 150% at 88% -20%,rgba(245,158,11,.14),transparent 54%),radial-gradient(80% 120% at 5% 0%,rgba(77,163,255,.1),transparent 58%),linear-gradient(145deg,#141f30f0,#09111de0)}:root[data-theme=dark] .badge-card{background:radial-gradient(100% 100% at 50% -28%,rgba(77,163,255,.075),transparent 58%),linear-gradient(155deg,#111d2ee6,#09101bd1)!important}:root[data-theme=dark] .badge-card.earned{border-color:#f5b8436b!important;background:radial-gradient(100% 90% at 50% -18%,rgba(245,184,67,.15),transparent 58%),linear-gradient(155deg,#1c1f22f0,#0c131de6)!important;box-shadow:inset 0 1px #ffffff24,0 14px 38px #00000061,0 0 28px #f5b8430e!important}:root[data-theme=dark] :is(.badges-hero-info p,.badges-stats-row,.badge-card p){color:var(--tf-text-soft)}:root[data-theme=dark] .badges-hero-tag span{color:#ffd477;background:#f5b8431f;border-color:#f5b8434d}:root[data-theme=dark] .badges-progress-pill{color:#8ec7ff;background:#4da3ff1f;border-color:#4da3ff47}:root[data-theme=dark] .placement-page{background:radial-gradient(680px 420px at 20% 2%,rgba(37,99,235,.08),transparent 62%),transparent}:root[data-theme=dark] .placement-tab{background:radial-gradient(130% 120% at 12% -30%,rgba(255,255,255,.08),transparent 58%),linear-gradient(145deg,#142133e0,#09111dd1);border-color:var(--tf-glass-line)}:root[data-theme=dark] .placement-tab:hover{border-color:var(--tf-glass-line-hover)}:root[data-theme=dark] .placement-tab.selected{color:#fff;border-color:#6aaeffb3;background:radial-gradient(110% 170% at 18% -40%,rgba(255,255,255,.2),transparent 56%),linear-gradient(135deg,#1f6fd5,#1355ad);box-shadow:inset 0 1px #ffffff47,0 12px 30px #0c52b257}:root[data-theme=dark] .placement-focus-box{border-color:#30ccc447;background:radial-gradient(120% 130% at 0% -20%,rgba(45,212,191,.12),transparent 58%),linear-gradient(145deg,#0d262ed1,#09141ed1)}:root[data-theme=dark] :is(.placement-focus-box p,.placement-tagline,.preview-text-box,.placement-specs-row,.tier-card p){color:#b8c9dd}:root[data-theme=dark] .preview-text-box{color:#cad8e9;background:#050c16b8;border-color:#608fc747;box-shadow:inset 0 1px #fff1,inset 0 -18px 35px #0000001f}:root[data-theme=dark] .tier-card{border-color:#608fc73d}:root[data-theme=dark] .profile-page .profile-nav-segmented{background:linear-gradient(145deg,#131f31db,#09101bbf);border-color:var(--tf-glass-line);box-shadow:inset 0 1px 0 var(--tf-glass-highlight),0 12px 30px #00000040}:root[data-theme=dark] .profile-page .profile-tab-btn{color:var(--tf-text-dim)}:root[data-theme=dark] .profile-page .profile-tab-btn:hover{color:#edf6ff;background:#ffffff0e}:root[data-theme=dark] .profile-page .profile-tab-btn.selected{color:#9fd0ff;border-color:#69b0ff61;background:radial-gradient(110% 180% at 30% -80%,rgba(255,255,255,.12),transparent 62%),#183d6594;box-shadow:inset 0 1px #ffffff1f,0 6px 18px #00000038}:root[data-theme=dark] :is(.profile-page .bento-metric-tile,.profile-page .sync-details-box,.profile-page .sync-token-box code,.profile-page .today-btn){background:#050c1661;border-color:#709acc2e;box-shadow:inset 0 1px #ffffff0b}:root[data-theme=dark] .profile-page .today-btn:hover{background:#14304e94;border-color:#69b0ff7a}:root[data-theme=dark] .profile-page .cloud-status-indicator{background:radial-gradient(120% 160% at 0% -30%,rgba(52,211,153,.14),transparent 62%),var(--tf-status-fill);border-color:var(--tf-status-line);box-shadow:inset 0 1px #ffffff12,0 8px 22px #0003}:root[data-theme=dark] .cloud-status-text strong{color:#8ef0cf}:root[data-theme=dark] .cloud-status-text small{color:#a7d8ca}:root[data-theme=dark] .profile-page .learning-notifications li{border-color:#709acc33}:root[data-theme=dark] .profile-page .learning-notifications li.is-unread{border-color:#69b0ff5c;background:radial-gradient(90% 130% at 0% -20%,rgba(105,176,255,.12),transparent 62%),linear-gradient(145deg,#132a44c7,#09111dd1)}:root[data-theme=dark] :is(.profile-page .auth-mode-switch,.social-btn,.backup-btn-tile,.outline-button){color:#dbe9f8;background:linear-gradient(145deg,#172539c2,#09111db8);border-color:var(--tf-glass-line);box-shadow:inset 0 1px #fff1}:root[data-theme=dark] :is(.profile-page .auth-mode-btn:hover,.social-btn:hover,.backup-btn-tile:hover,.outline-button:hover:not(:disabled)){color:#f4f9ff;background:#203a5ac2;border-color:#69b0ff73}:root[data-theme=dark] .profile-page .auth-mode-btn.selected{color:#fff;background:linear-gradient(135deg,#1f6fd5,#1555a8);border-color:#86c5ff80;box-shadow:inset 0 1px #fff3,0 7px 18px #00000040}:root[data-theme=dark] :is(.profile-page .auth-field-label input,.profile-page .security-form input,.profile-page input,.profile-page textarea){color:#eef6ff;background:#050c168f;border-color:#709acc47;box-shadow:inset 0 1px 2px #0000003d}:root[data-theme=dark] :is(.profile-page .auth-field-label input,.profile-page .security-form input,.profile-page input,.profile-page textarea)::placeholder{color:#71849c}:root[data-theme=dark] :is(.profile-page .auth-field-label input:focus,.profile-page .security-form input:focus,.profile-page input:focus,.profile-page textarea:focus){border-color:#6cb4ff;box-shadow:0 0 0 3px #4da3ff29,inset 0 1px 2px #00000047}:root[data-theme=dark] :is(.dark-button,.primary,.auth-submit-btn){color:#fff;border-color:#86c5ff73;background:radial-gradient(120% 160% at 20% -50%,rgba(255,255,255,.2),transparent 58%),linear-gradient(135deg,#2381e7,#1457b4);box-shadow:inset 0 1px #ffffff3d,0 10px 26px #0c52b24d}:root[data-theme=dark] :is(.dark-button,.outline-button,.social-btn):disabled{color:#74859b;border-color:#709acc21;background:#0a121d75;box-shadow:none;opacity:.58}:root[data-theme=dark] :is(.card-pill,.user-tier-pill){color:#8ec7ff;background:#4da3ff1c;border-color:#4da3ff3d}:root[data-theme=dark] .danger-zone{background:#7f1d1d38;border-color:#f871714d}:root[data-theme=dark] :is(.danger-text h4,.danger-button){color:#fecaca}:root[data-theme=dark] .danger-button{background:#7f1d1d40;border-color:#f8717161}:root[data-theme=dark] :is(.badge-card p,.metric-label,.sync-desc,.profile-page .auth-form-head p,.profile-page .auth-switch-foot){color:var(--tf-text-soft)}@media(max-width:760px){:root[data-theme=dark] :is(.badges-hero-panel,.badge-card,.placement-tab,.tier-card,.profile-hero-card,.bento-card,.auth-flow-card){-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}}@media(prefers-reduced-motion:reduce){:root[data-theme=dark] :is(.badges-hero-panel,.badge-card,.placement-tab,.tier-card,.bento-card,.today-btn,.sync-card,.security-card,.auth-flow-card){transition:none}}@media(max-width:600px){.badges-page .badges-hero-panel{align-items:stretch;flex-direction:column;gap:16px;padding:20px}.badges-page .badges-hero-info,.badges-page .badges-hero-action,.badges-page .egg-locked-hint{width:100%;max-width:none}.badges-page .badges-stats-row{flex-wrap:wrap;gap:9px 14px}.badges-page .badges-hero-action>*{box-sizing:border-box;width:100%}.profile-page .profile-hero-card{align-items:flex-start;flex-direction:column;gap:14px;padding:18px}.profile-page .hero-info-wrap,.profile-page .hero-action-slot,.profile-page .hero-action-slot>button{width:100%}.profile-page .hero-name-row{flex-wrap:wrap}.profile-page .user-quick-meta{display:grid;gap:7px}.profile-page .profile-nav-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page :is(.card-inline-actions,.card-actions-row){flex-wrap:wrap}.profile-page :is(.card-inline-actions,.card-actions-row)>:is(button,.outline-button){flex:1 1 132px;min-width:0}}@media(max-width:430px){.badges-page .badges-grid{grid-template-columns:minmax(0,1fr);gap:16px}.profile-page{padding-inline:14px}.profile-page :is(.bento-card,.sync-card,.security-card,.auth-flow-card,.auth-flow-aside){padding:16px}.profile-page .bento-metrics-row,.profile-page .today-actions{grid-template-columns:minmax(0,1fr)}.profile-page :is(.card-inline-actions,.card-actions-row){flex-direction:column}.profile-page :is(.card-inline-actions,.card-actions-row)>:is(button,.outline-button){flex-basis:auto;width:100%}}.profile-page .user-tier-pill.is-admin{color:#9b5b00;border-color:#d9770652;background:#ffefc4bd;box-shadow:inset 0 1px #ffffffb8,0 4px 12px #b4530914}:root[data-theme=dark] .profile-page .user-tier-pill.is-admin{color:#ffd477;border-color:#f5b8435c;background:#f5b8431f;box-shadow:inset 0 1px #ffffff1a,0 5px 16px #00000038}:root[data-theme=dark] .badges-hero-panel.all-achieved{border-color:#f5b84366;background:radial-gradient(90% 150% at 88% -20%,rgba(245,158,11,.2),transparent 54%),radial-gradient(80% 120% at 5% 0%,rgba(77,163,255,.1),transparent 58%),linear-gradient(145deg,#1c222df2,#0a111be6)}*{scrollbar-width:none!important;-ms-overflow-style:none!important;scrollbar-gutter:auto!important}*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html{scrollbar-gutter:auto!important}:root[data-theme=dark]{--bg: #070708;--surface: #121214;--text: #f2f2f4;--muted: #a3a3ad;--line: #2b2b30;--g-fill: rgba(18, 18, 20, .9);--g-fill2: rgba(10, 10, 12, .84);--g-edge: rgba(255, 255, 255, .12);--g-edge2: rgba(255, 255, 255, .09);--g-sh: 0 22px 56px rgba(0, 0, 0, .62);--g-sh2: 0 8px 24px rgba(0, 0, 0, .5);--tf-dark-bg: #050506;--tf-dark-bg-raised: #0c0c0e;--tf-glass-fill: rgba(16, 16, 18, .9);--tf-glass-fill-strong: rgba(20, 20, 23, .95);--tf-glass-fill-soft: rgba(10, 10, 12, .82);--tf-glass-line: rgba(255, 255, 255, .09);--tf-glass-line-hover: rgba(255, 255, 255, .2);--tf-glass-highlight: rgba(255, 255, 255, .1);--tf-text-soft: #b4b4bd;--tf-text-dim: #7d7d87;--tf-surface-glass: radial-gradient(120% 90% at 10% -10%, rgba(255, 255, 255, .06), transparent 55%), linear-gradient(135deg, rgba(24, 24, 27, .92), rgba(13, 13, 15, .88));--tf-surface-glass-strong: radial-gradient(120% 90% at 10% -10%, rgba(255, 255, 255, .075), transparent 55%), linear-gradient(135deg, rgba(28, 28, 31, .95), rgba(15, 15, 17, .92));--tf-surface-inset: rgba(9, 9, 11, .78);--aurora: radial-gradient(60vmax 50vmax at 10% -10%, rgba(255, 255, 255, .035), transparent 60%), radial-gradient(55vmax 45vmax at 95% 5%, rgba(255, 255, 255, .025), transparent 60%), radial-gradient(60vmax 50vmax at 70% 110%, rgba(255, 255, 255, .02), transparent 60%)}:root[data-theme=dark] body{background:radial-gradient(900px 600px at 80% -10%,rgba(255,255,255,.04),transparent 60%),radial-gradient(700px 500px at 0% 50%,rgba(255,255,255,.025),transparent 62%),linear-gradient(155deg,#050506,#09090b,#050506)}:root[data-theme=dark] .sidebar{background:#08080af0;border-right-color:#ffffff14;box-shadow:inset -1px 0 #ffffff0f,14px 0 40px #00000047}:root[data-theme=dark] .topbar{background:#070708d6;border-bottom-color:#ffffff0f}:root[data-theme=dark] :is(.panel,.stats-panel,.course-card,.recommended-card,.game-mode-card,.bento-card,.auth-flow-card,.sync-card,.security-card,.profile-hero-card,.placement-tab,.placement-focus-box,.placement-passage-preview,.placement-tiers-preview,.tier-card,.modal,.popup){background:var(--tf-surface-glass);border-color:#ffffff14;box-shadow:inset 0 1px #ffffff14,0 12px 34px #0006}:root[data-theme=dark] :is(.placement-page,.profile-page,.placement-page-inner,.profile-page-inner){background:transparent}:root[data-theme=dark] :is(.back-link,.profile-back,.placement-back-control){background:#141417e6;border-color:#ffffff1a;color:var(--text)}:root[data-theme=dark] .placement-tab.selected{background:linear-gradient(135deg,#1677e8,#0b5cc4);border-color:#78beffa3}:root[data-theme=dark] .preview-text-box{background:var(--tf-surface-inset);border-color:#ffffff14}:root[data-theme=dark] .profile-page .profile-nav-segmented{background:var(--tf-surface-glass);border-color:#ffffff14}:root[data-theme=dark] .profile-page .profile-tab-btn.selected{background:#ffffff12;border-color:#78beff61;color:#9fd0ff;box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] :is(.profile-page .bento-metric-tile,.profile-page .sync-details-box,.profile-page .sync-token-box code,.profile-page .today-btn){background:var(--tf-surface-inset);border-color:#ffffff12;box-shadow:none}:root[data-theme=dark] .profile-page .today-btn:hover{background:#17171a;border-color:#ffffff29}:root[data-theme=dark] .cloud-status-indicator{background:#34d3991a;border-color:#34d39940}.placement-page{width:100%;max-width:none;padding:6px 14px 28px}.placement-page-inner{gap:12px}.placement-page .placement-header{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:18px;max-width:none;padding:2px 0}.placement-header-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.placement-header-side{display:flex;flex-shrink:0;gap:8px}.placement-header-stat{min-width:72px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 46%,transparent);text-align:center}.placement-header-stat strong{display:block;color:var(--text);font:650 20px/1.1 Consolas,monospace;font-variant-numeric:tabular-nums}.placement-header-stat span{display:block;margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap}.placement-modal-inner .placement-header-side{display:none}.placement-page .placement-track-tabs{gap:8px;margin-top:0}.placement-page .placement-tab{min-height:62px;padding:10px 13px}.placement-page-grid{grid-template-columns:minmax(0,1.28fr) minmax(340px,1fr);gap:12px}.placement-page .placement-primary-col,.placement-page .placement-secondary-col{gap:10px}.placement-page .placement-focus-box,.placement-page .placement-passage-preview,.placement-page .placement-tiers-preview{padding:13px 14px;border-radius:14px}.placement-page .preview-text-box{max-height:128px}.placement-page .tier-card{min-height:96px;padding:10px}.placement-page .placement-action-bar{margin-top:0}.placement-page .placement-launch-btn{min-height:44px}.profile-page{width:100%;max-width:none;padding:6px 16px 28px}.profile-page-inner{gap:10px}.profile-page .profile-hero-card{gap:14px;padding:14px 18px;border-radius:18px}.profile-page .profile-hero-avatar{width:52px;height:52px;font-size:23px}.profile-page .profile-nav-segmented{margin:0}.profile-page :is(.bento-card,.auth-flow-card,.sync-card,.security-card){padding:16px;border-radius:16px}.profile-page :is(.sync-bento-grid,.apple-bento-grid){gap:10px}.profile-page .profile-tab-content{min-width:0}@media(max-width:900px){.placement-page .placement-header{align-items:flex-start;flex-direction:column}.placement-header-side{width:100%}.placement-header-stat{flex:1}.placement-page-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.placement-page{padding:4px 10px 24px}.placement-page-inner{gap:10px}.profile-page{padding:4px 12px 24px}.profile-page-inner{gap:8px}.profile-page .profile-hero-card{padding:12px 14px}.profile-page :is(.bento-card,.auth-flow-card,.sync-card,.security-card){padding:14px}}.glass-select{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 9px 0 12px;border:1px solid var(--g-edge2);border-radius:12px;background:radial-gradient(120% 80% at 10% -10%,rgba(255,255,255,var(--g-hl)),transparent 55%),linear-gradient(135deg,var(--g-fill),var(--g-fill2));-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 0 var(--g-edge);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .18s ease,transform .16s ease}.glass-select:hover:not(:disabled){border-color:color-mix(in srgb,var(--blue) 30%,var(--g-edge2))}.glass-select:active:not(:disabled){transform:scale(.97)}.glass-select:disabled{opacity:.45;cursor:default}.glass-select:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:2px}.glass-select.is-block{display:flex;width:100%;justify-content:space-between;height:40px}.glass-select.compact{height:32px;font-size:11px;border-radius:10px}.glass-select-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:168px}.glass-select svg{width:14px;height:14px;flex-shrink:0;color:var(--muted);transition:transform .18s var(--ease-standard, ease)}.glass-select[aria-expanded=true] svg{transform:rotate(180deg)}.glass-select-popover{width:max-content;min-width:176px;max-width:264px;z-index:110;padding:8px;border-radius:20px;transform-origin:calc(100% - 24px) 0;animation:language-menu-in .24s cubic-bezier(.2,.8,.2,1) both}.glass-select-popover.popup-leaving{animation:language-menu-out .18s ease both!important}.glass-select-popover>h3{display:flex;justify-content:space-between;align-items:center;margin:8px 10px 10px;font-size:12px;color:var(--muted)}.glass-select-options{display:flex;flex-direction:column;gap:4px;padding:2px;max-height:min(54dvh,352px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.glass-option{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:13px;font-weight:550;text-align:left;cursor:pointer;transition:background-color .18s,color .18s}.glass-option span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.glass-option:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}.glass-option:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent);outline-offset:-2px}.glass-option.selected{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-weight:700}.glass-option-check{display:none;margin-left:auto;flex-shrink:0}.glass-option.selected .glass-option-check{display:inline-flex}.glass-option-check svg{width:15px;height:15px;stroke:#fff}@media(max-width:640px){.glass-select-value{max-width:128px}}@media(prefers-reduced-motion:reduce){.glass-select,.glass-select svg,.glass-option{transition:none!important}.glass-select-popover{animation:none!important}}:root{--overlay-surface: rgb(255 255 255 / 88%);--overlay-surface-solid: #fff;--overlay-field: rgb(255 255 255 / 72%);--overlay-field-hover: rgb(255 255 255 / 92%);--overlay-line: rgb(28 48 72 / 12%);--overlay-line-strong: rgb(28 48 72 / 20%);--overlay-ink: #24364d;--overlay-muted: #66758a;--overlay-shadow: 0 24px 64px rgb(21 38 61 / 20%), 0 4px 14px rgb(21 38 61 / 7%);--overlay-highlight: inset 0 1px 0 rgb(255 255 255 / 92%);--overlay-blur: blur(24px) saturate(160%)}:root[data-theme=dark]{--overlay-surface: rgb(5 6 8 / 94%);--overlay-surface-solid: #050505;--overlay-field: rgb(255 255 255 / 5%);--overlay-field-hover: rgb(255 255 255 / 9%);--overlay-line: rgb(255 255 255 / 10%);--overlay-line-strong: rgb(255 255 255 / 18%);--overlay-ink: #f2f5f8;--overlay-muted: #9ea9b8;--overlay-shadow: 0 28px 78px rgb(0 0 0 / 62%), 0 5px 18px rgb(0 0 0 / 34%);--overlay-highlight: inset 0 1px 0 rgb(255 255 255 / 9%);--overlay-blur: blur(26px) saturate(135%)}.popup{width:min(280px,calc(100vw - 20px));min-width:220px;max-height:min(72dvh,560px);overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--overlay-line);border-radius:18px;background:linear-gradient(145deg,rgb(255 255 255 / 7%),transparent 52%),var(--overlay-surface);color:var(--overlay-ink);box-shadow:var(--overlay-highlight),var(--overlay-shadow);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur);isolation:isolate;animation:overlay-pop-in .2s cubic-bezier(.16,1,.3,1) both}.popup:before{content:"";position:absolute;inset:0 18px auto;height:1px;background:linear-gradient(90deg,transparent,var(--blue),transparent);opacity:.55;pointer-events:none}.popup>h3{margin:2px 4px 7px;padding:10px 10px 8px;color:var(--overlay-muted);font-size:12px;font-weight:680;letter-spacing:.03em}.popup>p{margin:0;padding:8px 11px 10px;color:var(--overlay-muted);font-size:12px;line-height:1.65}.popup>button,.theme-options button,.sound-options button{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;color:var(--overlay-ink);font-size:13px;text-align:left}.popup>button:hover,.theme-options button:hover,.sound-options button:hover{background:color-mix(in srgb,var(--blue) 10%,var(--overlay-field));color:var(--text)}.popup>button:active,.theme-options button:active,.sound-options button:active{transform:scale(.985)}.popup-switch,.popup-font{min-height:44px;padding:9px 10px;border-radius:12px;color:var(--overlay-ink);font-size:12px;font-weight:580}.popup-font select{min-height:34px;border-color:var(--overlay-line);background-color:var(--overlay-field)}.theme-options,.sound-options{gap:3px}.theme-options .selected,.sound-options .selected{background:color-mix(in srgb,var(--blue) 12%,var(--overlay-field));color:var(--blue)}.language-popover{width:min(284px,calc(100vw - 20px));padding:9px;border-radius:20px}.language-popover>h3{margin:0 3px 7px;padding:10px 9px 7px}.language-popover .lang-options{gap:3px}.language-popover .lang-options button{min-height:46px;border-radius:12px}#modal-root>.modal-backdrop:not(.fullscreen-view){background:#080c1285!important;padding:clamp(14px,3vw,32px)!important;-webkit-backdrop-filter:blur(16px) saturate(125%)!important;backdrop-filter:blur(16px) saturate(125%)!important}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal{width:min(620px,calc(100vw - 32px))!important;max-height:calc(100dvh - 36px)!important;padding:28px!important;border:1px solid var(--overlay-line)!important;border-radius:28px!important;background:linear-gradient(145deg,rgb(255 255 255 / 7%),transparent 45%),var(--overlay-surface)!important;color:var(--overlay-ink);box-shadow:var(--overlay-highlight),var(--overlay-shadow)!important;-webkit-backdrop-filter:var(--overlay-blur)!important;backdrop-filter:var(--overlay-blur)!important;overscroll-behavior:contain;animation:overlay-modal-in .24s cubic-bezier(.16,1,.3,1) both!important}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal>h2{max-width:calc(100% - 44px);margin:0 0 10px;color:var(--overlay-ink);font-size:clamp(22px,2.4vw,27px);line-height:1.24;letter-spacing:-.025em}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal>p{max-width:62ch;margin:0 0 20px;color:var(--overlay-muted);font-size:14px;line-height:1.7}#modal-root>.modal-backdrop:not(.fullscreen-view) .modal-close{top:16px!important;right:16px!important;width:36px!important;height:36px!important;border-color:var(--overlay-line)!important;background:var(--overlay-field)!important;color:var(--overlay-muted)!important;box-shadow:var(--overlay-highlight)!important}#modal-root>.modal-backdrop:not(.fullscreen-view) .modal-close:hover{background:color-mix(in srgb,var(--blue) 15%,var(--overlay-field))!important;color:var(--blue)!important;transform:rotate(0) scale(1.04)!important}#modal-root>.modal-backdrop:not(.fullscreen-view) :is(input,select,textarea){min-height:44px;border-color:var(--overlay-line)!important;border-radius:12px!important;background-color:var(--overlay-field)!important;color:var(--overlay-ink)!important;box-shadow:var(--overlay-highlight)}#modal-root>.modal-backdrop:not(.fullscreen-view) :is(input,select,textarea):hover{border-color:var(--overlay-line-strong)!important;background-color:var(--overlay-field-hover)!important}#modal-root>.modal-backdrop:not(.fullscreen-view) :is(input,select,textarea):focus{border-color:color-mix(in srgb,var(--blue) 54%,var(--overlay-line))!important;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}#modal-root>.modal-backdrop:not(.fullscreen-view) :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--overlay-muted) 72%,transparent)}#modal-root>.modal-backdrop:not(.fullscreen-view) .modal-actions{margin-top:22px;padding-top:16px;border-top:1px solid var(--overlay-line)}#modal-root>.modal-backdrop:not(.fullscreen-view) .modal-actions>button{min-height:44px}#modal-root>.modal-backdrop:not(.fullscreen-view) .segmented{width:100%;min-height:44px;padding:4px;border:1px solid var(--overlay-line);background:var(--overlay-field)}#modal-root>.modal-backdrop:not(.fullscreen-view) .segmented button{flex:1;min-height:36px}.feedback-modal{width:min(680px,calc(100vw - 32px))!important}.feedback-modal>.segmented{margin:18px 0!important}.fb-form{display:grid;gap:14px}.fb-form label{gap:7px;margin:0;color:var(--overlay-muted);font-size:12px;font-weight:620}.fb-form .fb-row{gap:12px}.fb-form textarea{min-height:120px!important;resize:vertical}.fb-form .modal-actions{margin-top:0;padding-top:0;border-top:0}.feedback-modal .fb-items-scroll{gap:8px;max-height:min(54dvh,440px);padding:2px}.feedback-modal .fb-item-card,.feedback-modal .empty-search{border-color:var(--overlay-line);border-radius:16px;background:var(--overlay-field);box-shadow:none}.fb-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:7px;font-size:10px;font-weight:650;white-space:nowrap}.fb-status:before{content:"";width:4px;height:4px;border-radius:1px;background:currentColor}.fb-status.is-open{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.fb-status.is-replied{color:#167a5b;background:#167a5b1f}.fb-status.is-fresh{color:var(--blue);background:color-mix(in srgb,var(--blue) 16%,transparent)}.fb-status.is-local{color:var(--overlay-muted);background:color-mix(in srgb,var(--overlay-muted) 12%,transparent)}.fb-sync-hint{flex:1 1 100%;margin:0 0 2px;color:var(--overlay-muted);font-size:11px;line-height:1.5}.fb-sync-hint.is-inline{margin:0;padding:9px 12px;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);border-radius:12px;background:color-mix(in srgb,var(--blue) 7%,transparent);color:color-mix(in srgb,var(--blue) 78%,var(--overlay-muted))}.fb-list-actions{flex-wrap:wrap;gap:8px}.fb-list-actions .fb-list-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feedback-modal .fb-item-card.has-fresh-reply{border-color:color-mix(in srgb,var(--blue) 34%,var(--overlay-line));background:color-mix(in srgb,var(--blue) 6%,var(--overlay-field))}.fb-reply-box{margin:10px 0 8px;padding:10px 12px;border:1px solid color-mix(in srgb,#167a5b 26%,transparent);border-radius:12px;background:#167a5b12}.fb-reply-box .fb-reply-head{display:flex;align-items:center;gap:6px;color:#167a5b;font-size:10px;font-weight:650;letter-spacing:.02em}.fb-reply-box .fb-reply-head .pixel-icon{width:13px;height:13px}.fb-reply-box p{margin:5px 0 0;color:var(--overlay-text, var(--text));font-size:12px;line-height:1.6}:root[data-theme=dark] .fb-status.is-replied,:root[data-theme=dark] .fb-reply-box .fb-reply-head{color:#6fd7b0}:root[data-theme=dark] .fb-reply-box{border-color:#6fd7b042;background:#6fd7b014}.detail-modal{width:min(620px,calc(100vw - 32px))!important;padding:0!important;overflow:auto!important}.detail-modal .detail-cover{width:100%;max-height:270px!important;aspect-ratio:16 / 8.5!important;object-fit:cover}.detail-modal .detail-body{padding:26px!important;background:var(--overlay-surface)}.detail-modal .detail-body h2{margin:7px 0 12px;font-size:24px}.detail-modal .detail-body>p{max-width:62ch;color:var(--overlay-muted);line-height:1.7}.detail-modal .detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:16px 0;color:var(--overlay-muted)}.detail-modal .detail-actions{padding-top:16px}.about-modal-dialog,.course-outline-dialog,.placement-dialog,.placement-report-modal,.easter-egg-prompt-modal{width:min(780px,calc(100vw - 32px))!important;padding:28px!important}.about-modal-dialog{width:min(680px,calc(100vw - 32px))!important}.fluid-magnetic-tooltip{border-color:var(--overlay-line);background:var(--overlay-surface);box-shadow:var(--overlay-highlight),var(--overlay-shadow);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur)}.tour-tooltip-inner{padding:20px}.tour-step-badge{border-color:var(--overlay-line);background:var(--overlay-field)}.tour-btn-sm{min-height:40px!important}@keyframes overlay-pop-in{0%{opacity:0;transform:translateY(-5px) scale(.975)}to{opacity:1;transform:none}}@keyframes overlay-modal-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:680px){#modal-root>.modal-backdrop:not(.fullscreen-view){align-items:flex-end!important;padding:8px!important}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal{width:100%!important;max-height:calc(100dvh - 16px)!important;padding:22px 18px calc(20px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal>h2{font-size:22px}#modal-root>.modal-backdrop:not(.fullscreen-view) .sheet-grabber{display:block}.fb-form .fb-row{grid-template-columns:minmax(0,1fr)}.detail-modal .detail-body{padding:22px 18px!important}.detail-modal .detail-meta{grid-template-columns:minmax(0,1fr)}.popup{width:min(300px,calc(100vw - 16px));max-height:76dvh}}@media(prefers-reduced-motion:reduce){.popup,#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal{animation-duration:.01ms!important}}.home-overview .section-heading p,.games-section-kicker,.quest-eyebrow,.quest-hero p,.quest-stage-header p,.badges-hero-tag,.badges-hero-info>p,.placement-pill,.placement-tagline,.placement-focus-box,.tier-card p,.profile-page .card-pill,.profile-page .today-btn small,.profile-page .cloud-status-text small,.feedback-modal>p,.popup>p,.language-popover>h3 small{display:none!important}.section-heading{margin-bottom:16px}.quest-hero{min-height:152px;padding-block:20px}.quest-hero h1{margin-block:6px}.quest-stage-header{padding-block:15px}.quest-map-heading{margin-block:22px 12px}.badges-hero-panel{min-height:0}.placement-page .placement-header{align-items:center}.placement-page-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}.placement-primary-col{gap:10px}.placement-passage-preview{padding:14px}.placement-action-bar{margin-top:2px}.placement-launch-btn{min-height:48px;padding-inline:24px}.placement-page .tier-card{min-height:58px;padding:9px 10px}.tier-card-head{margin-bottom:0}.profile-page .today-btn{min-height:88px;justify-content:center}.feedback-modal>.segmented{margin-top:2px!important}.language-popover>h3{margin-bottom:6px}@media(max-width:900px){.placement-page-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.quest-hero{min-height:142px}.profile-page .today-btn{min-height:74px}}.love-note{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;width:min(320px,calc(100vw - 36px));padding:14px 16px 12px;border:1px solid rgba(255,178,208,.55);border-radius:16px;background:#ffffffc7;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px #fff,0 18px 44px #e0568f2e,0 4px 14px #234b870f;opacity:0;transform:translate3d(0,16px,0);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);pointer-events:auto}.love-note.is-visible{opacity:1;transform:translateZ(0)}.love-note.is-leaving{opacity:0;transform:translate3d(0,10px,0);pointer-events:none}.love-note-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.love-note-glyph{font-size:15px;line-height:1}.love-note-head strong{font-size:12px;font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,#ff7eb0,#e0568f);-webkit-background-clip:text;background-clip:text;color:transparent}.love-note-text{margin:0;font-size:13.5px;line-height:1.7;color:#4a3b44}.love-note-sign{margin-top:8px;text-align:right;font-size:11px;color:#c78aa5}.love-note-close{position:absolute;top:6px;right:8px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#c78aa5;font-size:16px;line-height:1;cursor:pointer}.love-note-close:hover{background:#e0568f1f;color:#e0568f}:root[data-theme=dark] .love-note{border-color:#ff94be38;background:#0c0a0edb;box-shadow:inset 0 1px #ffffff14,0 18px 44px #0000006b}:root[data-theme=dark] .love-note-head strong{background:linear-gradient(135deg,#ff9cc0,#e879a9);-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .love-note-sign,:root[data-theme=dark] .love-note-close{color:#b07f97}:root[data-theme=dark] .love-note-close:hover{background:#e879a924;color:#f0a6c4}:root[data-theme=dark] .love-note-text{color:#ecdfe6}@media(max-width:640px){.love-note{right:auto;left:50%;margin-left:min(-160px,calc((100vw - 36px)/-2));bottom:calc(74px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.love-note{transition:opacity .2s linear;transform:none}.love-note.is-leaving{transform:none}}@media(prefers-reduced-transparency:reduce){.love-note{background:#fff7fa;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .love-note{background:#120e13}}.notify-bell{position:relative}.bell-motion{display:grid;place-items:center;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.bell-motion svg{transform-box:view-box;transform-origin:12px 3px}.notify-bell:is(:hover,:focus-visible) .bell-motion{transform:translateY(-1px)}.notify-bell:is(:hover,:focus-visible) .bell-motion svg{animation:bell-swing 1.7s cubic-bezier(.36,.07,.19,.97) infinite}.notify-bell.is-ringing .bell-motion svg{animation:bell-swing .9s cubic-bezier(.36,.07,.19,.97) 2}.bell-badge{position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:linear-gradient(135deg,#ff7eb0,#e0568f);color:#fff;font-size:9.5px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #ffffffe6;transition:transform .28s cubic-bezier(.2,.9,.3,1.4),opacity .2s}.notify-bell.has-unread .bell-badge{animation:badge-pop .5s cubic-bezier(.2,.9,.3,1.4)}@keyframes bell-swing{0%,to{transform:rotate(0)}15%{transform:rotate(13deg)}35%{transform:rotate(-11deg)}55%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}}@keyframes badge-pop{0%{transform:scale(.4)}60%{transform:scale(1.22)}to{transform:scale(1)}}.notify-toast{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:120;display:flex;gap:12px;align-items:flex-start;width:min(340px,calc(100vw - 36px));padding:14px 16px;border:1px solid rgba(255,148,190,.5);border-radius:16px;background:#ffffffd1;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px #fff,0 18px 44px #e0568f38,0 4px 14px #234b870f;opacity:0;transform:translate3d(0,18px,0);transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);overflow:hidden;cursor:pointer}.notify-toast.is-visible{opacity:1;transform:translateZ(0)}.notify-toast.is-leaving{opacity:0;transform:translate3d(0,10px,0);pointer-events:none}.notify-toast-glyph{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ff7eb0,#e0568f);box-shadow:inset 0 1px #fff6,0 6px 16px #e0568f59;animation:notify-heartbeat .8s cubic-bezier(.2,.9,.3,1.4) .3s;color:#fff}.notify-toast-glyph svg{width:20px;height:20px}@keyframes notify-heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.14)}45%{transform:scale(1)}60%{transform:scale(1.1)}}.notify-toast-copy{flex:1;min-width:0}.notify-toast-copy strong{display:block;font-size:13.5px;color:#3f2f38}.notify-toast-copy p{margin:3px 0 0;font-size:12.5px;line-height:1.6;color:#6d5560;overflow-wrap:anywhere}.notify-toast-copy small{display:block;margin-top:5px;font-size:10.5px;color:#c08da5;font-variant-numeric:tabular-nums}.notify-toast-close{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:#c08da5;cursor:pointer;transition:color .18s ease,background-color .18s ease}.notify-toast-close svg{width:14px;height:14px}.notify-toast-close:hover{background:#e0568f1f;color:#e0568f}.notify-toast-close:hover svg{transform:rotate(90deg)}.notify-toast-close:focus-visible{outline:2px solid color-mix(in srgb,#e0568f 55%,transparent);outline-offset:2px}.notify-toast-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#ff7eb0,#e0568f);transform-origin:left;animation:notify-timer 15s linear forwards}@keyframes notify-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notify-center-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line,rgba(15,23,42,.08))}.notify-center-glyph{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#ff7eb0,#e0568f);color:#fff;box-shadow:inset 0 1px #fff6,0 8px 20px #e0568f4d}.notify-center-glyph svg{width:22px;height:22px}.notify-center-title{flex:1;min-width:0}.notify-center-title h2{margin:0;font-size:19px}.notify-center-title p{margin:2px 0 0;font-size:12px;color:var(--muted,#8a94a6);font-variant-numeric:tabular-nums}.notify-center-list{max-height:min(430px,56vh);overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-right:4px;scrollbar-width:none}.notify-center-list::-webkit-scrollbar{display:none}.notify-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line,rgba(15,23,42,.08));border-radius:14px;background:var(--surface,rgba(255,255,255,.66));transition:opacity .18s ease,transform .18s ease}.notify-item-dot{flex-shrink:0;width:7px;height:7px;margin-top:6px;border-radius:50%;background:linear-gradient(135deg,#ff7eb0,#e0568f);box-shadow:0 0 0 3px #ff7eb02e}.notify-item.is-read .notify-item-dot{background:var(--line,rgba(15,23,42,.16));box-shadow:none}.notify-item-copy{flex:1;min-width:0}.notify-item-copy strong{display:block;font-size:13.5px}.notify-item-copy p{margin:3px 0 0;font-size:12.5px;line-height:1.65;color:var(--muted,#5b6572);overflow-wrap:anywhere}.notify-item-copy small{display:block;margin-top:5px;font-size:10.5px;color:var(--muted,#98a2b3);font-variant-numeric:tabular-nums}.notify-item-delete{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;margin-top:2px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted,#98a2b3);cursor:pointer;opacity:.6;transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}.notify-item-delete svg{width:14px;height:14px}.notify-item-delete:hover{opacity:1;background:#e0568f1f;color:#e0568f;border-color:#ff94be66}.notify-item-delete:hover svg{transform:scale(1.12) rotate(8deg)}.notify-item-delete:active{transform:scale(.9)}.notify-item-delete:focus-visible{outline:2px solid color-mix(in srgb,#e0568f 55%,transparent);outline-offset:2px;opacity:1}.notify-item.is-read{opacity:.62}.notify-item.is-removing{opacity:0;transform:translate(12px);pointer-events:none}.notify-item:has(.notify-item-delete:hover){opacity:1}.notify-item.is-unread{border-color:#ff94be6b}.notify-empty{display:grid;justify-items:center;gap:6px;padding:38px 20px;text-align:center;color:var(--muted,#8a94a6)}.notify-empty svg{width:34px;height:34px;opacity:.55}.notify-empty strong{font-size:14px;color:var(--text,#3a4354)}.notify-empty p{margin:0;font-size:12px}.notify-center-foot{margin:12px 0 0;font-size:11px;color:var(--muted,#98a2b3);text-align:center}:root[data-theme=dark] .bell-badge{box-shadow:0 0 0 2px #0a0a0ee6}:root[data-theme=dark] .notify-toast{border-color:#ff94be42;background:#0e0a10e0;box-shadow:inset 0 1px #ffffff14,0 18px 44px #00000075}:root[data-theme=dark] .notify-toast-copy strong{color:#f2e8ec}:root[data-theme=dark] .notify-toast-copy p{color:#c9b3bd}:root[data-theme=dark] .notify-toast-copy small,:root[data-theme=dark] .notify-toast-close{color:#a97e93}:root[data-theme=dark] .notify-toast-close:hover{background:#e879a924;color:#f0a6c4}:root[data-theme=dark] .notify-center-glyph{box-shadow:inset 0 1px #ffffff3d,0 8px 20px #0006}:root[data-theme=dark] .notify-item{background:#ffffff0b;border-color:#ffffff17}:root[data-theme=dark] .notify-item.is-unread{border-color:#ff94be4d;background:#ff7eb012}:root[data-theme=dark] .notify-item-dot{box-shadow:0 0 0 3px #ff7eb024}:root[data-theme=dark] .notify-item-delete{color:#a97e93}:root[data-theme=dark] .notify-item-delete:hover{background:#e879a924;color:#f0a6c4;border-color:#ff94be4d}@media(max-width:640px){.notify-toast{right:12px;bottom:calc(74px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.bell-motion svg,.notify-bell.is-ringing .bell-motion svg,.notify-bell:is(:hover,:focus-visible) .bell-motion svg{animation:none!important}.notify-toast{transition:opacity .2s linear;transform:none}.notify-toast.is-leaving{transform:none}.notify-toast-glyph,.bell-badge{animation:none}.notify-item-delete svg,.notify-toast-close svg,.notify-item-delete:active{transition:none!important;transform:none!important}}@media(prefers-reduced-transparency:reduce){.notify-toast{background:#fff7fa;-webkit-backdrop-filter:none;backdrop-filter:none}.notify-item{background:#fff}:root[data-theme=dark] .notify-toast{background:#120e13}:root[data-theme=dark] .notify-item{background:#1a1519}}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable]:not([contenteditable=false]){-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}body{-webkit-touch-callout:none}.debug-guard-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;display:grid;place-items:center;padding:24px;background:radial-gradient(70% 60% at 50% 0%,rgba(47,143,255,.16),transparent 70%),#f7f9fcf7;animation:debug-guard-in .28s cubic-bezier(.2,.8,.2,1) both}.debug-guard-card{width:min(420px,100%);padding:28px;border:1px solid rgba(40,104,186,.18);border-radius:20px;background:#ffffffeb;color:#233148;text-align:center;box-shadow:0 24px 70px #1e3e7029}.debug-guard-mark{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:13px;background:#2188ff;color:#fff;font:750 14px/1 Consolas,monospace;letter-spacing:.04em}.debug-guard-card h2{margin:0;font-size:19px}.debug-guard-card p{margin:9px 0 20px;color:#687689;font-size:13px;line-height:1.7}.debug-guard-card button{min-height:38px;padding:0 18px;border:0;border-radius:10px;background:#2188ff;color:#fff;font:inherit;font-weight:650;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.debug-guard-card button:is(:hover,:focus-visible){background:#0b76e8}.debug-guard-card button:active{transform:scale(.96)}@keyframes debug-guard-in{0%{opacity:0}to{opacity:1}}@media(prefers-color-scheme:dark){.debug-guard-screen{background:radial-gradient(70% 60% at 50% 0%,rgba(70,156,255,.2),transparent 70%),#0b1019fa}.debug-guard-card{border-color:#6caeff38;background:#151d2a;color:#e7eef8;box-shadow:0 24px 70px #0000006b}.debug-guard-card p{color:#a9b7c9}}@media(prefers-reduced-motion:reduce){.debug-guard-screen{animation:none}.debug-guard-card button{transition:none}}.gooey-click-layer{position:fixed;z-index:130;pointer-events:none;contain:strict;will-change:transform,opacity}.gooey-label-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:131;overflow:hidden;pointer-events:none;contain:strict}.gooey-label{position:fixed!important;margin:0!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;color:var(--gooey-label-ink, #fff)!important;pointer-events:none!important;animation:none!important;transition:none!important;will-change:opacity}.gooey-label *{color:var(--gooey-label-ink, #fff)!important;transition:none!important;animation:none!important}.gooey-label svg{color:var(--gooey-label-ink, #fff)!important;stroke:currentColor!important}html[data-gooey-nav=true] :is(.sidebar nav .nav-item,.quest-switch-track button,.learning-track,.library-track,.quest-chapters>button,.segmented button,.games-pill,.filter-option,.profile-nav-segmented button,.placement-track-tabs button,.admin-chip,.admin-segment,.lang-options button,.sound-options button,.theme-options button):active{transform:none}html[data-gooey-nav=true] :is(.sidebar nav .nav-item):active>svg{transform:none}html[data-gooey-nav=true] .sidebar nav .nav-item.active>svg{animation:none}html[data-gooey-nav=true] .quest-chapters>button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--a1),var(--a2));box-shadow:inset 0 1px #ffffff52,0 6px 14px color-mix(in srgb,var(--a2) 24%,transparent)}html[data-gooey-nav=true] .quest-chapters>button.active :is(b,small){color:#fff!important}@media(prefers-reduced-motion:reduce){.gooey-click-layer,.gooey-label-layer{display:none!important}}.elastic-slider{--elastic-slider-track: color-mix(in srgb, var(--text) 15%, transparent);--elastic-slider-range: linear-gradient(90deg, var(--a1), var(--a2));--elastic-slider-icon: color-mix(in srgb, var(--text) 55%, transparent);--elastic-slider-tick: color-mix(in srgb, var(--text) 38%, transparent);--elastic-slider-tick-fill: rgb(255 255 255 / 85%);--elastic-slider-thumb: #fff;display:block;width:100%;margin-top:10px;-webkit-user-select:none;user-select:none}input.elastic-slider-source{display:none}.elastic-slider__body{display:flex;align-items:center;gap:12px}.elastic-slider__icon{flex:none;display:grid;place-items:center;width:20px;height:20px;color:var(--elastic-slider-icon);will-change:transform}.elastic-slider__icon svg{width:17px;height:17px}.elastic-slider__hit{position:relative;flex:1;min-width:0;height:34px;display:flex;align-items:center;cursor:pointer;touch-action:none;border-radius:999px;outline:none}.elastic-slider__hit[data-dragging]{cursor:grabbing}.elastic-slider__hit:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.elastic-slider__track{position:relative;width:100%;height:6px;border-radius:999px;background:var(--elastic-slider-track);overflow:hidden;will-change:transform}.elastic-slider__tick{position:absolute;top:50%;width:3px;height:3px;border-radius:1px;background:var(--elastic-slider-tick);transform:translate(-50%,-50%) var(--elastic-slider-unscale, scale(1, 1))}.elastic-slider__range{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--elastic-slider-range);will-change:clip-path}.elastic-slider__tick--fill{background:var(--elastic-slider-tick-fill)}.elastic-slider__thumb{position:absolute;left:0;top:50%;width:var(--elastic-slider-thumb-size, 18px);height:var(--elastic-slider-thumb-size, 18px);margin-left:calc(var(--elastic-slider-thumb-size, 18px) / -2);margin-top:calc(var(--elastic-slider-thumb-size, 18px) / -2);border-radius:50%;background:var(--elastic-slider-thumb);border:1px solid rgb(20 40 80 / 14%);box-shadow:0 1px 4px #14285038,0 0 color-mix(in srgb,var(--a2) 24%,transparent);transition:box-shadow .2s;will-change:transform;pointer-events:none}.elastic-slider__hit[data-dragging] .elastic-slider__thumb,.elastic-slider__hit:focus-visible .elastic-slider__thumb{box-shadow:0 2px 8px #14285047,0 0 0 6px color-mix(in srgb,var(--a2) 18%,transparent)}:root[data-theme=dark] .elastic-slider{--elastic-slider-track: color-mix(in srgb, var(--text) 13%, transparent);--elastic-slider-tick: color-mix(in srgb, var(--text) 30%, transparent)}:root[data-theme=dark] .elastic-slider__thumb{border-color:#ffffff29;box-shadow:0 1px 5px #0000008c}@media(prefers-reduced-motion:reduce){.elastic-slider__icon,.elastic-slider__icon-inner{animation:none!important}}
