: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;content-visibility:auto;contain:layout style;contain-intrinsic-size:auto 285px;-webkit-backdrop-filter:none;backdrop-filter:none}.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;overflow-x:hidden;overflow-y:auto}.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-sound-volume{display:block;margin-top:12px;padding:12px 8px 4px;border-top:1px solid color-mix(in srgb,var(--text) 9%,transparent);cursor:default}.practice-sound-volume-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-sound-volume-head strong{font-size:13px;font-weight:620;color:var(--text)}.practice-sound-volume-head output{color:var(--a2);font:650 11px/1 SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.practice-sound-volume .elastic-slider{margin-top:5px}.practice-music-player-switch{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;padding:10px 8px;border-top:1px solid color-mix(in srgb,var(--text) 9%,transparent);border-radius:14px;cursor:pointer;transition:background .18s ease,transform .18s cubic-bezier(.2,.7,.3,1)}.practice-music-player-switch:hover{background:color-mix(in srgb,var(--a2) 7%,transparent);transform:translate(2px)}.practice-music-player-switch:active{transform:scale(.992)}.practice-music-player-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--a2) 10%,transparent);color:var(--a2);transition:background .18s ease,transform .18s ease}.practice-music-player-switch:hover .practice-music-player-icon{background:color-mix(in srgb,var(--a2) 15%,transparent);transform:scale(1.05) rotate(-3deg)}.practice-music-player-icon svg{width:17px;height:17px}.practice-music-player-copy{display:grid;gap:2px;min-width:0;color:var(--text)}.practice-music-player-copy strong{font-size:13px;font-weight:650;line-height:1.2}.practice-music-player-copy small{overflow:hidden;color:var(--muted);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.practice-music-player-switch .settings-switch-control input:checked+.settings-switch-track{background:var(--a2);border-color:color-mix(in srgb,var(--a2) 45%,transparent);box-shadow:inset 0 1px 1px #fff3,0 0 0 4px color-mix(in srgb,var(--a2) 9%,transparent)}.practice-music-player-switch.is-disabled{cursor:not-allowed;opacity:.6}.practice-music-player-switch.is-disabled:hover{background:transparent;transform:none}.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[data-brand-static]{animation:none}.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[data-brand-static] elastic-wordmark.elastic-mesh-brand>:is(.elastic-mesh-canvas,.elastic-mesh-fallback){transition: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-lang{position:absolute;top:7px;right:8px;z-index:2;min-width:30px;padding:2px 6px;border:1px solid rgba(122,174,255,.26);border-radius:6px;color:#cfe4ff;background:#0c1428b8;font-size:9px;font-weight:750;letter-spacing:.08em;line-height:1.2;text-align:center;transition:color .18s,border-color .18s,transform .18s}.games-arcade-tile:hover .games-arcade-lang{color:#fff;border-color:#7aaeff8f;transform:translateY(-1px)}.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 .memory-preview-note{display:flex;align-items:center;gap:8px;margin:-4px 0 18px;font-family:inherit;font-size:12px;line-height:1.5;color:var(--muted)}.memory-preview-note svg{width:15px;height:15px;flex:0 0 auto;color:var(--blue)}.memory-preview .dark-button{background:linear-gradient(105deg,var(--a1),var(--a2));border:0}.practice-text-area>.memory-preview{margin:0;padding:4px 2px 10px;border:0;background:transparent;box-shadow:none}.memory-preview.is-leaving{pointer-events:none;animation:memory-preview-out .18s var(--ease-standard) both}@keyframes memory-preview-out{to{opacity:0;transform:translateY(-8px) scale(.985)}}.practice-text-area.memory-concealed .typing-passage{visibility:visible}.practice-page .practice-text-area.memory-concealed .typing-passage>span.memory-hidden{min-width:.82em;color:color-mix(in srgb,var(--muted) 66%,transparent);background:color-mix(in srgb,var(--blue) 5%,transparent);border-radius:6px;box-shadow:inset 0 -1px color-mix(in srgb,var(--blue) 22%,transparent);text-align:center;transition:color .14s var(--ease-standard),background-color .18s var(--ease-standard),box-shadow .18s var(--ease-standard),transform .14s var(--ease-standard)}.practice-page .practice-text-area.memory-concealed .typing-passage>span.memory-hidden.incorrect{color:#fff;background:color-mix(in srgb,var(--bad) 82%,#fff);box-shadow:inset 0 -2px color-mix(in srgb,var(--bad) 90%,#000)}.practice-page .practice-text-area.memory-concealed .typing-passage>span.memory-hidden.caret{color:#07558f;background:linear-gradient(180deg,#fffffff0,#dcf1ffe6),color-mix(in srgb,var(--blue) 13%,transparent);border:1px solid color-mix(in srgb,var(--blue) 42%,transparent);box-shadow:inset 0 -2px color-mix(in srgb,var(--blue) 34%,transparent),0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)}.practice-page .practice-text-area.memory-concealed .typing-passage>span.memory-revealed{color:color-mix(in srgb,var(--text) 84%,#067456);background:color-mix(in srgb,#15b989 12%,transparent);box-shadow:inset 0 -2px color-mix(in srgb,#15b989 48%,transparent);border-radius:6px;animation:memory-character-reveal .24s var(--ease-emphasized) both}@keyframes memory-character-reveal{0%{opacity:.25;transform:translateY(5px) scale(.92)}to{opacity:1;transform:none}}.practice-text-area.memory-locked .typing-input,.practice-text-area.memory-locked .typing-passage{display: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}.mode-goal--strict{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 24%,var(--g-edge2));background:color-mix(in srgb,var(--bad) 7%,transparent)}.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}.practice-page .practice-text-area.memory-concealed .typing-passage>span.memory-revealed{animation:none}}: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: 12px;--pc-holo: .72;--pc-glare: .44;--pc-frame: rgba(248, 249, 251, .94);--pc-frame-edge: rgba(28, 35, 52, .14);--pc-frame-highlight: rgba(255, 255, 255, .95);--pc-frame-shadow: 4px 4px 0 rgba(24, 35, 58, .1), 0 24px 48px -24px rgba(24, 35, 58, .34), 0 7px 18px -12px rgba(24, 35, 58, .2);--pc-tile: linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);--pc-tile-edge: rgba(24, 35, 58, .12);--pc-tile-highlight: rgba(255, 255, 255, 1);--pc-tile-shadow: 0 5px 12px -6px rgba(18, 29, 52, .3);--pc-ink: #182035;--pc-muted: rgba(24, 32, 53, .58);--pc-hover: brightness(.97);--pc-press: brightness(.92);--pc-shade: rgba(9, 16, 34, .46);--pc-sheen: rgba(255, 255, 255, .26);--pc-light-x: 50%;--pc-light-y: 50%;--pc-pointer-x: 50%;--pc-pointer-y: 50%;--pc-band-x: 50%;--pc-band-y: 50%;--pc-reach: 0;--pc-rotate-x: 0deg;--pc-rotate-y: 0deg;--pc-shift-x: 0px;--pc-shift-y: 0px;--pc-tilt: 0;--pc-active: 0;position:relative;width:min(340px,calc(100vw - 48px));perspective:1000px;isolation:isolate;transition:transform .16s cubic-bezier(.2,.7,.3,1),filter .16s ease}.pcard:hover{transform:translateY(-3px) scale(1.008);filter:drop-shadow(0 8px 10px rgba(18,29,52,.08))}.pcard:active{transform:translateY(1px) scale(.992)}:root[data-theme=dark] .pcard{--pc-frame: rgba(27, 31, 43, .9);--pc-frame-edge: rgba(255, 255, 255, .12);--pc-frame-highlight: rgba(255, 255, 255, .07);--pc-frame-shadow: 4px 4px 0 rgba(0, 0, 0, .32), 0 24px 48px -20px rgba(0, 0, 0, .82), 0 7px 18px -8px rgba(0, 0, 0, .58);--pc-tile: linear-gradient(180deg, #303747 0%, #202634 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, .5);--pc-sheen: rgba(255, 255, 255, .2)}.pcard-body{position:relative;padding:8px;border:2px solid var(--pc-frame-edge);border-radius:var(--pc-radius);background:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px) 0 0 / 8px 8px,var(--pc-frame);box-shadow:var(--pc-frame-shadow),inset 0 1px 0 var(--pc-frame-highlight);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);transform-style:preserve-3d;transform:rotateX(var(--pc-rotate-x)) rotateY(var(--pc-rotate-y));transform-origin:50% 50%}.pcard-tile{position:relative;aspect-ratio:4 / 4.4;border-radius:6px;overflow:hidden;isolation:isolate;background:#10162a;border:2px solid rgba(255,255,255,.18);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-scene{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;pointer-events:none;background-position:center;background-size:cover;image-rendering:pixelated;opacity:0;transform:translate3d(calc(var(--pc-shift-x, 0px) * -.3),calc(var(--pc-shift-y, 0px) * -.3),0) scale(1.035);transition:opacity .22s ease}.pcard-scene.is-ready{opacity:1;animation:pcard-scene-in .52s steps(8,end) both}.pcard-pixel-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:8px 8px;mix-blend-mode:soft-light;opacity:.45}.pcard-hud,.pcard-serial{position:absolute;top:12px;z-index:6;padding:5px 7px 4px;border:1px solid rgba(255,255,255,.3);background:#080d1cb3;box-shadow:2px 2px #0000003d;color:#ffffffeb;font:700 8px/1 ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pcard-hud{left:12px;display:inline-flex;align-items:center;gap:6px}.pcard-hud i{width:5px;height:5px;background:var(--pc-scene-accent, #71c9ec);box-shadow:0 0 0 1px #ffffff73,0 0 8px var(--pc-scene-accent, #71c9ec)}.pcard-serial{right:12px;color:#ffffffad}.pcard-photo{position:relative;z-index:4;display:grid;place-items:center;width:47%;aspect-ratio:1;border-radius:7px;overflow:hidden;background:color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 18%,#111827);border:2px solid color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 44%,#ffffff);box-shadow:0 0 0 3px #070c196b,0 0 0 5px color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 26%,transparent),6px 6px #05091457,0 18px 38px -12px #0000009e;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s ease;transform:translateZ(28px);-webkit-user-select:none;user-select:none}.pcard:hover .pcard-photo{transform:translate3d(0,-3px,34px) rotate(-1deg);box-shadow:0 0 0 3px #070c196b,0 0 0 6px color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 32%,transparent),7px 8px #0509145c,0 22px 42px -12px #000000ad}.pcard-photo img{width:100%;height:100%;display:block;image-rendering:pixelated}.pcard-scrim{position:absolute;inset:auto 0 0 0;z-index:3;height:49%;background:linear-gradient(180deg,transparent 0%,rgba(6,10,22,.12) 18%,rgba(5,9,20,.78) 76%,rgba(4,7,17,.9) 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 2px,transparent 2px 6px)}.pcard-info{position:absolute;inset:auto 0 16px;z-index:5;padding:0 18px;transform:translateZ(18px)}.pcard-info:before{content:"";display:block;width:22px;height:3px;margin-bottom:8px;background:var(--pc-scene-accent, #71c9ec);box-shadow:7px 0 #ffffff47}.pcard-name{margin:0 0 3px;color:#fff;font-size:20px;font-weight:760;letter-spacing:-.02em;text-shadow:2px 2px 0 rgba(0,0,0,.38)}.pcard-title{margin:0;color:#fffc;font-size:11px;font-weight:600;letter-spacing:.06em}.pcard-holo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;overflow:hidden;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 5px),linear-gradient(112deg,transparent 22%,color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 56%,transparent) 42%,rgba(255,255,255,.16) 49%,transparent 63%);background-position:0 0,var(--pc-band-x, 50%) var(--pc-band-y, 50%);background-size:100% 8px,240% 100%;mix-blend-mode:screen;opacity:calc(var(--pc-holo) * (.16 + var(--pc-active, 0) * .2));transition:opacity .16s ease}.pcard-holo-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at var(--pc-pointer-x, 50%) var(--pc-pointer-y, 50%),color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 72%,#ffffff),color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 22%,transparent) 24%,transparent 58%);mix-blend-mode:soft-light;opacity:calc(.28 + var(--pc-tilt, 0) * .34)}.pcard-holo-shift{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.2) 50%,transparent 50%),linear-gradient(rgba(255,255,255,.14) 50%,transparent 50%);background-position:var(--pc-band-x, 50%) var(--pc-band-y, 50%),calc(100% - var(--pc-band-x, 50%)) var(--pc-band-y, 50%);background-size:6px 6px,6px 6px;mix-blend-mode:overlay;opacity:calc(var(--pc-reach, 0) * .5)}.pcard-sheen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(112deg,transparent 28%,var(--pc-sheen) 46%,transparent 60%);background-size:240% 240%;background-position:var(--pc-band-x, 50%) var(--pc-band-y, 50%);mix-blend-mode:screen;opacity:calc(.08 + var(--pc-active, 0) * .16);transition:opacity .16s ease}.pcard-tile-rim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,calc(.22 + var(--pc-tilt, 0) * .24)),inset 0 0 26px #070c1a3d}.pcard-footer{display:flex;align-items:center;gap:10px;margin-top:8px;padding:11px 8px 5px;border-top:1px dashed color-mix(in srgb,var(--pc-ink) 16%,transparent)}.pcard-avatar{display:grid;place-items:center;width:34px;height:34px;border:2px solid color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 42%,var(--pc-tile-edge));border-radius:5px;flex-shrink:0;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(140deg,#0a84ff,#6f4bd8);box-shadow:2px 2px color-mix(in srgb,var(--pc-ink) 14%,transparent),var(--pc-tile-shadow);overflow:hidden}.pcard-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.pcard-handle{color:var(--pc-ink);font-size:12px;font-weight:720;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard-status{display:inline-flex;align-items:center;gap:5px;color:var(--pc-muted);font-size:10px;letter-spacing:.02em}.pcard-status i{width:6px;height:6px;border-radius:1px;background:var(--pc-status, #22c55e);box-shadow:0 0 0 1px color-mix(in srgb,var(--pc-status, #22c55e) 48%,white),0 0 8px var(--pc-status, #22c55e)}.pcard-contact{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:2px solid var(--pc-tile-edge);border-radius:5px;background:var(--pc-tile);box-shadow:2px 2px color-mix(in srgb,var(--pc-ink) 14%,transparent),inset 0 1px 0 var(--pc-tile-highlight);color:var(--pc-ink);font-size:11px;font-weight:680;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}.pcard-contact:hover{filter:var(--pc-hover);transform:translate(-1px,-1px);box-shadow:3px 3px color-mix(in srgb,var(--pc-ink) 18%,transparent),inset 0 1px 0 var(--pc-tile-highlight)}.pcard-contact:active{filter:var(--pc-press);transform:translate(1px,1px) scale(.98);box-shadow:1px 1px color-mix(in srgb,var(--pc-ink) 14%,transparent)}.pcard-contact:focus-visible{outline:2px solid var(--blue, #0a84ff);outline-offset:3px}.pcard-glare{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;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:overlay;transition:opacity .16s ease}.pcard-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;border-radius:inherit;pointer-events:none;background:radial-gradient(farthest-corner circle at var(--pc-light-x, 50%) var(--pc-light-y, 50%),transparent 26%,var(--pc-shade) 115%);mix-blend-mode:normal;opacity:calc(var(--pc-active, 0) * .58);transition:opacity .16s ease}.pcard-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:9;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-rim:before,.pcard-rim:after{content:"";position:absolute;width:12px;height:12px;border-color:color-mix(in srgb,var(--pc-scene-accent, #71c9ec) 62%,white);opacity:.52}.pcard-rim:before{top:5px;left:5px;border-top:2px solid;border-left:2px solid}.pcard-rim:after{right:5px;bottom:5px;border-right:2px solid;border-bottom:2px solid}.pcard{animation:pcard-card-in .3s cubic-bezier(.22,1,.36,1)}.pcard-hud,.pcard-serial,.pcard-info{animation:pcard-ui-in .34s ease-out .12s both}@keyframes pcard-card-in{0%{opacity:0;transform:translateY(10px) scale(.965)}to{opacity:1;transform:none}}@keyframes pcard-ui-in{0%{opacity:0}to{opacity:1}}@keyframes pcard-scene-in{0%{clip-path:inset(0 100% 0 0);filter:saturate(.2)}to{clip-path:inset(0);filter:saturate(1)}}#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,.pcard-body,.pcard-tile,.pcard-holo,.pcard-sheen,.pcard-glare,.pcard-shade,.pcard-contact,.pcard-scene,.pcard-photo{transition:none;animation:none}.pcard:hover,.pcard:active,.pcard-body,.pcard:hover .pcard-photo,.pcard-scene{transform:none}.pcard-hud,.pcard-serial,.pcard-info{animation:none}}@media(prefers-reduced-transparency:reduce){.pcard-body,.pcard-hud,.pcard-serial{-webkit-backdrop-filter:none;backdrop-filter:none}.pcard-body{background:var(--pc-tile)}}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}.typing-coach{position:fixed;top:92px;right:34px;z-index:8;display:flex;flex-direction:column;width:min(374px,calc(100vw - 48px));padding:20px;border:1px solid color-mix(in srgb,var(--blue) 34%,var(--line));border-radius:22px;background:radial-gradient(130% 100% at 0 0,rgba(10,132,255,.1),transparent 52%),color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);box-shadow:inset 0 1px #fffffff0,0 22px 56px #1a3a7033;animation:typing-coach-in .46s cubic-bezier(.16,1,.3,1) both}.typing-coach.is-leaving{pointer-events:none;animation:typing-coach-out .22s ease both}.typing-coach-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.typing-coach-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid color-mix(in srgb,var(--blue) 26%,var(--line));border-radius:999px;color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent);font:700 10px Consolas,monospace;letter-spacing:.06em}.typing-coach-close{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--muted);background:color-mix(in srgb,var(--text) 5%,transparent);cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.typing-coach-close:hover{color:var(--text);background:color-mix(in srgb,var(--blue) 10%,transparent)}.typing-coach-close:active{transform:scale(.92)}.typing-coach h2{margin:14px 0 6px;color:var(--text);font-size:19px;line-height:1.35;letter-spacing:-.02em}.typing-coach-copy{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.7}.typing-coach-keys{display:flex;align-items:flex-end;gap:7px;margin:0 0 14px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 62%,transparent)}.typing-coach-keys kbd{position:relative;min-width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--blue) 36%,var(--line));border-radius:10px;color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--surface));box-shadow:inset 0 -2px color-mix(in srgb,var(--blue) 12%,transparent);font:800 15px Consolas,monospace}.typing-coach-keys kbd:after{content:"";position:absolute;bottom:6px;width:10px;height:2px;border-radius:2px;background:currentColor}.typing-coach-keys kbd.is-space{flex:1;min-width:120px;color:var(--text)}.typing-coach-keys small{color:var(--muted);font:600 9px/1.35 Inter,sans-serif}.typing-coach-points{display:grid;gap:8px;margin:0 0 16px}.typing-coach-point{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px;color:var(--text);font-size:11.5px;line-height:1.55}.typing-coach-point-icon{width:26px;height:26px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:8px;color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,transparent)}.typing-coach-point-icon svg{width:15px;height:15px}.typing-coach-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 16px}.typing-coach-setting{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 9px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--surface) 58%,transparent);font-size:10.5px;line-height:1.35}.typing-coach-setting svg{width:15px;height:15px;flex:0 0 auto;color:var(--blue)}.typing-coach-actions{display:flex;align-items:center;justify-content:space-between;gap:9px}.typing-coach-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border-radius:10px;font-size:11.5px;font-weight:700;transition:transform .16s ease,background .16s ease,color .16s ease}.typing-coach-actions button:hover{transform:translateY(-1px)}.typing-coach-actions button:active{transform:scale(.97)}.typing-coach-skip{border:0;color:var(--muted);background:transparent}.typing-coach-skip:hover{color:var(--text);background:color-mix(in srgb,var(--text) 5%,transparent)}:root[data-theme=dark] .typing-coach{border-color:#5282c252;background:radial-gradient(130% 100% at 0 0,rgba(77,163,255,.1),transparent 54%),linear-gradient(135deg,#1b2738f5,#121c2aed);box-shadow:inset 0 1px #ffffff14,0 24px 60px #0000006b}@keyframes typing-coach-in{0%{opacity:0;transform:translate(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes typing-coach-out{to{opacity:0;transform:translate(12px) scale(.98)}}@media(max-width:900px){.typing-coach{top:76px;right:18px;width:min(348px,calc(100vw - 36px))}}@media(prefers-reduced-motion:reduce){.typing-coach{animation:none}.typing-coach-close,.typing-coach-actions button{transition:none}}#modal-root>.modal-backdrop:not(.fullscreen-view)>.modal.arcade-guide-modal{width:min(940px,calc(100vw - 32px))!important;height:min(760px,calc(100dvh - 36px))!important;max-height:calc(100dvh - 36px)!important;padding:24px!important;overflow:hidden!important}.arcade-guide-shell{--guide-panel: color-mix(in srgb, var(--surface) 78%, transparent);display:grid;gap:18px}.arcade-guide-modal .arcade-guide-shell{height:100%;grid-template-rows:auto minmax(0,1fr)}.arcade-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-right:42px}.arcade-guide-head h2{margin:4px 0 7px;font-size:clamp(24px,2.6vw,30px);line-height:1.15}.arcade-guide-head p{max-width:58ch;margin:0;color:var(--overlay-muted);font-size:12px;line-height:1.65}.arcade-guide-kicker{color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.14em}.arcade-guide-language{display:grid;flex:0 0 auto;gap:2px;min-width:156px;padding:10px 12px;border:1px solid var(--overlay-line);border-radius:13px;background:var(--overlay-field)}.arcade-guide-language span,.arcade-guide-language small{color:var(--overlay-muted);font-size:10px}.arcade-guide-language strong{color:var(--blue);font-size:15px}.arcade-guide-layout{display:grid;grid-template-columns:minmax(188px,.32fr) minmax(0,1fr);gap:14px;min-height:0}.arcade-guide-games{display:grid;align-content:start;gap:7px}.arcade-guide-game{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:7px 10px;border:1px solid var(--overlay-line);border-radius:3px;background:var(--overlay-field);color:var(--overlay-ink);font-size:13px;font-weight:650;text-align:left;transition:transform .16s,border-color .16s,background-color .16s}.arcade-guide-modal .arcade-guide-game{border-radius:2px!important}.arcade-guide-game:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 40%,var(--overlay-line))}.arcade-guide-game:active{transform:scale(.97)}.arcade-guide-game.selected{border-color:color-mix(in srgb,var(--blue) 55%,transparent);background:color-mix(in srgb,var(--blue) 10%,var(--overlay-field));color:var(--blue)}.arcade-guide-game-icon{display:grid;place-items:center;width:52px;height:40px;overflow:hidden;border-radius:9px;background:#0d1423}.arcade-guide-game-icon .pixel-scene{width:44px;height:30px}.arcade-guide-game-icon svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.arcade-guide-game:hover .arcade-guide-game-icon svg{transform:translateY(-2px) scale(1.04)}.arcade-guide-player{display:grid;grid-template-rows:auto auto auto auto auto minmax(56px,1fr) auto;gap:9px;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--blue) 16%,var(--overlay-line));border:2px solid color-mix(in srgb,var(--blue) 28%,#2e405e);border-radius:3px;background:#0d1120;color:#eaf3ff;min-height:0;overflow:auto;align-content:stretch}.arcade-guide-player-head{display:flex;justify-content:space-between;gap:12px;color:#8fa3c8;font-size:10px;font-weight:700;letter-spacing:.08em}.arcade-guide-player h3{margin:3px 0 0;color:#fff;font-size:22px;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;letter-spacing:-.02em}.arcade-guide-player>p{margin:0;color:#a8b8ce;font-size:12.5px;line-height:1.65}.arcade-guide-player ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:0;padding:0;list-style:none}.arcade-guide-player li{position:relative;padding:8px 9px 8px 24px;border:1px solid #26334e;border-radius:2px;background:#141d31;color:#cbd9eb;font-size:10.5px;line-height:1.45}.arcade-guide-player li:before{content:"";position:absolute;top:13px;left:10px;width:5px;height:5px;border-radius:2px;background:#4da3ff;box-shadow:0 0 8px #4da3ffa6}.arcade-guide-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.arcade-guide-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 13px;font-size:11px;border-radius:2px;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;transition:transform .16s,background-color .16s,border-color .16s}.arcade-guide-modal .arcade-guide-actions button{border-radius:2px!important;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;box-shadow:3px 3px #040a1480}.arcade-guide-modal .arcade-guide-actions .outline-button{border:2px solid #7089a7!important;background:#e8eef5!important;color:#263851!important}.arcade-guide-modal .arcade-guide-actions .dark-button{border:2px solid #87d8ff!important;background:#20b9e8!important;color:#fff!important}.arcade-guide-actions button:hover{transform:translateY(-1px)}.arcade-guide-actions button:active{transform:scale(.96)}.arcade-guide-actions svg{width:14px;height:14px}.arcade-guide-sequence{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:7px;min-height:56px;padding:8px;overflow:hidden;border:1px solid #263b59;border-radius:2px;background:linear-gradient(90deg,rgba(77,163,255,.08),transparent 28%),#10192b;animation:arcade-guide-sequence-in .32s steps(7,end) both}.arcade-guide-sequence:before{content:"";position:absolute;top:50%;right:9px;left:9px;height:1px;background:linear-gradient(90deg,#4da3ff,#2fd4b2,#f5b82e);opacity:.28;transform:scaleX(0);transform-origin:left;animation:arcade-guide-sequence-line 2.4s steps(16,end) .2s both}.arcade-guide-sequence>span{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 6px;min-width:0;padding:4px 5px;border:1px solid #263a58;border-radius:1px;background:#111d31;animation:arcade-guide-phase-in .32s steps(6,end) both}.arcade-guide-sequence>span:nth-child(2){animation-delay:.18s}.arcade-guide-sequence>span:nth-child(3){animation-delay:.36s}.arcade-guide-sequence>span>i{grid-row:1 / 3;color:#6eb8ff;font:800 10px/1 Cascadia Mono,Consolas,monospace}.arcade-guide-sequence>span>b{overflow:hidden;color:#eaf6ff;font:700 9px/1.15 Cascadia Mono,Consolas,Microsoft YaHei,monospace;text-overflow:ellipsis;white-space:nowrap}.arcade-guide-sequence>span>small{overflow:hidden;color:#7890ad;font-size:7.5px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.arcade-guide-sequence>em{position:relative;z-index:1;padding:5px 7px;border:1px solid rgba(47,212,178,.44);border-radius:1px;background:#2fd4b21a;color:#72f0ce;font:800 8px/1 Cascadia Mono,Consolas,monospace;font-style:normal;opacity:0;animation:arcade-guide-result-in .28s steps(5,end) 2.15s both}.guide-demo{position:relative;height:300px;overflow:hidden;border:1px solid #26334e;border-radius:2px;background:radial-gradient(circle at 76% 18%,rgba(77,163,255,.12),transparent 32%),linear-gradient(#0a0f1d,#111a2c);box-shadow:inset 0 0 30px #0000007a}.cg-modal-preview{background:#09101d}.guide-demo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}.guide-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#cfe9ff}.guide-star--a{top:20%;left:18%}.guide-star--b{top:34%;right:23%}.guide-rock{position:absolute;display:grid;place-items:center;min-width:34px;height:28px;padding:0 7px;border:2px solid #ff8f70;border-radius:9px 12px 8px 11px;background:#513044;color:#fff;font:700 13px/1 ui-monospace,monospace;box-shadow:0 0 14px #ff7c5f40}.guide-rock--a{top:-36px;left:31%}.guide-rock--b{top:-74px;left:53%}.guide-rock--c{top:-118px;left:72%}.is-replaying .guide-rock--a{animation:guide-rock-fall-a 2.8s cubic-bezier(.4,0,.2,1) .1s both}.is-replaying .guide-rock--b{animation:guide-rock-fall-b 2.8s cubic-bezier(.4,0,.2,1) .28s both}.is-replaying .guide-rock--c{animation:guide-rock-fall-c 2.8s cubic-bezier(.4,0,.2,1) .46s both}.guide-ship{position:absolute;bottom:20px;left:calc(50% - 14px);width:28px;height:18px;clip-path:polygon(50% 0,100% 100%,50% 77%,0 100%);background:#4da3ff;box-shadow:0 0 14px #4da3ffb3}.guide-beam{position:absolute;bottom:36px;left:50%;width:2px;height:0;background:#85fff0;box-shadow:0 0 9px #85fff0}.is-replaying .guide-beam{animation:guide-laser 2.8s ease-out .78s both}.guide-moon{position:absolute;top:20px;right:28px;width:28px;height:28px;border-radius:50%;background:#ffe5af;box-shadow:0 0 22px #ffe5af59}.guide-word-card{position:absolute;top:-48px;padding:7px 10px;border:1px solid rgba(255,157,184,.45);border-radius:9px;background:#2a2542f0;color:#fff;font-size:11px}.guide-word-card--1{left:18%}.guide-word-card--2{left:45%}.guide-word-card--3{left:70%}.is-replaying .guide-word-card--1{animation:guide-word-fall 2.7s ease-in .08s both}.is-replaying .guide-word-card--2{animation:guide-word-fall 2.7s ease-in .32s both}.is-replaying .guide-word-card--3{animation:guide-word-fall 2.7s ease-in .56s both}.guide-input-rail{position:absolute;right:18px;bottom:16px;left:18px;padding:8px 10px;border:1px solid rgba(77,163,255,.25);border-radius:8px;background:#0d1120d1;color:#8fa3c8;font-size:10px;text-align:center}.guide-stack-board{position:absolute;top:18px;bottom:17px;left:50%;width:158px;transform:translate(-50%);border:1px solid #344464;background-image:linear-gradient(rgba(77,163,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(77,163,255,.1) 1px,transparent 1px);background-size:16px 16px}.guide-falling-piece{position:absolute;top:-34px;left:calc(50% - 16px);display:grid;grid-template-columns:repeat(2,16px);width:32px}.guide-falling-piece i{width:16px;height:16px;border:1px solid #8bd3ff;background:#4da3ff}.is-replaying .guide-falling-piece{animation:guide-piece-fall 2.5s cubic-bezier(.4,0,.2,1) .15s both}.guide-line-clear{position:absolute;right:calc(50% - 79px);bottom:33px;left:calc(50% - 79px);height:16px;background:#ffd85e2e;opacity:0}.is-replaying .guide-line-clear{animation:guide-line-flash 2.5s ease-out 1.75s both}.guide-control-row{position:absolute;bottom:16px;left:50%;display:flex;gap:5px;transform:translate(-50%)}.guide-control-row kbd{display:grid;place-items:center;width:27px;height:24px;border:1px solid #3d4d70;border-radius:5px;background:#1a2338;color:#dfeaff;font:600 10px/1 ui-monospace,monospace}.guide-match-grid{position:absolute;top:21px;left:50%;display:grid;grid-template-columns:repeat(4,40px);gap:5px;transform:translate(-50%)}.guide-match-grid i{display:grid;place-items:center;width:40px;height:40px;border:1px solid #3d4d70;border-radius:8px;background:#1a2338;color:#b8cae3;font:700 13px/1 ui-monospace,monospace}.guide-match-grid i[data-tone="0"]{border-color:#4da3ff;color:#7bc2ff}.guide-match-grid i[data-tone="1"]{border-color:#12c2a5;color:#53e5cb}.guide-match-grid i[data-tone="2"]{border-color:#f5a524;color:#ffd06d}.guide-match-grid i[data-tone="3"]{border-color:#a78bfa;color:#cbb9ff}.guide-match-grid i[data-tone="4"]{border-color:#ff6b9d;color:#ff9dbd}.guide-swap-mark{position:absolute;top:21px;left:calc(50% - 90px);width:84px;height:40px;border:2px solid #fff;border-radius:9px}.is-replaying .guide-swap-mark{animation:guide-swap 2.3s ease-in-out .12s both}.guide-blast-ring{position:absolute;top:38px;left:calc(50% - 24px);width:48px;height:48px;border:2px solid #ffd85e;border-radius:50%;opacity:0}.is-replaying .guide-blast-ring{animation:guide-blast 2.3s ease-out 1.15s both}.arcade-guide-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:24px;pointer-events:none;background:#080c121f;-webkit-backdrop-filter:blur(1.5px) saturate(112%);backdrop-filter:blur(1.5px) saturate(112%)}.arcade-live-coach{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.arcade-coach-focus{--focus-x: 50%;--focus-y: 48%;position:absolute;top:var(--focus-y);left:var(--focus-x);width:42%;height:58%;border:1px solid rgba(153,205,255,.7);border-radius:22px;box-shadow:0 0 0 9999px #04080e80,0 0 0 1px #ffffff2e,0 0 34px #4da3ff42;transform:translate(-50%,-50%);transition:top .55s cubic-bezier(.2,.8,.2,1),left .55s cubic-bezier(.2,.8,.2,1),width .55s,height .55s;pointer-events:none}.arcade-coach-focus:before,.arcade-coach-focus:after{content:"";position:absolute;width:18px;height:18px;border-color:#dff1ff}.arcade-coach-focus:before{top:-2px;left:-2px;border-top:2px solid;border-left:2px solid;border-radius:7px 0 0}.arcade-coach-focus:after{right:-2px;bottom:-2px;border-right:2px solid;border-bottom:2px solid;border-radius:0 0 7px}.arcade-coach-focus span{position:absolute;top:9px;left:12px;padding:3px 7px;border-radius:6px;background:#060d18bd;color:#bfe2ff;font-size:9px;letter-spacing:.08em}.arcade-coach-card{position:absolute;right:24px;bottom:24px;width:min(370px,calc(100% - 48px));padding:17px;border:1px solid var(--overlay-line);border-radius:19px;background:linear-gradient(145deg,rgb(255 255 255 / 9%),transparent 48%),var(--overlay-surface);color:var(--overlay-ink);box-shadow:0 18px 48px #04081261,inset 0 1px #ffffffc2;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);pointer-events:auto;animation:arcade-coach-in .28s cubic-bezier(.16,1,.3,1) both}.arcade-live-coach.focus-right .arcade-coach-card{right:auto;left:24px}.arcade-coach-head{position:relative;display:flex;align-items:center;gap:8px;padding-right:38px;color:var(--overlay-muted);font-size:9px;font-weight:700;letter-spacing:.06em}.arcade-coach-kicker{color:var(--blue)}.arcade-coach-card h2{margin:11px 0 7px;color:var(--overlay-ink);font-size:22px;letter-spacing:-.025em}.arcade-coach-card p{margin:0;color:var(--overlay-muted);font-size:12px;line-height:1.7}.arcade-coach-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0 14px;padding:0;list-style:none}.arcade-coach-card li{padding:7px 8px 7px 20px;border:1px solid var(--overlay-line);border-radius:9px;background:var(--overlay-field);color:var(--overlay-muted);font-size:10px;line-height:1.45;position:relative}.arcade-coach-card li:before{content:"";position:absolute;top:12px;left:8px;width:5px;height:5px;border-radius:2px;background:var(--blue)}.arcade-coach-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:11px 0 13px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--overlay-line));border-radius:10px;background:color-mix(in srgb,var(--blue) 7%,var(--overlay-field));color:var(--overlay-ink)}.arcade-coach-task>span{color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.12em}.arcade-coach-task strong{overflow:hidden;font-size:10.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.arcade-coach-task em{color:var(--overlay-muted);font-size:9px;font-style:normal}.arcade-coach-task[data-complete=true]{border-color:color-mix(in srgb,#12a77b 46%,var(--overlay-line));background:#12a77b17}.arcade-coach-task[data-complete=true] em{color:#0d8065;font-weight:750}.arcade-coach-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.arcade-coach-card footer>div{display:flex;gap:6px}.arcade-coach-card footer button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 11px;font-size:10px;transition:transform .16s,border-color .16s,background-color .16s}.arcade-coach-card footer button:hover{transform:translateY(-1px)}.arcade-coach-card footer button:active{transform:scale(.95)}.arcade-coach-card footer button:disabled{cursor:not-allowed;opacity:.42;transform:none}.arcade-coach-card footer button svg{width:13px;height:13px}.arcade-coach-speed{display:inline-flex;align-items:center;gap:5px;color:var(--overlay-muted);font-size:9px}.arcade-coach-speed i{width:6px;height:6px;border-radius:2px;background:var(--blue);box-shadow:0 0 8px #4da3ffb3;animation:arcade-coach-pulse 1.2s ease-in-out infinite alternate}.arcade-coach-head .arcade-guide-close{position:absolute;top:-5px;right:-3px}.arcade-canvas.is-guide-focus{transition:transform .65s cubic-bezier(.2,.8,.2,1),transform-origin .65s;will-change:transform}.arcade-canvas.is-guide-hidden{opacity:0;pointer-events:none}@keyframes arcade-coach-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes arcade-coach-pulse{0%{opacity:.45;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}.arcade-guide-overlay{padding:8px;pointer-events:auto;background:#050910a8;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%)}.arcade-cg{--cg-accent: #79bcff;--cg-accent-2: #ff8f70;position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(220px,1fr) auto;gap:9px;padding:14px;overflow:hidden;border-radius:3px;background:radial-gradient(90% 75% at 50% 0%,rgba(77,163,255,.1),transparent 58%),linear-gradient(180deg,#080d18fa,#060911fc);color:#eaf3ff;animation:arcade-cg-enter .32s cubic-bezier(.16,1,.3,1) both}.arcade-cg[data-live-guide=words-zh]{--cg-accent: #ff9dbd;--cg-accent-2: #56e0b7}.arcade-cg[data-live-guide=stack]{--cg-accent: #f5b82e;--cg-accent-2: #4da3ff}.arcade-cg[data-live-guide=match]{--cg-accent: #b59bff;--cg-accent-2: #ff7fa6}.arcade-cg-head{position:relative;display:flex;align-items:center;gap:12px;min-height:26px;padding-right:42px;color:#8fa3c8;font-size:9px;font-weight:700;letter-spacing:.08em;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace}.arcade-cg-kicker{color:#79bcff}.arcade-cg-head .arcade-guide-close{top:-3px;right:0;color:#9fb2cc;border-color:#ffffff24;background:#ffffff0f}.arcade-cg-stage{position:relative;min-height:0;overflow:hidden;border:1px solid #2c3d5b;border-radius:2px;background:#09101d}.cg-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;color:#eef7ff;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;image-rendering:pixelated;background:linear-gradient(rgba(77,163,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(77,163,255,.045) 1px,transparent 1px),radial-gradient(90% 80% at 50% 10%,color-mix(in srgb,var(--cg-accent) 12%,transparent),transparent 62%),#07101c;background-size:22px 22px,22px 22px,100% 100%,100% 100%}.cg-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}.cg-scanline{position:absolute;z-index:7;inset:-20% 0 auto;height:18%;pointer-events:none;background:linear-gradient(transparent,color-mix(in srgb,var(--cg-accent) 10%,transparent),transparent);animation:cg-scan 3.4s linear .2s 1 both}.cg-status{position:absolute;top:12px;z-index:6;color:var(--cg-accent);font-size:10px;font-weight:800;letter-spacing:.12em}.cg-status--left{left:14px}.cg-lives{position:absolute;top:10px;right:14px;z-index:6;display:flex;gap:4px}.cg-lives i{width:11px;height:10px;background:#ff6b9d;clip-path:polygon(50% 100%,0 40%,0 15%,20% 0,50% 20%,80% 0,100% 15%,100% 40%);box-shadow:0 0 5px #ff6b9d66}.cg-focus-badge{position:absolute;top:10px;left:50%;z-index:6;padding:3px 8px;border:1px solid color-mix(in srgb,var(--cg-accent) 36%,transparent);border-radius:2px;background:#050b14c7;color:color-mix(in srgb,var(--cg-accent) 78%,#fff);font-size:9px;transform:translate(-50%);white-space:nowrap}.cg-star{position:absolute;width:3px;height:3px;background:#d9efff;box-shadow:0 0 5px #d9efff8c}.cg-star--1{top:18%;left:17%}.cg-star--2{top:31%;right:21%}.cg-star--3{top:48%;left:33%}.cg-rock{position:absolute;z-index:3;display:grid;place-items:center;min-width:52px;height:36px;padding:0 10px;border:2px solid var(--cg-accent-2);border-radius:3px;background:#372438;color:#fff;font-size:14px;font-weight:800;box-shadow:4px 3px #18172a,0 0 14px color-mix(in srgb,var(--cg-accent-2) 30%,transparent)}.cg-rock--1{top:29%;left:24%}.cg-rock--2{top:46%;left:47%}.cg-rock--3{top:62%;left:70%}.cg-rock--target{top:34%;left:calc(50% - 27px)}.cg-scene--meteor .cg-rock--1{animation:cg-rock-1 2.3s steps(30,end) .1s both}.cg-scene--meteor .cg-rock--2{animation:cg-rock-2 2.3s steps(30,end) .25s both}.cg-scene--meteor .cg-rock--3{animation:cg-rock-3 2.3s steps(30,end) .4s both}.cg-scene--meteor .cg-rock--target{animation:cg-rock-2 2.3s steps(30,end) .25s both,cg-rock-target-disappear 2.7s steps(18,end) .2s both}.cg-ship{position:absolute;z-index:4;bottom:56px;left:calc(50% - 22px);width:44px;height:28px;background:var(--cg-accent-2);clip-path:polygon(50% 0,100% 100%,55% 78%,50% 100%,45% 78%,0 100%);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--cg-accent-2) 65%,transparent))}.cg-laser{position:absolute;z-index:5;bottom:70px;left:50%;width:3px;height:0;background:#c6fff2;box-shadow:0 0 10px #7dffe0;animation:cg-laser 2.3s steps(20,end) .65s both}.cg-ground{position:absolute;right:0;bottom:0;left:0;height:34px;border-top:2px solid #263b57;background:linear-gradient(90deg,transparent 0 20%,var(--cg-accent) 20% 21%,transparent 21% 43%,var(--cg-accent) 43% 44%,transparent 44%),#111e2e}.cg-moon{position:absolute;top:38px;right:48px;width:54px;height:54px;border-radius:50%;background:#ffe8b2;box-shadow:0 0 24px #ffe8b24d}.cg-cloud{position:absolute;width:110px;height:18px;background:#758ca7;box-shadow:16px -8px #758ca7,42px -3px #758ca7;opacity:.3}.cg-cloud--1{top:28%;left:12%}.cg-cloud--2{top:52%;right:16%;transform:scale(.72)}.cg-word{position:absolute;z-index:3;padding:9px 13px;border:2px solid color-mix(in srgb,var(--cg-accent) 70%,#fff);border-radius:3px;background:#251f37f5;box-shadow:4px 3px #02070ebf;color:#fff;font-size:15px}.cg-word--1{top:25%;left:17%;animation:cg-word-1 2.4s steps(28,end) .1s both}.cg-word--2{top:16%;left:44%;animation:cg-word-2 2.4s steps(28,end) .3s both}.cg-word--3{top:31%;left:69%;animation:cg-word-3 2.4s steps(28,end) .5s both}.cg-word--target{top:31%;left:calc(50% - 28px);animation:cg-word-2 2.4s steps(28,end) .3s both,cg-word-target-disappear 2.7s steps(18,end) .2s both}.cg-rain-lane{position:absolute;right:48px;bottom:54px;left:48px;height:28px;border:2px solid color-mix(in srgb,var(--cg-accent-2) 40%,transparent);background:#08121edb;box-shadow:inset 0 0 16px #56e0b714}.cg-word-beam{position:absolute;z-index:5;bottom:62px;left:50%;width:3px;height:0;background:#b9fff0;box-shadow:0 0 12px #68e8c8;animation:cg-word-beam 2.5s steps(18,end) .72s both}.cg-key-strip{position:absolute;right:12px;bottom:12px;left:12px;z-index:7;display:flex;align-items:center;justify-content:center;gap:6px;color:#8fa9c5;font-size:9px}.cg-key-strip kbd{min-width:32px;padding:3px 6px;border:1px solid #435b7e;border-bottom-width:2px;border-radius:2px;background:#15243b;color:#dfeeff;font:700 9px/1.2 Cascadia Mono,Consolas,monospace;text-align:center}.cg-key-strip b{color:#8fa9c5;font-weight:500}.cg-cinema-strip{position:absolute;right:8px;bottom:8px;left:8px;z-index:7;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:5px 7px;border:1px solid rgba(92,132,177,.48);border-radius:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 6px),#050d18e6;box-shadow:0 -3px 16px #0000004d;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace}.cg-cinema-track{display:grid;grid-template-columns:auto 12px auto 12px auto;align-items:center;gap:5px;min-width:0}.cg-cinema-track>em{height:1px;background:#3e5d81;transform:scaleX(0);transform-origin:left;animation:cg-cinema-link 2.3s steps(12,end) .15s both}.cg-cinema-track>em:nth-of-type(2){animation-delay:.75s}.cg-cinema-phase{display:inline-flex;align-items:center;gap:4px;min-width:0;color:#7991ac;font-size:8px;font-style:normal;white-space:nowrap;animation:cg-cinema-phase .52s steps(6,end) both}.cg-cinema-phase b{color:#9ab4d0;font-size:8px}.cg-cinema-phase--1{animation-delay:.08s}.cg-cinema-phase--2{animation-delay:.72s}.cg-cinema-phase--3{animation-delay:1.36s}.cg-cinema-result{padding:4px 6px;border:1px solid rgba(255,216,94,.42);border-radius:1px;background:#ffd85e14;color:#ffe18a;font-size:8px;letter-spacing:.06em;opacity:0;animation:cg-cinema-result .34s steps(6,end) 1.82s both}.cg-impact-flash{position:absolute;z-index:6;pointer-events:none;border:2px solid #fff;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,216,94,.48) 38%,transparent 70%);opacity:0;animation:cg-impact-flash 2.6s steps(16,end) .95s both}.cg-scene--meteor .cg-impact-flash{top:25%;left:calc(50% - 46px);width:92px;height:78px}.cg-scene--rain .cg-impact-flash{top:23%;left:calc(50% - 56px);width:112px;height:64px}.cg-scene--match .cg-impact-flash{top:45%;left:calc(50% - 10px);width:148px;height:58px}.cg-impact-shards{position:absolute;z-index:6;width:4px;height:4px;pointer-events:none}.cg-impact-shards--meteor{top:40%;left:50%}.cg-impact-shards--rain{top:37%;left:50%}.cg-impact-shards--match{top:54%;left:50%}.cg-impact-shards i{--shard-color: #ffe18a;position:absolute;width:4px;height:4px;background:var(--shard-color);box-shadow:0 0 7px color-mix(in srgb,var(--shard-color) 70%,transparent);opacity:0;transform:rotate(calc(var(--shard) * 36deg)) translateY(0);animation:cg-impact-shard 2.65s steps(19,end) .93s both}.cg-impact-shards i:nth-child(3n){--shard-color: #85fff0}.cg-impact-shards i:nth-child(3n+1){--shard-color: #ff8f70}.cg-board-grid,.cg-board-frame{position:absolute;top:32px;bottom:57px;left:50%;width:225px;transform:translate(-50%)}.cg-board-frame{border:2px solid #405879;box-shadow:0 0 18px #4da3ff1f}.cg-board-grid{background-image:linear-gradient(rgba(77,163,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(77,163,255,.12) 1px,transparent 1px);background-size:calc(100% / 12) calc(100% / 15)}.cg-stack-piece{position:absolute;top:-36px;left:calc(50% - 27px);display:grid;grid-template-columns:repeat(3,18px);animation:cg-stack-drop 2.2s steps(24,end) .1s both}.cg-stack-piece i{width:18px;height:18px;border:1px solid #ffeaa1;background:var(--cg-accent)}.cg-stack-piece i:nth-child(2){visibility:hidden}.cg-stack-floor{position:absolute;bottom:61px;height:18px;border:1px solid rgba(255,255,255,.35)}.cg-stack-floor--a{left:calc(50% - 109px);width:72px;background:var(--cg-accent-2)}.cg-stack-floor--b{left:calc(50% - 37px);width:90px;background:#2fd4b2}.cg-stack-floor--c{left:calc(50% + 53px);width:56px;background:#9c7cf5}.cg-clear-flash{position:absolute;right:calc(50% - 113px);bottom:61px;left:calc(50% - 113px);height:18px;opacity:0;background:#ffe17880;animation:cg-clear 2.2s steps(20,end) 1.45s both}.cg-clear-cells{position:absolute;right:calc(50% - 113px);bottom:61px;left:calc(50% - 113px);z-index:6;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;height:18px;pointer-events:none}.cg-clear-cells i{border:1px solid rgba(255,240,178,.7);background:#ffe07a;opacity:0;transform:scaleY(.35);animation:cg-clear-cell 2.4s steps(18,end) 1.38s both}.cg-clear-cells i:nth-child(2n){animation-delay:1.42s}.cg-clear-cells i:nth-child(3n){animation-delay:1.46s}.cg-stack-controls{position:absolute;bottom:82px;left:50%;display:flex;gap:5px;transform:translate(-50%)}.cg-stack-controls b{display:grid;place-items:center;width:32px;height:24px;border:1px solid #425a7d;border-radius:2px;background:#15233a;color:#dbeaff;font-size:10px}.cg-match-board{position:absolute;top:35px;bottom:57px;left:50%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:4px;width:310px;transform:translate(-50%)}.cg-match-board i{display:grid;place-items:center;border:1px solid #405879;border-radius:2px;background:#15233a;color:#d7e4f5;font-size:10px;font-style:normal;font-weight:750}.cg-match-board i[data-tone="0"]{border-color:#4da3ff;color:#91cfff}.cg-match-board i[data-tone="1"]{border-color:#2fd4b2;color:#83f0d6}.cg-match-board i[data-tone="2"]{border-color:#f0b93a;color:#ffdd85}.cg-match-board i[data-tone="3"]{border-color:#a78bfa;color:#cdbdff}.cg-match-board i[data-tone="4"]{border-color:#ff7fa6;color:#ffb2c8}.cg-match-board i[data-match-target]{animation:cg-match-clear 2.4s steps(16,end) 1.05s both}.cg-match-cursor{position:absolute;top:35px;left:calc(50% - 135px);width:40px;height:40px;border:2px solid #fff;border-radius:2px;animation:cg-match-select 2.1s steps(20,end) .15s both}.cg-match-link{position:absolute;top:36%;left:calc(50% - 40px);width:60px;height:2px;background:#fff;opacity:0;box-shadow:0 0 8px #fff;animation:cg-match-link 2.1s steps(16,end) .8s both}.cg-rune-burst{position:absolute;top:45%;left:50%;width:38px;height:38px;border:2px solid var(--cg-accent);border-radius:50%;opacity:0;transform:translate(-50%,-50%);animation:cg-rune 2.1s steps(20,end) 1.2s both}@keyframes cg-scan{0%{transform:translateY(0)}to{transform:translateY(720%)}}@keyframes cg-rock-1{0%{transform:translateY(-28px);opacity:0}25%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes cg-rock-2{0%{transform:translateY(-38px);opacity:0}25%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes cg-rock-3{0%{transform:translateY(-48px);opacity:0}25%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes cg-laser{0%{height:0;opacity:0}20%{height:115px;opacity:1}55%{height:115px;opacity:1}to{height:115px;opacity:0}}@keyframes cg-word-1{0%{transform:translateY(-26px);opacity:0}25%{opacity:1}to{transform:none;opacity:1}}@keyframes cg-word-2{0%{transform:translateY(-38px);opacity:0}25%{opacity:1}to{transform:none;opacity:1}}@keyframes cg-word-3{0%{transform:translateY(-30px);opacity:0}25%{opacity:1}to{transform:none;opacity:1}}@keyframes cg-stack-drop{0%{transform:translateY(0)}to{transform:translateY(248px)}}@keyframes cg-clear{0%,66%{opacity:0}76%{opacity:1}to{opacity:.22}}@keyframes cg-match-select{0%,30%{transform:translate(0)}70%,to{transform:translate(42px)}}@keyframes cg-match-link{0%,42%{opacity:0}58%,to{opacity:.85}}@keyframes cg-rune{0%,56%{opacity:0;transform:translate(-50%,-50%) scale(.2)}78%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:.45;transform:translate(-50%,-50%) scale(2)}}@keyframes cg-rock-target-disappear{0%,62%{opacity:1;filter:none}70%{opacity:1;filter:brightness(2.6) saturate(1.6)}76%,to{opacity:0;filter:brightness(3.5) saturate(2)}}@keyframes cg-word-target-disappear{0%,58%{opacity:1;filter:none}68%{opacity:1;filter:brightness(2.8) saturate(1.7)}74%,to{opacity:0;filter:brightness(3.4) saturate(2)}}@keyframes cg-word-beam{0%{height:0;opacity:0}18%{height:132px;opacity:0}28%,54%{height:132px;opacity:1}70%,to{height:132px;opacity:0}}@keyframes cg-impact-flash{0%,58%{opacity:0;transform:scale(.2)}64%{opacity:1;transform:scale(1)}72%{opacity:.72;transform:scale(1.16)}to{opacity:0;transform:scale(1.32)}}@keyframes cg-impact-shard{0%,58%{opacity:0;transform:rotate(calc(var(--shard) * 36deg)) translateY(0) scale(1)}64%{opacity:1}to{opacity:0;transform:rotate(calc(var(--shard) * 36deg)) translateY(-54px) scale(.25)}}@keyframes cg-clear-cell{0%,62%{opacity:0;transform:scaleY(.35)}70%{opacity:1;transform:scaleY(1)}78%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.45)}}@keyframes cg-match-clear{0%,58%{opacity:1;transform:none;background-color:#15233a}66%{opacity:1;transform:scale(1.08);background-color:#fff3b0}76%,to{opacity:0;transform:scale(.2);background-color:#fff}}@keyframes cg-cinema-link{0%{transform:scaleX(0);opacity:.28}60%{transform:scaleX(1);opacity:.8}to{transform:scaleX(1);opacity:.42}}@keyframes cg-cinema-phase{0%{color:#7991ac;opacity:.38}54%{color:#f2f9ff;opacity:1;text-shadow:0 0 8px rgba(121,188,255,.7)}to{color:#a8c6e8;opacity:.82}}@keyframes cg-cinema-result{0%{opacity:0;transform:translate(5px) scale(.9)}to{opacity:1;transform:none}}@keyframes arcade-guide-sequence-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes arcade-guide-sequence-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes arcade-guide-phase-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes arcade-guide-result-in{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:none}}@keyframes arcade-guide-candidate-in{0%{opacity:0;transform:translateY(3px) scale(.92)}to{opacity:1;transform:none}}.arcade-cg-hotspot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;justify-items:center;padding:15px;border:0;background:transparent;cursor:pointer}.arcade-cg-hotspot span{padding:7px 13px;border:1px solid rgba(121,188,255,.34);border-radius:999px;background:#08101ed6;color:#cfeaff;font-size:10px;font-weight:680;box-shadow:0 0 22px #4da3ff29;transform:translateY(0);transition:transform .16s,border-color .16s}.arcade-cg-hotspot:hover span{border-color:#79bcffad;transform:translateY(-2px)}.arcade-cg-hotspot:active span{transform:scale(.96)}.arcade-cg-hotspot:focus-visible{outline:2px solid #79bcff;outline-offset:-3px}.arcade-cg .arcade-coach-card{position:relative;right:auto;bottom:auto;left:auto;width:min(660px,100%);justify-self:center;padding:13px 15px;border:2px solid color-mix(in srgb,var(--cg-accent) 28%,#32445f);border-radius:3px;background:linear-gradient(145deg,rgba(255,255,255,.1),transparent 46%),#121c2ef0;color:#eaf3ff;box-shadow:4px 4px #02060db3,0 12px 34px #0000004d;animation:arcade-cg-panel-in .26s ease-out both}.arcade-cg .arcade-coach-card h2{margin:7px 0 4px;color:#fff;font-size:19px;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;letter-spacing:.02em;text-shadow:2px 2px 0 rgba(0,0,0,.32)}.arcade-cg .arcade-coach-card p{color:#a8b8ce;font-size:10.5px;line-height:1.55}.arcade-cg .arcade-coach-card ul{margin:8px 0 9px}.arcade-cg .arcade-coach-card li{padding-top:5px;padding-bottom:5px;border:1px solid rgba(121,188,255,.14);border-radius:1px;background:#ffffff0b;color:#a8b8ce}.arcade-cg .arcade-coach-task{margin:7px 0 8px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--cg-accent) 42%,#24364f);border-radius:1px;background:#4da3ff12;color:#dfeeff}.arcade-cg-progress{display:inline-flex;gap:4px}.arcade-cg-progress i{width:18px;height:3px;border:0;border-radius:1px;background:#ffffff21}.arcade-cg-progress i.on{background:#4da3ff;box-shadow:0 0 8px #4da3ff80}.arcade-cg.is-complete .arcade-cg-stage .guide-demo{filter:saturate(1.18) brightness(1.08)}.arcade-cg--complete{place-content:center;justify-items:center;text-align:center;padding:42px}.arcade-guide-overlay:has(.arcade-cg--live){padding:0;background:#04080e1f;-webkit-backdrop-filter:none;backdrop-filter:none}.arcade-cg--live{display:block;padding:0;background:transparent}.arcade-cg--live .arcade-cg-head{position:absolute;top:10px;right:44px;left:10px;z-index:24;min-height:31px;padding:6px 42px 6px 10px;border:1px solid rgba(121,188,255,.24);border-radius:2px;background:#050b14d1;box-shadow:3px 3px #01050b85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.arcade-cg--live .arcade-cg-head .arcade-guide-close{top:3px;right:4px}.arcade-cg--live .arcade-cg-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:0;border-radius:0;background:transparent}.arcade-cg-snapshot{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:0;width:calc(100% - 20px);height:calc(100% - 20px);border-radius:12px;object-fit:fill;image-rendering:pixelated;pointer-events:none}.arcade-cg-live-focus{position:absolute;top:var(--focus-y);left:var(--focus-x);z-index:2;width:var(--focus-w);height:var(--focus-h);border:1px solid color-mix(in srgb,var(--cg-accent) 76%,#fff);border-radius:2px;box-shadow:0 0 0 9999px #03070d6b,0 0 0 1px #ffffff2e,0 0 22px color-mix(in srgb,var(--cg-accent) 32%,transparent);transform:translate(-50%,-50%);pointer-events:none;transition:top .36s steps(8,end),left .36s steps(8,end),width .36s steps(8,end),height .36s steps(8,end);animation:cg-focus-in .28s steps(7,end) both}.arcade-cg-live-focus:before,.arcade-cg-live-focus:after{content:"";position:absolute;width:13px;height:13px;border-color:#e9f7ff}.arcade-cg-live-focus:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.arcade-cg-live-focus:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.arcade-cg-live-focus b{position:absolute;top:6px;left:7px;padding:2px 6px;border-radius:1px;background:#040a13d1;color:color-mix(in srgb,var(--cg-accent) 82%,#fff);font-size:8px;font-style:normal;font-weight:700;white-space:nowrap}.arcade-cg-target-card,.arcade-cg-action-card{position:absolute;top:50%;left:50%;display:grid;justify-items:center;gap:3px;min-width:108px;padding:9px 12px;border:2px solid color-mix(in srgb,var(--cg-accent) 70%,#fff);border-radius:2px;background:#060e1ae6;color:#fff;font-style:normal;transform:translate(-50%,-50%);box-shadow:4px 4px #01050bb3,0 0 18px color-mix(in srgb,var(--cg-accent) 22%,transparent);animation:cg-target-breathe 1.4s steps(2,end) infinite alternate}.arcade-cg-target-card small{color:var(--cg-accent);font-size:7px;font-weight:800;letter-spacing:.16em}.arcade-cg-target-card strong{color:#fff;font-size:17px;line-height:1.2}.arcade-cg-target-card code{color:#90a8c3;font-size:8px}.arcade-cg-action-card{min-width:130px;color:#dcecff;font-size:10px;font-weight:700}.arcade-cg-live-focus i{position:absolute;right:7px;bottom:7px;width:8px;height:8px;border:1px solid var(--cg-accent);background:color-mix(in srgb,var(--cg-accent) 55%,transparent);animation:cg-focus-corner 1.1s steps(2,end) infinite}.arcade-cg-live-scan{position:absolute;z-index:3;top:var(--focus-y);left:var(--focus-x);width:var(--focus-w);height:2px;background:linear-gradient(90deg,transparent,var(--cg-accent),transparent);opacity:.72;transform:translate(-50%,-50%);animation:cg-live-scan 2.4s steps(18,end) infinite;pointer-events:none}.arcade-cg--live .arcade-cg-hotspot{z-index:5;background:transparent}.arcade-cg-dialogue{position:absolute;right:14px;bottom:14px;z-index:20;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:end;gap:9px;width:min(370px,42%);animation:arcade-cg-panel-in .26s steps(7,end) both}.arcade-cg.focus-right .arcade-cg-dialogue{right:auto;left:14px}.arcade-cg-avatar-frame{position:relative;display:grid;justify-items:center;gap:2px;padding:4px 3px 3px;border:2px solid color-mix(in srgb,var(--cg-accent) 45%,#30445f);border-radius:3px;background:#08101df5;box-shadow:3px 3px #02060cb3}.arcade-coach-avatar{display:block;width:42px;height:42px;image-rendering:pixelated;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35));animation:arcade-avatar-speak .45s steps(6,end) .08s both}.arcade-cg-avatar-frame>span{color:#a9c9e7;font-size:7px;font-weight:800;letter-spacing:.08em}.arcade-cg-bubble{position:relative;min-width:0;padding:8px 10px;border:2px solid color-mix(in srgb,var(--cg-accent) 30%,#30445f);border-radius:3px;background:linear-gradient(145deg,rgba(255,255,255,.07),transparent 50%),#0c1525f5;box-shadow:4px 4px #01050bad;color:#eff7ff}.arcade-cg-bubble:before{content:"";position:absolute;bottom:13px;left:-8px;width:7px;height:7px;border-bottom:2px solid color-mix(in srgb,var(--cg-accent) 30%,#30445f);border-left:2px solid color-mix(in srgb,var(--cg-accent) 30%,#30445f);background:#0d1829;transform:rotate(45deg)}.arcade-cg-bubble h2{margin:4px 0 2px;color:#fff;font-size:14px;line-height:1.3;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace}.arcade-cg-bubble>p{margin:0;color:#b4c5d9;font-size:10px;line-height:1.48;animation:arcade-dialogue-text .34s steps(9,end) .06s both}.arcade-cg-bubble .arcade-coach-head{padding-right:0}.arcade-cg-bubble .arcade-coach-task{margin:6px 0 5px;padding:6px 7px}.arcade-cg-input-row{display:flex;align-items:center;gap:7px;margin:5px 0 6px;padding:4px 5px 4px 8px;border:1px solid color-mix(in srgb,var(--cg-accent) 26%,#263851);border-radius:2px;background:#050c16c7}.arcade-cg-input-block{display:grid;gap:4px}.arcade-cg-input-row>span{flex:0 0 auto;color:var(--cg-accent);font-size:8px;font-weight:750}.arcade-cg-input{flex:1 1 auto;min-width:0;height:24px!important;min-height:24px!important;padding:2px 7px!important;border:1px solid #2f4664!important;border-radius:2px!important;background:#0a1423!important;color:#eef8ff!important;font:600 11px/1 Cascadia Mono,Consolas,monospace!important;letter-spacing:.04em;box-shadow:inset 0 0 8px #00000059!important}.arcade-cg-input:focus{border-color:var(--cg-accent)!important;outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--cg-accent) 15%,transparent)!important}.arcade-cg-input::placeholder{color:#69809b}.arcade-cg-input[readonly]{cursor:text}.arcade-cg-ime{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 7px;min-height:33px;padding:4px 5px 4px 7px;border:1px solid color-mix(in srgb,var(--cg-accent) 24%,#263851);border-radius:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--cg-accent) 8%,transparent),transparent 42%),#050c16d6}.arcade-cg-ime-buffer{min-width:54px;max-width:105px;overflow:hidden;color:#d8eeff;font:800 9px/1.2 Cascadia Mono,Consolas,monospace;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.arcade-cg-ime-candidates{display:flex;min-width:0;gap:4px;overflow-x:auto;scrollbar-width:none}.arcade-cg-ime-candidates::-webkit-scrollbar{display:none}.arcade-cg-ime-empty{color:#7188a3;font-size:8px}.arcade-guide-ime-candidate{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;min-height:23px;padding:2px 6px;border:1px solid #355072;border-radius:1px;background:#111f34;color:#eaf7ff;cursor:pointer;font:700 10px/1 Cascadia Mono,Microsoft YaHei,monospace;animation:arcade-guide-candidate-in .16s steps(4,end) both;transition:transform .14s,border-color .14s,background-color .14s}.arcade-guide-ime-candidate small{color:#7692b0;font-size:7px}.arcade-guide-ime-candidate:hover,.arcade-guide-ime-candidate:focus-visible{border-color:var(--cg-accent);outline:none;transform:translateY(-1px)}.arcade-guide-ime-candidate:active{transform:scale(.94)}.arcade-guide-ime-candidate.selected{border-color:var(--cg-accent);background:color-mix(in srgb,var(--cg-accent) 18%,#111f34);color:#fff}.arcade-cg-ime>small{grid-column:1 / -1;color:#69809b;font-size:7px;line-height:1}.arcade-cg-keyhint{margin:5px 0 6px;padding:6px 8px;border:1px dashed color-mix(in srgb,var(--cg-accent) 30%,#263851);border-radius:2px;color:#9fb4ce;font-size:9px;text-align:center}.arcade-cg-bubble footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.arcade-cg-bubble .arcade-coach-speed{color:#91a5bd;font-size:8px}.arcade-cg-bubble.is-shaking{animation:arcade-dialogue-error .3s steps(6,end) both}.arcade-cg-bubble .arcade-coach-task[data-error=true]{border-color:#ff6f6fad;background:#b8303e21}.arcade-cg-bubble .arcade-coach-task[data-error=true] em{color:#ff9c9c}.arcade-cg--live .arcade-cg-hotspot>span{margin-bottom:2px}.arcade-cg--live .arcade-cg-panel{position:absolute;right:14px;bottom:14px;left:auto;z-index:20;width:min(370px,43%);justify-self:auto;animation-delay:.08s}.arcade-cg--live.focus-right .arcade-cg-panel{right:auto;left:14px}.arcade-cg--live .arcade-cg-panel .arcade-coach-card,.arcade-cg--live .arcade-cg-panel{max-height:calc(100% - 80px)}.arcade-cg--live .arcade-cg-panel h2{font-size:18px}.arcade-cg--live .arcade-cg-panel>p{font-size:10px}.arcade-cg--complete h2{margin:8px 0;color:#fff;font-size:clamp(26px,3.6vw,38px)}.arcade-cg--complete p{max-width:56ch;margin:0;color:#a8b8ce;font-size:12px;line-height:1.7}.arcade-cg-complete-medal{position:relative;display:grid;place-items:center;width:76px;height:76px;margin:22px 0;border:1px solid rgba(121,188,255,.42);border-radius:50%;background:#4da3ff1a;box-shadow:0 0 34px #4da3ff3d}.arcade-cg-complete-medal:before,.arcade-cg-complete-medal:after,.arcade-cg-complete-medal span{content:"";position:absolute;border-radius:50%;border:2px solid #79bcff}.arcade-cg-complete-medal:before{top:16px;right:16px;bottom:16px;left:16px}.arcade-cg-complete-medal:after{top:25px;right:25px;bottom:25px;left:25px;background:#4da3ff}.arcade-cg-complete-medal span{top:7px;right:7px;bottom:7px;left:7px;opacity:.3;animation:arcade-cg-orbit 1.6s linear infinite;border-style:dashed}.arcade-cg-complete-actions{display:flex;gap:9px}.arcade-cg-complete-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 15px;font-size:11px;border-radius:2px}.arcade-cg-complete-actions svg{width:14px;height:14px}@keyframes arcade-cg-enter{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:none}}@keyframes arcade-cg-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes arcade-cg-orbit{to{transform:rotate(360deg)}}@keyframes cg-focus-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes cg-focus-corner{50%{opacity:.25}}@keyframes cg-target-breathe{0%{box-shadow:4px 4px #01050bb3,0 0 12px color-mix(in srgb,var(--cg-accent) 16%,transparent)}to{box-shadow:4px 4px #01050bb3,0 0 24px color-mix(in srgb,var(--cg-accent) 34%,transparent)}}@keyframes cg-live-scan{0%{margin-top:calc(var(--focus-h) * -.45)}to{margin-top:calc(var(--focus-h) * .45)}}@keyframes arcade-avatar-speak{0%{transform:translateY(2px) scale(.96);opacity:.5}55%{transform:translateY(-1px) scale(1.03);opacity:1}to{transform:none;opacity:1}}@keyframes arcade-dialogue-text{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes arcade-dialogue-error{0%,to{transform:translate(0)}25%{transform:translate(-4px)}55%{transform:translate(4px)}78%{transform:translate(-2px)}}.arcade-guide-shell--overlay{position:relative;width:min(960px,calc(100vw - 64px));max-height:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain;padding:22px;border:1px solid var(--overlay-line);border-radius:24px;background:linear-gradient(145deg,rgb(255 255 255 / 7%),transparent 45%),var(--overlay-surface);box-shadow:var(--overlay-shadow)}.arcade-guide-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--overlay-line);border-radius:10px;background:var(--overlay-field);color:var(--overlay-muted);transition:transform .16s,color .16s,border-color .16s}.arcade-guide-close:hover{color:var(--blue);border-color:var(--blue);transform:scale(1.04)}.arcade-guide-close:active{transform:scale(.9)}.arcade-guide-close svg{width:15px;height:15px}.arcade-guide-trigger{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:4px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--muted);font-size:11px;font-weight:650;transition:transform .16s,color .16s,border-color .16s,background-color .16s}.arcade-guide-trigger:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 48%,var(--line));transform:translateY(-1px)}.arcade-guide-trigger:active{transform:scale(.95)}.arcade-guide-trigger svg{width:15px;height:15px;transform-origin:50% 65%}.arcade-guide-trigger:hover svg,.arcade-guide-trigger:focus-visible svg,.arcade-guide-trigger.is-playing svg{animation:guide-book-turn .58s cubic-bezier(.22,1,.36,1)}.arcade-guide-trigger.is-playing{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 52%,var(--line))}@keyframes guide-rock-fall-a{0%{transform:translateZ(0);opacity:0}18%{opacity:1}70%{transform:translate3d(-8px,150px,0)}to{transform:translate3d(-10px,205px,0);opacity:0}}@keyframes guide-rock-fall-b{0%{transform:translateZ(0);opacity:0}18%{opacity:1}to{transform:translate3d(6px,210px,0);opacity:0}}@keyframes guide-rock-fall-c{0%{transform:translateZ(0);opacity:0}18%{opacity:1}to{transform:translate3d(-5px,210px,0);opacity:0}}@keyframes guide-laser{0%{height:0;opacity:0}20%{height:120px;opacity:1}45%{height:120px;opacity:1}to{height:120px;opacity:0}}@keyframes guide-word-fall{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(235px);opacity:.2}}@keyframes guide-piece-fall{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(145px);opacity:1}}@keyframes guide-line-flash{0%,65%{opacity:0}78%{opacity:1;box-shadow:0 0 18px #ffd85ea6}to{opacity:0}}@keyframes guide-swap{0%,20%{transform:translate(0);opacity:.35}45%,70%{transform:translate(45px);opacity:1}to{transform:translate(45px);opacity:.15}}@keyframes guide-blast{0%,52%{transform:scale(.2);opacity:0}72%{transform:scale(1.55);opacity:1}to{transform:scale(2.2);opacity:0}}@keyframes guide-book-turn{0%{transform:rotateY(0) scale(1)}55%{transform:rotateY(34deg) scale(1.12)}to{transform:rotateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.guide-demo *,.arcade-guide-trigger svg{animation:none!important}.arcade-coach-card,.arcade-coach-speed i,.arcade-cg,.arcade-cg .arcade-coach-card,.arcade-cg-complete-medal span,.cg-scene *{animation:none!important}.cg-cinema-phase,.cg-cinema-result,.arcade-guide-sequence,.arcade-guide-sequence>span,.arcade-guide-sequence>em,.arcade-guide-ime-candidate{opacity:1!important;transform:none!important;animation:none!important}.arcade-guide-sequence:before{transform:scaleX(1)!important;animation:none!important}.arcade-cg-target-card,.arcade-cg-action-card{animation:none!important}.cg-rock--1,.cg-rock--2,.cg-rock--3,.cg-word--1,.cg-word--2,.cg-word--3{transform:none;opacity:1}.cg-stack-piece{transform:translateY(248px)}.cg-match-cursor{transform:translate(42px)}.cg-match-link{opacity:.85}.arcade-coach-focus,.arcade-canvas.is-guide-focus{transition:none!important}}.skeleton-route,.skeleton-panel,.notify-center-list.is-loading,.pcard-scene:not(.is-ready){--sk-base: color-mix(in srgb, var(--line) 55%, var(--surface));--sk-sheen: color-mix(in srgb, var(--surface) 86%, transparent);--sk-radius: 10px}:root[data-theme=dark] .skeleton-route,:root[data-theme=dark] .skeleton-panel,:root[data-theme=dark] .notify-center-list.is-loading,:root[data-theme=dark] .pcard-scene:not(.is-ready){--sk-base: color-mix(in srgb, var(--line) 42%, var(--surface));--sk-sheen: color-mix(in srgb, var(--text) 10%, transparent)}.skeleton-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sk{display:block;position:relative;overflow:hidden;border-radius:var(--sk-radius);background:var(--sk-base)}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 28%,var(--sk-sheen) 50%,transparent 72%);transform:translate(-100%);animation:sk-shimmer 1.5s var(--ease-morph, cubic-bezier(.4, 0, .2, 1)) infinite;will-change:transform}@keyframes sk-shimmer{to{transform:translate(100%)}}.sk-line{height:12px;border-radius:6px}.sk-line-sm{height:9px;border-radius:5px}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-35{width:35%}.w-40{width:40%}.w-45{width:45%}.w-50{width:50%}.w-55{width:55%}.w-60{width:60%}.w-65{width:65%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-85{width:85%}.w-90{width:90%}.w-100{width:100%}.mt-22{margin-top:22px}.sk-card{pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-route .home-integrated{animation:sk-page-in .34s var(--ease-emphasized, cubic-bezier(.22, 1, .36, 1)) both}.sk-title{width:148px;height:38px;border-radius:12px}.sk-cta{width:121px;height:40px;border-radius:9999px}.sk-prompt{height:76px;border-radius:18px;margin:0 0 20px}.sk-h2{width:120px;height:22px;border-radius:8px}.sk-sub{width:150px;height:11px;margin-top:8px}.sk-link{width:72px;height:14px;border-radius:7px}.sk-heading{display:flex;flex-direction:column;gap:8px}.sk-icon{width:24px;height:24px;border-radius:7px}.sk-track{flex:1 1 0;min-width:0;height:58px;border-radius:12px}.skeleton-group{margin:0 0 18px}.skeleton-group:last-child{margin-bottom:0}.sk-group-title{width:96px;height:17px;margin:0 0 10px}.sk-course-row{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border-radius:16px}.sk-cover{width:76px;height:80px;border-radius:10px}.sk-course-copy{display:flex;flex-direction:column;gap:10px;min-width:0}.sk-bar{height:3px;border-radius:2px;margin-top:2px}.sk-rec-card{height:214px;border-radius:26px}.sk-cover-rec{width:100%;height:106px;border-radius:10px}.sk-rec-body{display:flex;flex-direction:column;gap:10px;padding:12px}.sk-rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 0 16px}.sk-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:14px}.sk-ring{width:86px;height:86px;border-radius:50%}.sk-ring-label{width:46px;height:12px}.sk-overall{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 0 0;margin-top:4px}.sk-h3{width:84px;height:20px;border-radius:7px}.sk-lower{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.sk-bars{display:flex;align-items:flex-end;gap:8px;height:84px;margin-top:12px}.sk-column{flex:1 1 0;height:100%;border-radius:6px}.sk-perf{display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--line);padding-left:16px}.sk-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}@media(min-width:1101px){.skeleton-route .home-courses{min-height:481px}.skeleton-route .home-overview{min-height:545px}}.sk-back{width:94px;height:38px;margin:0 0 20px}.sk-page-title{width:170px;height:49px;border-radius:12px}.sk-search{width:40%;min-width:240px;height:56px;border-radius:40px}.sk-track-chip{height:48px;border-radius:10px}.sk-lib-card{height:255px;padding:8px}.sk-cover-lib{width:100%;height:136px;border-radius:10px;margin-bottom:14px}.sk-lib-body{display:flex;flex-direction:column;gap:12px}.library-section>.sk-line{height:22px;border-radius:7px}.sk-segmented{width:161px;height:50px;border-radius:25px}.sk-segmented-sm{width:120px;height:32px;border-radius:16px}.sk-stats-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:226px;padding:6px 0}.sk-stat-number{display:flex;flex-direction:column;gap:12px}.sk-number{width:120px;height:44px;border-radius:12px}.sk-donut{width:180px;height:180px;border-radius:50%}.sk-legend{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.sk-legend>div{display:flex;flex-direction:column;gap:8px;flex:1 1 0}.sk-attempts{display:flex;flex-direction:column;margin-top:6px}.sk-attempt-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:86px;border-bottom:1px solid var(--line)}.sk-attempt-row:last-child{border-bottom:0}.sk-breakdown{display:flex;gap:26px;margin-top:18px}.sk-heat{height:168px;border-radius:12px;background-color:transparent;background-image:linear-gradient(var(--surface) 2px,transparent 2px),linear-gradient(90deg,var(--surface) 2px,transparent 2px);background-size:16px 16px}.sk-table{display:flex;flex-direction:column;gap:14px}.sk-notify-item{display:grid;grid-template-columns:10px minmax(0,1fr) 24px;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 70%,transparent)}.sk-notify-dot{width:8px;height:8px;border-radius:50%;margin-top:5px}.sk-notify-copy{display:flex;flex-direction:column;gap:9px}.sk-notify-del{width:20px;height:20px;border-radius:6px}.cover-button.is-loading{background:var(--sk-base, color-mix(in srgb, var(--line) 55%, var(--surface)))}.cover-button.is-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(100deg,transparent 28%,var(--sk-sheen, color-mix(in srgb, var(--surface) 86%, transparent)) 50%,transparent 72%);transform:translate(-100%);animation:sk-shimmer 1.5s var(--ease-morph, cubic-bezier(.4, 0, .2, 1)) infinite;pointer-events:none}.cover-button img{opacity:0;transition:opacity .42s var(--ease-standard, cubic-bezier(.2, .7, .3, 1)),transform .25s}.cover-button.is-ready img{opacity:1}.cover-button.is-ready:before{display:none}.pcard-scene{position:relative;overflow:hidden}.pcard-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--sk-base);transition:opacity .42s var(--ease-standard, cubic-bezier(.2, .7, .3, 1))}.pcard-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(100deg,transparent 28%,var(--sk-sheen) 50%,transparent 72%);transform:translate(-100%);animation:sk-shimmer 1.5s linear infinite}.pcard-scene.is-ready:before{opacity:0}.pcard-scene.is-ready:after{display:none}.skeleton-swap-layer{background:var(--bg);border-radius:0;transition:opacity .34s var(--ease-standard, cubic-bezier(.2, .7, .3, 1));will-change:opacity}.skeleton-swap-layer.is-leaving{opacity:0}@keyframes sk-page-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sk:after,.cover-button.is-loading:before,.pcard-scene:after{animation:none;display:none}.skeleton-route .home-integrated{animation:none}.skeleton-swap-layer{display:none}.pcard-scene:before,.cover-button img{transition:none}}.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}}.guest-account-prompt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 20px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:18px;background:radial-gradient(120% 180% at 0 0,rgba(10,132,255,.1),transparent 48%),color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:inset 0 1px #ffffffe6,0 12px 34px #30589614;animation:guest-account-in .52s cubic-bezier(.16,1,.3,1) both;transition:opacity .22s ease,transform .22s ease}.guest-account-prompt.is-leaving{opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none}.guest-account-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:13px;color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface));box-shadow:inset 0 1px #ffffffe6}.guest-account-icon .pixel-icon{width:22px;height:22px}.guest-account-copy{min-width:0}.guest-account-copy strong{display:block;margin-bottom:3px;color:var(--text);font-size:14px;line-height:1.45}.guest-account-copy p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.65}.guest-account-actions{display:flex;align-items:center;gap:10px}.guest-account-actions .dark-button{min-height:36px;padding:0 15px;border-radius:11px;font-size:12px;white-space:nowrap;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.guest-account-actions .dark-button:hover{transform:translateY(-1px)}.guest-account-actions .dark-button:active{transform:scale(.97)}.guest-account-actions .dark-button svg{width:15px;height:15px;transition:transform .16s ease}.guest-account-actions .dark-button:hover svg{transform:translate(2px)}.guest-account-dismiss{min-height:34px;padding:0 8px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.guest-account-dismiss:hover{color:var(--text);background:color-mix(in srgb,var(--text) 5%,transparent)}.guest-account-dismiss:active{transform:scale(.96)}:root[data-theme=dark] .guest-account-prompt{background:radial-gradient(120% 180% at 0 0,rgba(77,163,255,.1),transparent 50%),linear-gradient(135deg,#1c2738db,#141d2bc2);border-color:#5282c247;box-shadow:inset 0 1px #ffffff14,0 16px 38px #0003}:root[data-theme=dark] .guest-account-icon{border-color:#5282c24d;background:#4da3ff14;box-shadow:inset 0 1px #ffffff14}@keyframes guest-account-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:900px){.guest-account-prompt{grid-template-columns:auto minmax(0,1fr);align-items:start}.guest-account-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:560px){.guest-account-prompt{grid-template-columns:minmax(0,1fr);padding:14px}.guest-account-icon{width:36px;height:36px}.guest-account-actions{grid-column:1}}@media(prefers-reduced-motion:reduce){.guest-account-prompt{animation:none;transition:none}.guest-account-actions .dark-button,.guest-account-actions .dark-button svg,.guest-account-dismiss{transition:none}}.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 .profile-tab-content{min-width:0}.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;animation:tour-copy-in .28s cubic-bezier(.16,1,.3,1) both}.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;transform:rotate(4deg) scale(1.05)}.tour-close-btn:active{transform:scale(.92)}.tour-close-btn svg{width:14px;height:14px}.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}.tour-btn-sm svg{width:15px;height:15px}.tour-auth-btn{color:var(--blue)!important;border-color:color-mix(in srgb,var(--blue) 32%,var(--line))!important}@keyframes tour-copy-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:720px){.fluid-magnetic-tooltip{width:min(350px,calc(100vw - 32px))}.tour-footer-actions{align-items:flex-end;gap:12px}.tour-nav-btns{flex-wrap:wrap;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.fluid-tour-overlay,.fluid-magnetic-spotlight,.fluid-magnetic-tooltip,.fluid-magnetic-spotlight:after,.tour-tooltip-inner{animation:none!important;transition:none!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}.easter-egg-confirm-modal{position:relative;width:min(640px,calc(100vw - 72px))!important;max-width:none!important;min-height:430px;padding:0!important;overflow:hidden;background:#0b1c2f!important}.egg-confirm-world{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.58;pointer-events:none}.egg-confirm-world .tf-egg-seaside-svg{display:block;width:100%;height:100%}.easter-egg-confirm-modal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#06111f1f,#06111f7f),radial-gradient(circle at 50% 42%,rgb(255 249 234 / 14%),transparent 50%)}.egg-confirm-panel{position:relative;z-index:2;display:grid;justify-items:center;min-height:430px;padding:54px 42px 34px;color:#f9f5e9;text-align:center}.egg-confirm-panel>.modal-close{position:absolute;right:16px;top:16px}.egg-confirm-kicker{color:#ffe0a0;font:720 9px/1 Consolas,Courier New,monospace;letter-spacing:.16em}.egg-confirm-panel h2{margin:13px 0 0;font:760 clamp(26px,3vw,39px)/1.2 "Noto Serif SC","Songti SC",serif;letter-spacing:-.035em;text-shadow:0 3px 18px rgb(0 0 0 / 32%)}.egg-confirm-panel>p:not(.egg-confirm-hint){max-width:430px;margin:12px 0 0;color:#f9f5e9c2;font-size:12px;line-height:1.8}.egg-confirm-playground{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;height:118px;margin-top:24px}.egg-confirm-cancel,.egg-confirm-button{min-width:128px;height:46px}.egg-confirm-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;color:#fff9ed;font-weight:720;background:linear-gradient(135deg,#d95773,#b64161)!important;border:2px solid rgb(255 238 206 / 54%)!important;border-radius:5px;box-shadow:inset 0 1px #ffffff3d,4px 4px #4b192657;cursor:pointer;transform:translate3d(var(--escape-x,0),var(--escape-y,0),0);transition:transform .18s cubic-bezier(.16,1,.3,1),background .14s ease,box-shadow .14s ease}.egg-confirm-button:hover{background:linear-gradient(135deg,#e96a82,#c94d6c)!important;box-shadow:inset 0 1px #ffffff47,5px 5px #4b192666}.egg-confirm-button:active{transform:translate3d(var(--escape-x,0),var(--escape-y,0),0) scale(.96)}.egg-confirm-button.is-moving{animation:egg-confirm-escape .24s steps(4,end)}.egg-confirm-button.is-caught{background:linear-gradient(135deg,#3b9b7a,#287d62)!important;box-shadow:inset 0 1px #ffffff3d,4px 4px #164b3c52}.egg-confirm-cancel{color:#f8f4e8!important;background:#08172885!important;border-color:#ffffff47!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.egg-confirm-hint{min-height:18px;margin:5px 0 0;color:#ffefc5c2;font-size:10px}@keyframes egg-confirm-escape{0%{rotate:-2deg}50%{rotate:3deg}to{rotate:0deg}}.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)}body.tf-egg-open{overflow:hidden;background:#07101d}body.tf-egg-open #app{display:none}.tf-egg-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13000;display:grid;padding:18px;background:radial-gradient(circle at 14% 8%,rgb(232 164 181 / 16%),transparent 34%),radial-gradient(circle at 88% 92%,rgb(95 141 105 / 16%),transparent 30%),#07101df0;-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%);pointer-events:auto}.tf-egg-root.is-closing{pointer-events:none}.tf-egg-app{position:relative;display:grid;grid-template-rows:68px minmax(0,1fr) 34px;width:min(1440px,100%);height:100%;margin:auto;overflow:hidden;color:#12213a;background:radial-gradient(120% 80% at 12% -10%,rgb(244 207 214 / 34%),transparent 48%),linear-gradient(155deg,#fffaf5,#fbf4ef 53%,#f0f6f1);border:2px solid rgb(169 116 129 / 20%);border-radius:4px;box-shadow:inset 0 1px #fff,inset 0 0 0 1px #ffffff61,12px 12px #7fa9d61c,0 30px 90px #16335c3d;animation:tf-egg-app-in .36s cubic-bezier(.16,1,.3,1) both}.tf-egg-ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:1;transition:opacity .36s ease}.tf-egg-seaside-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.tf-egg-seaside-shell .tf-egg-seaside-svg{display:block;width:100%;height:100%}.tf-egg-seaside-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#060d192e,#09152314 38%,#050d144d),radial-gradient(circle at 50% 45%,transparent 0 44%,rgb(5 12 22 / 22%) 92%)}.tf-egg-root[data-scene=film] .tf-egg-seaside-shell{opacity:0;visibility:hidden;pointer-events:none}.tf-egg-root[data-scene=entrance] .tf-egg-seaside-shell{transform-origin:34% 84%;animation:tf-egg-farm-intro 4.2s cubic-bezier(.22,1,.36,1) both}.tf-egg-ambient-poster,.tf-egg-ambient-video,.tf-egg-ambient-veil{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tf-egg-ambient-poster{background:url(/easter-egg/garden-loop-poster.png) center / cover no-repeat;opacity:.62}.tf-egg-ambient-video{display:block;object-fit:cover;opacity:.78;filter:saturate(.9) contrast(.96)}.tf-egg-ambient-veil{background:linear-gradient(180deg,#fffaf55c,#fff8f329 42%,#f3f8f247),radial-gradient(circle at 50% 45%,transparent 0 45%,rgb(255 250 245 / 24%) 88%)}.tf-egg-root[data-scene=film] .tf-egg-ambient,.tf-egg-root[data-scene=entrance] .tf-egg-ambient{opacity:0}.tf-egg-dither{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.22;background-image:radial-gradient(circle,rgb(37 91 161 / 30%) 1px,transparent 1px);background-size:10px 10px;-webkit-mask-image:linear-gradient(to bottom,rgb(0 0 0 / 80%),transparent 48%);mask-image:linear-gradient(to bottom,rgb(0 0 0 / 80%),transparent 48%)}.tf-egg-pixel-wipe{position:absolute;left:0;right:0;top:68px;bottom:34px;z-index:4;pointer-events:none;opacity:0;transform:scaleX(0);transform-origin:left center;background:repeating-linear-gradient(90deg,#08172d 0,#08172d 5.5%,#0d2648 5.5%,#0d2648 11%,#12345f 11%,#12345f 16.5%)}.tf-egg-chrome,.tf-egg-stage,.tf-egg-footer{position:relative;z-index:2}.tf-egg-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#040c1824,#fffaf429 28%,#fff8f254 68%,#07121a29),radial-gradient(circle at 50% 42%,rgb(255 252 246 / 10%),transparent 68%)}.tf-egg-stage>.tf-egg-scene,.tf-egg-stage>.tf-egg-archive{position:relative;z-index:1}.tf-egg-root[data-scene=entrance] .tf-egg-stage:before,.tf-egg-root[data-scene=film] .tf-egg-stage:before{display:none}.tf-egg-chrome{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:22px;padding:0 22px 0 24px;border-bottom:1px solid rgb(131 112 103 / 10%);background:#fffcf8a8;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.tf-egg-brandmark{display:flex;align-items:center;gap:11px;min-width:158px}.tf-egg-brand-icon{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:linear-gradient(145deg,#d87d91,#a9546b);border:1px solid rgb(255 255 255 / 52%);border-radius:10px;box-shadow:0 8px 20px #96495e33}.tf-egg-brand-icon .pixel-icon{width:17px;height:17px}.tf-egg-brandmark>span:last-child{display:grid;gap:1px}.tf-egg-brandmark small{color:#72829b;font:700 8px/1.3 Consolas,Courier New,monospace;letter-spacing:.11em}.tf-egg-brandmark strong{color:#14223a;font-size:15px;line-height:1.2;letter-spacing:.02em}.tf-egg-progress{display:flex;justify-content:center;gap:0;margin:0;padding:0;list-style:none}.tf-egg-progress[hidden]{display:none}.tf-egg-progress-step{position:relative;display:flex;align-items:center;gap:6px;color:#8a98ad;font-size:10px;font-weight:650;letter-spacing:.025em;transition:color .22s ease,opacity .22s ease}.tf-egg-progress-step:not(:last-child):after{content:"";width:clamp(13px,1.5vw,24px);height:1px;margin:0 7px;background:#cad5e4;transition:background .26s ease,transform .26s ease}.tf-egg-progress-dot{width:5px;height:5px;background:#bcc8d9;transition:width .26s cubic-bezier(.16,1,.3,1),height .26s cubic-bezier(.16,1,.3,1),background .26s ease,box-shadow .26s ease}.tf-egg-progress-step.is-active{color:#a95067}.tf-egg-progress-step.is-active .tf-egg-progress-dot{width:18px;height:5px;background:#c96478;box-shadow:0 0 0 3px #c964781a}.tf-egg-progress-step.is-complete{color:#52667f}.tf-egg-progress-step.is-complete .tf-egg-progress-dot{background:#2b9c85}.tf-egg-progress-step.is-complete:after{background:#8cb9dc}.tf-egg-controls{display:flex;flex:0 0 auto;justify-content:flex-end;align-items:center;gap:7px;min-width:max-content}.tf-egg-control,.tf-egg-icon-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 11px;white-space:nowrap;color:#334b69;font:650 11px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:#ffffffa3;border:1px solid rgb(70 111 163 / 14%);border-radius:10px;box-shadow:inset 0 1px #ffffffe0;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.tf-egg-icon-control{width:34px;padding:0}.tf-egg-control .pixel-icon,.tf-egg-icon-control .pixel-icon{flex:0 0 auto;width:15px;height:15px}.tf-egg-control:hover,.tf-egg-icon-control:hover{color:#a54d63;background:#fff;border-color:#c9647842;box-shadow:0 7px 18px #1d54961a;transform:translateY(-1px)}.tf-egg-control:active,.tf-egg-icon-control:active{transform:scale(.96)}.tf-egg-control.is-muted{color:#8995a7;background:#f1f5fac2}.tf-egg-control[hidden]{display:none}.tf-egg-control:focus-visible,.tf-egg-icon-control:focus-visible,.tf-egg-primary:focus-visible,.tf-egg-secondary:focus-visible,.tf-egg-star:focus-visible,.tf-egg-ritual-key:focus-visible,.tf-egg-archive-tabs button:focus-visible,.tf-egg-final-input:focus-visible,.tf-egg-reply-box textarea:focus-visible,.tf-egg-reply-box summary:focus-visible{outline:2px solid #b55a71;outline-offset:3px}.tf-egg-stage{min-height:0;width:100%;max-width:none;margin:0!important;padding:0!important;overflow:hidden}.tf-egg-root.is-transitioning .tf-egg-stage{pointer-events:none}.tf-egg-footer{display:flex;align-items:center;justify-content:space-between;padding:0 25px;color:#8592a6;font:600 9px/1 Consolas,Courier New,monospace;letter-spacing:.07em;border-top:1px solid rgb(47 92 148 / 9%)}.tf-egg-scene-film{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 28px 18px;background:radial-gradient(circle at 12% 6%,rgb(244 207 214 / 34%),transparent 30%),radial-gradient(circle at 90% 92%,rgb(169 195 168 / 22%),transparent 32%)}.tf-egg-scene-entrance{position:relative;width:100%;height:100%;overflow:hidden;background:transparent}.tf-egg-seaside{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.tf-egg-seaside-svg{display:block;width:100%;height:100%}.tf-egg-sea-wave{animation:tf-egg-seaside-tide 8.4s steps(12,end) infinite alternate}.tf-egg-sea-wave.wave-b{animation-direction:alternate-reverse;animation-duration:11.2s}.tf-egg-sea-wave.wave-c{animation-duration:13.4s}.tf-egg-seaside-birds{animation:tf-egg-seaside-birds 7s steps(8,end) infinite alternate}.tf-egg-seaside-grass{transform-box:fill-box;transform-origin:bottom center;animation:tf-egg-seaside-grass 5s steps(6,end) infinite alternate}.tf-egg-entrance-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgb(37 51 74 / 12%),transparent 32% 67%,rgb(37 51 74 / 28%)),radial-gradient(circle at 50% 42%,rgb(255 250 244 / 28%),transparent 42%)}.tf-egg-entrance-bloom{position:absolute;left:15%;bottom:6%;z-index:2;width:min(660px,52vw);aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,rgb(255 220 166 / 22%),rgb(246 179 181 / 8%) 34%,transparent 68%);opacity:0}.tf-egg-scene-entrance.is-intro .tf-egg-entrance-bloom{animation:tf-egg-farm-bloom 4.2s steps(12,end) both}.tf-egg-scene-entrance.is-intro .tf-egg-entrance-fall{opacity:0}.tf-egg-entrance-intro{position:absolute;left:50%;top:52px;z-index:5;width:min(900px,calc(100% - 120px));color:#fffaf4;text-align:center;text-shadow:0 3px 16px rgb(43 62 72 / 45%);translate:-50% 0;pointer-events:none;animation:tf-egg-entrance-copy-in .7s steps(9,end) both}.tf-egg-entrance-intro p{margin:0;color:#fff2bd;font:700 10px/1 Consolas,Courier New,monospace;letter-spacing:.17em}.tf-egg-entrance-intro h2{margin:13px 0 0;font:700 clamp(30px,3.2vw,47px)/1.22 "Noto Serif SC","Songti SC",serif;letter-spacing:-.04em}.tf-egg-entrance-intro>span{display:block;margin-top:10px;color:#fffaf4d1;font-size:11px}.tf-egg-entrance-fall,.tf-egg-entrance-ground{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tf-egg-entrance-fall{z-index:3;transition:opacity .32s ease}.tf-egg-entrance-note{z-index:3}.tf-egg-entrance-letter{position:absolute;left:50%;bottom:clamp(34px,7vh,82px);z-index:6;width:178px;height:145px;padding:0;color:#fffaf4;background:transparent;border:0;cursor:pointer;translate:-50% 0;opacity:1}.tf-egg-entrance-letter[hidden]{display:none}.tf-egg-entrance-letter.is-descending{animation:tf-egg-entrance-letter-drop 3.85s steps(22,end) both}.tf-egg-entrance-letter.is-arrived{filter:drop-shadow(0 16px 34px rgb(255 222 170 / 12%))}.tf-egg-entrance-letter:disabled{pointer-events:none}.tf-egg-entrance-letter:hover .tf-egg-entrance-letter-art{translate:0 -6px;rotate:-1deg}.tf-egg-entrance-letter:hover,.tf-egg-entrance-letter:active{background:transparent;background-color:transparent;box-shadow:none}.tf-egg-entrance-letter:active .tf-egg-entrance-letter-art{scale:.96}.tf-egg-entrance-letter:focus-visible{outline:3px solid #fff2bd;outline-offset:8px}.tf-egg-entrance-letter-glow{position:absolute;left:50%;top:46%;width:54px;height:54px;background:#ffedb061;box-shadow:0 0 70px 42px #ffe3b342;translate:-50% -50%}.tf-egg-entrance-letter-art{position:relative;display:block;width:154px;height:106px;margin:0 auto;transition:translate .18s ease,rotate .18s ease,scale .18s ease;filter:drop-shadow(0 20px 30px rgb(42 50 68 / 25%))}.tf-egg-entrance-letter-art .paper,.tf-egg-entrance-letter-art .flap,.tf-egg-entrance-letter-art .pocket,.tf-egg-entrance-letter-art .seal{position:absolute;display:block}.tf-egg-entrance-letter-art .paper{left:18px;top:-9px;width:118px;height:76px;background:repeating-linear-gradient(0deg,transparent 0 18px,rgb(127 169 214 / 18%) 18px 20px),#fffaf0;border:2px solid #d4c4b4}.tf-egg-entrance-letter-art .pocket{left:7px;bottom:0;width:140px;height:84px;background:#f8e4e5;border:2px solid #e5bfc5;clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%)}.tf-egg-entrance-letter-art .flap{left:7px;bottom:35px;width:140px;height:50px;background:#d88a97;clip-path:polygon(0 0,50% 100%,100% 0)}.tf-egg-entrance-letter-art .seal{left:61px;bottom:27px;width:32px;height:32px;background:#b84e68;clip-path:polygon(20% 0,80% 0,80% 20%,100% 20%,100% 80%,80% 80%,80% 100%,20% 100%,20% 80%,0 80%,0 20%,20% 20%);box-shadow:0 0 0 7px #fff1bc2e}.tf-egg-entrance-letter small{position:relative;display:inline-block;margin-top:2px;padding:4px 8px;color:#fffaf4e0;font:700 8px/1 Consolas,Courier New,monospace;letter-spacing:.1em;background:#0c1f3375}.tf-egg-entrance-letter.is-opening{animation:tf-egg-entrance-letter-open .72s steps(9,end) both}.tf-egg-congrats{position:absolute;left:50%;top:48%;z-index:30;display:flex;align-items:center;gap:14px;min-width:340px;padding:18px 30px;color:#26384c;background:linear-gradient(135deg,#fffaf1f5,#f8dcdef2);border:3px solid rgb(255 246 221 / 94%);border-radius:999px;box-shadow:6px 6px #081b2d38,0 24px 58px #08192b38;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);translate:-50% -50%;opacity:0;scale:.88;transition:opacity .26s ease,scale .36s cubic-bezier(.16,1,.3,1);pointer-events:none}.tf-egg-congrats[hidden]{display:none}.tf-egg-congrats:after{content:"";position:absolute;left:50%;bottom:-9px;width:17px;height:17px;background:#f9e1e1f2;border-right:3px solid rgb(255 246 221 / 94%);border-bottom:3px solid rgb(255 246 221 / 94%);translate:-50% 0;rotate:45deg}.tf-egg-congrats strong{font:760 clamp(20px,2.2vw,28px)/1.2 "Noto Serif SC","Songti SC",serif;letter-spacing:.04em}.tf-egg-congrats-heart{position:relative;display:block;flex:0 0 24px;width:24px;height:21px;background:#d85f7a;filter:drop-shadow(2px 2px 0 rgb(132 60 75 / 18%));clip-path:polygon(0 18%,18% 0,40% 18%,50% 8%,60% 18%,82% 0,100% 18%,100% 48%,50% 100%,0 48%)}.tf-egg-entrance-note{position:absolute;left:50%;bottom:28px;z-index:5;margin:0;color:#fffaf4bd;font-size:9px;letter-spacing:.04em;translate:-50% 0;text-shadow:0 2px 8px rgb(31 43 55 / 38%)}.tf-egg-entrance-static{position:absolute;top:160px;right:40px;bottom:90px;left:40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-content:center;overflow:auto}.tf-egg-scene-entrance .tf-egg-entrance-intro.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;translate:none}.tf-egg-entrance-static .tf-egg-love-note{position:static;max-width:none}@keyframes tf-egg-seaside-tide{0%{transform:translate(-34px)}to{transform:translate(34px)}}@keyframes tf-egg-seaside-birds{0%{transform:translate(-8px,2px)}to{transform:translate(22px,-8px)}}@keyframes tf-egg-seaside-grass{0%{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}@keyframes tf-egg-entrance-copy-in{0%{opacity:0;translate:-50% 18px}to{opacity:1;translate:-50% 0}}@keyframes tf-egg-farm-intro{0%{transform:scale(1.08) translate3d(-1.5%,1.8%,0);filter:saturate(.82) brightness(.86)}72%{transform:scale(1.012) translateZ(0);filter:saturate(1) brightness(1)}to{transform:scale(1);filter:none}}@keyframes tf-egg-farm-bloom{0%{opacity:0;scale:.82}28%{opacity:1;scale:1.05}70%{opacity:.7;scale:1.15}to{opacity:0;scale:1.2}}@keyframes tf-egg-entrance-letter-drop{0%{opacity:0;translate:-50% calc(-100vh - 30px);rotate:-16deg}12%{opacity:1}76%{translate:-50% 10px;rotate:3deg}90%{translate:-50% -4px;rotate:-1deg}to{opacity:1;translate:-50% 0;rotate:0deg}}@keyframes tf-egg-entrance-letter-open{0%{opacity:1;scale:1}48%{opacity:1;scale:1.08;rotate:-2deg}to{opacity:0;scale:1.34;rotate:2deg}}.tf-egg-scene-envelope{position:relative;display:grid;grid-template-columns:minmax(420px,.85fr) minmax(500px,1.15fr);align-items:center;gap:clamp(30px,5vw,90px);padding:clamp(34px,5vw,78px);overflow:hidden}.tf-egg-envelope-copy{position:relative;z-index:2;max-width:680px;padding:clamp(22px,2.6vw,38px);background:#fffaf4c2;border:2px solid rgb(255 255 255 / 46%);border-radius:18px;box-shadow:inset 0 1px #ffffffc7,8px 8px #050d181f;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.tf-egg-envelope-kicker{margin:0 0 16px;color:#a44d63;font:700 11px/1.4 Consolas,Courier New,monospace;letter-spacing:.15em}.tf-egg-envelope-title{margin:0;color:#25334a;font:700 clamp(43px,4.2vw,67px)/1.16 "Noto Serif SC","Songti SC",serif;letter-spacing:-.055em}.tf-egg-envelope-lead{margin:23px 0 0;color:#68778b;font:400 16px/1.9 "Noto Serif SC",Songti SC,serif}.tf-egg-envelope-open{display:inline-flex;align-items:center;gap:11px;min-height:48px;margin-top:30px;padding:0 19px 0 12px;color:#fffaf4;font:700 13px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#c96478,#a64b63);border:2px solid #8f3f56;border-radius:3px;box-shadow:5px 5px #803e5130;cursor:pointer;transition:translate .15s ease,scale .15s ease,box-shadow .15s ease}.tf-egg-envelope-open:hover{translate:0 -2px;box-shadow:7px 7px #803e512b}.tf-egg-envelope-open:active{translate:3px 3px;box-shadow:none;scale:.98}.tf-egg-envelope-button-seal{position:relative;display:block;width:28px;height:28px;background:#f2c16c;clip-path:polygon(22% 0,78% 0,78% 22%,100% 22%,100% 78%,78% 78%,78% 100%,22% 100%,22% 78%,0 78%,0 22%,22% 22%)}.tf-egg-envelope-button-seal i{position:absolute;width:4px;height:4px;background:#8f3f56}.tf-egg-envelope-button-seal i:nth-child(1){left:12px;top:7px}.tf-egg-envelope-button-seal i:nth-child(2){left:7px;top:12px}.tf-egg-envelope-button-seal i:nth-child(3){left:17px;top:12px}.tf-egg-envelope-button-seal i:nth-child(4){left:12px;top:17px}.tf-egg-envelope-button-seal i:nth-child(5){left:12px;top:12px}.tf-egg-envelope-hint{margin:13px 0 0;color:#8998aa;font-size:9.5px}.tf-egg-envelope-art{position:relative;display:grid;place-items:center;width:min(100%,730px);height:min(68vh,650px);justify-self:end;overflow:hidden;background:radial-gradient(circle at 50% 52%,rgb(201 100 120 / 20%),transparent 29%),linear-gradient(145deg,#081426,#112b4a);border:3px solid rgb(255 250 244 / 66%);outline:2px solid rgb(127 169 214 / 18%);outline-offset:-6px;box-shadow:10px 10px #7fa9d61c,0 30px 62px #152d4c2e}.tf-egg-envelope-art .tf-egg-art-svg{position:relative;z-index:2;width:min(94%,650px);height:auto;max-height:88%}.tf-egg-envelope-glow{position:absolute;left:50%;top:50%;width:30px;height:30px;opacity:0;background:#fff3c8;box-shadow:0 0 60px 36px #f4cfd67f;translate:-50% -50%;transition:opacity .22s ease,scale .9s steps(12,end);scale:.1}.tf-egg-envelope-petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tf-egg-envelope-petals span{position:absolute;left:50%;top:48%;width:8px;height:8px;background:#f4cfd6;opacity:0}.tf-egg-envelope-petals span:nth-child(1){--px: -180px;--py: -150px}.tf-egg-envelope-petals span:nth-child(2){--px: -110px;--py: -210px}.tf-egg-envelope-petals span:nth-child(3){--px: -16px;--py: -245px}.tf-egg-envelope-petals span:nth-child(4){--px: 90px;--py: -205px}.tf-egg-envelope-petals span:nth-child(5){--px: 165px;--py: -142px}.tf-egg-envelope-petals span:nth-child(6){--px: 220px;--py: -74px;background:#edc978}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-glow{opacity:.72;scale:4.8}.tf-egg-scene-envelope.is-opening .pa-letter-lines{animation:tf-egg-envelope-letter-rise 1.12s steps(12,end) forwards}.tf-egg-scene-envelope.is-opening .pa-envelope{animation:tf-egg-envelope-settle 1.08s steps(10,end) both;transform-box:fill-box;transform-origin:center}.tf-egg-scene-envelope.is-opening .pa-seal{animation:tf-egg-envelope-seal-pop .6s steps(7,end) both;transform-box:fill-box;transform-origin:center}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span{animation:tf-egg-envelope-petal .92s steps(9,end) both}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span:nth-child(2){animation-delay:60ms}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span:nth-child(3){animation-delay:.12s}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span:nth-child(4){animation-delay:90ms}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span:nth-child(5){animation-delay:.15s}.tf-egg-scene-envelope.is-opening .tf-egg-envelope-petals span:nth-child(6){animation-delay:.18s}.tf-egg-envelope-garden{position:absolute;left:-50px;bottom:-26px;z-index:0;width:680px;opacity:.5;pointer-events:none}.tf-egg-envelope-garden svg{display:block;width:100%;height:auto}.tf-egg-root[data-scene=envelope] .tf-egg-story-control{display:none}.tf-egg-film-frame{position:relative;width:min(100%,calc((100vh - 168px) * 16 / 9));max-width:1420px;aspect-ratio:16 / 9;overflow:hidden;background:#081426;border:1px solid rgb(150 104 116 / 17%);border-radius:20px;box-shadow:inset 0 1px #ffffffb3,0 26px 56px #3d323326}.tf-egg-film-video{display:block;width:100%;height:100%;object-fit:contain;background:#081426}.tf-egg-film-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,rgb(5 14 27 / 34%),transparent 18% 64%,rgb(5 14 27 / 60%)),radial-gradient(circle at 50% 50%,transparent 58%,rgb(5 14 27 / 20%))}.tf-egg-film-title{position:absolute;left:22px;top:18px;display:grid;gap:3px;color:#fff;pointer-events:none;text-shadow:0 2px 12px rgb(0 0 0 / 36%);transition:opacity .24s ease,translate .24s ease}.tf-egg-film-title span{color:#fff3dcad;font:700 8px/1 Consolas,Courier New,monospace;letter-spacing:.14em}.tf-egg-film-title strong{font-size:17px;font-weight:700}.tf-egg-film-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;gap:7px;width:82px;height:82px;padding:0;color:#fff;background:#11263f9e;border:1px solid rgb(255 255 255 / 28%);border-radius:50%;box-shadow:inset 0 1px #fff3,0 16px 38px #00000040;cursor:pointer;translate:-50% -50%;transition:opacity .24s ease,scale .18s ease,background .18s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tf-egg-film-play .pixel-icon{width:24px;height:24px}.tf-egg-film-play small{font:600 8px/1 Noto Sans SC,Microsoft YaHei,sans-serif}.tf-egg-film-play:hover{background:#1c4367c7;scale:1.05}.tf-egg-film-play:active{scale:.94}.tf-egg-scene-film.is-playing .tf-egg-film-play,.tf-egg-scene-film.is-playing .tf-egg-film-title,.tf-egg-scene-film.is-playing .tf-egg-film-note{opacity:0;pointer-events:none}.tf-egg-film-note{position:absolute;right:22px;top:18px;color:#fffaf4bd;font-size:9px;text-shadow:0 1px 8px rgb(0 0 0 / 35%);transition:opacity .22s ease}.tf-egg-film-controls{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 7px;color:#fff;background:#0a182ab8;border:1px solid rgb(255 255 255 / 15%);border-radius:13px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:.9;transition:opacity .16s ease,background .16s ease}.tf-egg-film-frame:hover .tf-egg-film-controls,.tf-egg-film-controls:focus-within{background:#0a182ae0;opacity:1}.tf-egg-film-button{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;padding:0;color:#fff;background:#ffffff17;border:1px solid rgb(255 255 255 / 12%);border-radius:8px;cursor:pointer;transition:background .14s ease,scale .14s ease}.tf-egg-film-button .pixel-icon{width:15px;height:15px}.tf-egg-film-button:hover{background:#ffffff2e;scale:1.04}.tf-egg-film-button:active{scale:.93}.tf-egg-film-progress{position:relative;flex:1 1 auto;height:4px;overflow:hidden;background:#ffffff2e;border-radius:999px}.tf-egg-film-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#f4cfd6,#edc978);border-radius:inherit}.tf-egg-film-controls time{flex:0 0 auto;color:#ffffffb8;font:600 9px/1 Consolas,Courier New,monospace}.tf-egg-film-skip{display:inline-flex;align-items:center;gap:5px;height:31px;padding:0 11px;color:#2d4057;font:700 9px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:#fff8f3;border:0;border-radius:8px;cursor:pointer;transition:background .14s ease,scale .14s ease}.tf-egg-film-skip .pixel-icon{width:13px;height:13px}.tf-egg-film-skip:hover{background:#fff;scale:1.02}.tf-egg-film-skip:active{scale:.95}.tf-egg-film-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(100%,1420px);padding:0 5px;color:#6d7c8e;font-size:10px}.tf-egg-film-caption span{color:#8f4f60;font-weight:700;letter-spacing:.05em}.tf-egg-film-caption p{margin:0}.tf-egg-film-error{position:absolute;left:50%;top:50%;display:none;place-items:center;gap:14px;min-width:310px;padding:24px;color:#fff8f3;text-align:center;background:#102032e0;border:1px solid rgb(255 255 255 / 16%);border-radius:16px;translate:-50% -50%;z-index:7;pointer-events:auto}.tf-egg-scene-film.has-film-error .tf-egg-film-error{display:grid}.tf-egg-film-finale{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:48px;background:radial-gradient(circle at 50% 44%,#0d1f333d,#040c18b3),linear-gradient(180deg,#050e1b1f,#050e1b85);pointer-events:auto;animation:tf-egg-finale-in .36s steps(7,end) both}.tf-egg-film-finale[hidden]{display:none}.tf-egg-film-final-card{width:min(560px,82vw);padding:30px 34px 28px;color:#24364b;text-align:center;background:linear-gradient(145deg,#fffaf3f5,#f4e8daf2);border:2px solid rgb(255 255 255 / 64%);border-radius:18px;box-shadow:inset 0 1px #fff,8px 8px #06121f47,0 30px 70px #050f1a47;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.tf-egg-film-final-card>p:first-child{margin:0;color:#a85267;font:750 9px/1.4 Consolas,Courier New,monospace;letter-spacing:.14em}.tf-egg-film-final-card h2{margin:10px 0 0;font:760 clamp(26px,3vw,38px)/1.2 "Noto Serif SC","Songti SC",serif;letter-spacing:-.03em}.tf-egg-film-final-target{display:flex;justify-content:center;gap:9px;margin-top:22px}.tf-egg-film-final-target span{display:grid;place-items:center;width:48px;height:48px;color:#7f8d9e;font-size:22px;font-weight:700;background:#ebf0f4d6;border:1px solid rgb(75 111 152 / 22%);border-radius:8px;transition:color .15s ease,background .15s ease,border-color .15s ease,scale .15s ease}.tf-egg-film-final-target span.is-typed{color:#fff;background:#3978ae;border-color:#77b8ef;scale:1.04}.tf-egg-film-final-field{display:block;margin-top:16px}.tf-egg-film-final-field input{width:100%;height:48px;padding:0 15px;color:#283b54;font-size:16px;text-align:center;background:#ffffffdb;border:1px solid #b5c8da;border-radius:8px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.tf-egg-film-final-field input:focus{border-color:#0a84ff;box-shadow:0 0 0 4px #0a84ff1a}.tf-egg-film-final-field input[aria-invalid=true]{border-color:#c95b70;box-shadow:0 0 0 4px #c95b7014}.tf-egg-film-final-hint{min-height:17px;margin:11px 0 0;color:#7c8c9f;font-size:10px}.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-hint{color:#317c67}@keyframes tf-egg-finale-in{0%{opacity:0;scale:1.012}to{opacity:1;scale:1}}.tf-egg-film-mode{display:inline-flex;align-items:center;gap:5px;height:31px;padding:0 10px;color:#ffffffd1;font:650 9px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:#ffffff17;border:1px solid rgb(255 255 255 / 14%);border-radius:3px;cursor:pointer;transition:color .14s ease,background .14s ease,scale .14s ease}.tf-egg-film-mode .pixel-icon{width:13px;height:13px}.tf-egg-film-mode:hover,.tf-egg-film-mode[aria-pressed=true]{color:#fff;background:#c964786b}.tf-egg-film-mode:active{scale:.95}.tf-egg-film-interaction{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:90px;background:radial-gradient(circle at 50% 50%,#0814262e,#050e1b94),linear-gradient(180deg,#050e1b2e,#050e1b8a);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tf-egg-film-interaction[hidden]{display:none}.tf-egg-film-interaction-body{position:relative;width:min(570px,88vw);overflow:hidden;padding:30px 34px 32px;color:#fffaf4;text-align:center;background:linear-gradient(145deg,#152a42f5,#0b1a2df7);border:2px solid rgb(244 207 214 / 34%);box-shadow:inset 0 0 0 4px #ffffff0d,9px 9px #02081357;animation:tf-egg-interaction-in .3s steps(6,end) both}.tf-egg-film-interaction-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.44;pointer-events:none}.tf-egg-film-interaction-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b1d324d,#0b1d32a1),radial-gradient(circle at 50% 60%,transparent 0 36%,rgb(5 14 28 / 42%) 100%)}.tf-egg-film-interaction-art-svg{display:block;width:100%;height:100%}.tf-egg-film-interaction-body>:not(.tf-egg-film-interaction-art){position:relative;z-index:1}.tf-egg-film-interaction-body>span{color:#edc978;font:700 9px/1 Consolas,Courier New,monospace;letter-spacing:.16em}.tf-egg-film-interaction-body h3{margin:14px 0 0;font:700 36px/1.35 "Noto Serif SC",Songti SC,serif;letter-spacing:-.02em}.tf-egg-film-interaction-body p{margin:13px auto 0;max-width:450px;color:#b7c9db;font-size:13px;line-height:1.75}.tf-egg-film-interaction-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:23px}.tf-egg-film-choice{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 15px;color:#23354f;font:700 10px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:#fff8f2;border:2px solid #d3b5bc;border-radius:3px;box-shadow:4px 4px #00000038;cursor:pointer;transition:translate .14s ease,scale .14s ease,box-shadow .14s ease}.tf-egg-film-choice:hover{translate:0 -1px;box-shadow:5px 5px #00000038}.tf-egg-film-choice:disabled{opacity:.35;cursor:default;translate:0;box-shadow:none}.tf-egg-film-choice:active{translate:2px 2px;box-shadow:none}.tf-egg-film-choice.is-secondary{color:#e6f1fb;background:#ffffff14;border-color:#ffffff2e}.tf-egg-film-ritual{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:21px}.tf-egg-film-key{display:grid;place-items:center;width:68px;height:62px;color:#eaf5ff;font:700 20px/1 Consolas,Courier New,monospace;background:#ffffff17;border:2px solid rgb(191 216 242 / 26%);border-bottom:5px solid rgb(127 169 214 / 38%);border-radius:4px;cursor:pointer;transition:background .14s ease,color .14s ease,scale .14s ease}.tf-egg-film-key:hover{background:#ffffff2e;scale:1.03}.tf-egg-film-key:active{scale:.94}.tf-egg-film-key.is-done{color:#23354f;background:#f4cfd6;border-color:#edc978}.tf-egg-film-star-choice{display:grid;place-items:center;width:80px;height:80px;margin:22px auto 0;background:transparent;border:0;cursor:pointer}.tf-egg-film-star-choice:before,.tf-egg-film-star-choice:after{content:"";grid-area:1 / 1;background:#edc978;box-shadow:0 0 17px #edc978a8;transition:scale .18s ease,opacity .18s ease}.tf-egg-film-star-choice:before{width:18px;height:74px}.tf-egg-film-star-choice:after{width:74px;height:18px}.tf-egg-film-star-choice:hover:before,.tf-egg-film-star-choice:hover:after{scale:1.12}.tf-egg-film-star-choice:active{scale:.92}.tf-egg-film-star-choice.is-lit{animation:tf-egg-film-star-lit .52s steps(5,end) both}.tf-egg-film-interaction.is-leaving{pointer-events:none}.tf-egg-film-interaction .tf-egg-film-keys-note{margin-top:12px;color:#91a8c2;font:600 9px/1 Consolas,Courier New,monospace}.tf-egg-root[data-scene=film]{padding:0;background:#071321}.tf-egg-root[data-scene=entrance]{padding:0;background:#081426}.tf-egg-root[data-scene=film] .tf-egg-app{display:block;width:100%;height:100%;overflow:hidden;background:#071321;border:0;border-radius:0;box-shadow:none}.tf-egg-root[data-scene=entrance] .tf-egg-app{display:block;width:100%;height:100%;overflow:hidden;background:#081426;border:0;border-radius:0;box-shadow:none}.tf-egg-root[data-scene=film] .tf-egg-chrome,.tf-egg-root[data-scene=entrance] .tf-egg-chrome,.tf-egg-root[data-scene=film] .tf-egg-footer,.tf-egg-root[data-scene=entrance] .tf-egg-footer{display:none}.tf-egg-root[data-scene=film] .tf-egg-chrome{position:absolute;left:0;right:0;top:0;z-index:8;height:74px;padding:0 24px;color:#fff;background:linear-gradient(to bottom,rgb(4 13 26 / 76%),transparent);border:0;box-shadow:none}.tf-egg-root[data-scene=film] .tf-egg-brandmark small,.tf-egg-root[data-scene=film] .tf-egg-brandmark strong,.tf-egg-root[data-scene=film] .tf-egg-progress-step,.tf-egg-root[data-scene=film] .tf-egg-progress-step.is-complete{color:#fffaf4b8;text-shadow:0 1px 8px rgb(0 0 0 / 34%)}.tf-egg-root[data-scene=film] .tf-egg-progress-step.is-active{color:#ffe2b0}.tf-egg-root[data-scene=film] .tf-egg-progress-step:after{background:#ffffff2e}.tf-egg-root[data-scene=film] .tf-egg-control,.tf-egg-root[data-scene=film] .tf-egg-icon-control{color:#fffaf4d1;background:#08142670;border-color:#ffffff21;box-shadow:none}.tf-egg-root[data-scene=film] .tf-egg-control:hover,.tf-egg-root[data-scene=film] .tf-egg-icon-control:hover{color:#fff;background:#142b45d1;border-color:#ffffff3d}.tf-egg-root[data-scene=film] .tf-egg-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;height:100%}.tf-egg-root[data-scene=film] .tf-egg-pixel-wipe,.tf-egg-root[data-scene=entrance] .tf-egg-pixel-wipe{top:0;bottom:0}.tf-egg-root[data-scene=entrance] .tf-egg-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;height:100%}.tf-egg-root[data-scene=film] .tf-egg-scene-film{width:100%;height:100%;padding:0;background:#071321;pointer-events:none;cursor:default}.tf-egg-root[data-scene=film] .tf-egg-film-frame{width:100%;max-width:none;height:100%;aspect-ratio:auto;border:0;border-radius:0;outline:none;box-shadow:none}.tf-egg-root[data-scene=film] .tf-egg-film-video{object-fit:cover;pointer-events:none}.tf-egg-root[data-scene=film] .tf-egg-film-caption{display:none}.tf-egg-root[data-scene=film] .tf-egg-film-title{top:92px;left:28px}.tf-egg-root[data-scene=film] .tf-egg-film-note{top:94px;right:28px}.tf-egg-root[data-scene=film] .tf-egg-film-controls,.tf-egg-root[data-scene=film] .tf-egg-footer{display:none}.tf-egg-scene{height:100%;min-height:0}.tf-egg-scene-seal,.tf-egg-scene-origin,.tf-egg-scene-lesson{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(350px,.92fr);align-items:stretch;gap:clamp(28px,4vw,72px);padding:clamp(24px,3.4vw,54px)}.tf-egg-art-panel,.tf-egg-lesson-art{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;background:linear-gradient(135deg,#071428fa,#0b2240f5);border:1px solid rgb(137 193 255 / 22%);border-radius:24px;box-shadow:inset 0 1px #ffffff1f,0 22px 55px #193c682b}.tf-egg-art-panel:after,.tf-egg-lesson-art:after,.tf-egg-time-art:after,.tf-egg-letter-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgb(255 255 255 / 4%) 50%,transparent 50.2%),radial-gradient(circle at 50% 50%,transparent 42%,rgb(2 8 20 / 35%) 100%)}.tf-egg-art-panel>.tf-egg-art-svg,.tf-egg-lesson-art>.tf-egg-art-svg{width:min(94%,610px);height:min(78vh,540px);max-height:100%;filter:drop-shadow(0 18px 18px rgb(0 7 20 / 24%))}.tf-egg-art-label{position:absolute;left:18px;bottom:15px;z-index:2;padding:5px 8px;color:#b3d3f8ad;font:700 8px/1 Consolas,Courier New,monospace;letter-spacing:.12em;background:#030c1d8a;border:1px solid rgb(123 178 241 / 14%)}.tf-egg-copy-panel{align-self:center;max-width:560px;padding:clamp(20px,2.4vw,34px);background:#fffaf4bd;border:1px solid rgb(255 255 255 / 48%);border-radius:20px;box-shadow:inset 0 1px #ffffffc7,0 20px 48px #030b1629;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.tf-egg-eyebrow{margin:0 0 10px;color:#9c5367;font:750 10px/1.4 Consolas,Courier New,monospace;letter-spacing:.11em}.tf-egg-title{margin:0;color:#25334a;font-size:clamp(31px,3.1vw,43px);line-height:1.1;font-weight:780;letter-spacing:-.045em;text-wrap:balance}.tf-egg-title:focus{outline:none}.tf-egg-lead{max-width:500px;margin:17px 0 0;color:#65748b;font-size:14px;line-height:1.9;letter-spacing:.01em}.tf-egg-seal-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:26px;overflow:hidden;background:#5177a721;border:1px solid rgb(81 119 167 / 13%);border-radius:14px}.tf-egg-seal-facts span{display:grid;gap:5px;padding:13px 12px;color:#7b899c;font-size:10px;line-height:1.35;background:#ffffffb5}.tf-egg-seal-facts strong{color:#213957;font-size:13px;line-height:1.15}.tf-egg-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}.tf-egg-primary,.tf-egg-secondary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border-radius:12px;font:720 12px/1 Noto Sans SC,Microsoft YaHei,sans-serif;letter-spacing:.01em;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease}.tf-egg-primary{color:#fff;background:linear-gradient(135deg,#c96478,#a84d65);border:1px solid rgb(255 255 255 / 28%);box-shadow:inset 0 1px #ffffff45,0 10px 24px #97485d3b}.tf-egg-secondary{color:#38516f;background:#ffffff9e;border:1px solid rgb(73 110 158 / 17%);box-shadow:inset 0 1px #ffffffe0}.tf-egg-primary .pixel-icon,.tf-egg-secondary .pixel-icon{width:15px;height:15px}.tf-egg-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:inset 0 1px #ffffff47,0 14px 30px #97485d4d}.tf-egg-secondary:hover{color:#0a69d7;background:#ffffffeb;border-color:#c9647840;transform:translateY(-1px)}.tf-egg-primary:active,.tf-egg-secondary:active{transform:scale(.965)}.tf-egg-primary:disabled,.tf-egg-secondary:disabled{opacity:.42;cursor:default;transform:none;box-shadow:none}.tf-egg-footnote{margin:14px 0 0;color:#96a2b4;font-size:9.5px;line-height:1.55}.tf-egg-key-ritual{margin-top:28px;padding:18px;background:#ffffff85;border:1px solid rgb(72 114 169 / 13%);border-radius:16px}.tf-egg-key-ritual>p:first-child{margin:0 0 14px;color:#72839a;font-size:10px;font-weight:650}.tf-egg-ritual-keys{display:flex;align-items:center;gap:15px}.tf-egg-ritual-key{position:relative;width:64px;height:60px;color:#2c435e;font:750 18px/1 Consolas,Courier New,monospace;background:linear-gradient(to bottom,#fff 0,#fff 67%,#edf3fa 67%,#edf3fa);border:1px solid #b5c5d9;border-bottom:5px solid #a9bbd1;border-radius:10px;box-shadow:inset 0 1px #fff,0 7px 12px #1e43701a;cursor:pointer;transition:transform .12s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.tf-egg-ritual-key:hover{color:#0870e3;border-color:#75b7ff;transform:translateY(-2px)}.tf-egg-ritual-key.is-done{color:#0870db;background:linear-gradient(to bottom,#e9f5ff,#cfe9ff);border-color:#6eb5ff;border-bottom-color:#489be9;box-shadow:inset 0 1px #fff,0 0 0 4px #c9647812,0 8px 20px #0d74e629}.tf-egg-ritual-key.is-done:after{content:"";position:absolute;right:8px;top:7px;width:4px;height:4px;background:#709e7a;box-shadow:4px 4px #709e7a,8px 0 #709e7a}.tf-egg-key-thread{width:50px;height:1px;background:repeating-linear-gradient(to right,#b7c8dd 0 4px,transparent 4px 8px)}.tf-egg-ritual-status{min-height:18px;margin:13px 0 0;color:#68819f;font-size:10.5px;line-height:1.5}.tf-egg-scene-origin.is-alive .pa-keyboard{animation:tf-egg-keyboard-wake .72s cubic-bezier(.16,1,.3,1) both}.tf-egg-time-intro{display:grid;grid-template-columns:minmax(480px,.82fr) minmax(260px,.18fr);align-items:end;gap:clamp(28px,5vw,82px);padding:clamp(20px,2.5vw,34px);background:#fffaf4c2;border:2px solid rgb(255 255 255 / 44%);border-radius:18px;box-shadow:inset 0 1px #ffffffb8,7px 7px #050d181f;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.tf-egg-time-heading .tf-egg-lead{margin-top:12px}.tf-egg-time-whisper{margin:0 0 4px;padding-left:18px;color:#75869c;font-size:11px;line-height:1.8;border-left:2px solid rgb(201 100 120 / 23%)}.tf-egg-scene-time{position:relative;display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px);overflow:hidden;padding:clamp(23px,3.2vw,44px)}.tf-egg-time-garden{position:absolute;right:-65px;bottom:-30px;width:620px;opacity:.24;pointer-events:none}.tf-egg-time-garden svg{display:block;width:100%;height:auto}.tf-egg-time-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(340px,.84fr) minmax(430px,1.16fr);align-items:stretch;gap:20px;min-height:0}.tf-egg-time-art{position:relative;display:grid;place-items:center;min-height:300px;overflow:hidden;background:linear-gradient(145deg,#0a1b36,#102e57);border:1px solid rgb(113 164 226 / 20%);border-radius:21px}.tf-egg-time-art:before{content:"";position:absolute;left:28px;top:-13px;z-index:3;width:106px;height:26px;background:#f7dce2d1;border:1px solid rgb(201 100 120 / 24%);rotate:-3deg}.tf-egg-time-art>.tf-egg-art-svg{width:min(94%,520px);height:auto;max-height:100%}.tf-egg-memory-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tf-egg-memory-grid:before{content:"";position:absolute;left:50%;top:18px;bottom:18px;border-left:2px dashed rgb(127 162 131 / 24%);pointer-events:none}.tf-egg-memory-card{position:relative;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;min-height:0;padding:15px;background:#ffffffa3;border:1px solid rgb(69 107 154 / 13%);border-radius:16px;box-shadow:inset 0 1px #ffffffe0;transition:transform .17s ease,border-color .17s ease,background .17s ease}.tf-egg-memory-card[data-kind=calendar]{background:linear-gradient(135deg,#fff6f2ed,#fce5e8db)}.tf-egg-memory-card[data-kind=clock]{background:linear-gradient(135deg,#fafdfff0,#e1effae0)}.tf-egg-memory-card[data-kind=moon]{background:linear-gradient(135deg,#fcf8e8f0,#eee7c9d4)}.tf-egg-memory-card[data-kind=steps]{background:linear-gradient(135deg,#fafdf8f0,#e2f0e3e3)}.tf-egg-memory-index{position:absolute;right:10px;top:8px;color:#25334a3b;font:700 10px/1 Consolas,Courier New,monospace;letter-spacing:.08em}.tf-egg-memory-card:hover{background:#ffffffd6;border-color:#7fa9d640;transform:translateY(-2px)}.tf-egg-memory-art{display:grid;place-items:center;width:58px;height:58px;background:#0d2548;border:1px solid rgb(112 171 245 / 25%);border-radius:12px}.tf-egg-mini-art{width:42px;height:34px}.tf-egg-memory-card>div:last-child{min-width:0}.tf-egg-memory-card span{color:#8492a6;font-size:9px;font-weight:650}.tf-egg-memory-card strong{display:block;margin-top:4px;overflow:hidden;color:#1b3554;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.tf-egg-memory-card p{margin:5px 0 0;overflow:hidden;color:#7c8b9f;font-size:9.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.tf-egg-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:auto}.tf-egg-bottom-actions p{margin:0;color:#7c8da2;font-size:11px;letter-spacing:.02em}.tf-egg-scene-stars{display:grid;grid-template-columns:minmax(540px,1.35fr) minmax(300px,.65fr);grid-template-rows:auto minmax(0,1fr);gap:16px 28px;padding:clamp(21px,2.8vw,38px);background:radial-gradient(circle at 43% 52%,rgb(43 108 189 / 16%),transparent 31%),linear-gradient(145deg,#071428fa,#0a1f3bf7);border-radius:20px}.tf-egg-stars-heading{grid-column:1 / -1;text-align:center}.tf-egg-scene-stars .tf-egg-eyebrow{color:#76b9ff}.tf-egg-scene-stars .tf-egg-title{color:#f6faff;font-size:clamp(27px,2.5vw,36px)}.tf-egg-scene-stars .tf-egg-lead{max-width:590px;margin:8px auto 0;color:#9cb8d8;font-size:11px}.tf-egg-star-layout{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;min-height:0}.tf-egg-constellation{position:relative;min-height:380px;overflow:hidden;background:#071426;border:3px solid rgb(191 216 242 / 20%);box-shadow:inset 0 0 0 4px #ffffff08,8px 8px #4f738e1a;border-radius:2px}.tf-egg-star-scenery{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.82}.tf-egg-star-garden-svg{width:100%;height:100%;display:block}.tf-egg-constellation:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#040c181a,#040c1852),radial-gradient(circle at 50% 45%,transparent 0 46%,rgb(2 8 16 / 24%) 82%)}.tf-egg-constellation-lines{position:absolute;top:3%;right:3%;bottom:3%;left:3%;width:94%;height:94%;overflow:visible;z-index:2}.tf-egg-constellation-line{fill:none;stroke:#579ff030;stroke-width:.24;stroke-dasharray:1.2 .8;vector-effect:non-scaling-stroke;animation:tf-egg-line-draw 1.2s steps(12,end) both}.tf-egg-constellation-core{position:absolute;left:50%;top:50%;color:#8dc1fc29;font:700 48px/1 Consolas,Courier New,monospace;letter-spacing:.12em;transform:translate(-48%,-50%);-webkit-user-select:none;user-select:none;z-index:2}.tf-egg-star{position:absolute;left:var(--star-x);top:var(--star-y);width:22px;height:22px;padding:0;background:transparent;border:0;transform:translate(-50%,-50%);cursor:pointer;z-index:3}.tf-egg-star:before,.tf-egg-star:after,.tf-egg-star span{content:"";position:absolute;background:#70b8ff;transition:background .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}.tf-egg-star:before{left:8px;top:1px;width:6px;height:20px}.tf-egg-star:after{left:1px;top:8px;width:20px;height:6px}.tf-egg-star span{left:6px;top:6px;width:10px;height:10px;background:#dff2ff;transform:rotate(45deg)}.tf-egg-star:hover:before,.tf-egg-star:hover:after,.tf-egg-star.is-selected:before,.tf-egg-star.is-selected:after{background:#ffe08d;box-shadow:0 0 12px #ffd76ea3;transform:scale(1.18)}.tf-egg-star:hover span,.tf-egg-star.is-selected span{background:#fff3bd;box-shadow:0 0 12px #ffe28e99}.tf-egg-star.is-selected{animation:tf-egg-star-pulse 1.35s steps(2,end) infinite}.tf-egg-star.is-visited:not(.is-selected):before,.tf-egg-star.is-visited:not(.is-selected):after{background:#8fe0c9}.tf-egg-star:nth-of-type(5n):before,.tf-egg-star:nth-of-type(5n):after{background:#f4cfd6}.tf-egg-star:nth-of-type(7n):before,.tf-egg-star:nth-of-type(7n):after{background:#edc978}.tf-egg-star:nth-of-type(5n) span{background:#ffe9ee}.tf-egg-star:nth-of-type(7n) span{background:#fff0b3}.tf-egg-constellation-note{position:absolute;left:14px;bottom:12px;color:#9ec2e894;font:650 9px/1 Consolas,Courier New,monospace;z-index:3}.tf-egg-star-detail{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:0;padding:clamp(21px,2.4vw,31px);color:#dceeff;background:radial-gradient(circle at 82% 10%,rgb(244 207 214 / 13%),transparent 34%),linear-gradient(150deg,#143760db,#08182feb);border:2px solid rgb(191 216 242 / 20%);box-shadow:inset 0 0 0 4px #ffffff08,7px 7px #4f738e17;border-radius:2px}.tf-egg-star-emblem{position:relative;display:block;width:34px;height:34px;margin-bottom:18px}.tf-egg-star-emblem i{position:absolute;width:5px;height:5px;background:#f2ce79;box-shadow:0 0 8px #f4d0716b}.tf-egg-star-emblem i:nth-child(1){left:14px;top:0}.tf-egg-star-emblem i:nth-child(2){left:14px;top:14px}.tf-egg-star-emblem i:nth-child(3){left:0;top:14px}.tf-egg-star-emblem i:nth-child(4){left:28px;top:14px}.tf-egg-star-emblem i:nth-child(5){left:14px;top:28px}.tf-egg-star-index{margin:0 0 8px;color:#79b8f7;font:700 9px/1 Consolas,Courier New,monospace;letter-spacing:.1em}.tf-egg-star-detail h3{margin:0;color:#fff;font-size:21px;line-height:1.3}.tf-egg-star-line{margin:17px 0 0;color:#eff7ff;font-size:14px;line-height:1.85}.tf-egg-star-source{margin:18px 0 0;color:#91a8c2;font-size:10px;line-height:1.65}.tf-egg-scene-lesson{grid-template-columns:minmax(360px,.82fr) minmax(420px,1.18fr)}.tf-egg-lesson-art{min-height:360px}.tf-egg-final-card{margin-top:22px;padding:20px;background:#ffffffad;border:1px solid rgb(68 109 160 / 14%);border-radius:18px;box-shadow:inset 0 1px #ffffffeb}.tf-egg-final-label{color:#8190a5;font-size:9px;font-weight:650}.tf-egg-final-target{display:flex;gap:8px;margin-top:10px}.tf-egg-final-target span{display:grid;place-items:center;width:42px;height:46px;color:#163a66;font-size:20px;font-weight:750;background:#fff;border:1px solid #cbd9e9;border-bottom:3px solid #b7c9dc;border-radius:8px;box-shadow:0 5px 13px #254d7d14}.tf-egg-input-wrap{display:block;margin-top:15px}.tf-egg-final-input{width:100%;height:47px;padding:0 13px;color:#17395f;font:650 17px/1 Noto Sans SC,Microsoft YaHei,sans-serif;letter-spacing:.16em;background:#f7fafee0;border:1px solid #b9cbdd;border-radius:10px;box-shadow:inset 0 1px 3px #25456c0d;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.tf-egg-final-input::placeholder{color:#a2aebe;font-size:11px;letter-spacing:0}.tf-egg-final-input:hover{border-color:#91b7dc}.tf-egg-final-input:focus{border-color:#0a84ff;background:#fff;box-shadow:0 0 0 4px #0a84ff14,inset 0 1px 3px #25456c0a;outline:none}.tf-egg-final-input.is-error{border-color:#d46078;box-shadow:0 0 0 4px #d4607814}.tf-egg-final-input.is-correct{color:#087358;border-color:#38b48e;background:#f2fffa;box-shadow:0 0 0 4px #38b48e17}.tf-egg-input-hint{margin:10px 0 0;color:#7d8da2;font-size:10px}.tf-egg-scene-lesson.is-complete .pa-flow-dot{animation:tf-egg-flow-complete .76s steps(8,end) both}.tf-egg-scene-lesson.is-complete .tf-egg-final-target span{animation:tf-egg-final-letter .52s cubic-bezier(.16,1,.3,1) both}.tf-egg-scene-lesson.is-complete .tf-egg-final-target span:nth-child(2){animation-delay:90ms}.tf-egg-scene-lesson.is-complete .tf-egg-final-target span:nth-child(3){animation-delay:.18s}.tf-egg-scene-letter{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(480px,1.25fr);min-height:0;padding:clamp(22px,3vw,42px);gap:clamp(22px,3.2vw,46px)}.tf-egg-letter-reader{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:100%;gap:0;padding:clamp(28px,4vw,58px);cursor:pointer}.tf-egg-letter-reader:focus-visible{outline:3px solid rgb(255 232 180 / 74%);outline-offset:-10px}.tf-egg-letter-reader .tf-egg-letter-reader-paper{position:relative;justify-self:center;width:min(820px,calc(100vw - 180px));max-height:min(760px,calc(100vh - 170px));margin:0;overflow-y:auto;box-shadow:12px 12px #1628373d,0 34px 82px #05121f47;animation:tf-egg-reader-paper-in .62s cubic-bezier(.16,1,.3,1) both}.tf-egg-letter-reader-paper .tf-egg-letter-body p{animation-delay:calc(.18s + var(--line-index) * 65ms)}@keyframes tf-egg-reader-paper-in{0%{opacity:0;transform:translate3d(0,24px,0) scale(.96) rotate(-.4deg)}to{opacity:1;transform:translateZ(0) scale(1) rotate(0)}}.tf-egg-letter-art{position:relative;display:grid;place-items:center;align-self:stretch;min-height:0;overflow:hidden;background:linear-gradient(145deg,#0a1a32,#12345e);border:1px solid rgb(117 169 231 / 19%);border-radius:23px}.tf-egg-letter-art>.tf-egg-art-svg{width:min(94%,520px);height:auto;max-height:100%}.tf-egg-letter-art-meta{position:absolute;left:17px;right:17px;bottom:15px;z-index:2;display:flex;justify-content:space-between;color:#a8ccf294;font:650 8px/1 Consolas,Courier New,monospace;letter-spacing:.08em}.tf-egg-letter-column{min-height:0;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgb(109 146 189 / 38%) transparent}.tf-egg-letter-heading{margin-bottom:14px;padding:13px 16px;background:#fffaf4d1;border:1px solid rgb(255 255 255 / 52%);border-radius:14px;box-shadow:4px 4px #050d181a;-webkit-backdrop-filter:blur(16px) saturate(118%);backdrop-filter:blur(16px) saturate(118%)}.tf-egg-letter-heading>p{margin:0 0 7px;color:#1e76dc;font:700 9px/1.4 Consolas,Courier New,monospace;letter-spacing:.1em}.tf-egg-letter-heading .tf-egg-title{font-size:clamp(27px,2.5vw,36px)}.tf-egg-letter-heading>span{display:block;margin-top:8px;color:#8190a3;font-size:9px}.tf-egg-letter-paper{position:relative;padding:clamp(24px,3vw,39px);overflow:hidden;color:#28394e;background:linear-gradient(90deg,transparent 0 39px,rgb(228 109 128 / 15%) 39px 40px,transparent 40px),repeating-linear-gradient(0deg,transparent 0 29px,rgb(71 118 165 / 8%) 29px 30px),#fffdf7;border:1px solid rgb(98 120 147 / 16%);border-radius:4px 16px 16px 4px;box-shadow:0 24px 44px #16375f21,inset 0 1px #fff}.tf-egg-letter-paper:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:18px;background:repeating-linear-gradient(0deg,transparent 0 8px,rgb(115 151 185 / 16%) 8px 10px)}.tf-egg-letter-pin{position:absolute;right:19px;top:17px;width:8px;height:8px;background:#d6b869;box-shadow:4px 4px #bb9f50}.tf-egg-letter-greeting{display:flex;align-items:center;gap:8px;margin:0 0 19px;color:#163c69;font-size:18px;font-weight:750}.tf-egg-letter-body{display:grid;gap:8px}.tf-egg-letter-body p{margin:0;font-size:13.4px;line-height:1.86;letter-spacing:.015em;animation:tf-egg-letter-line-in .48s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(80ms + var(--line-index) * 65ms)}.tf-egg-letter-closing{margin:25px 0 0;color:#135fa9;font-size:20px;font-weight:760;letter-spacing:.14em}.tf-egg-letter-signature{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:11px 0 0;padding:0 8px 0 28px;color:#52657d;font-size:11.5px;text-align:right}.tf-egg-letter-heart{display:inline-grid;flex:0 0 auto;width:15px;height:15px;place-items:center;color:#d55b7d}.tf-egg-letter-heart .pixel-icon{width:15px;height:15px}.tf-egg-pixel-seal{position:absolute;right:30px;bottom:29px;display:block;width:34px;height:34px;transform:rotate(-5deg)}.tf-egg-pixel-seal i{position:absolute;width:8px;height:8px;background:#df6682}.tf-egg-pixel-seal i:nth-child(1){left:13px;top:0}.tf-egg-pixel-seal i:nth-child(2){left:5px;top:7px}.tf-egg-pixel-seal i:nth-child(3){left:21px;top:7px}.tf-egg-pixel-seal i:nth-child(4){left:13px;top:14px}.tf-egg-pixel-seal i:nth-child(5){left:9px;top:22px;width:16px;height:5px}.tf-egg-reply-box{margin-top:12px;padding:0 13px;background:#ffffff8a;border:1px solid rgb(74 112 158 / 13%);border-radius:12px}.tf-egg-reply-box summary{display:flex;align-items:center;justify-content:space-between;min-height:40px;color:#4f647d;font-size:10.5px;font-weight:650;cursor:pointer;list-style:none}.tf-egg-reply-box summary::-webkit-details-marker{display:none}.tf-egg-reply-box summary .pixel-icon{width:15px;height:15px}.tf-egg-reply-box form{display:grid;gap:8px;padding:2px 0 13px;animation:tf-egg-details-open .22s ease both}.tf-egg-reply-box label{color:#7b8ca2;font-size:9.5px}.tf-egg-reply-box textarea{width:100%;min-height:78px;padding:11px 12px;resize:vertical;color:#283b54;font:12px/1.7 Noto Sans SC,Microsoft YaHei,sans-serif;background:#f9fbfee5;border:1px solid #becddd;border-radius:9px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.tf-egg-reply-box textarea:focus{background:#fff;border-color:#0a84ff;box-shadow:0 0 0 4px #0a84ff14;outline:none}.tf-egg-reply-box form>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.tf-egg-reply-box form>div>span{color:#95a2b2;font:650 9px/1 Consolas,Courier New,monospace}.tf-egg-reply-box .tf-egg-secondary{min-height:34px;padding:0 12px;font-size:10px}.tf-egg-saved-reply{margin:0 0 12px;padding:11px 12px;background:#e5f6f0b8;border-left:3px solid #51ad91;border-radius:3px 9px 9px 3px}.tf-egg-saved-reply span{color:#4f8877;font-size:8.5px;font-weight:700;letter-spacing:.06em}.tf-egg-saved-reply p{margin:6px 0 0;color:#315e51;font-size:11px;line-height:1.65}.tf-egg-letter-actions{padding:13px 0 5px;margin-top:0}.tf-egg-archive{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;padding:clamp(20px,2.7vw,38px)}.tf-egg-archive.is-letter-page{grid-template-rows:auto auto minmax(0,1fr);padding:22px 34px 18px}.tf-egg-archive.is-letter-page .tf-egg-archive-heading{padding:10px 15px}.tf-egg-archive.is-letter-page .tf-egg-archive-heading .tf-egg-eyebrow{margin-bottom:4px;font-size:8px}.tf-egg-archive.is-letter-page .tf-egg-archive-heading .tf-egg-title{font-size:25px}.tf-egg-archive.is-letter-page .tf-egg-archive-heading p:last-child{margin-top:3px;font-size:8px}.tf-egg-archive.is-letter-page .tf-egg-archive-garden{top:-85px;right:138px;width:330px}.tf-egg-archive.is-letter-page .tf-egg-archive-tabs{margin:9px 0 7px}.tf-egg-archive.is-letter-page .tf-egg-archive-content{min-height:0}.tf-egg-archive.is-letter-page .tf-egg-archive-content .tf-egg-scene-letter{padding-top:2px}.tf-egg-archive-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}.tf-egg-archive-heading .tf-egg-title{font-size:clamp(29px,2.8vw,39px)}.tf-egg-archive-heading p:last-child{margin:8px 0 0;color:#7d8ca0;font-size:9px}.tf-egg-replay{flex:0 0 auto;min-height:36px;font-size:10px}.tf-egg-archive-tabs{display:flex;gap:4px;align-self:end;width:max-content;margin:18px 0 10px;padding:4px;background:#e6eef8bd;border:1px solid rgb(78 112 151 / 10%);border-radius:12px}.tf-egg-archive-tabs button{min-width:76px;height:32px;padding:0 14px;color:#738298;font:650 10px/1 Noto Sans SC,Microsoft YaHei,sans-serif;background:transparent;border:0;border-radius:8px;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .14s ease}.tf-egg-archive-tabs button:hover{color:#1c5fa9}.tf-egg-archive-tabs button:active{transform:scale(.96)}.tf-egg-archive-tabs button.is-active{color:#0c60c4;background:#fff;box-shadow:0 4px 12px #22477617}.tf-egg-archive-content{min-height:0;overflow:hidden}.tf-egg-archive-content>.tf-egg-scene{padding-top:6px;padding-bottom:4px}.tf-egg-archive-content .tf-egg-scene-letter{grid-template-columns:minmax(290px,.63fr) minmax(480px,1.37fr);padding:8px 0 0;gap:26px}.tf-egg-archive-content .tf-egg-letter-art{min-height:340px}.tf-egg-archive-content .tf-egg-letter-heading{display:none}.tf-egg-archive-content .tf-egg-scene-stars{display:flex;flex-direction:column;height:100%;padding:13px 16px 17px}.tf-egg-archive-content .tf-egg-stars-heading{display:none}.tf-egg-archive-content .tf-egg-star-layout{grid-template-columns:minmax(0,1fr) 300px;flex:1 1 auto;height:100%;min-height:0}.tf-egg-archive-content .tf-egg-constellation{min-height:420px;height:100%}.tf-egg-archive-content .tf-egg-star-detail{height:100%}.tf-egg-archive-content .tf-egg-scene-time{height:100%;padding:8px 0 0}.tf-egg-archive-content .tf-egg-time-intro{display:none}.tf-egg-archive-content .tf-egg-time-layout{min-height:0;height:100%}.tf-egg-archive-content .tf-egg-time-art{min-height:100%}.tf-egg-archive-content .tf-egg-memory-grid{grid-template-rows:repeat(2,minmax(0,1fr))}.tf-egg-chrome{background:#fffaf5db;border-bottom:3px solid rgb(168 132 110 / 16%);box-shadow:0 4px #ffffff6b}.tf-egg-brand-icon,.tf-egg-control,.tf-egg-icon-control,.tf-egg-primary,.tf-egg-secondary,.tf-egg-archive-tabs,.tf-egg-archive-tabs button,.tf-egg-reply-box,.tf-egg-reply-box textarea,.tf-egg-final-input,.tf-egg-final-target span,.tf-egg-film-button,.tf-egg-film-skip{border-radius:5px}.tf-egg-brand-icon{border:2px solid #8e4558;border-radius:4px;box-shadow:4px 4px #70394930}.tf-egg-control,.tf-egg-icon-control{border:2px solid rgb(141 104 116 / 24%);box-shadow:3px 3px #8d68741a}.tf-egg-control:hover,.tf-egg-icon-control:hover{translate:0 -1px;box-shadow:4px 4px #8d687424}.tf-egg-archive-heading{position:relative;z-index:2;padding:17px 19px;overflow:hidden;background:radial-gradient(circle at 82% 84%,rgb(244 207 214 / 44%),transparent 28%),linear-gradient(135deg,#fffbf6e5,#fff8f3c4 58%,#eff7f0d6);border:2px solid rgb(166 124 122 / 20%);box-shadow:6px 6px #7fa9d621,inset 0 0 0 3px #ffffff7a}.tf-egg-archive-garden{position:absolute;right:104px;top:19px;z-index:3;width:min(430px,36%);opacity:.82;pointer-events:none;mix-blend-mode:multiply}.tf-egg-archive-garden svg{display:block;width:100%;height:auto}.tf-egg-archive-heading>*{position:relative;z-index:2}.tf-egg-archive-heading:before,.tf-egg-archive-heading:after{content:"";position:absolute;width:8px;height:8px;background:#c96478;box-shadow:8px 0 #f4cfd6,-8px 0 #f4cfd6,0 8px #f4cfd6,0 -8px #f4cfd6,8px 8px #edc978}.tf-egg-archive-heading:before{right:118px;top:18px;rotate:45deg}.tf-egg-archive-heading:after{right:34px;bottom:17px;scale:.62;rotate:-18deg}.tf-egg-archive-tabs{padding:3px;gap:3px;background:#e7ece2c2;border:2px solid rgb(126 146 125 / 24%);box-shadow:4px 4px #7e927d1a}.tf-egg-archive-tabs button{border:1px solid transparent;border-radius:2px}.tf-egg-archive-tabs button.is-active{color:#7a3d4e;background:#fffaf3;border-color:#c964783d;box-shadow:3px 3px #c964781c}.tf-egg-art-panel,.tf-egg-lesson-art,.tf-egg-time-art,.tf-egg-letter-art,.tf-egg-film-frame{border:3px solid rgb(255 250 244 / 76%);border-radius:3px;outline:2px solid rgb(127 169 214 / 20%);outline-offset:-5px;box-shadow:9px 9px #7fa9d621,0 24px 56px #34496f1f}.tf-egg-letter-paper{border:3px solid #cfc2b4;border-radius:1px;box-shadow:8px 8px #a9c3a82e,0 24px 44px #16375f1a,inset 0 1px #fff}.tf-egg-letter-paper:after{content:"";position:absolute;right:19px;top:18px;width:7px;height:7px;background:#c96478;box-shadow:7px 0 #f4cfd6,-7px 0 #f4cfd6,0 7px #f4cfd6,0 -7px #f4cfd6,7px 7px #edc978,-7px -7px #bfd8f2}.tf-egg-letter-margin-art{position:absolute;right:-18px;top:-12px;width:250px;height:auto;opacity:.24;pointer-events:none}.tf-egg-letter-greeting,.tf-egg-letter-body,.tf-egg-letter-closing,.tf-egg-letter-signature{position:relative;z-index:1}.tf-egg-reply-box{background:#fffaf4c2;border:2px solid rgb(146 119 108 / 16%);box-shadow:4px 4px #92776c14}.tf-egg-secondary{color:#526275;border:2px solid rgb(131 105 111 / 20%);box-shadow:3px 3px #83696f17}.tf-egg-primary{border:2px solid #8f4257;box-shadow:inset 0 1px #ffffff4d,4px 4px #75364833}.tf-egg-primary:hover{translate:0 -2px;box-shadow:inset 0 1px #ffffff4d,6px 6px #7536482e}.tf-egg-secondary:hover{translate:0 -1px;box-shadow:5px 5px #83696f1a}.tf-egg-primary:active,.tf-egg-secondary:active{translate:2px 2px;box-shadow:none}.tf-egg-memory-card{border:2px solid rgb(144 116 102 / 16%);border-radius:2px;background:#fffaf4d1;box-shadow:4px 4px #90746612}.tf-egg-memory-card:hover{translate:0 -2px;box-shadow:6px 6px #7fa9d61c}.tf-egg-memory-art{border:2px solid rgb(191 216 242 / 26%);border-radius:2px}.tf-egg-final-card{background:#fffaf4d1;border:2px solid rgb(146 119 108 / 17%);border-radius:3px;box-shadow:6px 6px #a9c3a81c}.tf-egg-final-target span{border:2px solid #9fbfd9;border-bottom:5px solid #7fa9d6;box-shadow:4px 4px #7fa9d61f}.tf-egg-constellation,.tf-egg-star-detail{border-radius:2px}.tf-egg-film-controls{border-radius:3px}.tf-egg-footer{background:#fffaf49e;border-top:2px dashed rgb(139 112 104 / 14%)}.tf-egg-love-note,.tf-egg-settled-note{display:inline-flex;align-items:center;gap:7px;color:#403648;background:#fff8f1;border:1px solid rgb(201 100 120 / 35%);box-shadow:3px 3px #02080f38,inset 0 0 0 2px #fff6}.tf-egg-love-note{position:absolute;left:0;top:0;max-width:330px;padding:7px 10px;font-size:10.5px;line-height:1.45;white-space:normal}.tf-egg-love-note.is-physical{transform-origin:center;backface-visibility:hidden;contain:layout paint style;isolation:isolate;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.tf-egg-love-note.is-outside-viewport{visibility:hidden}.tf-egg-love-note.tone-1,.tf-egg-settled-note.tone-1{background:#edf6ef;border-color:#668c7257}.tf-egg-love-note.tone-2,.tf-egg-settled-note.tone-2{background:#eef6fc;border-color:#7fa9d652}.tf-egg-love-note.tone-3,.tf-egg-settled-note.tone-3{background:#fff7e1;border-color:#c99d484d}.tf-egg-love-note b{font-weight:550}.tf-egg-love-glyph{position:relative;display:inline-block;flex:0 0 14px;width:14px;height:14px}.tf-egg-love-glyph.is-heart{background:#c96478;clip-path:polygon(0 18%,18% 0,40% 18%,50% 8%,60% 18%,82% 0,100% 18%,100% 47%,50% 100%,0 47%)}.tf-egg-love-glyph.is-flower{background:#c96478;box-shadow:0 -5px #f4cfd6,0 5px #f4cfd6,-5px 0 #f4cfd6,5px 0 #f4cfd6;scale:.62}.tf-egg-love-glyph.is-star{background:#edc978;clip-path:polygon(42% 0,58% 0,58% 37%,78% 18%,88% 28%,67% 48%,100% 48%,100% 60%,66% 60%,86% 82%,76% 92%,57% 70%,57% 100%,43% 100%,43% 70%,24% 92%,14% 82%,35% 60%,0 60%,0 48%,32% 48%,12% 28%,22% 18%,42% 37%)}.tf-egg-love-glyph.is-moon{background:#edc978;clip-path:polygon(0 0,100% 0,100% 100%,35% 100%,35% 72%,0 72%)}.tf-egg-love-glyph.is-leaf{background:#709e7a;clip-path:polygon(0 100%,0 54%,28% 54%,28% 26%,56% 26%,56% 0,100% 0,100% 46%,72% 46%,72% 74%,44% 74%,44% 100%)}.tf-egg-love-glyph.is-sun{background:#edc978;clip-path:polygon(38% 0,62% 0,62% 20%,82% 8%,94% 22%,80% 38%,100% 38%,100% 62%,80% 62%,92% 82%,78% 94%,62% 80%,62% 100%,38% 100%,38% 80%,18% 92%,6% 78%,20% 62%,0 62%,0 38%,20% 38%,8% 18%,22% 6%,38% 20%)}.tf-egg-settled-note{position:absolute;max-width:150px;overflow:hidden;padding:4px 7px;font-size:7.5px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.tf-egg-love-note.is-static{position:static;max-width:none}.tf-egg-art-svg,.tf-egg-mini-art{--pa-night: #0a1c37;--pa-blue: #4a9dff;--pa-blue-soft: #91c8ff;--pa-blue-dark: #1268bd;--pa-paper: #f9faf2;--pa-paper-deep: #dce8f5;--pa-gold: #efcc79;--pa-rose: #dc6b85;--pa-line: #6b9ed4}.tf-egg-valley-night-svg{background:#071426}.pa-valley-star{fill:#b9d9ff;opacity:.58;animation:tf-egg-valley-twinkle 4.8s steps(2,end) infinite;animation-delay:calc(var(--star-index) * -73ms)}.pa-valley-star.is-bright{fill:#fff0b6;opacity:.94}.pa-valley-moon-glow{fill:#ffdb871f;animation:tf-egg-valley-moon 8s steps(5,end) infinite alternate}.pa-valley-moon-body{fill:#f4d482}.pa-valley-moon-cut{fill:#10253f}.pa-valley-cloud{fill:#9ab2c6}.pa-valley-sea-line{fill:#d4edf2}.pa-valley-hill-light{fill:#4b7658}.pa-valley-hill-mid{fill:#568452}.pa-valley-ground{fill:#608c4f}.pa-valley-trunk{fill:#5f4638}.pa-valley-leaves-deep{fill:#173c33}.pa-valley-leaves{fill:#285b43}.pa-valley-leaves-light{fill:#3f7250}.pa-valley-tree.is-soft .pa-valley-leaves-deep{fill:#20483e}.pa-valley-tree.is-soft .pa-valley-leaves{fill:#356957}.pa-valley-tree.is-soft .pa-valley-leaves-light{fill:#54846b}.pa-valley-windmill-body{fill:#d2c5a0}.pa-valley-windmill-roof{fill:#774947}.pa-valley-windmill-door{fill:#614638}.pa-valley-windmill-blade{fill:#ead8ad}.pa-valley-windmill-hub{fill:#715243}.pa-valley-windmill-blades{transform-box:fill-box;transform-origin:center;animation:tf-egg-valley-mill 34s linear infinite}.pa-valley-house-wall{fill:#e8d9b7}.pa-valley-chimney{fill:#8b5a4b}.pa-valley-smoke-block{fill:#cedde052}.pa-valley-smoke-block.is-soft{opacity:.65}.pa-valley-smoke-block.is-faint{opacity:.38}.pa-valley-smoke{transform-box:fill-box;transform-origin:bottom center;animation:tf-egg-valley-smoke 7s steps(8,end) infinite}.pa-valley-window{fill:#392f30}.pa-valley-window.is-lit{fill:#f3c96d}.pa-valley-window-glow{fill:#fff0b4;opacity:.78;animation:tf-egg-valley-window 5.6s steps(3,end) infinite alternate}.pa-valley-door{fill:#5e4140}.pa-valley-house-balcony{fill:#7e5a48}.pa-valley-house-step{fill:#8e6d53}.pa-valley-house-lamp{fill:#614a3d}.pa-valley-lantern{fill:#ffd778}.pa-valley-lantern-halo{fill:#ffd57021;animation:tf-egg-valley-lantern 3.6s steps(4,end) infinite alternate;animation-delay:calc(var(--lantern-index) * -1.1s)}.pa-valley-glasshouse{fill:#7dbdbf5c;stroke:#a5d1ca;stroke-width:4}.pa-valley-glass-bar{fill:#b8e0d773}.pa-valley-planter{fill:#6a4b3d}.pa-valley-barn-wall{fill:#9d5c4f}.pa-valley-barn-door{fill:#75453e}.pa-valley-barn-line{fill:#b9896e}.pa-valley-fence-post{fill:#a47d58}.pa-valley-soil-dark{fill:#58462f}.pa-valley-stem{fill:#79a559}.pa-valley-leaf{fill:#95bd68}.pa-valley-leaf-light{fill:#b5d67d}.pa-valley-pond-lines{fill:#a7dfe0}.pa-valley-dock-post{fill:#604639}.pa-valley-dock{fill:#b98c62}.pa-valley-dock-light{fill:#d9b98a}.pa-valley-sheep-wool{fill:#f1ead4}.pa-valley-sheep-face{fill:#5c5652}.pa-valley-sheep-eye{fill:#121820}.pa-valley-animal-leg{fill:#554b45}.pa-valley-chicken-body{fill:#f3e4c5}.pa-valley-chicken-head{fill:#fff2d9}.pa-valley-chicken-beak{fill:#e4a94f}.pa-valley-chicken-eye{fill:#17212b}.pa-valley-chicken-leg{fill:#c38b48}.pa-valley-grass-a{fill:#7fa85c}.pa-valley-grass-b{fill:#9cbe69}.pa-valley-flower-pink{fill:#e9a2af}.pa-valley-flower-blue{fill:#98c5e7}.pa-valley-flower-gold{fill:#f2d27d}.pa-valley-lantern-post{fill:#695044}.pa-valley-firefly{fill:#ffe58e;opacity:.7;animation:tf-egg-valley-firefly 4.6s steps(6,end) infinite alternate;animation-delay:calc(var(--firefly-index) * -137ms)}@keyframes tf-egg-valley-twinkle{0%,72%,to{opacity:.42}78%,88%{opacity:.95}}@keyframes tf-egg-valley-moon{0%{opacity:.72}to{opacity:1}}@keyframes tf-egg-valley-mill{to{transform:rotate(360deg)}}@keyframes tf-egg-valley-smoke{0%{transform:translateY(8px);opacity:.22}50%{opacity:.56}to{transform:translateY(-18px);opacity:0}}@keyframes tf-egg-valley-window{0%{opacity:.64}to{opacity:.92}}@keyframes tf-egg-valley-lantern{0%{opacity:.6}to{opacity:1}}@keyframes tf-egg-valley-firefly{0%{transform:translate(0);opacity:.18}38%{transform:translate(6px,-8px);opacity:.86}72%{transform:translate(-5px,-4px);opacity:.44}to{transform:translate(4px,-11px);opacity:.78}}.tf-egg-stardew-beach-svg{background:#78c9dc}.pa-beach-star{fill:#c9e6ff;opacity:.68}.pa-beach-moon-glow{fill:#ffde8a21}.pa-beach-moon-body{fill:#f3d486}.pa-beach-moon-cut{fill:#102844}.pa-beach-sun-glow{fill:#ffe69042;animation:tf-egg-beach-sun 6.8s ease-in-out infinite alternate}.pa-beach-sun-body{fill:#f6d67f}.pa-beach-sun-ray{fill:#f7df9c;opacity:.78}.pa-beach-cloud{fill:currentColor;opacity:.74}.is-night .pa-beach-cloud{opacity:.42}.pa-beach-house-wall{fill:#fff1d5}.is-night .pa-beach-house-wall{fill:#d8c398}.pa-beach-window{fill:#6e5b4d}.pa-beach-window.is-lit{fill:#ffd778}.pa-beach-door{fill:#765446}.pa-beach-lamp{fill:#efbf66}.pa-beach-house-step{fill:#a47e5d}.pa-beach-rock-light{fill:#e7dcb229}.pa-beach-chimney{fill:#8e5a4d}.pa-beach-smoke-block{fill:#dce5e157}.pa-beach-smoke-block.is-soft{opacity:.54}.pa-beach-smoke{transform-box:fill-box;transform-origin:bottom center;animation:tf-egg-beach-smoke 7.2s steps(8,end) infinite}.pa-beach-lighthouse-cap{fill:#efcb79}.pa-beach-lighthouse-top{fill:#fff2d9}.pa-beach-lighthouse-body{fill:#fffaf0}.is-night .pa-beach-lighthouse-body{fill:#f2e7cf}.pa-beach-lighthouse-stripe{fill:#c96778}.pa-beach-lighthouse-base{fill:#66808b}.pa-beach-pier-post{fill:#73503f}.pa-beach-pier-deck{fill:#ad805d}.pa-beach-pier-light{fill:#c89b70}.pa-beach-pier-dark{fill:#98704f}.pa-beach-boat{fill:#a57554}.pa-beach-boat-mast{fill:#cfad83}.pa-beach-grass{fill:#5f8f5e}.is-night .pa-beach-grass{fill:#3e6b53}.pa-beach-flower-pink{fill:#e7a1ad}.pa-beach-flower-blue{fill:#9bc9e4}.pa-beach-shell{fill:#fff0dc}.pa-beach-shell-soft{fill:#d8b9ad}.pa-beach-blanket-line{fill:#f2ceb8;opacity:.56}.pa-beach-person-skin{fill:#f1c099}.pa-beach-person-shirt-a{fill:#4e7fa6}.pa-beach-person-shirt-b{fill:#c76678}.pa-beach-person-hair{fill:#4b352e}.pa-beach-person-hair-b{fill:#6d4337}.pa-beach-person-eye{fill:#24303d}.pa-beach-person-mouth{fill:#9b5f5e}.pa-beach-person-arm{fill:#f1c099}.pa-beach-person-leg{fill:#596470}.pa-beach-person-shoe{fill:#31485d}.pa-beach-person-shoe-b{fill:#6d4650}.pa-beach-person-blush{fill:#e99aa2;opacity:.8}.pa-beach-shirt-stripe{fill:#9cc8e4;opacity:.72}.pa-beach-shirt-stripe-light{fill:#f3d5bc;opacity:.8}.pa-beach-basket{fill:#b98257}.pa-beach-basket-handle{fill:#795039}.pa-beach-basket-line{fill:#e0b986;opacity:.64}.pa-beach-flower-gold{fill:#efd07b}.pa-beach-hand,.pa-beach-hands{fill:#f1c099}.pa-beach-heart{fill:#d45f79}.pa-beach-heart-soft{fill:#f0a5b2}.tf-egg-couple{transform-box:fill-box;transform-origin:center bottom;animation:tf-egg-beach-couple 5.2s steps(3,end) infinite alternate}.tf-egg-couple-left,.tf-egg-couple-right{transform-box:fill-box;transform-origin:center bottom}.tf-egg-couple-left{animation:tf-egg-beach-person-left 4.6s ease-in-out infinite alternate}.tf-egg-couple-right{animation:tf-egg-beach-person-right 5.1s ease-in-out infinite alternate}.pa-beach-person-eye{animation:tf-egg-beach-blink 5.8s steps(1,end) infinite}.tf-egg-couple-right .pa-beach-person-eye{animation-delay:.42s}.tf-egg-couple-heart{transform-box:fill-box;transform-origin:center;animation:tf-egg-beach-heart 4.8s ease-in-out infinite;animation-delay:calc(var(--heart-index) * -.43s)}@keyframes tf-egg-beach-sun{0%{opacity:.7}to{opacity:1}}@keyframes tf-egg-beach-smoke{0%{transform:translateY(6px);opacity:.28}58%{opacity:.58}to{transform:translateY(-15px);opacity:0}}@keyframes tf-egg-beach-couple{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes tf-egg-beach-person-left{0%{transform:translateY(0) rotate(-.5deg)}to{transform:translateY(-1.4px) rotate(-1.2deg)}}@keyframes tf-egg-beach-person-right{0%{transform:translateY(-1px) rotate(.5deg)}to{transform:translateY(-2.2px) rotate(1.3deg)}}@keyframes tf-egg-beach-blink{0%,44%,46%,to{opacity:1}45%{opacity:0}}@keyframes tf-egg-beach-heart{0%{opacity:0;transform:translateY(8px) scale(.82)}24%{opacity:.92}72%{opacity:.72}to{opacity:0;transform:translateY(-30px) scale(1.12)}}.pa-star{fill:#86c2ff;opacity:.58;animation:tf-egg-pixel-twinkle 4.2s steps(2,end) infinite;animation-delay:var(--star-delay)}.pa-star.is-bright{fill:#fff1b9;opacity:.95}.pa-star-soft{fill:#80b8ef;opacity:.24}.pa-moon-block{fill:var(--pa-gold)}.pa-moon-cut{fill:var(--pa-night)}.pa-line-soft{fill:#6ea6e138}.pa-line-faint{fill:#6ea6e11a}.pa-shadow{fill:#00071473}.pa-paper-edge{fill:#a8bfd8}.pa-paper{fill:var(--pa-paper)}.pa-envelope-fold{fill:#1f74c9}.pa-envelope-fold-light{fill:#4a9dff}.pa-seal-shadow{fill:#66243459}.pa-seal{fill:var(--pa-rose)}.pa-seal-mark{fill:#ffd5dd}.pa-letter{fill:#f0f5fa}.pa-letter-ink{fill:#4387c8}.pa-letter-ink-soft{fill:#a5bdd3}.pa-letter-lines{animation:tf-egg-letter-float 3.8s ease-in-out infinite}.pa-orbit-star{fill:var(--pa-gold);animation:tf-egg-orbit-twinkle 3.2s steps(2,end) infinite;animation-delay:calc(var(--orbit-index) * 35ms)}.pa-stream-dot{fill:var(--pa-blue-soft);animation:tf-egg-stream 2.2s steps(4,end) infinite;animation-delay:calc(var(--stream-index, 0) * 70ms)}.pa-monitor-shadow{fill:#00071473}.pa-monitor-frame{fill:#c4d9ed}.pa-screen{fill:#061326}.pa-screen-glow{fill:#77bcff;animation:tf-egg-screen-glow 3.2s steps(2,end) infinite}.pa-monitor-neck{fill:#9db8d3}.pa-monitor-base{fill:#b9cde0}.pa-scan-line{fill:#7dc0ff1a}.pa-keyboard-shadow{fill:#0007146b}.pa-keyboard-shell{fill:#d6e2ee}.pa-keyboard-bed{fill:#17365a}.pa-key{fill:#edf4fa}.pa-key-f,.pa-key-j{fill:#7dc1ff}.pa-spacebar{fill:#b6c9db}.pa-key-glow{fill:#fff1bd;animation:tf-egg-key-glow 2.4s steps(2,end) infinite}.pa-guide-line{fill:#76b3f23d}.pa-window-shadow{fill:#00071459}.pa-window-frame{fill:#bdd1e7}.pa-window-sky{fill:#071a34}.pa-window-bar{fill:#2f6ea7}.pa-window-star{fill:#93c7ff}.pa-window-moon{fill:var(--pa-gold)}.pa-time-tile{fill:#0e2849;stroke:#2d679e;stroke-width:1}.pa-calendar{fill:#eef6fd}.pa-calendar-top{fill:#ec8194}.pa-calendar-mark{fill:#4b9def}.pa-calendar-mark-soft{fill:#89b8e3}.pa-calendar-ring{fill:#a5bbd0}.pa-clock-face{fill:#eaf4fe}.pa-clock-hand{fill:#328de1}.pa-clock-ear,.pa-clock-foot{fill:#9ab5cf}.pa-moon-small{fill:var(--pa-gold)}.pa-time-spark{fill:#75b7f6}.pa-spark-stem{fill:#8cc9ff}.pa-footprint{fill:#ffe0a0}.pa-footprint-soft{fill:#85bdf1}.pa-big-key-shadow{fill:#0007146b}.pa-big-key{fill:#e7f2fc}.pa-big-key-glyph{fill:#207fd8}.pa-flow-dot{fill:#88c6ff;animation:tf-egg-stream 1.8s steps(4,end) infinite}.pa-word-shadow{fill:#0007144f}.pa-word-block{fill:#f7fbff}.pa-word-ink{fill:#256ba9}.pa-word-ink-soft{fill:#88afd0}.pa-letter-shadow{fill:#00071466}.pa-letter-reveal-paper{fill:#fffdf5}.pa-letter-reveal-ink{fill:#2d7fc6}.pa-letter-reveal-ink-soft{fill:#9db8cc}.pa-dawn-frame{fill:#c0d4e8}.pa-dawn-sky{fill:#173856}.pa-dawn-star{fill:#b1d6ff;opacity:.58}.pa-sunrise-block{fill:var(--pa-gold)}.pa-dawn-sill{fill:#9fb9d1}.pa-desk-edge{fill:#0a1f3a}.pa-desk-top{fill:#1f4e78}.pa-open-letter-shadow{fill:#0007146b}.pa-open-letter-paper{fill:#f8f7eb}.pa-open-letter-fold{fill:#e2e9ef}.pa-open-letter-ink{fill:#4e91c8}.pa-open-letter-ink-soft{fill:#a9bdce}.pa-open-letter-seal{fill:#d66d85}.pa-cup-shadow{fill:#00071452}.pa-cup-body{fill:#e6f2fb}.pa-cup-handle{fill:#b7ccdf}.pa-cup-light{fill:#fff}.pa-steam{fill:#8ec5f2;animation:tf-egg-steam 3s steps(3,end) infinite}.pa-steam-soft{fill:#8ec5f2;opacity:.55;animation:tf-egg-steam 3s .6s steps(3,end) infinite}.pa-letter-star{fill:#a9d5ff;animation:tf-egg-pixel-twinkle 3.5s steps(2,end) infinite}.pa-mini-frame{fill:#b8d0e8}.pa-mini-surface{fill:#eef7ff}.pa-mini-accent{fill:#64b2ff}.pa-mini-accent-soft{fill:#90c8f3}.tf-egg-star-detail [data-egg-star-detail].is-refreshing,[data-egg-star-detail].is-refreshing{animation:none}@keyframes tf-egg-app-in{0%{opacity:.92;scale:.996}to{opacity:1;scale:1}}@keyframes tf-egg-pixel-twinkle{0%,78%,to{opacity:.25}80%,90%{opacity:1}}@keyframes tf-egg-orbit-twinkle{0%,76%,to{opacity:.38}80%,91%{opacity:1}}@keyframes tf-egg-stream{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes tf-egg-letter-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes tf-egg-screen-glow{0%,88%,to{opacity:.7}90%,96%{opacity:1}}@keyframes tf-egg-key-glow{0%,74%,to{opacity:.28}78%,92%{opacity:1}}@keyframes tf-egg-steam{0%{opacity:0;transform:translateY(5px)}38%{opacity:.7}to{opacity:0;transform:translateY(-9px)}}@keyframes tf-egg-keyboard-wake{0%{transform:translateY(10px);filter:saturate(.3)}to{transform:translateY(0);filter:saturate(1)}}@keyframes tf-egg-line-draw{0%{stroke-dashoffset:8;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes tf-egg-star-pulse{0%,to{filter:drop-shadow(0 0 1px rgb(255 225 138 / 30%))}50%{filter:drop-shadow(0 0 9px rgb(255 225 138 / 72%))}}@keyframes tf-egg-letter-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-egg-final-letter{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-7px) scale(1.06)}to{transform:translateY(0) scale(1)}}@keyframes tf-egg-flow-complete{0%{fill:#88c6ff}50%{fill:#ffe596;transform:scale(1.8)}to{fill:#ffdc83;transform:scale(1)}}@keyframes tf-egg-envelope-letter-rise{0%{opacity:1;transform:translateY(0) rotate(0)}45%{opacity:1;transform:translateY(-86px) rotate(-2deg)}to{opacity:0;transform:translateY(-210px) rotate(2deg)}}@keyframes tf-egg-envelope-settle{0%{scale:1}48%{scale:.975}to{scale:1.035}}@keyframes tf-egg-envelope-seal-pop{0%{opacity:1;scale:1;rotate:0deg}42%{opacity:1;scale:1.28;rotate:-8deg}to{opacity:0;scale:.25;rotate:26deg}}@keyframes tf-egg-envelope-petal{0%{opacity:0;translate:0 0;scale:.4;rotate:0deg}20%{opacity:.9}to{opacity:0;translate:var(--px) var(--py);scale:1.2;rotate:120deg}}@keyframes tf-egg-film-star-lit{0%{scale:.4;opacity:0}55%{scale:1.25;opacity:1}to{scale:1;opacity:1}}@keyframes tf-egg-interaction-in{0%{opacity:0;translate:0 14px;scale:.965}to{opacity:1;translate:0 0;scale:1}}@keyframes tf-egg-details-open{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:root[data-theme=dark] .tf-egg-root{background:radial-gradient(circle at 14% 8%,rgb(191 103 125 / 11%),transparent 34%),radial-gradient(circle at 88% 92%,rgb(102 140 114 / 8%),transparent 30%),#010409c7}:root[data-theme=dark] .tf-egg-app{color:#e7eef8;background:radial-gradient(120% 80% at 12% -10%,rgb(154 78 99 / 12%),transparent 48%),radial-gradient(80% 60% at 94% 100%,rgb(102 140 114 / 9%),transparent 46%),linear-gradient(145deg,#080d15,#0c131e 58%,#09111c);border-color:#82aee61f;box-shadow:inset 0 1px #ffffff12,0 30px 90px #00000094}:root[data-theme=dark] .tf-egg-dither{opacity:.18;background-image:radial-gradient(circle,rgb(113 168 235 / 27%) 1px,transparent 1px)}:root[data-theme=dark] .tf-egg-ambient-poster,:root[data-theme=dark] .tf-egg-ambient-video{opacity:.34;filter:saturate(.68) brightness(.5)}:root[data-theme=dark] .tf-egg-ambient-veil{background:linear-gradient(180deg,#05090f7a,#080d1447 42%,#050a0e85),radial-gradient(circle at 50% 45%,transparent 0 36%,rgb(2 5 10 / 34%) 88%)}:root[data-theme=dark] .tf-egg-chrome{background:#090e16a8;border-color:#7ea7dd1a}:root[data-theme=dark] .tf-egg-archive-heading{background:radial-gradient(circle at 82% 84%,rgb(154 78 99 / 15%),transparent 30%),linear-gradient(135deg,#121922e8,#0d141dd1 58%,#0f1b17de);border-color:#aa79852e;box-shadow:6px 6px #4f738e17,inset 0 0 0 3px #ffffff0a}:root[data-theme=dark] .tf-egg-archive-garden{opacity:.34;mix-blend-mode:screen}:root[data-theme=dark] .tf-egg-brandmark small,:root[data-theme=dark] .tf-egg-progress-step,:root[data-theme=dark] .tf-egg-footer,:root[data-theme=dark] .tf-egg-lead,:root[data-theme=dark] .tf-egg-footnote{color:#7e8da1}:root[data-theme=dark] .tf-egg-brandmark strong,:root[data-theme=dark] .tf-egg-title{color:#edf4ff}:root[data-theme=dark] .tf-egg-control,:root[data-theme=dark] .tf-egg-icon-control{color:#a5b9d1;background:#121c2bbf;border-color:#6e9cd621;box-shadow:inset 0 1px #ffffff0d}:root[data-theme=dark] .tf-egg-control:hover,:root[data-theme=dark] .tf-egg-icon-control:hover{color:#c9e6ff;background:#1a293ef2;border-color:#4c9df94d}:root[data-theme=dark] .tf-egg-seal-facts{background:#7ea3d21a;border-color:#7ea3d21a}:root[data-theme=dark] .tf-egg-seal-facts span,:root[data-theme=dark] .tf-egg-key-ritual,:root[data-theme=dark] .tf-egg-final-card,:root[data-theme=dark] .tf-egg-memory-card,:root[data-theme=dark] .tf-egg-reply-box{background:#141f2fb8;border-color:#6b92c621;box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .tf-egg-seal-facts strong,:root[data-theme=dark] .tf-egg-memory-card strong,:root[data-theme=dark] .tf-egg-final-target span{color:#d9ebff}:root[data-theme=dark] .tf-egg-secondary,:root[data-theme=dark] .tf-egg-archive-tabs,:root[data-theme=dark] .tf-egg-archive-tabs button.is-active{color:#a9c0da;background:#141f2fc7;border-color:#6c97cc21;box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .tf-egg-secondary:hover{color:#d9efff;background:#1e3048f0}:root[data-theme=dark] .tf-egg-archive-tabs button.is-active{color:#d5edff;background:#213a58f0}:root[data-theme=dark] .tf-egg-final-input{color:#d8ebff;background:#0d1725eb;border-color:#304964}:root[data-theme=dark] .tf-egg-final-input:focus{background:#101e31}:root[data-theme=dark] .tf-egg-reply-box textarea{color:#d8e6f5;background:#0c1623eb;border-color:#2f4861}:root[data-theme=dark] .tf-egg-letter-paper{color:#29384a}:root[data-theme=dark] .tf-egg-letter-paper,:root[data-theme=dark] .tf-egg-letter-body p{color-scheme:light}:root[data-theme=dark] .tf-egg-archive-heading p:last-child,:root[data-theme=dark] .tf-egg-letter-heading>span,:root[data-theme=dark] .tf-egg-input-hint,:root[data-theme=dark] .tf-egg-memory-card span,:root[data-theme=dark] .tf-egg-memory-card p,:root[data-theme=dark] .tf-egg-reply-box label{color:#8091a6}@media(max-width:1120px){.tf-egg-progress-step>span:last-child{display:none}.tf-egg-progress-step:not(:last-child):after{margin-inline:8px}.tf-egg-scene-seal,.tf-egg-scene-origin,.tf-egg-scene-lesson{grid-template-columns:minmax(350px,.95fr) minmax(330px,1.05fr);gap:28px}.tf-egg-time-layout{grid-template-columns:minmax(280px,.72fr) minmax(380px,1.28fr)}.tf-egg-scene-stars{grid-template-columns:1fr}.tf-egg-star-layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:900px)and (hover:hover)and (pointer:fine){.tf-egg-root{padding:10px}.tf-egg-app{grid-template-rows:62px minmax(0,1fr) 30px;border-radius:4px}.tf-egg-chrome{grid-template-columns:auto 1fr auto;gap:12px;padding-inline:14px}.tf-egg-progress{justify-content:flex-end}.tf-egg-progress-step:not(:last-child):after{width:8px}.tf-egg-control span{display:none}.tf-egg-control{width:34px;padding:0}.tf-egg-stage{overflow-y:auto;scrollbar-width:thin}.tf-egg-scene-seal,.tf-egg-scene-origin,.tf-egg-scene-lesson,.tf-egg-scene-envelope,.tf-egg-scene-letter,.tf-egg-archive-content .tf-egg-scene-letter{grid-template-columns:1fr;height:auto;min-height:100%;padding:22px}.tf-egg-art-panel,.tf-egg-lesson-art,.tf-egg-envelope-art{min-height:300px}.tf-egg-envelope-art{width:100%;height:390px;justify-self:stretch}.tf-egg-art-panel>.tf-egg-art-svg,.tf-egg-lesson-art>.tf-egg-art-svg{width:min(76%,440px);height:340px}.tf-egg-copy-panel{max-width:none}.tf-egg-time-intro{grid-template-columns:1fr;gap:8px}.tf-egg-time-whisper{margin-top:8px}.tf-egg-scene-time{height:auto;min-height:100%}.tf-egg-time-layout{grid-template-columns:1fr}.tf-egg-time-art{min-height:270px}.tf-egg-star-layout,.tf-egg-archive-content .tf-egg-star-layout{grid-template-columns:1fr;overflow:visible}.tf-egg-constellation{min-height:360px}.tf-egg-star-detail{min-height:260px}.tf-egg-letter-art{min-height:270px}.tf-egg-letter-column{overflow:visible}.tf-egg-letter-reader{padding:20px}.tf-egg-letter-reader .tf-egg-letter-reader-paper{width:min(760px,92vw);max-height:none}.tf-egg-archive{height:auto;min-height:100%}.tf-egg-archive-content{overflow:visible}}@media(prefers-reduced-motion:reduce){.tf-egg-ambient-video{display:none}.tf-egg-ambient-poster{opacity:.46}.tf-egg-root,.tf-egg-app,.tf-egg-art-svg *,.tf-egg-mini-art *,.tf-egg-sea-wave,.tf-egg-seaside-birds,.tf-egg-seaside-grass,.tf-egg-scene-entrance.is-intro .tf-egg-seaside,.tf-egg-root[data-scene=entrance] .tf-egg-seaside-shell,.tf-egg-scene-entrance.is-intro .tf-egg-entrance-bloom,.tf-egg-congrats,.tf-egg-film-finale,.tf-egg-entrance-intro,.tf-egg-entrance-letter,.tf-egg-entrance-letter.is-opening,.tf-egg-letter-reader-paper,.tf-egg-scene-lesson.is-complete .pa-flow-dot,.tf-egg-scene-lesson.is-complete .tf-egg-final-target span,.tf-egg-star.is-selected,.tf-egg-film-interaction-body,.tf-egg-film-star-choice.is-lit{animation:none!important}.tf-egg-control,.tf-egg-icon-control,.tf-egg-primary,.tf-egg-secondary,.tf-egg-star,.tf-egg-star:before,.tf-egg-star:after,.tf-egg-star span,.tf-egg-ritual-key,.tf-egg-progress-step,.tf-egg-progress-dot,.tf-egg-memory-card,.tf-egg-final-input,.tf-egg-archive-tabs button{transition:none!important}.tf-egg-congrats{transition:none!important}.tf-egg-film-mode,.tf-egg-film-choice,.tf-egg-film-key,.tf-egg-film-star-choice:before,.tf-egg-film-star-choice:after{transition:none!important}.tf-egg-letter-body p{animation:none!important;opacity:1;transform:none}}@media(prefers-reduced-transparency:reduce){.tf-egg-root,.tf-egg-chrome{-webkit-backdrop-filter:none;backdrop-filter:none}.tf-egg-root{background:#edf3fb}.tf-egg-chrome,.tf-egg-control,.tf-egg-icon-control,.tf-egg-secondary,.tf-egg-seal-facts span,.tf-egg-key-ritual,.tf-egg-final-card,.tf-egg-memory-card,.tf-egg-reply-box{background-color:#fff}:root[data-theme=dark] .tf-egg-root{background:#02050a}:root[data-theme=dark] .tf-egg-chrome,:root[data-theme=dark] .tf-egg-control,:root[data-theme=dark] .tf-egg-icon-control,:root[data-theme=dark] .tf-egg-secondary,:root[data-theme=dark] .tf-egg-seal-facts span,:root[data-theme=dark] .tf-egg-key-ritual,:root[data-theme=dark] .tf-egg-final-card,:root[data-theme=dark] .tf-egg-memory-card,:root[data-theme=dark] .tf-egg-reply-box{background-color:#0c131e}}.tf-egg-scene-film.has-film-finale .tf-egg-film-frame{filter:saturate(.82) brightness(.78);scale:1.012}.tf-egg-film-finale{align-items:center;padding:clamp(28px,4vw,62px);overflow:hidden;background:radial-gradient(circle at 50% 45%,rgb(255 226 155 / 12%),transparent 31%),linear-gradient(180deg,#08111c6b,#050c15c7);animation:tf-egg-finale-in .42s cubic-bezier(.16,1,.3,1) both}.tf-egg-film-finale:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgb(255 249 230 / 2%) 0 1px,transparent 1px 7px),radial-gradient(circle at 50% 54%,transparent 30%,rgb(1 7 14 / 38%) 110%);pointer-events:none}.tf-egg-film-final-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tf-egg-film-final-stars i{position:absolute;width:4px;height:4px;background:#ffe5a0;box-shadow:0 0 12px #ffe286b3;animation:tf-egg-final-star 2.8s ease-in-out infinite}.tf-egg-film-final-stars i:nth-child(1){left:12%;top:18%;animation-delay:-.4s}.tf-egg-film-final-stars i:nth-child(2){left:26%;top:11%;animation-delay:-1.3s}.tf-egg-film-final-stars i:nth-child(3){right:18%;top:16%;animation-delay:-.9s}.tf-egg-film-final-stars i:nth-child(4){right:9%;top:35%;animation-delay:-2.1s}.tf-egg-film-final-stars i:nth-child(5){left:9%;top:47%;animation-delay:-1.7s}.tf-egg-film-final-stars i:nth-child(6){right:27%;top:9%;animation-delay:-.2s}.tf-egg-film-final-stars i:nth-child(7){left:37%;top:23%;animation-delay:-2.4s}.tf-egg-film-final-card{position:relative;z-index:2;width:min(920px,calc(100vw - 120px));padding:clamp(26px,3.4vw,42px) clamp(26px,4vw,56px) clamp(26px,3vw,38px);overflow:visible;color:#2d3550;text-align:center;background:linear-gradient(90deg,transparent 0 22px,rgb(181 96 102 / 9%) 22px 24px,transparent 24px),repeating-linear-gradient(0deg,transparent 0 31px,rgb(78 111 132 / 7%) 31px 32px),linear-gradient(145deg,#fff9e7,#f1ddae);border:4px solid #fff6df;border-radius:0;box-shadow:inset 0 0 0 3px #956f4226,10px 10px #02091159,0 40px 90px #01070e6b;clip-path:polygon(0 18px,9px 18px,9px 9px,18px 9px,18px 0,calc(100% - 18px) 0,calc(100% - 18px) 9px,calc(100% - 9px) 9px,calc(100% - 9px) 18px,100% 18px,100% calc(100% - 18px),calc(100% - 9px) calc(100% - 18px),calc(100% - 9px) calc(100% - 9px),calc(100% - 18px) calc(100% - 9px),calc(100% - 18px) 100%,18px 100%,18px calc(100% - 9px),9px calc(100% - 9px),9px calc(100% - 18px),0 calc(100% - 18px));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tf-egg-film-final-card:before,.tf-egg-film-final-card:after{content:"";position:absolute;width:28px;height:6px;background:#c99b58;box-shadow:0 3px #69483047}.tf-egg-film-final-card:before{left:38px;top:28px}.tf-egg-film-final-card:after{right:38px;bottom:28px}.tf-egg-film-final-card>p:first-of-type{margin:0;color:#9b4e5c;font:750 11px/1.4 Consolas,Courier New,monospace;letter-spacing:.16em}.tf-egg-film-final-card h2{margin:12px 0 0;color:#2d3550;font:760 clamp(36px,4.2vw,58px)/1.08 "Noto Serif SC","Songti SC",serif;letter-spacing:-.055em;text-shadow:2px 2px 0 rgb(255 255 255 / 48%)}.tf-egg-film-final-whisper{margin:15px 0 0;color:#655f55;font:520 15px/1.75 "Noto Serif SC",Songti SC,serif}.tf-egg-film-final-lantern{position:absolute;left:50%;top:-52px;width:38px;height:48px;translate:-50% 0;filter:drop-shadow(0 0 18px rgb(255 212 111 / 45%))}.tf-egg-film-final-lantern:before{content:"";position:absolute;left:15px;top:-12px;width:8px;height:13px;background:#5b4439}.tf-egg-film-final-lantern:after{content:"";position:absolute;left:10px;bottom:-11px;width:18px;height:10px;border-left:4px solid #5b4439;border-right:4px solid #5b4439}.tf-egg-film-final-lantern i{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7c95e;border:4px solid #6f4b39;box-shadow:inset 0 0 0 4px #fff6bf59;clip-path:polygon(18% 0,82% 0,82% 8%,100% 8%,100% 84%,82% 84%,82% 100%,18% 100%,18% 84%,0 84%,0 8%,18% 8%)}.tf-egg-film-final-sheet{position:relative;width:min(680px,100%);margin:24px auto 0;padding:33px 36px 26px;overflow:hidden;background:linear-gradient(90deg,transparent 0 31px,rgb(188 91 100 / 13%) 31px 33px,transparent 33px),repeating-linear-gradient(0deg,transparent 0 34px,rgb(81 116 135 / 12%) 34px 36px),#fffdf1;border:3px solid #d6c49c;box-shadow:inset 0 0 0 2px #ffffffb8,6px 6px #70533a1f}.tf-egg-film-final-sheet:after{content:"";position:absolute;right:24px;bottom:20px;width:20px;height:18px;background:#c95f70;filter:drop-shadow(3px 3px 0 rgb(123 55 67 / 22%));clip-path:polygon(0 15%,20% 0,40% 20%,50% 8%,60% 20%,80% 0,100% 15%,100% 48%,50% 100%,0 48%)}.tf-egg-film-final-sheet-label{display:block;color:#9b4e5c;font:750 10px/1.3 Consolas,Courier New,monospace;letter-spacing:.14em;text-align:left}.tf-egg-film-final-target{justify-content:center;gap:14px;margin-top:22px}.tf-egg-film-final-target span{position:relative;width:74px;height:78px;color:#857f72;font:750 36px/1 "Noto Serif SC",Songti SC,serif;background:linear-gradient(145deg,#f4efe1,#ded5c1);border:2px solid #b8aa8d;border-bottom:7px solid #9f9278;border-radius:0;box-shadow:inset 0 0 0 3px #ffffff6b,0 7px #463b2b17;transition:color .15s ease,background .18s ease,border-color .18s ease,scale .24s cubic-bezier(.16,1,.3,1),translate .24s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}.tf-egg-film-final-target span:after{content:"";position:absolute;left:50%;bottom:8px;width:19px;height:2px;background:currentColor;opacity:.2;translate:-50% 0}.tf-egg-film-final-target span.is-typed{color:#fff9e8;background:linear-gradient(145deg,#d87382,#a64b60);border-color:#8f4153;border-bottom-color:#713441;scale:1.08;translate:0 -5px;box-shadow:inset 0 0 0 3px #ffffff2e,0 0 0 5px #c95f701a,0 9px #622f3a29;animation:tf-egg-key-strike .42s cubic-bezier(.16,1,.3,1) both}.tf-egg-film-final-field{display:block;width:min(480px,100%);margin:22px auto 0}.tf-egg-film-final-field input{width:100%;height:58px;padding:0 18px;color:#2d3550;font:700 24px/1 "Noto Serif SC",Songti SC,serif;letter-spacing:.28em;text-align:center;background:linear-gradient(180deg,#ffffffb8,#f5eedbb3);border:2px solid #c8b998;border-bottom:5px solid #ad9d7e;border-radius:0;outline:none;box-shadow:inset 0 2px #715b390f;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,scale .16s ease}.tf-egg-film-final-field input::placeholder{color:#a59e8e;font:520 14px/1 "Noto Serif SC",Songti SC,serif;letter-spacing:.04em}.tf-egg-film-final-field input:hover{border-color:#b48478}.tf-egg-film-final-field input:focus{background:#fffef6;border-color:#c95f70;box-shadow:0 0 0 5px #c95f701a,inset 0 2px #715b390d}.tf-egg-film-final-field input:active{scale:.992}.tf-egg-film-final-field input[aria-invalid=true]{border-color:#bd4f63;box-shadow:0 0 0 5px #bd4f631c;animation:tf-egg-input-nudge .28s ease both}.tf-egg-film-final-hint{min-height:18px;margin:13px 0 0;color:#827a6a;font:520 12px/1.5 "Noto Serif SC",Songti SC,serif;letter-spacing:.02em}.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-hint{color:#7b4553;font-weight:700}.tf-egg-film-final-pen{position:absolute;left:58px;bottom:39px;width:4px;height:23px;background:#c95f70;opacity:0;animation:tf-egg-pen-idle 1s steps(1,end) infinite}.tf-egg-film-final-burst{position:absolute;left:50%;top:54%;z-index:4;width:1px;height:1px;pointer-events:none}.tf-egg-finale-heart{position:absolute;left:0;top:0;width:var(--heart-size);height:calc(var(--heart-size) * .88);background:#f08fa3;opacity:0;filter:drop-shadow(0 0 7px rgb(255 196 164 / 62%));clip-path:polygon(0 16%,20% 0,40% 20%,50% 8%,60% 20%,80% 0,100% 16%,100% 48%,50% 100%,0 48%)}.tf-egg-film-final-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;opacity:0;background:radial-gradient(circle at 50% 54%,#fff9d8 0 2%,rgb(255 199 157 / 65%) 12%,transparent 42%);pointer-events:none}.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-sheet{animation:tf-egg-paper-accept .76s cubic-bezier(.16,1,.3,1) both}.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-flash{animation:tf-egg-finale-flash .68s ease-out both}.tf-egg-scene-film.is-finale-complete .tf-egg-finale-heart{animation:tf-egg-heart-burst 1.12s cubic-bezier(.15,.72,.22,1) var(--heart-delay) both}.tf-egg-film-finale.is-finale-leaving{pointer-events:none}.tf-egg-film-finale.is-finale-leaving .tf-egg-film-final-card{animation:tf-egg-finale-away .26s ease-in both}.tf-egg-film-finale.is-finale-leaving .tf-egg-film-final-sheet,.tf-egg-film-finale.is-finale-leaving .tf-egg-film-final-lantern,.tf-egg-film-finale.is-finale-leaving .tf-egg-film-final-whisper{opacity:0;transition:opacity .18s ease-in}.tf-egg-congrats{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;display:flex;justify-content:center;min-width:0;padding:0;color:#fff8e7;background:radial-gradient(circle at 50% 48%,rgb(255 219 139 / 12%),transparent 30%),#050e1794;border:0;border-radius:0;box-shadow:none;translate:0 0;opacity:0;scale:1;transition:opacity .3s ease;pointer-events:none}.tf-egg-congrats:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 22%,#f8ca71 0 2px,transparent 3px),radial-gradient(circle at 81% 29%,#f2a0b4 0 2px,transparent 3px),radial-gradient(circle at 27% 76%,#f2a0b4 0 2px,transparent 3px),radial-gradient(circle at 73% 68%,#ffe9a8 0 2px,transparent 3px);opacity:.8}.tf-egg-congrats:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 18%,rgb(1 8 16 / 34%) 100%);border:0;rotate:0deg;translate:0 0}.tf-egg-congrats.is-visible{opacity:1;scale:1}.tf-egg-congrats strong{position:relative;z-index:2;align-self:center;padding:28px 48px;color:#2d3550;font:760 clamp(34px,4.8vw,64px)/1.2 "Noto Serif SC","Songti SC",serif;letter-spacing:.06em;background:repeating-linear-gradient(0deg,transparent 0 29px,rgb(82 111 127 / 7%) 29px 30px),linear-gradient(145deg,#fff9e7,#f1d7a8);border:4px solid #fff4d3;box-shadow:inset 0 0 0 3px #8f693f21,9px 9px #030a1252,0 30px 76px #02080f59;clip-path:polygon(0 18px,10px 18px,10px 10px,18px 10px,18px 0,calc(100% - 18px) 0,calc(100% - 18px) 10px,calc(100% - 10px) 10px,calc(100% - 10px) 18px,100% 18px,100% calc(100% - 18px),calc(100% - 10px) calc(100% - 18px),calc(100% - 10px) calc(100% - 10px),calc(100% - 18px) calc(100% - 10px),calc(100% - 18px) 100%,18px 100%,18px calc(100% - 10px),10px calc(100% - 10px),10px calc(100% - 18px),0 calc(100% - 18px));animation:tf-egg-congrats-plaque .54s cubic-bezier(.16,1,.3,1) both}.tf-egg-congrats-heart{position:absolute;z-index:2;left:50%;top:calc(50% - 104px);width:38px;height:34px;translate:-50% 0;filter:drop-shadow(0 0 14px rgb(255 180 165 / 44%));animation:tf-egg-congrats-heart .82s cubic-bezier(.16,1,.3,1) both}.tf-egg-letter-reader-paper .tf-egg-letter-closing{position:relative;display:flex;align-items:baseline;width:max-content;min-height:35px;padding:0 13px 7px 2px;color:#a9475c;font-family:"Noto Serif SC",Songti SC,serif;font-size:25px;font-weight:760;letter-spacing:.16em}.tf-egg-letter-reader-paper .tf-egg-letter-closing:after{content:"";position:absolute;left:3px;right:13px;bottom:1px;height:3px;background:linear-gradient(90deg,#c95f70,#e39a76 78%,transparent 78%);transform-origin:left center;animation:tf-egg-handwrite-underline 1.15s .52s cubic-bezier(.16,1,.3,1) both}.tf-egg-letter-reader-paper .tf-egg-letter-closing span{display:inline-block;opacity:0;transform-origin:20% 90%;filter:blur(3px);animation:tf-egg-handwrite-char .38s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.28s + var(--letter-index) * .32s)}.tf-egg-letter-pen{position:absolute;left:6px;bottom:5px;display:block;width:5px;height:25px;background:#c95f70;opacity:0;animation:tf-egg-hand-pen 1.2s .18s steps(1,end) both}@keyframes tf-egg-final-star{0%,to{opacity:.2;scale:.7}50%{opacity:.9;scale:1.25}}@keyframes tf-egg-key-strike{0%{translate:0 2px;scale:.94}55%{translate:0 -8px;scale:1.12}to{translate:0 -5px;scale:1.08}}@keyframes tf-egg-input-nudge{0%,to{translate:0 0}25%{translate:-5px 0}50%{translate:4px 0}75%{translate:-2px 0}}@keyframes tf-egg-pen-idle{0%,48%{opacity:.5}49%,to{opacity:0}}@keyframes tf-egg-paper-accept{0%{scale:1;rotate:0deg}38%{scale:1.035;rotate:-.5deg}70%{scale:.99;rotate:.25deg}to{scale:1.012;rotate:0deg}}@keyframes tf-egg-finale-flash{0%{opacity:0;scale:.65}17%{opacity:1;scale:1}to{opacity:0;scale:1.45}}@keyframes tf-egg-heart-burst{0%{opacity:0;transform:rotate(var(--heart-angle)) translate(0) scale(.2)}12%{opacity:1}64%{opacity:.96;transform:rotate(var(--heart-angle)) translate(var(--heart-distance)) scale(1.25)}to{opacity:0;transform:rotate(var(--heart-angle)) translate(var(--heart-distance)) translateY(52px) scale(.35)}}@keyframes tf-egg-finale-away{0%{opacity:1;scale:1}to{opacity:0;scale:.985}}@keyframes tf-egg-congrats-plaque{0%{opacity:0;transform:translateY(18px) scale(.88) rotate(-1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes tf-egg-congrats-heart{0%{opacity:0;translate:-50% 14px;scale:.4}58%{opacity:1;translate:-50% -8px;scale:1.18}to{opacity:1;translate:-50% 0;scale:1}}@keyframes tf-egg-handwrite-char{0%{opacity:0;transform:translateY(4px) rotate(-2deg) scale(.9);filter:blur(3px)}62%{opacity:1;transform:translateY(-1px) rotate(.4deg) scale(1.05);filter:blur(.25px)}to{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:blur(0)}}@keyframes tf-egg-handwrite-underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tf-egg-hand-pen{0%{opacity:0;translate:0 0}8%{opacity:.9}33%{translate:35px 0}34%,42%{opacity:0}43%{opacity:.9}66%{translate:70px 0}67%,75%{opacity:0}76%{opacity:.9}to{opacity:0;translate:105px 0}}@media(prefers-reduced-motion:reduce){.tf-egg-film-final-stars i,.tf-egg-film-final-card,.tf-egg-film-final-pen,.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-sheet,.tf-egg-scene-film.is-finale-complete .tf-egg-film-final-flash,.tf-egg-scene-film.is-finale-complete .tf-egg-finale-heart,.tf-egg-film-finale.is-finale-leaving .tf-egg-film-final-card,.tf-egg-congrats strong,.tf-egg-congrats-heart,.tf-egg-letter-reader-paper .tf-egg-letter-closing:after,.tf-egg-letter-reader-paper .tf-egg-letter-closing span,.tf-egg-letter-pen{animation:none!important}.tf-egg-film-finale,.tf-egg-film-final-target span,.tf-egg-film-final-field input,.tf-egg-congrats{transition:none!important}.tf-egg-letter-reader-paper .tf-egg-letter-closing span{opacity:1;filter:none;transform:none}.tf-egg-letter-reader-paper .tf-egg-letter-closing:after{transform:scaleX(1)}}.tf-egg-farm-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fff9e71a,#fff9e70d 43%,#1b312824),radial-gradient(circle at 50% 44%,transparent 0 52%,rgb(31 47 42 / 18%) 100%)}:root[data-theme=dark] .tf-egg-farm-shell:after{background:linear-gradient(180deg,#05101e57,#05101e42 46%,#0209116b),radial-gradient(circle at 55% 43%,transparent 0 42%,rgb(1 6 14 / 46%) 100%)}.tf-egg-farm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#8acfdc}.tf-egg-farm-poster,.tf-egg-farm-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}.tf-egg-farm-poster{z-index:0;background:url(/easter-egg/garden-loop-poster.png) center / cover no-repeat}.tf-egg-farm-video{z-index:1;display:block;pointer-events:none;filter:saturate(.92) contrast(.98) brightness(1.02)}.tf-egg-farm-backdrop.is-night .tf-egg-farm-poster{filter:brightness(.46) saturate(.68) hue-rotate(152deg) contrast(1.08)}.tf-egg-farm-backdrop.is-night .tf-egg-farm-video{filter:brightness(.44) saturate(.62) hue-rotate(154deg) contrast(1.12)}.tf-egg-farm-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 52% 45%,transparent 32%,rgb(18 34 35 / 13%) 110%)}.tf-egg-farm-backdrop.is-night:after{background:radial-gradient(circle at 50% 42%,transparent 18%,rgb(2 9 21 / 32%) 88%),linear-gradient(180deg,#0712221f,#040d1966)}.tf-egg-farm-stars,.tf-egg-farm-petals,.tf-egg-farm-fireflies,.tf-egg-farm-grass,.tf-egg-farm-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tf-egg-farm-stars,.tf-egg-farm-petals,.tf-egg-farm-fireflies{z-index:3}.tf-egg-farm-grass{z-index:4;top:auto;height:110px}.tf-egg-farm-veil{z-index:5;background:linear-gradient(180deg,rgb(255 252 238 / 9%),transparent 32% 73%,rgb(255 248 225 / 12%)),radial-gradient(circle at 50% 50%,rgb(255 246 209 / 4%),transparent 64%)}.tf-egg-farm-backdrop.is-night .tf-egg-farm-veil{background:linear-gradient(180deg,rgb(8 22 43 / 25%),transparent 34% 70%,rgb(2 8 16 / 34%)),radial-gradient(circle at 50% 48%,rgb(255 218 132 / 8%),transparent 58%)}.tf-egg-farm-stars{opacity:0;transition:opacity .42s ease}.tf-egg-farm-backdrop.is-night .tf-egg-farm-stars{opacity:1}.tf-egg-farm-star{position:absolute;left:var(--farm-x);top:var(--farm-y);width:3px;height:3px;background:#fff4bf;box-shadow:0 0 9px #ffe28f8a;animation:tf-egg-farm-twinkle 3.2s ease-in-out var(--farm-delay) infinite}.tf-egg-farm-star:nth-child(4n){width:2px;height:2px;background:#b9e1f1}.tf-egg-farm-star:nth-child(7n){width:4px;height:4px}.tf-egg-farm-petal{position:absolute;left:var(--farm-x);top:-7%;width:5px;height:4px;background:#f4b8c4;box-shadow:1px 1px #7a4d5224;opacity:.72;animation:tf-egg-farm-petal-fall var(--farm-duration) linear var(--farm-delay) infinite}.tf-egg-farm-petal:nth-child(3n){width:4px;height:3px;background:#ffe1c2}.tf-egg-farm-petal:nth-child(4n){background:#9dd5dc}.tf-egg-farm-firefly{position:absolute;left:var(--farm-x);top:var(--farm-y);width:4px;height:4px;background:#ffe28d;box-shadow:0 0 12px 4px #ffdc7d2e;opacity:.3;animation:tf-egg-farm-firefly 5.4s ease-in-out var(--farm-delay) infinite}.tf-egg-farm-backdrop.is-night .tf-egg-farm-firefly{opacity:.9}.tf-egg-farm-grass-blade{position:absolute;left:var(--farm-x);bottom:-2px;width:3px;height:var(--farm-height);background:#4f8a4b;transform-origin:bottom center;opacity:.46;animation:tf-egg-farm-grass-sway 4.8s ease-in-out var(--farm-delay) infinite alternate}.tf-egg-farm-grass-blade:nth-child(3n){width:2px;background:#84bc59}.tf-egg-farm-backdrop.is-night .tf-egg-farm-grass-blade{filter:brightness(.62) hue-rotate(150deg)}@keyframes tf-egg-farm-twinkle{0%,to{opacity:.22;transform:scale(.72)}46%{opacity:.94;transform:scale(1.18)}}@keyframes tf-egg-farm-petal-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}9%{opacity:.78}62%{transform:translate3d(var(--farm-drift),66vh,0) rotate(190deg)}to{opacity:0;transform:translate3d(var(--farm-drift),112vh,0) rotate(360deg)}}@keyframes tf-egg-farm-firefly{0%,to{opacity:.22;transform:translateZ(0) scale(.7)}36%{opacity:.96;transform:translate3d(12px,-13px,0) scale(1.2)}68%{opacity:.4;transform:translate3d(-8px,8px,0) scale(.9)}}@keyframes tf-egg-farm-grass-sway{0%{transform:rotate(-3deg) skew(-2deg)}to{transform:rotate(4deg) skew(3deg)}}.egg-confirm-world .tf-egg-farm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0}.egg-confirm-world .tf-egg-farm-video,.egg-confirm-world .tf-egg-farm-poster{object-position:50% 58%}@media(prefers-reduced-motion:reduce){.tf-egg-farm-star,.tf-egg-farm-petal,.tf-egg-farm-firefly,.tf-egg-farm-grass-blade{animation:none!important}.tf-egg-farm-petal{opacity:.32}.tf-egg-farm-firefly{opacity:.45}.tf-egg-farm-grass-blade{transform:none}}: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}.standard-content.stats-page{width:100%;max-width:none;padding:24px clamp(18px,1.5vw,24px) 48px}.stats-page .page-heading{min-height:44px;margin-bottom:26px}.stats-page .page-heading h1{margin:0;font-size:clamp(30px,3vw,38px);letter-spacing:-.035em;line-height:1.15;text-wrap:balance}.stats-page .stats-grid{gap:18px}.profile-page{width:100%;max-width:none;padding:8px clamp(4px,.7vw,10px) 28px}.profile-page-inner{gap:12px}.profile-page .profile-hero-card{gap:14px;min-height:108px;padding:16px clamp(18px,2vw,28px);border-radius:18px}.profile-page .profile-hero-avatar{width:52px;height:52px;font-size:23px}.profile-page .profile-nav-segmented{margin:0;min-height:54px}.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;flex:1 1 auto}@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;left:calc(var(--notice-sidebar-offset, 246px) + 18px);right:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;width:min(320px,calc(100vw - var(--notice-sidebar-offset, 246px) - 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)}}body{--notice-sidebar-offset:246px}body:not(.library-mode):not(.auth-mode){--notice-sidebar-offset:var(--sidebar-width,246px)}body.library-mode{--notice-sidebar-offset:var(--filter-width,302px)}body.auth-mode{--notice-sidebar-offset:0px}.notify-toast{position:fixed;left:calc(var(--notice-sidebar-offset) + 18px);right:auto;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 - var(--notice-sidebar-offset) - 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{left:12px;right:auto;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}}@property --tf-ring-progress{syntax: "<number>"; inherits: false; initial-value: 0;}@property --tf-donut-progress{syntax: "<number>"; inherits: false; initial-value: 0;}:root{--tf-ease-damped: cubic-bezier(.16, 1.18, .3, 1);--tf-ease-soft-damped: cubic-bezier(.2, 1.06, .32, 1)}.home-overview .time-ring{--tf-ring-progress: var(--progress, 0);--tf-ring-color: #ff6745;--tf-ring-track: #e4e7eb;background:conic-gradient(var(--tf-ring-color) calc(var(--tf-ring-progress) * 1%),var(--tf-ring-track) 0)}:root[data-theme=dark] .home-overview .time-ring{--tf-ring-color: var(--blue);--tf-ring-track: #303030}.stats-page .donut{--tf-donut-progress: var(--pct, 0);background:conic-gradient(#8bc7f5 calc(var(--tf-donut-progress) * 1%),var(--fill, #e6e9ee) 0)}.stats-page .stats-panel{transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.stats-page .stats-panel:hover{border-color:color-mix(in srgb,var(--blue) 18%,var(--line));box-shadow:0 12px 34px -24px color-mix(in srgb,var(--blue) 45%,transparent);transform:translateY(-1px)}:is(.home-overview,.stats-page)[data-stats-motion=pending] .time-ring{--tf-ring-progress: 0}:is(.home-overview,.stats-page)[data-stats-motion=pending] .donut{--tf-donut-progress: 0}:is(.home-overview,.stats-page)[data-stats-motion=pending] :is(.speed-bars>div>span,.attempt-bars>div>span,.time-chart-bars>div>.bar,.speed-history>div>span){opacity:.35;transform:scaleY(.03);transform-origin:50% 100%}:is(.home-overview,.stats-page)[data-stats-motion=ready] .time-ring{animation:tf-ring-draw 1.04s var(--tf-ease-damped) 80ms both}:is(.home-overview,.stats-page)[data-stats-motion=ready] .time-ring-item:nth-child(2) .time-ring{animation-delay:.16s}:is(.home-overview,.stats-page)[data-stats-motion=ready] .time-ring-item:nth-child(3) .time-ring{animation-delay:.24s}.stats-page[data-stats-motion=ready] .donut{animation:tf-donut-draw 1.16s var(--tf-ease-damped) .15s both}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.time-ring-item>strong>b,.time-breakdown>div>span){animation:tf-stat-status-settle .48s var(--tf-ease-soft-damped) both}.stats-page[data-stats-motion=ready] .time-breakdown>div:nth-child(2)>span{animation-delay:70ms}.stats-page[data-stats-motion=ready] .time-breakdown>div:nth-child(3)>span{animation-delay:.14s}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.section-heading>.pixel-icon,.panel-heading h2 svg){transform-origin:50% 70%;animation:tf-stat-icon-arrive .76s var(--tf-ease-damped) 60ms both}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.speed-bars>div>span,.attempt-bars>div>span,.time-chart-bars>div>.bar,.speed-history>div>span){transform-origin:50% 100%;animation:tf-stat-bar-rise .76s var(--tf-ease-damped) .22s both}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.speed-bars>div:nth-child(2)>span,.attempt-bars>div:nth-child(2)>span,.time-chart-bars>div:nth-child(2)>.bar,.speed-history>div:nth-child(2)>span){animation-delay:.28s}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.speed-bars>div:nth-child(3)>span,.attempt-bars>div:nth-child(3)>span,.time-chart-bars>div:nth-child(3)>.bar,.speed-history>div:nth-child(3)>span){animation-delay:.34s}.stats-page[data-stats-motion=ready] :is(.time-chart-bars>div:nth-child(n+4)>.bar,.speed-history>div:nth-child(n+4)>span){animation-delay:.39s}:is(.home-overview,.stats-page)[data-stats-motion=ready] :is(.overall-time strong,.time-overview strong,.performance-box>strong,.attempt-counts strong){animation:tf-stat-number-in .62s var(--tf-ease-damped) .26s both}:is(.home-overview,.stats-page)[data-stats-motion=ready] .time-overview strong{animation-delay:.21s}:is(.home-overview,.stats-page)[data-stats-motion=ready] .performance-box>strong{animation-delay:.33s}@keyframes tf-ring-draw{0%{--tf-ring-progress: 0}64%{--tf-ring-progress: calc(var(--progress) * 1.035)}84%{--tf-ring-progress: calc(var(--progress) * .988)}to{--tf-ring-progress: var(--progress)}}@keyframes tf-donut-draw{0%{--tf-donut-progress: 0}64%{--tf-donut-progress: calc(var(--pct) * 1.035)}84%{--tf-donut-progress: calc(var(--pct) * .988)}to{--tf-donut-progress: var(--pct)}}@keyframes tf-stat-status-settle{0%{opacity:.25;transform:scale(.4)}68%{opacity:1;transform:scale(1.18)}86%{transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes tf-stat-icon-arrive{0%{opacity:.35;transform:translateY(4px) rotate(-4deg) scale(.9)}70%{opacity:1;transform:translateY(-1px) rotate(1.5deg) scale(1.035)}to{opacity:1;transform:none}}@keyframes tf-stat-bar-rise{0%{opacity:.38;transform:scaleY(.03)}66%{opacity:1;transform:scaleY(1.08)}84%{transform:scaleY(.975)}to{opacity:1;transform:scaleY(1)}}@keyframes tf-stat-number-in{0%{opacity:.3;transform:translate3d(0,12px,0) scale(.96)}58%{opacity:1;transform:translate3d(0,-2px,0) scale(1.014)}78%{transform:translate3d(0,1px,0) scale(.996)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-overview .time-ring{--tf-ring-progress: var(--progress)}.stats-page .donut{--tf-donut-progress: var(--pct)}:is(.home-overview,.stats-page)[data-stats-motion] :is(.time-ring,.donut,.time-ring-item>strong>b,.time-breakdown>div>span,.section-heading>.pixel-icon,.panel-heading h2 svg,.speed-bars>div>span,.attempt-bars>div>span,.time-chart-bars>div>.bar,.speed-history>div>span,.overall-time strong,.time-overview strong,.performance-box>strong,.attempt-counts strong){animation:none;transition:none}.stats-page .stats-panel{transition:none}}.badges-page{--romance-ink: #2b3749;--romance-rose: #c85879;--romance-rose-deep: #91425c;--romance-blush: #ffeaf1;--romance-cream: #fffaf4;--romance-green: #769681;--romance-gold: #d8a948;position:relative;isolation:isolate;width:calc(100% - 32px);max-width:none;margin:16px auto 28px;padding:clamp(28px,3vw,44px) clamp(24px,3.4vw,52px) 64px;overflow:hidden;border:1px solid rgb(205 133 153 / 18%);border-radius:30px;background:radial-gradient(circle at 76% 9%,rgb(255 255 255 / 84%),transparent 25%),radial-gradient(circle at 13% 46%,rgb(243 177 197 / 24%),transparent 29%),radial-gradient(circle at 88% 78%,rgb(250 207 219 / 35%),transparent 32%),linear-gradient(145deg,#fff9fb,#fff3f6 44%,#fbe8ef);box-shadow:inset 0 1px #ffffffeb,0 22px 60px #633d4e14}.badges-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.38;background-image:linear-gradient(rgb(192 104 129 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(192 104 129 / 8%) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(125deg,transparent 4%,#000 46%,transparent 94%);mask-image:linear-gradient(125deg,transparent 4%,#000 46%,transparent 94%)}.badges-page:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:0;pointer-events:none;border:1px dashed rgb(203 122 145 / 16%);border-radius:22px}.badges-page>*{position:relative;z-index:1}.badge-romance-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0!important;overflow:hidden;pointer-events:none}.badge-romance-backdrop svg{display:block;width:100%;height:100%;opacity:.9;filter:saturate(.92);animation:badge-garden-in .78s cubic-bezier(.16,1,.3,1) both}.badge-romance-sway,.badge-romance-blossoms,.badge-romance-blossoms-late,.badge-romance-cloud,.badge-romance-hearts,.badge-romance-stars,.badge-romance-flowers,.badge-romance-ribbon{transform-box:fill-box;transform-origin:center;animation:badge-detail-in .62s cubic-bezier(.16,1,.3,1) both}.badge-romance-blossoms{animation-delay:70ms}.badge-romance-blossoms-late{animation-delay:.13s}.badge-romance-cloud{animation-delay:.18s}.badge-romance-hearts{animation-delay:.24s}.badge-romance-stars{animation-delay:.3s}.badge-romance-flowers{animation-delay:.36s}.badge-romance-ribbon{animation-delay:.41s}.badges-hero-panel{min-height:174px;padding:clamp(26px,3vw,34px);overflow:hidden;border:2px solid rgb(214 151 169 / 28%);border-radius:22px;background:linear-gradient(90deg,#ffffffcf,#fff7faad),repeating-linear-gradient(135deg,rgb(215 133 158 / 8%) 0 2px,transparent 2px 12px);box-shadow:inset 0 1px #fff,7px 7px #c97b931a,0 18px 42px #844a5f14}.badges-hero-panel:before{content:"";position:absolute;right:26px;bottom:21px;width:102px;height:72px;opacity:.38;background:linear-gradient(90deg,transparent 0 8px,#f1aabe 8px 16px,transparent 16px),linear-gradient(transparent 0 8px,#f7c6d2 8px 16px,transparent 16px);background-size:16px 16px;clip-path:polygon(0 64%,12% 64%,12% 48%,28% 48%,28% 32%,48% 32%,48% 16%,70% 16%,70% 0,100% 0,100% 100%,0 100%)}.badges-hero-panel:after{content:"";position:absolute;right:20%;top:24px;width:7px;height:7px;background:#e2839a;box-shadow:7px 0 #f5c0ce,-7px 0 #f5c0ce,0 7px #f5c0ce,0 -7px #f5c0ce,18px 16px #e9c36f,-26px 28px #b9d6c1;transform:rotate(12deg)}.badges-hero-panel.all-achieved{border-color:#bf688261;background:radial-gradient(circle at 82% 18%,rgb(240 196 113 / 20%),transparent 24%),linear-gradient(105deg,#fff9fb,#ffeef4 54%,#fff6e9)}.badges-hero-info{position:relative;z-index:1;max-width:720px}.badges-hero-tag{display:flex!important;align-items:center;gap:7px;color:var(--romance-rose-deep)}.badges-hero-tag .pixel-icon{width:18px;height:18px;color:var(--romance-gold)}.badges-hero-tag span{padding:5px 10px;color:var(--romance-rose-deep);font:700 10px/1.2 Consolas,Courier New,monospace;letter-spacing:.06em;background:#fff4f7;border:1px solid rgb(214 142 162 / 34%);border-radius:3px;box-shadow:2px 2px #c26f881a}.badges-hero-info h1{margin:12px 0 8px;color:var(--romance-ink);font-size:clamp(30px,3vw,38px);font-weight:780;letter-spacing:-.035em}.badges-hero-info p{display:block!important;max-width:660px;margin:0;color:#5e6474;font-size:13px;line-height:1.75}.badges-stats-row{margin-top:12px;color:var(--romance-ink)}.badges-stats-row strong{color:var(--romance-rose-deep)}.badges-progress-pill{color:var(--romance-rose-deep);background:#fff8fa;border:1px solid rgb(205 122 145 / 27%);border-radius:4px;box-shadow:2px 2px #cd7a9117}.badges-hero-action{position:relative;z-index:1}.egg-locked-hint{padding:12px 14px;color:#6d5a65;background:#ffffff9e;border:1px dashed rgb(186 118 139 / 27%);border-radius:10px}.badge-empty{position:relative;max-width:820px;margin:0 auto 42px;padding:42px 28px 40px;overflow:hidden;text-align:center;background:linear-gradient(135deg,#ffffffad,#fff4f8b8),repeating-linear-gradient(90deg,rgb(229 159 180 / 9%) 0 2px,transparent 2px 14px);border:2px solid rgb(215 151 169 / 24%);border-radius:22px;box-shadow:inset 0 1px #fff,6px 6px #cc7f9714}.badge-empty:before,.badge-empty:after{content:"";position:absolute;pointer-events:none}.badge-empty:before{left:22px;top:22px;width:6px;height:6px;background:#e695aa;box-shadow:8px 0 #f7c9d4,0 8px #f7c9d4,8px 8px #e695aa,28px 20px #e9c86e,52px 6px #bfd4c4}.badge-empty:after{right:24px;bottom:22px;width:48px;height:48px;opacity:.62;background:linear-gradient(90deg,transparent 0 16px,#e7a5b7 16px 32px,transparent 32px),linear-gradient(transparent 0 16px,#f4c8d2 16px 32px,transparent 32px)}.badge-illustration{width:226px;height:226px;margin:0 auto;border:4px solid #e5b6c4;border-radius:18px;background:radial-gradient(circle at 50% 40%,#fff 0 34%,transparent 35%),repeating-linear-gradient(0deg,#f9dce5 0,#f9dce5 8px,#fff2f6 8px,#fff2f6 16px);box-shadow:inset 0 0 0 5px #ffffffbd,8px 8px #c1728c1f}.badge-illustration>div{width:142px;height:142px;border:3px solid #e6c5cf;border-radius:14px;background:#fffafc;box-shadow:5px 5px #cc82991f}.badge-illustration>div>svg{width:72px;height:72px;color:#b84f70}.gold-ribbon{width:27px;height:92px;border-width:5px;border-color:#d7ad53}.laurel.left{left:3px;top:105px;color:#a8c1ad}.laurel.right{right:0;top:20px;color:#dcb65b}.laurel svg{width:58px;height:58px}.badge-empty h2{margin:24px 0 10px;color:var(--romance-ink);font-size:22px}.badge-empty p{color:#626576;font-size:13px;line-height:1.9}.badge-section-heading{margin-bottom:24px;color:#74616a;font-size:18px}.badges-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px 18px}.badge-card{display:flex;flex-direction:column;align-items:center;min-height:236px;padding:20px 14px 16px!important;border:2px solid rgb(213 155 172 / 21%)!important;border-radius:18px!important;background:linear-gradient(150deg,#ffffffd6,#fff4f8c7)!important;box-shadow:inset 0 1px #fff,5px 5px #c87b9312!important}.badge-card:hover{border-color:#cb698673!important;background:linear-gradient(150deg,#fff,#fff1f6)!important;box-shadow:inset 0 1px #fff,7px 7px #c87b931a,0 12px 30px #77425414!important}.badge-card:active{transform:translateY(0) scale(.98)!important}.badge-card:focus-visible{outline:2px solid #b95576;outline-offset:4px}.badge-card.earned{border-color:#d5ab5270!important;background:radial-gradient(circle at 84% 10%,rgb(241 206 123 / 25%),transparent 28%),linear-gradient(145deg,#fffaf0,#fff0f5)!important;box-shadow:inset 0 1px #fff,7px 7px #d6a9521a,0 12px 30px #77425414!important}.badge-medal{width:112px;height:112px;margin-bottom:12px;color:#a0707e;background:linear-gradient(135deg,#f8e6ec,#fff7fa);border:4px solid #d8b7c0;border-radius:14px;box-shadow:inset 0 0 0 4px #fff,5px 5px #ba7e9017;transition:transform .18s var(--ease-standard),border-color .18s ease,box-shadow .18s ease}.badge-medal svg{width:52px;height:52px}.badge-card:hover .badge-medal{transform:translateY(-3px) rotate(-2deg);border-color:#c9899c;box-shadow:inset 0 0 0 4px #fff,7px 7px #ba7e901f}.badge-card.earned .badge-medal{color:#996423;background:radial-gradient(circle at 40% 35%,#fffdf0,#ffedb3 72%);border-color:#d7af5d;box-shadow:inset 0 0 0 4px #fff9df,5px 5px #bc8b3321}.badge-card h3{margin:2px 0 8px;color:var(--romance-ink);font-size:14px}.badge-card p{color:#70707e;font-size:10.5px;line-height:1.65}:root[data-theme=dark] .badges-page{--romance-ink: #edf2f8;--romance-rose: #e69ab0;--romance-rose-deep: #efb5c5;border-color:#de97ac1f;background:radial-gradient(circle at 78% 8%,rgb(146 72 93 / 14%),transparent 26%),radial-gradient(circle at 12% 54%,rgb(107 82 128 / 11%),transparent 30%),linear-gradient(145deg,#12141a,#18141a 52%,#11161b);box-shadow:inset 0 1px #ffffff0d,0 22px 60px #00000052}:root[data-theme=dark] .badge-romance-backdrop{opacity:.42}:root[data-theme=dark] .badges-hero-panel,:root[data-theme=dark] .badges-hero-panel.all-achieved{background:linear-gradient(90deg,#18191fe8,#271920cf),repeating-linear-gradient(135deg,rgb(220 147 168 / 8%) 0 2px,transparent 2px 12px);border-color:#dc91a733;box-shadow:inset 0 1px #ffffff12,7px 7px #0000002e}:root[data-theme=dark] .badges-hero-tag span,:root[data-theme=dark] .badges-progress-pill{color:#efb5c5;background:#592d3b6b;border-color:#dc91a73d}:root[data-theme=dark] .badges-hero-info h1,:root[data-theme=dark] .badge-empty h2,:root[data-theme=dark] .badge-card h3{color:#edf2f8}:root[data-theme=dark] .badges-hero-info p,:root[data-theme=dark] .badge-empty p,:root[data-theme=dark] .badge-card p{color:#aeb4c0}:root[data-theme=dark] .egg-locked-hint,:root[data-theme=dark] .badge-empty,:root[data-theme=dark] .badge-card{background:linear-gradient(145deg,#1b1d25e0,#261b21d1)!important;border-color:#da91a629!important;box-shadow:inset 0 1px #ffffff0f,5px 5px #00000029!important}:root[data-theme=dark] .badge-card.earned{background:radial-gradient(circle at 84% 10%,rgb(189 139 54 / 16%),transparent 28%),linear-gradient(145deg,#1f1c1cf0,#301f24e0)!important;border-color:#daaf5d42!important}:root[data-theme=dark] .badge-illustration{background:radial-gradient(circle at 50% 40%,rgb(29 31 39 / 96%) 0 34%,transparent 35%),repeating-linear-gradient(0deg,#2b2026 0,#2b2026 8px,#231d23 8px,#231d23 16px);border-color:#6c4a57}:root[data-theme=dark] .badge-illustration>div{background:#1b1d24;border-color:#5d4651}:root[data-theme=dark] .badge-medal{color:#c99aaa;background:linear-gradient(135deg,#3a2930,#2a2229);border-color:#725462;box-shadow:inset 0 0 0 4px #1a1b21,5px 5px #0000002e}:root[data-theme=dark] .badge-card.earned .badge-medal{color:#f0cf7f;background:radial-gradient(circle at 40% 35%,#4d4028,#2e2a20 72%);border-color:#8d7442}@keyframes badge-garden-in{0%{opacity:0;transform:scale(1.015)}to{opacity:.9;transform:none}}@keyframes badge-detail-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.badge-romance-backdrop svg,.badge-romance-sway,.badge-romance-blossoms,.badge-romance-blossoms-late,.badge-romance-cloud,.badge-romance-hearts,.badge-romance-stars,.badge-romance-flowers,.badge-romance-ribbon{animation:none}.badge-card,.badge-medal{transition:none}}@media(prefers-reduced-transparency:reduce){.badges-page,.badges-hero-panel,.badge-empty,.badge-card{-webkit-backdrop-filter:none;backdrop-filter:none}.badges-page{background:#fff4f8}.badges-hero-panel,.badge-empty,.badge-card{background-color:#fffafc}:root[data-theme=dark] .badges-page{background:#12141a}:root[data-theme=dark] .badges-hero-panel,:root[data-theme=dark] .badge-empty,:root[data-theme=dark] .badge-card{background-color:#1b1d24}}#page-loader{--pl-bg: #fff7fa;--pl-ink: #382d39;--pl-muted: #846b78;--pl-line: #edd4dd;background:radial-gradient(120% 82% at 50% -14%,#fff,#fff7fa 42%,#fbe8ef)}#page-loader:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='xMidYMid slice' shape-rendering='crispEdges'%3E%3Cg fill='%23e895ad' opacity='.64'%3E%3Cpath d='M116 108h12v12h12v-12h12v24h-12v12h-12v-12h-12z'/%3E%3Cpath d='M286 650h8v8h8v-8h8v16h-8v8h-8v-8h-8z'/%3E%3Cpath d='M1380 560h10v10h10v-10h10v20h-10v10h-10v-10h-10z'/%3E%3Cpath d='M1205 121h7v7h7v-7h7v14h-7v7h-7v-7h-7z'/%3E%3C/g%3E%3Cg fill='%23f7c9d5' opacity='.74'%3E%3Cpath d='M190 180h18v18h18v-18h18v36h-18v18h-18v-18h-18z'/%3E%3Cpath d='M1294 274h12v12h12v-12h12v24h-12v12h-12v-12h-12z'/%3E%3Cpath d='M352 760h10v10h10v-10h10v20h-10v10h-10v-10h-10z'/%3E%3C/g%3E%3Cg fill='%23ffffff' opacity='.6'%3E%3Cpath d='M70 315h38v-14h45v14h38v28H70z'/%3E%3Cpath d='M93 342h76v10H93z' fill='%23f6d9e2'/%3E%3Cpath d='M1228 94h30v-12h40v12h34v22h-104z'/%3E%3Cpath d='M1248 115h70v8h-70z' fill='%23f5d4df'/%3E%3C/g%3E%3Cg fill='%23edc978' opacity='.78'%3E%3Cpath d='M269 334h5v17h-5zM263 340h17v5h-17z'/%3E%3Cpath d='M1178 450h5v17h-5zM1172 456h17v5h-17z'/%3E%3Cpath d='M1028 190h5v17h-5zM1022 196h17v5h-17z'/%3E%3C/g%3E%3Cg fill='%23bfd4c4' opacity='.72'%3E%3Cpath d='M135 430h8v74h-8zM107 460h8v8h8v-8h8v8h8v-8h8v24h-8v8h-8v-8h-8v8h-8v-8h-8z'/%3E%3Cpath d='M123 500h8v8h8v-8h8v8h8v-8h8v24h-8v8h-8v-8h-8v8h-8v-8h-8z'/%3E%3C/g%3E%3Cg stroke='%23d79aac' stroke-width='5' fill='none' opacity='.52'%3E%3Cpath d='M1452 44c-85 82-93 168-184 241-41 33-82 48-134 72'/%3E%3Cpath d='M1378 91c-42 2-71 15-93 41M1353 143c-41 12-66 34-83 66M1308 213c-39 16-62 41-75 75'/%3E%3C/g%3E%3Cg fill='%23e99ab0' opacity='.76'%3E%3Cpath d='M1368 60h14v14h-14zM1396 86h14v14h-14zM1333 126h14v14h-14zM1281 180h14v14h-14zM1245 244h14v14h-14zM1197 288h14v14h-14z'/%3E%3C/g%3E%3Cg fill='%23f5c3cf' opacity='.9'%3E%3Cpath d='M1414 95h11v11h-11zM1355 101h11v11h-11zM1312 151h11v11h-11zM1262 208h11v11h-11zM1217 266h11v11h-11z'/%3E%3C/g%3E%3C/svg%3E") center / cover no-repeat;opacity:.9;animation:pl-romance-in .9s cubic-bezier(.16,1,.3,1) both}#page-loader .pl-aurora{opacity:.58}#page-loader .pl-aurora i:nth-child(1){background:radial-gradient(circle,#f9cedb,#f9cedb00 68%)}#page-loader .pl-aurora i:nth-child(2){background:radial-gradient(circle,#ffe2e9,#ffe2e900 68%)}#page-loader .pl-aurora i:nth-child(3){background:radial-gradient(circle,#e7d6f3,#e7d6f300 68%)}#page-loader .pl-dots{z-index:0;opacity:.2;background-image:radial-gradient(rgb(149 82 103 / 22%) 1px,transparent 1px),radial-gradient(rgb(255 255 255 / 80%) 1px,transparent 1px);background-position:0 0,12px 12px;background-size:24px 24px}#page-loader .pl-shell{z-index:2}#page-loader .pl-scene{filter:drop-shadow(0 18px 26px rgb(121 68 88 / 14%))}#page-loader .pl-stage:before{background:radial-gradient(closest-side,#ffc4d57a,#ffc4d500 74%)}#page-loader .pl-progress{background:#e7c3cf8c}#page-loader .pl-fill{background:linear-gradient(90deg,#8bbaf5,#e8a5ba 48%,#e77b9e)}:root[data-theme=dark] #page-loader{--pl-bg: #151219;--pl-ink: #f1e8ed;--pl-muted: #b7a5ae;--pl-line: #503b45;background:radial-gradient(120% 82% at 50% -14%,#2a2029,#1d171e 44%,#100e13)}:root[data-theme=dark] #page-loader:before{opacity:.34}:root[data-theme=dark] #page-loader .pl-aurora{opacity:.34}:root[data-theme=dark] #page-loader .pl-dots{opacity:.12}:root[data-theme=dark] #page-loader .pl-scene{filter:drop-shadow(0 20px 32px rgb(0 0 0 / 54%))}@keyframes pl-romance-in{0%{opacity:0;transform:scale(1.015)}to{opacity:.9;transform:none}}@media(prefers-reduced-motion:reduce){#page-loader:before{animation:none}}.tf-egg-app{--garden-ink: #392b33;--garden-muted: #78636e;--garden-soft: #9d7c89;--garden-rose: #c65b79;--garden-rose-deep: #8e3e57;--garden-blush: #ffe8ef;--garden-pink: #f7cedb;--garden-cream: #fffaf5;--garden-surface: rgb(255 250 252 / 92%);--garden-surface-solid: #fffafc;--garden-line: rgb(192 104 131 / 28%);--garden-gold: #d7ad55;--garden-mint: #f0f7f1;color:var(--garden-ink);background:radial-gradient(110% 78% at 8% -8%,rgb(255 255 255 / 92%),transparent 40%),linear-gradient(145deg,#fffafc,#fff2f6 58%,#fbe6ed)}.tf-egg-romance-garden{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.72;transition:opacity .36s ease,transform .62s var(--ease-emphasized)}.tf-egg-romance-garden-svg{display:block;width:100%;height:100%}.tf-egg-root[data-scene=entrance] .tf-egg-romance-garden,.tf-egg-root[data-scene=film] .tf-egg-romance-garden{opacity:0}.tf-egg-root:not([data-scene=entrance]):not([data-scene=film]) .tf-egg-seaside-shell{opacity:0}.tf-egg-root[data-scene=archive] .tf-egg-romance-garden{opacity:.68;transform:scaleX(-1)}.tf-egg-root[data-scene=letter] .tf-egg-romance-garden{opacity:.48}.tf-egg-dither{opacity:.2;background-image:linear-gradient(rgb(198 91 121 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(198 91 121 / 8%) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 62%);mask-image:linear-gradient(to bottom,#000,transparent 62%)}.tf-egg-chrome{color:var(--garden-ink);background:#fff9fbe0;border-bottom:3px solid var(--garden-line);box-shadow:inset 0 1px #fff,0 4px #ffffff6b}.tf-egg-brand-icon{color:#fff;background:linear-gradient(145deg,#dc7f97,#ad4865);border:2px solid #8e3e57;box-shadow:4px 4px #8e3e572b}.tf-egg-brandmark small{color:#997582}.tf-egg-brandmark strong{color:var(--garden-ink)}.tf-egg-progress-step{color:#927987}.tf-egg-progress-step.is-active,.tf-egg-progress-step.is-complete{color:var(--garden-rose-deep)}.tf-egg-progress-dot{background:#d68da3;box-shadow:2px 2px #c65b7921}.tf-egg-progress-step.is-active .tf-egg-progress-dot{background:var(--garden-rose)}.tf-egg-control,.tf-egg-icon-control{color:#62444f;background:#fffbfcd6;border:2px solid var(--garden-line);box-shadow:3px 3px #95566a1a}.tf-egg-control:hover,.tf-egg-icon-control:hover{color:var(--garden-rose-deep);background:#fff;border-color:#b24e6d61;box-shadow:4px 4px #95566a24}.tf-egg-footer{color:#946f7c;background:#fff8fbc7;border-top:2px dashed rgb(170 109 128 / 20%)}.tf-egg-stage:before{background:linear-gradient(180deg,#ffffff14,#fff7fa2e 30%,#fff2f64d 72%,#6c4a550d),radial-gradient(circle at 50% 46%,transparent 0 48%,rgb(125 77 91 / 7%) 100%)}.tf-egg-root[data-scene=archive] .tf-egg-stage:before{background:linear-gradient(180deg,#ffffff14,#fff8fa38),radial-gradient(circle at 52% 44%,transparent 0 48%,rgb(125 77 91 / 6%) 100%)}.tf-egg-card-garden{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.82}.tf-egg-card-garden-svg{display:block;width:100%;height:100%}.tf-egg-envelope-art,.tf-egg-art-panel,.tf-egg-lesson-art,.tf-egg-time-art,.tf-egg-letter-art{background:radial-gradient(circle at 82% 14%,rgb(255 255 255 / 88%),transparent 30%),repeating-linear-gradient(135deg,rgb(204 118 143 / 7%) 0 2px,transparent 2px 14px),linear-gradient(145deg,#fffafc,#ffedf3 58%,#f9dfe7);border:3px solid rgb(213 147 166 / 42%);outline:2px solid rgb(255 255 255 / 70%);outline-offset:-6px;border-radius:4px;box-shadow:inset 0 0 0 4px #ffffff57,9px 9px #c4748d1f,0 24px 56px #5c31411c}.tf-egg-envelope-art:after,.tf-egg-art-panel:after,.tf-egg-lesson-art:after,.tf-egg-time-art:after,.tf-egg-letter-art:after{background:linear-gradient(90deg,transparent 49.8%,rgb(196 114 140 / 5%) 50%,transparent 50.2%),radial-gradient(circle at 50% 48%,transparent 42%,rgb(143 82 101 / 7%) 100%)}.tf-egg-envelope-art .tf-egg-art-svg,.tf-egg-art-panel>.tf-egg-art-svg,.tf-egg-lesson-art>.tf-egg-art-svg,.tf-egg-time-art>.tf-egg-art-svg,.tf-egg-letter-art>.tf-egg-art-svg{position:relative;z-index:2;filter:drop-shadow(0 12px 0 rgb(143 82 101 / 8%))}.tf-egg-art-label,.tf-egg-letter-art-meta{z-index:3;color:#845767;background:#fffafcd6;border:1px solid rgb(195 113 138 / 22%);box-shadow:2px 2px #a7607714}.tf-egg-art-label{padding:5px 8px}.tf-egg-scene-envelope{grid-template-columns:minmax(410px,.82fr) minmax(500px,1.18fr)}.tf-egg-envelope-copy,.tf-egg-copy-panel,.tf-egg-time-intro{background:radial-gradient(circle at 8% 6%,rgb(255 255 255 / 92%),transparent 24%),repeating-linear-gradient(135deg,rgb(197 104 132 / 5%) 0 2px,transparent 2px 16px),#fffafceb;border:3px solid rgb(207 133 155 / 32%);border-radius:4px;box-shadow:inset 0 0 0 3px #ffffff85,8px 8px #be6f881c;-webkit-backdrop-filter:none;backdrop-filter:none}.tf-egg-envelope-copy{padding:clamp(25px,2.8vw,40px)}.tf-egg-envelope-copy:before,.tf-egg-copy-panel:before{content:"";position:absolute;right:20px;top:18px;width:7px;height:7px;background:#d36e8c;box-shadow:7px 0 #f4c4d1,-7px 0 #f4c4d1,0 7px #f4c4d1,0 -7px #f4c4d1,18px 18px #e4bd66,-19px 25px #b8d1c0;rotate:12deg}.tf-egg-envelope-kicker,.tf-egg-eyebrow{color:var(--garden-rose-deep);font-family:Consolas,Courier New,monospace;letter-spacing:.14em}.tf-egg-envelope-kicker{display:inline-block;margin-bottom:14px;padding:5px 8px;background:#fff4f7;border:1px solid rgb(198 91 121 / 22%);box-shadow:2px 2px #c65b7914}.tf-egg-envelope-title{max-width:8em;color:var(--garden-ink);font:780 clamp(40px,4.2vw,62px)/1.12 "Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:-.055em;text-wrap:balance}.tf-egg-envelope-lead{color:var(--garden-muted);font:400 16px/1.9 Noto Sans SC,Microsoft YaHei,sans-serif}.tf-egg-envelope-open,.tf-egg-primary{color:#fffafc;background:linear-gradient(135deg,#cf6c87,#a74662);border:2px solid #8f3a53;box-shadow:5px 5px #86364e2e}.tf-egg-envelope-open:hover,.tf-egg-primary:hover{background:linear-gradient(135deg,#dc7e96,#b95270)}.tf-egg-envelope-hint{color:#9b7e89}.tf-egg-envelope-garden{left:-95px;bottom:-45px;width:690px;opacity:.28;mix-blend-mode:multiply}.tf-egg-envelope-art{background:radial-gradient(circle at 84% 15%,rgb(255 255 255 / 88%),transparent 25%),radial-gradient(circle at 16% 84%,rgb(218 137 160 / 15%),transparent 25%),repeating-linear-gradient(90deg,rgb(186 102 128 / 5%) 0 12px,transparent 12px 24px),linear-gradient(155deg,#fffafc,#ffe8ef 52%,#f7d3df)}.tf-egg-envelope-art .tf-egg-card-garden{opacity:.9}.tf-egg-envelope-art .pa-envelope-fold,.tf-egg-art-panel .pa-envelope-fold{fill:#e58ba4}.tf-egg-envelope-art .pa-envelope-fold-light,.tf-egg-art-panel .pa-envelope-fold-light{fill:#f3b5c5}.tf-egg-envelope-art .pa-letter,.tf-egg-art-panel .pa-letter{fill:#fffdf8}.tf-egg-envelope-art .pa-letter-ink,.tf-egg-art-panel .pa-letter-ink{fill:#c65b79}.tf-egg-envelope-art .pa-letter-ink-soft,.tf-egg-art-panel .pa-letter-ink-soft{fill:#e1b4c1}.tf-egg-envelope-art .pa-paper-edge,.tf-egg-art-panel .pa-paper-edge{fill:#dfb8c5}.tf-egg-envelope-art .pa-star,.tf-egg-art-panel .pa-star{fill:#d36f8d}.tf-egg-envelope-art .pa-star.is-bright,.tf-egg-art-panel .pa-star.is-bright{fill:#d9ab50}.tf-egg-envelope-art .pa-orbit-star,.tf-egg-art-panel .pa-orbit-star{fill:#e0b359}.tf-egg-envelope-art .pa-moon-cut,.tf-egg-art-panel .pa-moon-cut{fill:#ffeaf1}.tf-egg-envelope-art .pa-line-soft,.tf-egg-art-panel .pa-line-soft{fill:#b0688026}.tf-egg-art-panel .pa-monitor-shadow,.tf-egg-lesson-art .pa-shadow,.tf-egg-lesson-art .pa-word-shadow{fill:#6b3f4e29}.tf-egg-art-panel .pa-monitor-frame,.tf-egg-art-panel .pa-monitor-neck,.tf-egg-art-panel .pa-monitor-base{fill:#e3c1ca}.tf-egg-art-panel .pa-screen{fill:#fff4f8}.tf-egg-art-panel .pa-screen-glow,.tf-egg-art-panel .pa-key-f,.tf-egg-art-panel .pa-key-j{fill:#c6607d}.tf-egg-art-panel .pa-keyboard-shell,.tf-egg-art-panel .pa-key{fill:#fff9fb}.tf-egg-art-panel .pa-keyboard-bed{fill:#d79aab}.tf-egg-art-panel .pa-spacebar{fill:#e2b8c4}.tf-egg-lesson-art .pa-big-key{fill:#fffafc}.tf-egg-lesson-art .pa-big-key-glyph,.tf-egg-lesson-art .pa-flow-dot{fill:#b95270}.tf-egg-lesson-art .pa-word-block{fill:#fffafc}.tf-egg-lesson-art .pa-word-ink{fill:#a84965}.tf-egg-lesson-art .pa-word-ink-soft{fill:#d8a8b7}.tf-egg-letter-art,.tf-egg-time-art{background:radial-gradient(circle at 76% 14%,rgb(255 255 255 / 94%),transparent 28%),linear-gradient(90deg,rgb(220 136 159 / 8%) 1px,transparent 1px),linear-gradient(rgb(220 136 159 / 8%) 1px,transparent 1px),linear-gradient(145deg,#fffafb,#ffedf3 58%,#f9dce6);background-size:auto,18px 18px,18px 18px,auto}.tf-egg-letter-art>.tf-egg-card-garden,.tf-egg-time-art>.tf-egg-card-garden{opacity:.72}.tf-egg-letter-art .pa-dawn-frame{fill:#dfbdca}.tf-egg-letter-art .pa-dawn-sky{fill:#ffe7ee}.tf-egg-letter-art .pa-dawn-star,.tf-egg-letter-art .pa-letter-star{fill:#d26c8b}.tf-egg-letter-art .pa-sunrise-block{fill:#e2b55d}.tf-egg-letter-art .pa-dawn-sill{fill:#cda5b4}.tf-egg-letter-art .pa-desk-edge{fill:#b47686}.tf-egg-letter-art .pa-desk-top{fill:#ebc5d0}.tf-egg-letter-art .pa-open-letter-paper{fill:#fffdf7}.tf-egg-letter-art .pa-open-letter-fold{fill:#f6dfe6}.tf-egg-letter-art .pa-open-letter-ink{fill:#c26780}.tf-egg-letter-art .pa-open-letter-ink-soft{fill:#ddb7c1}.tf-egg-letter-art .pa-cup-body{fill:#fff9f7}.tf-egg-letter-art .pa-cup-handle,.tf-egg-letter-art .pa-cup-light{fill:#e4c1ca}.tf-egg-letter-art .pa-steam,.tf-egg-letter-art .pa-steam-soft{fill:#d7a2b2}.tf-egg-letter-art-meta{color:#815362;font-size:8.5px}.tf-egg-letter-heading{background:linear-gradient(135deg,#fffcfdf0,#ffeef4e5);border:2px solid var(--garden-line);box-shadow:5px 5px #b5688117}.tf-egg-letter-heading>p{color:var(--garden-rose-deep)}.tf-egg-letter-heading>span{color:var(--garden-soft)}.tf-egg-letter-paper{color:#3c3036;background:linear-gradient(90deg,transparent 0 39px,rgb(211 110 139 / 17%) 39px 40px,transparent 40px),repeating-linear-gradient(0deg,transparent 0 29px,rgb(177 119 138 / 8%) 29px 30px),#fffdf8;border:3px solid #dfc2ca;box-shadow:8px 8px #c1718a1f,0 24px 44px #5b334317,inset 0 1px #fff}.tf-egg-letter-greeting{color:#873b54}.tf-egg-letter-body p{color:#53434a}.tf-egg-letter-closing{color:var(--garden-rose-deep)}.tf-egg-reply-box{background:#fffafce0;border:2px solid var(--garden-line);box-shadow:4px 4px #b5688114}.tf-egg-reply-box summary,.tf-egg-reply-box label{color:#72515f}.tf-egg-reply-box textarea{color:#3e3037;background:#fffdfd;border-color:#dfc1ca}.tf-egg-archive{color:var(--garden-ink)}.tf-egg-archive-heading{background:radial-gradient(circle at 84% 18%,rgb(255 255 255 / 86%),transparent 24%),linear-gradient(135deg,#fffcfdf2,#ffedf4eb 58%,#f7ebf0f0);border:3px solid rgb(201 119 143 / 30%);border-radius:4px;box-shadow:inset 0 0 0 3px #ffffff8c,7px 7px #bb6f871c}.tf-egg-archive-heading .tf-egg-eyebrow{margin-bottom:5px;color:var(--garden-rose-deep)}.tf-egg-archive-heading .tf-egg-title{color:var(--garden-ink);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;letter-spacing:-.04em}.tf-egg-archive-heading p:last-child{color:var(--garden-soft);font-size:10.5px;font-family:Consolas,Courier New,monospace;letter-spacing:.04em}.tf-egg-archive-garden{top:8px;right:95px;width:min(410px,34%);opacity:.74;mix-blend-mode:multiply}.tf-egg-replay,.tf-egg-secondary{color:#654752;background:#fffbfceb;border:2px solid var(--garden-line);box-shadow:3px 3px #9a586d17}.tf-egg-secondary:hover{color:var(--garden-rose-deep);background:#fff;border-color:#b856745c}.tf-egg-archive-tabs{background:#fff4f8e0;border:2px solid rgb(192 104 131 / 24%);box-shadow:4px 4px #97556917}.tf-egg-archive-tabs button{color:#836773;font-size:10.5px}.tf-egg-archive-tabs button:hover{color:var(--garden-rose-deep);background:#ffffff8f}.tf-egg-archive-tabs button.is-active{color:#7e304a;background:#fffafc;border-color:#c65b7942;box-shadow:3px 3px #c65b791c}.tf-egg-scene-stars{background:radial-gradient(circle at 50% 45%,rgb(255 255 255 / 65%),transparent 38%),linear-gradient(145deg,#fff9fbb8,#ffeaf299);border:1px solid rgb(196 112 138 / 15%);border-radius:5px}.tf-egg-scene-stars .tf-egg-eyebrow{color:var(--garden-rose-deep)}.tf-egg-scene-stars .tf-egg-title{color:var(--garden-ink)}.tf-egg-scene-stars .tf-egg-lead{color:var(--garden-muted)}.tf-egg-constellation{background:#ffeef4;border:3px solid rgb(196 112 138 / 30%);outline:2px solid rgb(255 255 255 / 68%);outline-offset:-6px;box-shadow:inset 0 0 0 4px #ffffff4d,8px 8px #b8698117}.tf-egg-star-scenery{opacity:.92}.tf-egg-constellation:after{background:linear-gradient(180deg,#ffffff12,#f9dce61f),radial-gradient(circle at 50% 44%,transparent 0 50%,rgb(156 89 110 / 8%) 88%)}.tf-egg-constellation-line{stroke:#b0647c42}.tf-egg-constellation-core{color:#8f4c6233}.tf-egg-star:before,.tf-egg-star:after{background:#b85d7b}.tf-egg-star span{background:#fff;box-shadow:0 0 0 2px #b85d7b1f}.tf-egg-star:hover:before,.tf-egg-star:hover:after,.tf-egg-star.is-selected:before,.tf-egg-star.is-selected:after{background:#d8a84d;box-shadow:0 0 12px #d8a84d85}.tf-egg-star:hover span,.tf-egg-star.is-selected span{background:#fff4bd;box-shadow:0 0 12px #d8a84d73}.tf-egg-star.is-visited:not(.is-selected):before,.tf-egg-star.is-visited:not(.is-selected):after{background:#79a78e}.tf-egg-star:nth-of-type(5n):before,.tf-egg-star:nth-of-type(5n):after{background:#d8819a}.tf-egg-star:nth-of-type(7n):before,.tf-egg-star:nth-of-type(7n):after{background:#d8aa4f}.tf-egg-constellation-note{color:#8e5368;background:#fffafcb8;padding:5px 7px;border:1px solid rgb(197 113 139 / 16%);box-shadow:2px 2px #99586d12}.tf-egg-star-detail{position:relative;justify-content:flex-start;overflow:hidden;color:var(--garden-ink);background:radial-gradient(circle at 86% 8%,rgb(255 255 255 / 92%),transparent 26%),repeating-linear-gradient(135deg,rgb(198 91 121 / 5%) 0 2px,transparent 2px 15px),linear-gradient(150deg,#fffafc,#ffe9f0);border:3px solid rgb(197 112 138 / 30%);outline:2px solid rgb(255 255 255 / 66%);outline-offset:-6px;box-shadow:inset 0 0 0 4px #ffffff4d,8px 8px #b8698117}.tf-egg-star-detail-garden{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;opacity:.58}.tf-egg-star-detail-garden .tf-egg-card-garden-svg{display:block;width:100%;height:100%}.tf-egg-star-detail>div{width:100%}.tf-egg-star-detail>div[data-egg-star-detail]{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100%}.tf-egg-star-detail-head{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px}.tf-egg-star-emblem{width:36px;height:36px;margin:0}.tf-egg-star-emblem i{width:6px;height:6px;background:#d5a74c;box-shadow:none}.tf-egg-star-index{margin:0 0 3px;color:#9b6678;font-size:8px;letter-spacing:.08em}.tf-egg-star-detail h3{color:#432f39;font-size:clamp(21px,1.9vw,27px);line-height:1.2}.tf-egg-star-line{margin:18px 0 0;padding:14px 0 16px;color:#5d3d4a;font:600 clamp(14px,1.15vw,17px)/1.8 "Noto Serif SC","Songti SC",serif;border-top:1px dashed rgb(184 105 129 / 22%);border-bottom:1px dashed rgb(184 105 129 / 22%)}.tf-egg-star-source{margin:22px 0 0;padding-top:17px;color:#745864}.tf-egg-archive .tf-egg-star-detail>div[data-egg-star-detail]{justify-content:center}.tf-egg-star-source>span{display:inline-block;margin-bottom:7px;padding:3px 6px;color:#8e3e57;font:700 9px/1 Consolas,Courier New,monospace;letter-spacing:.06em;background:#fff3f7;border:1px solid rgb(198 91 121 / 18%)}.tf-egg-star-source p{margin:0;color:#725864;font-size:12px;line-height:1.75}.tf-egg-star-detail .tf-egg-primary{width:100%;margin-top:24px}.tf-egg-time-intro{background:radial-gradient(circle at 84% 10%,rgb(255 255 255 / 90%),transparent 26%),linear-gradient(135deg,#fffbfcf0,#ffebf2e0)}.tf-egg-time-whisper,.tf-egg-bottom-actions p{color:var(--garden-muted)}.tf-egg-time-garden{opacity:.18;mix-blend-mode:multiply}.tf-egg-time-art{background:radial-gradient(circle at 78% 12%,rgb(255 255 255 / 92%),transparent 27%),repeating-linear-gradient(135deg,rgb(198 91 121 / 7%) 0 2px,transparent 2px 15px),linear-gradient(145deg,#fffafc,#ffebf2 60%,#f7dce5)}.tf-egg-time-art:before{background:#fff6f9e0;border-color:#c4708a3d}.tf-egg-time-art .pa-window-frame{fill:#ddbdc8}.tf-egg-time-art .pa-window-sky{fill:#ffe8ef}.tf-egg-time-art .pa-window-bar{fill:#d28ca1}.tf-egg-time-art .pa-window-star,.tf-egg-time-art .pa-time-spark,.tf-egg-time-art .pa-spark-stem{fill:#c05c7a}.tf-egg-time-art .pa-window-moon,.tf-egg-time-art .pa-moon-small{fill:#d8aa4e}.tf-egg-time-art .pa-time-tile{fill:#fffafc;stroke:#dfb4c1}.tf-egg-time-art .pa-calendar,.tf-egg-time-art .pa-clock-face{fill:#fff5f8}.tf-egg-time-art .pa-calendar-top{fill:#ce708b}.tf-egg-time-art .pa-calendar-mark,.tf-egg-time-art .pa-clock-hand{fill:#ad4f6c}.tf-egg-time-art .pa-calendar-mark-soft,.tf-egg-time-art .pa-calendar-ring,.tf-egg-time-art .pa-clock-ear,.tf-egg-time-art .pa-clock-foot{fill:#d7a5b4}.tf-egg-memory-grid{gap:13px}.tf-egg-memory-grid:before{border-left-color:#bc70873d}.tf-egg-memory-card{grid-template-columns:66px minmax(0,1fr);gap:14px;min-height:92px;padding:17px;color:var(--garden-ink);background:linear-gradient(135deg,#fffafcf7,#ffebf2ed);border:2px solid rgb(198 108 135 / 24%);border-radius:4px;box-shadow:inset 0 0 0 3px #ffffff5c,5px 5px #ab607814}.tf-egg-memory-card:after{content:"";position:absolute;right:14px;top:13px;width:5px;height:5px;background:#d3718d;box-shadow:5px 0 #f1b9c8,-5px 0 #f1b9c8,0 5px #f1b9c8,0 -5px #f1b9c8}.tf-egg-memory-card[data-kind=calendar]{background:radial-gradient(circle at 94% 10%,rgb(255 255 255 / 88%),transparent 24%),linear-gradient(135deg,#fff9fb,#ffe7ef)}.tf-egg-memory-card[data-kind=clock]{background:radial-gradient(circle at 94% 10%,rgb(255 255 255 / 88%),transparent 24%),linear-gradient(135deg,#fffdf8,#fdf1d9);border-color:#cfa64d42}.tf-egg-memory-card[data-kind=moon]{background:radial-gradient(circle at 94% 10%,rgb(255 255 255 / 88%),transparent 24%),linear-gradient(135deg,#fbfaff,#eee9f5);border-color:#9d84ae40}.tf-egg-memory-card[data-kind=steps]{background:radial-gradient(circle at 94% 10%,rgb(255 255 255 / 88%),transparent 24%),linear-gradient(135deg,#fbfdf9,#e8f3e9);border-color:#759a7c3d}.tf-egg-memory-card:hover{background-color:#fff;border-color:#b7537261;box-shadow:inset 0 0 0 3px #fff6,7px 7px #ab60781a}.tf-egg-memory-index{top:12px;right:23px;color:#663e4e47}.tf-egg-memory-art{width:66px;height:66px;background:#fff6f9;border:2px solid rgb(197 113 139 / 22%);border-radius:3px;box-shadow:3px 3px #99586d12}.tf-egg-mini-art .pa-mini-frame{fill:#dca9b8}.tf-egg-mini-art .pa-mini-surface{fill:#fff9fb}.tf-egg-mini-art .pa-mini-accent{fill:#b95370}.tf-egg-mini-art .pa-mini-accent-soft{fill:#e2b1be}.tf-egg-memory-card span{color:var(--garden-rose-deep);font-size:9.5px;letter-spacing:.04em}.tf-egg-memory-card strong{margin-top:5px;color:#402b35;font-size:clamp(17px,1.4vw,21px);letter-spacing:-.025em}.tf-egg-memory-card p{display:-webkit-box;margin-top:7px;overflow:hidden;color:#775d68;font-size:10.5px;line-height:1.5;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tf-egg-copy-panel{max-width:590px}.tf-egg-title{color:var(--garden-ink);font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.tf-egg-lead,.tf-egg-footnote{color:var(--garden-muted)}.tf-egg-final-card,.tf-egg-key-ritual,.tf-egg-seal-facts{background:#fffafce0;border:2px solid rgb(195 112 138 / 22%);box-shadow:inset 0 0 0 3px #ffffff57,5px 5px #ab607814}.tf-egg-primary,.tf-egg-envelope-open{color:#fffafc;background:linear-gradient(135deg,#cf6c87,#a74662);border:2px solid #8f3a53;box-shadow:5px 5px #86364e2b}.tf-egg-final-input{color:#4b3540;background:#fffdfd;border-color:#dfbcc7}@media(prefers-reduced-motion:reduce){.tf-egg-romance-garden,.tf-egg-card-garden{transition:none}}@media(prefers-reduced-transparency:reduce){.tf-egg-envelope-copy,.tf-egg-copy-panel,.tf-egg-chrome,.tf-egg-footer,.tf-egg-archive-heading,.tf-egg-star-detail,.tf-egg-memory-card,.tf-egg-reply-box,.tf-egg-final-card{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#fffafc}}:root[data-theme=dark] .tf-egg-app{--garden-ink: #f6e9ef;--garden-muted: #c8b4bd;--garden-soft: #ab929c;--garden-rose: #de89a2;--garden-rose-deep: #f0b2c4;--garden-surface: rgb(42 28 35 / 92%);--garden-surface-solid: #2a1c23;--garden-line: rgb(229 155 176 / 18%);background:radial-gradient(120% 78% at 12% -10%,rgb(151 74 96 / 14%),transparent 48%),linear-gradient(145deg,#140f13,#1c1218 58%,#110e12)}:root[data-theme=dark] .tf-egg-romance-garden{opacity:.24;filter:saturate(.72) brightness(.7)}:root[data-theme=dark] .tf-egg-chrome,:root[data-theme=dark] .tf-egg-footer{background:#181015db;border-color:#de8fa621}:root[data-theme=dark] .tf-egg-brandmark strong,:root[data-theme=dark] .tf-egg-progress-step,:root[data-theme=dark] .tf-egg-control,:root[data-theme=dark] .tf-egg-icon-control{color:#eadde4}:root[data-theme=dark] .tf-egg-control,:root[data-theme=dark] .tf-egg-icon-control,:root[data-theme=dark] .tf-egg-secondary{background:#2d1e26e0;border-color:#e197ac2b;box-shadow:3px 3px #00000029}:root[data-theme=dark] .tf-egg-envelope-copy,:root[data-theme=dark] .tf-egg-copy-panel,:root[data-theme=dark] .tf-egg-time-intro,:root[data-theme=dark] .tf-egg-archive-heading,:root[data-theme=dark] .tf-egg-letter-heading,:root[data-theme=dark] .tf-egg-star-detail,:root[data-theme=dark] .tf-egg-memory-card,:root[data-theme=dark] .tf-egg-reply-box,:root[data-theme=dark] .tf-egg-final-card,:root[data-theme=dark] .tf-egg-key-ritual,:root[data-theme=dark] .tf-egg-seal-facts{background:radial-gradient(circle at 88% 8%,rgb(198 111 137 / 10%),transparent 26%),repeating-linear-gradient(135deg,rgb(222 143 166 / 5%) 0 2px,transparent 2px 15px),#261920f0;border-color:#dc8ea42e;box-shadow:inset 0 0 0 3px #ffffff08,6px 6px #00000029}:root[data-theme=dark] .tf-egg-envelope-art,:root[data-theme=dark] .tf-egg-art-panel,:root[data-theme=dark] .tf-egg-lesson-art,:root[data-theme=dark] .tf-egg-time-art,:root[data-theme=dark] .tf-egg-letter-art{background:radial-gradient(circle at 82% 14%,rgb(173 83 108 / 10%),transparent 28%),repeating-linear-gradient(135deg,rgb(222 143 166 / 5%) 0 2px,transparent 2px 14px),linear-gradient(145deg,#241820,#1b1419);border-color:#e091a830;box-shadow:inset 0 0 0 4px #ffffff08,9px 9px #0000002e}:root[data-theme=dark] .tf-egg-envelope-title,:root[data-theme=dark] .tf-egg-title,:root[data-theme=dark] .tf-egg-archive-heading .tf-egg-title,:root[data-theme=dark] .tf-egg-star-detail h3,:root[data-theme=dark] .tf-egg-memory-card strong{color:#f6e9ef}:root[data-theme=dark] .tf-egg-envelope-lead,:root[data-theme=dark] .tf-egg-lead,:root[data-theme=dark] .tf-egg-footnote,:root[data-theme=dark] .tf-egg-memory-card p,:root[data-theme=dark] .tf-egg-star-source p{color:#c5b1ba}:root[data-theme=dark] .tf-egg-scene-stars{background:radial-gradient(circle at 50% 45%,rgb(151 72 96 / 12%),transparent 38%),linear-gradient(145deg,#1e141aeb,#181015f0);border-color:#e197ac1f}:root[data-theme=dark] .tf-egg-constellation{background:#251820;border-color:#e292a936;box-shadow:inset 0 0 0 4px #ffffff08,8px 8px #0000002e}:root[data-theme=dark] .tf-egg-constellation:after{background:linear-gradient(180deg,#ffe6ef08,#0d070b24),radial-gradient(circle at 50% 44%,transparent 0 50%,rgb(8 4 7 / 18%) 88%)}:root[data-theme=dark] .tf-egg-star-garden-svg{filter:brightness(.36) saturate(.72)}:root[data-theme=dark] .tf-egg-star:before,:root[data-theme=dark] .tf-egg-star:after{background:#e39ab0}:root[data-theme=dark] .tf-egg-star span{background:#fff2f6;box-shadow:0 0 0 2px #e292a924}:root[data-theme=dark] .tf-egg-star-detail{color:#f6e9ef}:root[data-theme=dark] .tf-egg-star-line{color:#f4dbe4;border-color:#e292a92b}:root[data-theme=dark] .tf-egg-star-index,:root[data-theme=dark] .tf-egg-star-source,:root[data-theme=dark] .tf-egg-constellation-note{color:#d7a9b8}:root[data-theme=dark] .tf-egg-memory-card[data-kind=calendar]{background:linear-gradient(135deg,#2b1b22,#3a202a)}:root[data-theme=dark] .tf-egg-memory-card[data-kind=clock]{background:linear-gradient(135deg,#272118,#352a1d)}:root[data-theme=dark] .tf-egg-memory-card[data-kind=moon]{background:linear-gradient(135deg,#211d28,#2b2635)}:root[data-theme=dark] .tf-egg-memory-card[data-kind=steps]{background:linear-gradient(135deg,#19231d,#223128)}:root[data-theme=dark] .tf-egg-memory-art{background:#2d2027;border-color:#e292a929}:root[data-theme=dark] .tf-egg-memory-index{color:#f0dbe340}*{-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}}
