:root{color:#fff9f1;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#33263b;font-family:Be Vietnam Pro,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #fff2a8}.app{isolation:isolate;background-color:#755d78;flex-direction:column;min-height:100svh;transition:background-color .55s;display:flex;position:relative;overflow:hidden}.scene-afternoon{background-color:#b98788}.scene-sunset{background-color:#aa7399}.scene-evening{background-color:#715a88}.scene-night{background-color:#343451}.scene-wash{z-index:-1;pointer-events:none;background:linear-gradient(145deg,#ffe2b642,#0000 48%,#2019396b);position:fixed;inset:0}.scene-art{z-index:-2;pointer-events:none;opacity:0;background-position:50%;background-size:cover;transition:opacity .65s;position:fixed;inset:0}.scene-art.active{opacity:1}.art-afternoon{background-image:url(/assets/background-15.webp)}.art-sunset{background-image:url(/assets/background-18.webp)}.art-evening{background-image:url(/assets/background-20.webp)}.art-night{background-image:url(/assets/background-22.webp)}.ambient-scene{z-index:-1;pointer-events:none;--cloud:.14;--water:.14;--leaves:.12;--sun:.17;--dust:.17;--lamp:0;--water-color:255,223,151;position:fixed;inset:0;overflow:hidden}.ambient-scene span{pointer-events:none;display:block;position:absolute}.scene-sunset .ambient-scene{--cloud:.12;--water:.17;--leaves:.1;--sun:.11;--dust:.1;--lamp:.08;--water-color:255,174,116}.scene-evening .ambient-scene{--cloud:.1;--water:.15;--leaves:.07;--sun:0;--dust:0;--lamp:.17;--water-color:245,157,196}.scene-night .ambient-scene{--cloud:.07;--water:.17;--leaves:.05;--sun:0;--dust:0;--lamp:.24;--water-color:225,229,255}.ambient-cloud{width:49%;height:43%;opacity:var(--cloud);background:radial-gradient(at 42% 45%,#ffffff8c,#0000 42%),radial-gradient(at 70% 57%,#ffffff61,#0000 36%);animation:90s ease-in-out infinite alternate ambient-cloud-drift;top:3%;left:47%}.ambient-water{width:46%;height:27%;opacity:var(--water);background:repeating-linear-gradient(174deg,transparent 0 12px,rgba(var(--water-color),.7) 13px,transparent 15px 30px);animation:14s ease-in-out infinite alternate ambient-water-shimmer;top:48%;left:52%;-webkit-mask-image:radial-gradient(at 58%,#000 3%,#0000 76%);mask-image:radial-gradient(at 58%,#000 3%,#0000 76%)}.ambient-leaf-shadow{width:43%;height:48%;opacity:var(--leaves);background:radial-gradient(at 24% 18%,#122017a6,#0000 20%),radial-gradient(at 57% 9%,#122017a6,#0000 14%),radial-gradient(at 72% 33%,#12201799,#0000 17%);animation:18s ease-in-out infinite alternate ambient-leaf-sway;top:1%;left:9%}.ambient-sunbeam{width:53%;height:85%;opacity:var(--sun);background:linear-gradient(113deg,#0000 36%,#fff4c042 47%,#0000 58%);animation:24s ease-in-out infinite alternate ambient-sun-breathe;top:0;left:35%}.ambient-dust{width:59%;height:59%;opacity:var(--dust);background:radial-gradient(circle at 12% 34%,#fff7d4 0 1px,#0000 2px),radial-gradient(circle at 37% 69%,#fff7d4 0 1px,#0000 2px),radial-gradient(circle at 68% 25%,#fff7d4 0 1px,#0000 2px),radial-gradient(circle at 88% 57%,#fff7d4 0 1px,#0000 2px);animation:22s ease-in-out infinite alternate ambient-dust-float;top:19%;left:12%}.ambient-lamp{width:35%;height:53%;opacity:var(--lamp);background:radial-gradient(at 16% 42%,#ffba617a,#0000 53%);animation:12s ease-in-out infinite alternate ambient-lamp-glow;top:21%;left:0}.scene-afternoon .ambient-lamp,.scene-evening .ambient-sunbeam,.scene-evening .ambient-dust,.scene-night .ambient-sunbeam,.scene-night .ambient-dust{display:none}@keyframes ambient-cloud-drift{to{transform:translate(2.5%,.5%)}}@keyframes ambient-water-shimmer{to{transform:translate(1%,1%)}}@keyframes ambient-leaf-sway{to{transform:translate(1.1%,.4%)rotate(.5deg)}}@keyframes ambient-sun-breathe{to{transform:translate(1%)}}@keyframes ambient-dust-float{to{transform:translate(1%,-2%)}}@keyframes ambient-lamp-glow{to{transform:scale(1.04)}}.focus-mode .ambient-scene{display:none}@media (width<=640px){.ambient-cloud,.ambient-water,.ambient-leaf-shadow{display:none}.ambient-dust{opacity:.08}}.reduce-motion .ambient-scene{display:none}@media (prefers-reduced-motion:reduce){.ambient-scene{display:none}}.topbar{z-index:2;justify-content:space-between;align-items:center;gap:16px;padding:24px clamp(20px,4vw,64px);display:flex;position:relative}.time-badge,.phase-badge{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;background:#39242859;border:1px solid #ffffff8f;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 4px 20px #1e0d191f}.phase-badge{letter-spacing:.09em;color:#fff0dc;font-size:10px}.overline{letter-spacing:.17em;color:#ffe2bb;font-size:11px;font-weight:700}.home-layout{flex-direction:column;flex:1;justify-content:center;width:min(100%,1600px);margin:auto;padding:20px clamp(22px,5.5vw,94px) 132px;display:flex}.home-heading{text-align:center;text-shadow:0 2px 18px #2a1718a6;margin-bottom:44px}.home-heading h1{letter-spacing:-.035em;margin:10px 0;font-size:clamp(29px,3.2vw,50px);font-weight:600}.home-heading>p:last-child{color:#fff8ec;margin:0;font-size:15px}.destination-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.destination-card{text-align:left;color:#fff;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(140deg,#f68f33d6,#5f3124ab);border:1.5px solid #ffffffc4;border-radius:24px;flex-direction:column;justify-content:space-between;min-width:0;min-height:220px;padding:19px 20px 18px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 20px 42px #190f1c40,inset 0 1px #ffffff59}.destination-card:hover{transform:translateY(-5px);box-shadow:0 28px 50px #190f1c59}.destination-card.violet{background:linear-gradient(140deg,#a452ddd1,#4d236ebf)}.destination-card.blue{background:linear-gradient(140deg,#418bf5db,#234a8cbf)}.destination-card.rose{background:linear-gradient(140deg,#f15673d4,#8f2e3eb8)}.card-icon{background:#ffffff38;border:1px solid #ffffff45;border-radius:17px;place-items:center;width:58px;height:58px;font-family:Noto Sans SC,sans-serif;font-size:32px;display:grid}.card-bottom{justify-content:space-between;align-items:end;gap:6px;display:flex}.card-bottom strong,.card-bottom small,.card-bottom em{display:block}.card-bottom strong{white-space:nowrap;font-family:Noto Sans SC,Be Vietnam Pro,sans-serif;font-size:clamp(22px,1.9vw,31px);font-weight:600;line-height:1.25}.card-bottom small{color:#fff6ed;white-space:nowrap;margin-top:5px;font-size:12px}.card-bottom em{color:#fff1e4;margin-top:5px;font-size:11px;font-style:normal}.card-arrow{background:#ffffff47;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:27px;line-height:1;display:grid}.glass-panel{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);color:#3b3441;background:#fff6ecb0;border:1px solid #ffffffc7;box-shadow:0 28px 80px #26121a42,inset 0 1px #ffffff80}.login-layout{flex:1;place-items:center;padding:28px 18px 152px;display:grid}.login-card{text-align:center;border-radius:29px;width:min(100%,390px);padding:32px}.login-icon{color:#fff;background:linear-gradient(145deg,#ffbd6f,#e37b9a);border-radius:20px;place-items:center;width:62px;height:62px;margin:0 auto 15px;font:35px Noto Sans SC;display:grid;box-shadow:0 12px 25px #914a4940}.login-card .overline{color:#9a667b;margin:0 0 11px}.login-card h1{margin:0 0 8px;font-size:25px}.login-intro{color:#736270;margin:0 0 27px;font-size:13px}.login-card form{text-align:left}.login-card label{margin-bottom:9px;font-size:13px;font-weight:700;display:block}.login-card label span{color:#927982;margin-left:5px;font-weight:500}.login-card input{color:#3e3440;background:#fffaf9;border:1px solid #d8bac2;border-radius:13px;width:100%;height:49px;padding:0 14px;font-size:14px}.form-message{color:#8f4560;margin:9px 0 0;font-size:12px;line-height:1.5}.button-primary{color:#fff;background:linear-gradient(105deg,#e9927f,#e86b93);border:0;border-radius:13px;justify-content:center;align-items:center;gap:13px;width:100%;min-height:49px;margin-top:17px;font-weight:700;display:flex;box-shadow:0 10px 24px #af547040}.preview-link{color:#754a72;text-underline-offset:3px;background:0 0;border:0;margin-top:20px;font-size:12px;text-decoration:underline}.preview-note{color:#846f79;margin:12px 0 0;font-size:10px;line-height:1.5}.level-layout{flex:1;place-items:center;padding:30px 22px 137px;display:grid}.level-panel{border-radius:32px;grid-template-columns:250px 1fr;gap:34px;width:min(100%,1130px);min-height:555px;padding:32px;display:grid}.level-intro{flex-direction:column;display:flex}.back-button{color:#4b4248;background:#ffffff5c;border:1px solid #644d502e;border-radius:999px;align-self:flex-start;align-items:center;gap:9px;min-height:42px;padding:0 16px;font-size:14px;display:inline-flex}.level-title-block{margin:auto 0}.level-icon{color:#fff;text-shadow:0 2px 18px #5c485a38;font-size:65px}.level-title-block h1{margin:12px 0 14px;font-family:Georgia,Noto Sans SC,serif;font-size:clamp(56px,5vw,82px);font-weight:500;line-height:1}.level-title-block p{margin:0 0 8px;font-size:16px}.level-title-block small{color:#746973;font-size:14px}.level-list{flex-direction:column;justify-content:center;gap:8px;display:flex}.level-row{text-align:left;color:#463d43;background:#fff7e8e0;border:1px solid #ffffffa6;border-radius:16px;grid-template-columns:120px 1fr 43px;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 14px 8px 23px;transition:transform .2s,box-shadow .2s;display:grid}.level-row:hover{transform:translate(3px);box-shadow:0 7px 15px #44303c1c}.level-row[aria-pressed=true]{outline-offset:2px;outline:3px solid #fff}.level-row strong{white-space:nowrap;font:600 25px Georgia,Noto Sans SC,serif}.level-row span:nth-child(2){font-size:16px}.level-arrow{color:#fff;background:#f1ae47;border-radius:50%;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.level-row.rose{background:#ffe6e7e0}.level-row.rose .level-arrow{background:#ed8b96}.level-row.mint{background:#e2faf4e0}.level-row.mint .level-arrow{background:#52bfa0}.level-row.blue{background:#e2eeffe6}.level-row.blue .level-arrow{background:#6c9bee}.level-row.violet{background:#f6e9fce6}.level-row.violet .level-arrow{background:#b26bdc}.level-row.peach{background:#ffebdbe6}.level-row.peach .level-arrow{background:#f39d58}.level-row.slate{background:#ebedf6e6}.level-row.slate .level-arrow{background:#8490b2}.level-status{color:#613f59;margin:4px 0 0;font-size:13px;line-height:1.5}.placeholder-panel{border-radius:29px;flex-direction:column;width:min(100%,800px);min-height:390px;padding:30px;display:flex}.placeholder-content{text-align:center;margin:auto}.placeholder-content>span{color:#ba73a9;font-size:52px}.placeholder-content h1{margin:9px 0;font-family:Noto Sans SC;font-size:35px}.placeholder-content p{margin:0 0 12px}.placeholder-content small{color:#766775}.scene-controls{z-index:5;-webkit-backdrop-filter:blur(23px);backdrop-filter:blur(23px);background:#2c2331c9;border:1px solid #ffffff6b;border-radius:21px;align-items:center;gap:13px;width:min(100% - 32px,880px);padding:9px;display:flex;position:fixed;bottom:17px;left:50%;transform:translate(-50%);box-shadow:0 15px 38px #190e1c4a}.scene-options{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.scene-option{color:#f9e9ef;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:50px;padding:8px 5px;display:flex}.scene-option.selected{color:#fff;background:#ffffff36}.scene-option>span:first-child{color:#ffdf91;font-size:24px;line-height:1}.scene-option b,.scene-option small{text-align:left;display:block}.scene-option b{font-size:12px}.scene-option small{font-size:10px;font-weight:400}.scene-settings{border-left:1px solid #ffffff40;gap:4px;padding-left:11px;display:grid}.scene-settings button{color:#f2e5ee;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:3px 7px;font-size:10px}.scene-settings button.selected{background:#ffffff2e}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=1000px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-card{min-height:180px}.home-layout{justify-content:flex-start;padding-top:9vh}.level-panel{grid-template-columns:210px 1fr;gap:20px}.level-row{grid-template-columns:105px 1fr 39px}}@media (width<=640px){.topbar{padding:15px 16px}.time-badge{padding:8px 11px;font-size:11px}.phase-badge{padding:7px 9px;font-size:8px}.home-layout{padding:24px 16px 155px}.home-heading{margin-bottom:25px}.home-heading h1{font-size:29px}.home-heading>p:last-child{font-size:12px}.destination-grid{gap:10px}.destination-card{border-radius:18px;min-height:165px;padding:13px}.card-icon{border-radius:12px;width:43px;height:43px;font-size:23px}.card-bottom{align-items:end}.card-bottom strong{white-space:normal;font-size:19px}.card-bottom small,.card-bottom em{white-space:normal;font-size:9px;line-height:1.35}.card-arrow{width:29px;height:29px;font-size:18px}.login-layout{padding:20px 15px 152px}.login-card{padding:27px 22px}.level-layout{padding:18px 13px 160px;display:block}.level-panel{border-radius:23px;min-height:auto;padding:20px;display:block}.level-intro{display:block}.level-title-block{text-align:center;margin:10px 0 18px}.level-icon{font-size:35px}.level-title-block h1{margin:4px 0;font-size:46px}.level-title-block p{font-size:13px}.level-title-block small{font-size:11px}.level-list{gap:7px}.level-row{border-radius:12px;grid-template-columns:82px 1fr 30px;gap:5px;min-height:54px;padding:7px 9px 7px 12px}.level-row strong{font-size:19px}.level-row span:nth-child(2){font-size:12px}.level-arrow{width:29px;height:29px;font-size:18px}.scene-controls{border-radius:15px;width:calc(100% - 16px);padding:6px;display:block;bottom:8px}.scene-option{gap:3px;min-height:39px}.scene-option>span:first-child{font-size:17px}.scene-option b{font-size:10px}.scene-option small{font-size:8px}.scene-settings{border-top:1px solid #fff3;border-left:0;justify-content:center;gap:8px;padding:4px 0 0;display:flex}.scene-settings button{font-size:9px}.placeholder-panel{min-height:330px}}@media (width<=365px){.phase-badge{display:none}.destination-card{min-height:176px}.card-arrow{display:none}}.app:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0000,#1f1825f0 40%);height:124px;position:fixed;inset:auto 0 0}.time-badge{background:#3d283bb8;min-height:48px}.destination-card{aspect-ratio:1.46;min-height:220px}.destination-card .card-bottom strong{text-shadow:0 1px 8px #26182380}.destination-card .card-bottom small,.destination-card .card-bottom em{color:#fff;text-shadow:0 1px 7px #2618238c;font-weight:600}.destination-card .card-bottom small{font-size:13px}.destination-card .card-bottom em{font-size:12px}.card-arrow{color:#593853;background:#ffffffd4;min-width:44px;min-height:44px}.focus-mode{background-color:#404a59}.focus-mode .scene-wash{background:linear-gradient(150deg,#536575,#394557)}.focus-mode .scene-art{opacity:0}.student-summary{border-radius:15px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:10px 14px;font-size:12px;line-height:1.4;display:flex}.student-summary button{color:#5d4054;background:#fff7f2;border:1px solid #b88a9b;border-radius:9px;flex:none;padding:7px 11px}@media (width<=640px){.student-summary{gap:7px;font-size:11px;display:grid}.student-summary button{justify-self:start}}.character-layout{flex:1;width:min(100%,1200px);margin:auto;padding:12px 20px 130px}.character-panel{border-radius:26px;padding:24px}.character-header{align-items:center;gap:24px;display:flex}.character-header h1{margin:4px 0 18px;font-size:clamp(25px,3vw,36px)}.character-header .overline{color:#8d587c;margin:0}.character-message{color:#634057;background:#fff4dc;border-radius:12px;padding:9px 13px}.collection-tools{flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0 20px;display:flex}.collection-tools label{gap:5px;font-size:12px;display:grid}.collection-tools select,.collection-tools button{color:#493847;background:#fffaf8;border:1px solid #cdaabb;border-radius:10px;min-height:39px;padding:7px 11px}.collection-tools>span{margin-left:auto;font-size:13px}.character-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.character-tile{color:#493847;text-align:center;background:#ffffff9e;border:1px solid #e2bbcd;border-radius:16px;justify-items:center;gap:5px;min-width:0;padding:12px 7px;display:grid}.character-tile.active{outline:3px solid #d886ab}.character-tile strong{font-size:12px}.character-tile small,.character-tile>span:last-child{font-size:11px}.character-placeholder{color:#936a9a;background:linear-gradient(145deg,#f9d9dd,#d9d4f6);border-radius:12px;place-items:center;width:100%;height:98px;font:52px Noto Sans SC,sans-serif;display:grid}.character-preview,.profile-content{background:#ffffff8c;border:1px solid #e4bfd0;border-radius:18px;align-items:center;gap:25px;margin-top:22px;padding:18px;display:flex}.character-preview .character-placeholder,.profile-portrait{flex:none;width:140px;height:200px}.character-preview h2,.profile-content h2{margin:0 0 8px}.character-preview p,.profile-content p{font-size:13px}.character-action{color:#fff;background:#a9609b;border:0;border-radius:11px;padding:11px 16px}.character-action:disabled{opacity:.6}.profile-content{margin-top:8px}@media (width<=900px){.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.character-layout{padding:8px 12px 115px}.character-panel{padding:15px}.character-header{display:block}.character-header h1{margin-top:12px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-tools>span{margin-left:0}.character-preview,.profile-content{align-items:flex-start;gap:13px}.character-preview .character-placeholder,.profile-portrait{width:88px;height:125px}.character-preview h2,.profile-content h2{font-size:17px}.character-preview p,.profile-content p{font-size:11px}}.teacher-layout{flex:1;width:min(100%,1300px);margin:auto;padding:12px 18px 125px}.teacher-panel{border-radius:25px;padding:23px}.teacher-header{align-items:center;gap:18px;display:flex}.teacher-header h1{flex:1;margin:0;font-size:25px}.teacher-header>button:last-child{color:#5d4054;background:#fff9f9;border:1px solid #d6b5c5;border-radius:10px;padding:9px}.teacher-login{gap:14px;max-width:380px;margin:28px auto;display:grid}.teacher-login label,.teacher-form label{gap:5px;font-size:13px;display:grid}.teacher-login input,.teacher-form input,.teacher-form select,.teacher-form textarea,.teacher-filters input,.teacher-filters select{color:#3b3441;background:#fffdfb;border:1px solid #d6b5c5;border-radius:10px;width:100%;min-width:0;padding:9px}.teacher-form textarea{resize:vertical;min-height:65px}.teacher-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.teacher-columns h2{font-size:19px}.teacher-filters{grid-template-columns:2fr repeat(3,1fr);gap:7px;display:grid}.teacher-list{gap:9px;max-height:640px;margin-top:15px;display:grid;overflow:auto}.teacher-list article{background:#ffffffa6;border:1px solid #e2c5d0;border-radius:13px;gap:5px;padding:12px;display:grid}.teacher-list article strong{font-size:14px}.teacher-list article small,.teacher-list article code{overflow-wrap:anywhere;font-size:10px}.teacher-list article>div{flex-wrap:wrap;gap:7px;display:flex}.teacher-list button,.teacher-form button:not(.character-action){color:#52384d;background:#fff9f8;border:1px solid #cdaabb;border-radius:8px;padding:6px 9px}.teacher-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-form label:has(textarea){grid-column:1/-1}.teacher-preview{background:#fffdf8;border-radius:15px;margin-top:15px;padding:15px}.teacher-preview h3{margin:0 0 8px;font-size:15px}.teacher-preview p{font-size:16px}@media (width<=900px){.teacher-columns{grid-template-columns:1fr}.teacher-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.teacher-layout{padding:8px 10px 115px}.teacher-panel{padding:14px}.teacher-header{flex-wrap:wrap}.teacher-header h1{font-size:19px}.teacher-form{grid-template-columns:1fr}}.teacher-tabs{gap:8px;margin:20px 0;display:flex}.teacher-tabs button,.exam-builder button:not(.character-action){color:#52384d;background:#fffaf8;border:1px solid #cdaabb;border-radius:9px;padding:8px 11px}.teacher-tabs button.selected{color:#fff;background:#b66eaa}.exam-builder{grid-template-columns:minmax(250px,1fr) minmax(0,2fr);gap:24px;display:grid}.exam-builder h2{font-size:19px}.exam-entry{text-align:left;gap:5px;width:100%;margin:0 0 9px;display:grid}.exam-entry span{font-size:11px}.exam-pick{gap:7px;display:flex}.exam-pick select,.exam-item-list input{color:#3b3441;background:#fffdfb;border:1px solid #d6b5c5;border-radius:8px;min-width:0;padding:7px}.exam-pick select{flex:1}.exam-item-list{gap:7px;margin-top:12px;display:grid}.exam-item-list>div{background:#fffaf8;border:1px solid #e2c5d0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.exam-item-list b{flex:170px;font-size:12px}.exam-item-list small{font-size:10px}.exam-item-list label{font-size:11px}.exam-item-list input{width:70px}.exam-builder .teacher-form label:has(input[type=checkbox]){align-items:center;display:flex}.exam-builder .teacher-form input[type=checkbox]{width:auto}@media (width<=800px){.exam-builder{grid-template-columns:1fr}}.focus-mode .destination-card{box-shadow:0 8px 26px #12192533}.level-panel.hskk .level-row{grid-template-columns:155px minmax(0,1fr) 43px}.card-icon svg{width:39px;height:39px}.mobile-only-break{display:none}.time-badge{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.3;display:flex}.time-badge>span{color:#fff9f1;font-size:12px}.time-badge>span:last-child{color:#ffe6c5;font-size:11px}@media (width>=641px){.level-panel.hskk{min-height:425px}}@media (width<=1000px){.destination-card{min-height:180px}}@media (width<=640px){.scene-art{background-position:24%}.app:after{height:102px}.time-badge{background:#3d283bc7;min-width:0;min-height:0}.level-row{grid-template-columns:112px 1fr 30px}.level-row strong{font-size:16px}.level-row span:nth-child(2),.phase-badge{font-size:10px}.card-bottom small,.card-bottom em{font-size:10.5px}.scene-option b{font-size:11px}.scene-option small,.scene-settings button{font-size:10px}.level-row span:nth-child(2){font-size:11px}}.student-exam-layout{flex:1;width:min(100%,1050px);margin:auto;padding:15px 18px 140px}.student-exam-panel{border-radius:25px;padding:24px}.student-exam-panel h1{font-size:clamp(23px,3vw,34px)}.student-exam-list{gap:10px;display:grid}.student-exam-list button{text-align:left;color:#493847;background:#fffaf7;border:1px solid #deb8c9;border-radius:14px;gap:5px;padding:16px;display:grid}.student-exam-list small{font-size:12px}.student-exam-details{background:#fffaf7;border-radius:16px;padding:20px}.student-question-list{gap:15px;display:grid}.student-question-list article{background:#fffaf7;border-radius:16px;padding:20px}.student-question-list h2{font-size:19px}.student-question-list small{color:#806278}.student-question-list audio{max-width:100%;margin:10px 0;display:block}.student-options{gap:7px;display:grid}.student-options label{border:1px solid #dfc5d3;border-radius:10px;align-items:center;gap:9px;padding:9px;display:flex}.student-question-list textarea{width:100%;min-height:85px;font:inherit;color:#493847;border:1px solid #dfc5d3;border-radius:10px;margin-top:8px;padding:9px;display:block}.exam-clock{z-index:4;color:#fff;background:#57364f;border-radius:20px;width:max-content;padding:9px 14px;position:sticky;top:0}.teacher-grade-item{background:#fffaf8;border:1px solid #e2c5d0;border-radius:12px;margin:0 0 12px;padding:14px}.teacher-grade-item p{overflow-wrap:anywhere}.teacher-grade-item>div{gap:8px;margin-top:10px;display:flex}.teacher-grade-item input{border:1px solid #d6b5c5;border-radius:8px;width:100px;min-width:0;padding:7px}.teacher-grade-item button{color:#fff;background:#a9609b;border:0;border-radius:8px;padding:7px 12px}.hsk-history{margin-top:22px}.hsk-history h2{font-size:20px}.hsk-history-list{gap:9px;display:grid}.hsk-history-list button{color:#483744;text-align:left;background:#fffaf8;border:1px solid #ddc2cc;border-radius:12px;gap:5px;width:100%;padding:12px;display:grid}.hsk-history-list span,.hsk-history-list small{font-size:12px}.hsk-history-items{gap:10px;display:grid}.hsk-history-items article{background:#fffaf8;border-radius:12px;padding:13px}.hsk-history-items h4{margin:9px 0;font-size:17px}.hsk-history-items p{overflow-wrap:anywhere}.order-row{border:1px solid #dfc5d3;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.order-row span{flex:1}.order-row button{color:#493847;background:#fff;border:1px solid #cdaabb;border-radius:8px;min-width:35px;min-height:35px}.fill-answers{gap:8px;display:grid}.fill-answers label{gap:4px;display:grid}.fill-answers input{color:#493847;background:#fff;border:1px solid #dfc5d3;border-radius:9px;min-height:42px;padding:8px}.teacher-tabs{flex-wrap:wrap}.teacher-hskk .teacher-form{margin-bottom:18px}.hskk-question-form,.hskk-grade-item{background:#fffaf8;border:1px solid #dfc5d3;border-radius:14px;gap:9px;margin:11px 0;padding:14px;display:grid}.hskk-question-form label,.hskk-grade-item label,.teacher-hskk>div>section>label{gap:5px;font-size:13px;display:grid}.hskk-question-form input,.hskk-question-form textarea,.hskk-grade-item input,.hskk-grade-item textarea,.teacher-hskk>div>section>label textarea{color:#493847;background:#fff;border:1px solid #d6b5c5;border-radius:9px;width:100%;min-width:0;padding:8px}.hskk-question-form textarea,.hskk-grade-item textarea{min-height:65px}.hskk-question-form input[type=checkbox]{width:auto}.hskk-actions{flex-wrap:wrap;gap:8px;display:flex}.hskk-actions button,.hskk-question-form>button{color:#52384d;background:#fffaf8;border:1px solid #cdaabb;border-radius:9px;padding:8px 11px}.hskk-grade-item audio,.hskk-panel audio{max-width:100%;margin:9px 0;display:block}.record-button{color:#fff;background:#a9609b;border:0;border-radius:14px;min-width:180px;min-height:52px;font-weight:700}.record-button.recording{background:#c94f75}.record-state{color:#6d4565;font-weight:700}.hskk-panel .student-question-list article>.character-action{margin-top:10px}@media (width<=640px){.student-exam-layout{padding:8px 10px 120px}.student-exam-panel{padding:15px}.student-question-list article{padding:13px}}.hanzi-layout{color:#283342;flex:1;width:min(100%,1100px);margin:auto;padding:28px 20px 142px}.hanzi-shell{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fafbfff0;border:1px solid #ffffffe6;border-radius:36px;min-height:580px;padding:clamp(22px,4vw,48px);box-shadow:0 24px 80px #2530483b}.is-hanzi:after,.is-hanzi .scene-controls,.is-hanzi .phase-detail{display:none}.is-hanzi .hanzi-layout{padding-bottom:35px}.language-picker{color:#fff;background:#483447ad;border:1px solid #fff9;border-radius:13px;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;font-size:11px;display:flex}.language-picker select{color:#3b3a4a;max-width:125px;min-height:32px;font:inherit;background:#fff;border:0;border-radius:8px;padding:3px 7px}.level-content{align-content:center;gap:12px;min-width:0;display:grid}.hanzi-entry-card{color:#354267;text-align:left;cursor:pointer;background:#f6f8ffed;border:1px solid #fffb;border-radius:17px;grid-template-columns:57px minmax(0,1fr) 25px;align-items:center;gap:10px;width:100%;padding:11px 15px;display:grid;box-shadow:0 8px 25px #5d618122}.hanzi-entry-icon{background:#e4ebff;border-radius:14px;place-items:center;width:49px;height:49px;font-size:20px;display:grid}.hanzi-entry-card strong,.hanzi-entry-card small,.hanzi-entry-card em{display:block}.hanzi-entry-card strong{font-size:17px}.hanzi-entry-card small{font-size:12px}.hanzi-entry-card em{color:#946133;margin-top:3px;font-size:10px;font-style:normal;font-weight:700}.hanzi-entry-card:hover{transform:translateY(-2px)}.hanzi-topline{justify-content:space-between;align-items:center;gap:15px;display:flex}.hanzi-back,.hanzi-secondary{color:#324156;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8dfea;border-radius:14px;padding:11px 17px}.hanzi-demo-label{color:#875522;text-align:center;background:#fff1dc;border-radius:100px;padding:8px 12px;font-size:12px;font-weight:700}.hanzi-intro,.hanzi-result,.hanzi-empty{text-align:center;max-width:760px;margin:35px auto 0}.hanzi-mark{background:linear-gradient(145deg,#dbe9ff,#f9e8f5);border-radius:30px;place-items:center;width:110px;height:110px;margin:auto;font-size:57px;font-weight:700;display:grid;position:relative;box-shadow:0 12px 30px #c7cee466}.hanzi-mark span{font-size:30px;position:absolute;bottom:7px;right:12px}.hanzi-kicker{color:#586ab1;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.hanzi-intro h1,.hanzi-levels h1,.hanzi-result h1,.hanzi-history h1,.hanzi-empty h1{margin:12px 0 18px;font-size:clamp(30px,4vw,50px);line-height:1.15}.hanzi-lead{color:#536178;font-size:17px;line-height:1.75}.hanzi-facts{flex-wrap:wrap;justify-content:center;gap:11px;margin:28px 0;display:flex}.hanzi-facts span{background:#edf3fd;border-radius:15px;padding:11px 16px;font-size:13px;font-weight:700}.hanzi-notice{color:#795b35;background:#fff7e9;border-radius:16px;padding:15px;font-size:14px}.hanzi-actions{flex-wrap:wrap;justify-content:center;gap:11px;margin:26px 0;display:flex}.hanzi-primary{color:#fff;font:inherit;cursor:pointer;background:#425dcc;border:0;border-radius:15px;padding:13px 20px;font-weight:700;box-shadow:0 10px 22px #425dcc40}.hanzi-primary:hover,.hanzi-secondary:hover,.hanzi-level.ready:hover{transform:translateY(-3px);box-shadow:0 16px 30px #556a9e35}.hanzi-primary,.hanzi-secondary,.hanzi-level{transition:transform .35s,box-shadow .35s}.hanzi-primary:disabled{opacity:.6;cursor:wait}.hanzi-levels{margin-top:32px}.hanzi-levels>p{color:#617088}.hanzi-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px;display:grid}.hanzi-level{color:#536178;text-align:left;min-height:180px;font:inherit;background:#f7f9fd;border:1px solid #dce2ed;border-radius:22px;gap:9px;padding:19px;display:grid}.hanzi-level.ready{color:#283c68;cursor:pointer;background:#eaf2ff;border-color:#b7cef5}.hanzi-level:disabled{cursor:not-allowed}.hanzi-level-icon{font-size:23px}.hanzi-level strong{font-size:20px}.hanzi-level small{font-weight:700}.hanzi-level>span:nth-last-child(2){font-size:12px}.hanzi-level-bar,.hanzi-progress{background:#dde6f5;border-radius:10px;height:7px;display:block;overflow:hidden}.hanzi-level-bar i,.hanzi-progress i{background:#5774da;border-radius:10px;height:100%;transition:width .35s;display:block}.hanzi-practice{text-align:center;max-width:680px;margin:30px auto}.hanzi-practice-head{color:#607089;justify-content:space-between;font-size:14px;display:flex}.hanzi-progress{margin:13px 0 24px}.hanzi-clock{color:#3556bb;background:#fff;border:8px solid #dce7ff;border-radius:50%;justify-content:center;align-items:baseline;width:95px;height:95px;margin:0 auto 25px;display:flex}.hanzi-clock b{font-size:43px;line-height:77px}.hanzi-clock.warning{color:#b85a39;border-color:#ffd6b3}.hanzi-pinyin{color:#25375e;margin:12px 0 4px;font-size:clamp(43px,7vw,70px);font-weight:700}.hanzi-meaning{color:#5b6879;margin:0 0 19px;font-size:22px}.hanzi-prompt{color:#62718b;background:#f0f4fb;border-radius:18px;padding:18px}.hanzi-reveal{animation:.4s both hanziReveal}.hanzi-answer{color:#253e83;font-size:clamp(75px,13vw,126px);line-height:1.3}.hanzi-memory{text-align:left;background:#f0f4fc;border-radius:22px;margin:15px auto;padding:22px}.hanzi-equation{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin:18px 0;display:flex}.hanzi-equation b,.hanzi-equation strong{background:#fff;border:1px solid #cbd9f1;border-radius:13px;place-items:center;min-width:53px;min-height:55px;padding:4px;font-size:30px;font-style:normal;display:inline-grid}.hanzi-equation i{color:#8190a7;font-size:21px;font-style:normal}.hanzi-tip{font-size:16px;line-height:1.7}.hanzi-memory small{color:#66748c}.hanzi-rating{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.hanzi-rating button{color:#293e70;min-height:52px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd6ec;border-radius:14px;font-weight:700}.hanzi-rating button:hover{background:#e5edff}.hanzi-rating button:disabled{opacity:.55}.hanzi-trophy{color:#bf8a24;background:#fff0c6;border-radius:50%;place-items:center;width:85px;height:85px;margin:auto;font-size:43px;display:grid}.hanzi-score{border:13px solid #a8c2f8;border-radius:50%;place-items:center;width:170px;height:170px;margin:15px auto;display:grid}.hanzi-score strong{font-size:43px}.hanzi-score span{font-size:13px}.hanzi-counts{grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0;display:grid}.hanzi-counts span{background:#eff3fb;border-radius:15px;gap:9px;padding:13px;font-size:13px;display:grid}.hanzi-counts b{font-size:26px}.hanzi-history{max-width:700px;margin:35px auto}.hanzi-history-list{gap:10px;margin:25px 0;display:grid}.hanzi-history-list article{background:#f0f4fb;border-radius:15px;justify-content:space-between;gap:15px;padding:15px;display:flex}.hanzi-message{color:#8e3c39;background:#ffe8e1;border-radius:14px;justify-content:space-between;gap:10px;padding:12px;display:flex}@keyframes hanziReveal{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (width<=800px){.hanzi-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hanzi-layout{padding:16px 14px 132px}}@media (width<=550px){.hanzi-shell{border-radius:23px;min-height:500px;padding:17px}.hanzi-topline{align-items:flex-start}.hanzi-demo-label{max-width:190px;font-size:10px}.hanzi-level-grid{grid-template-columns:1fr 1fr;gap:9px}.hanzi-level{min-height:155px;padding:12px}.hanzi-level strong{font-size:17px}.hanzi-counts{grid-template-columns:1fr 1fr}.hanzi-rating{grid-template-columns:1fr}.hanzi-history-list article{display:grid}.hanzi-practice{margin-top:20px}.hanzi-facts{gap:6px}.hanzi-facts span{font-size:11px}}@media (width<=640px){.topbar{flex-wrap:wrap}.language-picker{order:2;margin-left:0}.phase-badge{margin-left:auto}.hanzi-entry-card{grid-template-columns:44px minmax(0,1fr) 20px;padding:9px}.hanzi-entry-icon{width:39px;height:39px;font-size:16px}.hanzi-entry-card strong{font-size:14px}.hanzi-entry-card small{font-size:10px}.hanzi-entry-card em{font-size:9px}}@media (prefers-reduced-motion:reduce){.hanzi-primary,.hanzi-secondary,.hanzi-level,.hanzi-level-bar i,.hanzi-progress i{transition:none}.hanzi-reveal{animation:none}}.hsk-catalog{color:#304058;width:min(94%,1200px);margin:20px auto 140px;padding:clamp(16px,3vw,32px)}.hsk-catalog h2{margin:0 0 15px}.hsk-catalog-tabs{flex-wrap:wrap;gap:8px;display:flex}.hsk-catalog-tabs button,.hsk-catalog>button{color:#304058;cursor:pointer;background:#fff;border:1px solid #ccd6e7;border-radius:12px;min-height:44px;padding:8px 14px}.hsk-catalog-tabs button[aria-pressed=true]{color:#fff;background:#425dcc}.hsk-catalog-source{font-size:13px}.hsk-catalog ol{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:0;list-style:none;display:grid}.hsk-catalog li{overflow-wrap:anywhere;background:#ffffffdc;border-radius:12px;gap:3px;min-width:0;padding:12px;display:grid}.hsk-catalog li strong{font-size:20px}.hsk-catalog li small{color:#69758a}@media (width<=640px){.home-layout{padding:18px 16px 118px}.home-heading{margin-bottom:19px}.destination-card{aspect-ratio:auto;min-height:171px;padding:14px;position:relative}.destination-card .card-bottom{display:block}.destination-card .card-bottom>span:first-child{padding-right:0;display:block}.destination-card .card-bottom em{overflow-wrap:normal;word-break:normal;max-width:calc(100% - 29px)}.destination-card.rose .card-bottom em{max-width:calc(100% - 44px)}.mobile-only-break{display:inline}.destination-card .card-arrow{position:absolute;bottom:14px;right:14px}.card-icon svg{width:29px;height:29px}.card-bottom{align-items:end}.card-bottom strong{font-size:18px}.destination-card.rose .card-bottom strong{font-size:16px;line-height:1.2}.destination-card .card-bottom small,.destination-card .card-bottom em{font-size:10.5px}.card-arrow{width:31px;min-width:31px;height:31px;min-height:31px}.level-layout{padding:12px 12px 120px}.level-panel{background:#fff6f294;padding:17px}.level-title-block{margin:5px 0 13px}.level-title-block p{margin-bottom:3px}.level-row{grid-template-columns:110px minmax(0,1fr) 32px;min-height:53px;padding:6px 9px 6px 12px}.level-row strong{font-size:17px}.level-row span:nth-child(2){font-size:12px;line-height:1.3}.level-arrow{width:31px;height:31px}.level-panel.hskk .level-row{grid-template-columns:105px minmax(0,1fr) 32px}.level-panel.hskk .level-row strong{font-size:16px}.level-panel.hskk .level-row span:nth-child(2){font-size:11px}.scene-controls{bottom:6px}.scene-option{min-height:36px}.scene-settings{padding-top:2px}.scene-settings button{min-height:28px;padding:3px 5px}.time-badge{gap:1px}.time-badge>span,.time-badge>span:last-child{font-size:10px}.phase-detail{display:none}}.is-hanzi .hanzi-layout{width:min(94%,1600px);padding:clamp(12px,2vw,28px) 0 max(16px,env(safe-area-inset-bottom))}.hanzi-shell{min-height:0}.hanzi-practice{max-width:none;margin:clamp(10px,2vw,30px) auto}.hanzi-reveal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(16px,3vw,48px);display:grid}.hanzi-rating{grid-column:1/-1}.hanzi-rating button{min-height:48px}@media (width<=767px){.is-hanzi .hanzi-layout{width:auto;padding:8px max(12px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));margin:0}.hanzi-shell{padding:clamp(12px,3vw,20px)}.hanzi-reveal{grid-template-columns:1fr}.hanzi-rating{grid-template-columns:repeat(3,minmax(0,1fr))}.hanzi-rating button{overflow-wrap:anywhere;padding:5px;font-size:clamp(11px,2.8vw,16px)}.hanzi-clock{border-width:6px;width:72px;height:72px;margin-bottom:10px}.hanzi-clock b{font-size:32px;line-height:58px}.hanzi-progress{margin-bottom:12px}.hanzi-memory{margin:8px 0;padding:12px}.hanzi-answer{font-size:clamp(65px,20vw,110px)}}@media (width<=389px),(height<=650px){.hanzi-intro,.hanzi-result,.hanzi-empty{margin-top:12px}.hanzi-mark{width:72px;height:72px;font-size:39px}.hanzi-facts,.hanzi-actions{margin:12px 0}.hanzi-practice{margin-top:8px}.hanzi-pinyin{font-size:clamp(32px,10vw,54px)}.hanzi-meaning{font-size:clamp(16px,4vw,22px)}.hanzi-memory .hanzi-equation{margin:6px 0}.hanzi-equation b,.hanzi-equation strong{min-width:42px;min-height:44px;font-size:23px}}
