.cultivation-card{container:realms / inline-size;grid-column:1 / -1;min-width:0;padding:clamp(16px,3vw,32px);border:1px solid #cadbd0;border-radius:22px;background:#f8f9f2;color:#284b40;overflow-wrap:anywhere}.cultivation-card h2{margin:.5rem 0;font-size:clamp(1.6rem,6vw,2.3rem)}.cultivation-name{margin-bottom:.4rem}.cultivation-card progress{display:block;width:100%;height:14px;margin:1rem 0 .5rem;accent-color:#288576}.cultivation-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0}.cultivation-actions>*{min-height:44px}.cultivation-actions button,.cultivation-card>button{border:1px solid #b6cbb8;border-radius:10px;background:#fffdf7;color:#274632;padding:.7rem 1rem;cursor:pointer}:is(.cultivation-card,.realm-detail,.realm-notice) :is(button,a):focus-visible{outline:3px solid #247b6d;outline-offset:4px}.realm-portrait{display:inline-grid;position:relative;isolation:isolate;flex:none;vertical-align:middle;aspect-ratio:1;overflow:hidden}.realm-portrait>img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}.realm-stage{--stage-light: #f3e7cd;--stage-dark: #c7b296;background:radial-gradient(ellipse at 50% 35%,var(--stage-light),var(--stage-dark))}.realm-stage:after{content:"";position:absolute;z-index:0;top:63%;right:-15%;bottom:-35%;left:-15%;border-radius:50%;background:linear-gradient(175deg,#ffffff50,transparent 65%);transform:rotate(-12deg)}.realm-stage--mist{--stage-light: #edf8e6;--stage-dark: #94bcb3}.realm-stage--spirit{--stage-light: #eee6fd;--stage-dark: #777ba7}.realm-stage--cosmos{--stage-light: #465882;--stage-dark: #151d3c}.realm-stage--palace{--stage-light: #fdf4cb;--stage-dark: #8b8bb8}.realm-portrait--card{width:clamp(140px,25vw,210px);border-radius:18px}.realm-portrait--gallery{width:100%}.realm-portrait--notice{width:min(240px,58vw);border-radius:15px}.realm-portrait--badge{width:32px;border-radius:7px}.realm-portrait--detail{display:grid;width:100%;border-radius:18px}.realm-portrait.realm-tier--low>img{width:66%;height:66%;align-self:center;justify-self:center}.realm-portrait.realm-tier--middle>img{width:84%;height:84%;align-self:center;justify-self:center}.realm-portrait.realm-tier--high>img{width:96%;height:96%;align-self:center;justify-self:center}.realm-portrait--badge>img{width:100%!important;height:100%!important}.realm-atmosphere{position:absolute;z-index:0;width:80%;height:80%;left:10%;top:12%;border:1px solid #fff4c56b;border-radius:50%;box-shadow:inset 0 0 0 9px #fff4c518,0 0 0 10px #fff4c518;animation:realm-orbit 32s linear infinite}.realm-atmosphere:before{content:"";position:absolute;top:9%;right:9%;bottom:9%;left:9%;border:1px dashed #fff8d373;border-radius:50%}.realm-tier--high .realm-atmosphere{width:120%;height:40%;left:-10%;top:56%;border:0;box-shadow:none;border-radius:50%;background:radial-gradient(ellipse at 20% 60%,#eaf1ff8a,transparent 55%),radial-gradient(ellipse at 80% 40%,#c6def46b,transparent 55%);animation:realm-cloud 12s ease-in-out infinite alternate}.realm-tier--high .realm-atmosphere:before{top:-100%;right:15%;bottom:0;left:15%;border:0;background:radial-gradient(circle at 10% 20%,#fff5d4 0 1px,transparent 2px),radial-gradient(circle at 90% 30%,#fff5d4 0 1px,transparent 2px),radial-gradient(circle at 80% 5%,#fff5d4 0 1px,transparent 2px)}.realm-portrait[data-visible=false] .realm-atmosphere{animation-play-state:paused}.realm-art-unavailable{position:relative;z-index:1;align-self:center;padding:15%;text-align:center;font-size:.8rem;color:#294d43;background:#fffdf5c9}.realm-art-unavailable span{display:block;font-weight:700;margin-top:.5rem}.cultivation-portrait{float:right;margin:0 0 1rem 1rem}.cultivation-actions,.cultivation-realms,.cultivation-note{clear:both}.cultivation-realms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}.cultivation-realms>li{min-width:0;border:1px solid #d5daca;border-radius:17px;background:#fffdf7;overflow:hidden;box-shadow:0 3px 8px #2c463b08}.cultivation-realms>li[aria-current]{border:2px solid #1d9c85;box-shadow:0 0 0 3px #1d9c8518}.cultivation-card .cultivation-realms button.realm-collectible{width:100%;height:100%;display:flex;flex-direction:column;padding:0;border:0;border-radius:0;text-align:left;background:transparent;color:inherit;cursor:pointer}.realm-collectible:focus-visible{outline-offset:-5px!important}.realm-gallery-art{position:relative;width:100%;display:block}.realm-gallery-art .realm-portrait{display:grid}.realm-sequence{position:absolute;top:10px;left:10px;color:#fffdf4;background:#213c47b3;padding:3px 6px;border-radius:5px;font:600 .65rem/1.3 monospace}.realm-current-label{position:absolute;top:10px;right:8px;padding:3px 7px;border-radius:5px;background:#147d69;color:#fff;font-size:.65rem;font-weight:700}.realm-lock{position:absolute;bottom:8px;right:8px;display:grid;place-items:center;width:27px;height:27px;background:#fffdf3e8;border:1px solid #c2cdbb;border-radius:50%;color:#526459}.realm-caption{display:grid;gap:5px;padding:13px 12px 16px;width:100%}.realm-card-name{display:flex;align-items:center;justify-content:space-between;gap:4px;font-weight:750;font-size:clamp(1rem,1.7vw,1.2rem)}.realm-card-name svg{flex:none;color:#6b8576}.realm-caption strong{font-size:.83rem;font-weight:600;color:#577365}.realm-caption small{font-size:.72rem;color:#67736b;line-height:1.5}.cultivation-note{font-size:.8rem;color:#637166;line-height:1.7}.realm-detail{position:fixed;top:0;right:0;bottom:0;left:0;width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:18px;border:1px solid #ccd8c5;border-radius:24px;color:#284b40;background:#fffdf4;box-shadow:0 24px 90px #142a3866;overflow-y:auto}.realm-detail::backdrop{background:#162c3cd9}.realm-detail-inner{position:relative;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px}.realm-detail-copy{padding:24px 8px}.realm-detail-copy h2{font-size:clamp(2rem,5vw,3rem);margin:8px 0 16px}.realm-detail-copy p{line-height:1.7}.realm-detail-copy small{display:block;margin-top:20px;color:#6b7465;line-height:1.7}.realm-requirement{border-top:1px solid #d9decf;padding-top:16px}.realm-detail .realm-detail-inner button.realm-close,.realm-notice.realm-notice button.realm-close{position:absolute;right:6px;top:6px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #a9bdb3;border-radius:50%;background:#fffdf7;color:#274632;cursor:pointer}.realm-notice{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid #b8cbb7;border-radius:22px;background:#fffdf4;color:#274632;padding:22px;box-shadow:0 12px 60px #18362840}.realm-notice>span{text-align:center;font-weight:650;line-height:1.6}.realm-preview{max-width:1280px;margin:32px auto}.realm-preview-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 0 20px}.realm-preview-header h1{max-width:650px;font-size:clamp(2rem,4vw,3.7rem);line-height:1.15;letter-spacing:-.035em;margin:14px 0 20px}.realm-preview-header p:not(.section-kicker){max-width:650px;line-height:1.8;color:#607368}.realm-preview-header>a{flex:none}@media(hover:hover){.realm-collectible:hover .realm-card-name{color:#13836c}.cultivation-realms>li:hover{box-shadow:0 6px 20px #2c463b18}}@container realms (min-width: 580px){.cultivation-realms{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}@container realms (min-width: 780px){.cultivation-realms{grid-template-columns:repeat(4,minmax(0,1fr))}}@container realms (min-width: 1040px){.cultivation-realms{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:649px){.realm-preview{margin:12px auto;padding:12px}.realm-preview-header{display:block;padding:8px}.realm-preview-header>a{display:inline-flex;margin-top:12px}.realm-detail-inner{grid-template-columns:1fr;gap:0}.realm-detail-copy{padding:16px 4px 0}.realm-detail .realm-portrait{max-width:420px;margin-inline:auto}}@media(max-width:380px){.cultivation-portrait{float:none;margin:0 auto 12px;text-align:center}.realm-caption{padding:10px 8px 12px}.cultivation-realms{gap:8px}}@keyframes realm-orbit{to{transform:rotate(360deg)}}@keyframes realm-cloud{0%{transform:translate(-3%);opacity:.55}to{transform:translate(3%);opacity:.9}}@media(prefers-reduced-motion:reduce){.realm-portrait .realm-atmosphere{animation:none}}.cultivation-avatar{float:right;padding:0;margin:0 0 12px 20px;border:0;background:transparent;cursor:pointer;border-radius:18px}.cultivation-summary h2{color:#196657}.cultivation-progress progress{display:block;width:100%;height:12px;accent-color:#288576;margin:10px 0 5px}.cultivation-progress small{color:#536c60;font-size:12px}.cultivation-progress p{margin:6px 0}.cultivation-load-state{display:flex;align-items:center;gap:20px;min-height:140px}.cultivation-skeleton-art{width:120px;height:120px;border-radius:20px;background:#dfe7db}.cultivation-skeleton-lines{display:grid;gap:12px;flex:1}.cultivation-skeleton-lines i{height:15px;width:80%;border-radius:6px;background:#dfe7db}.cultivation-skeleton-lines i:nth-child(2){width:50%}.realm-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.realm-list-heading h2{font-size:24px}.realm-list-close{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #b6cbb8;border-radius:50%;background:#fffdf7;color:#274632;cursor:pointer}.realm-list-dialog{grid-column:auto}.realm-equipment-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none}.realm-portrait[data-background]:after,.realm-portrait[data-background]>.realm-atmosphere{display:none}.realm-equipment-layer{position:absolute;z-index:2;width:100%;height:100%;top:0;right:0;bottom:0;left:0;pointer-events:none}.realm-portrait.realm-tier--low>.realm-equipment-layer{width:66%;height:66%;top:17%;right:17%;bottom:17%;left:17%}.realm-portrait.realm-tier--middle>.realm-equipment-layer{width:84%;height:84%;top:8%;right:8%;bottom:8%;left:8%}.realm-portrait.realm-portrait--badge>.realm-equipment-layer{width:100%;height:100%;top:0;right:0;bottom:0;left:0}.treasure-shop{--shop-ink:#284f46;--shop-brass:#a3854b;color:var(--shop-ink);min-width:0}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-bottom:1px solid #c7b58c;padding-bottom:24px}.shop-header h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:.3em 0}.shop-tools,.shop-dialog-actions,.shop-item-actions,.shop-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.treasure-shop button,.shop-dialog button{border:1px solid #a89a75;border-radius:8px;padding:10px 13px;background:#fffaf0;color:#284f46;cursor:pointer;font:inherit;min-height:42px}.treasure-shop button:hover,.shop-dialog button:hover{background:#e4eddf}.treasure-shop button:disabled,.shop-dialog button:disabled{opacity:.6;cursor:default}.treasure-shop button:focus-visible,.shop-dialog button:focus-visible,.wallet-link:focus-visible{outline:3px solid #327d6e;outline-offset:3px}.shop-tools button:first-of-type,.shop-dialog-actions button:first-child,.shop-item-actions button:last-child{background:#356759;color:#fffaf0}.wallet-line{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}.wallet-link{display:inline-block;border:1px solid #c6b484;background:#faf2de;padding:8px 12px;border-radius:20px;font-weight:700;font-size:.9rem;color:#365d4f;text-decoration:none;max-width:100%;overflow-wrap:anywhere}.shop-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;margin:28px 0}.shop-preview{display:flex;gap:20px;align-items:center;padding:22px;background:#e7eddf;border:1px solid #bfad7e;border-radius:20px;min-width:0}.shop-preview h2{font-family:Georgia,serif}.shop-preview p,.shop-equipment p{font-size:.9rem;line-height:1.7}.shop-equipment{border:1px solid #d6c9aa;border-radius:16px;padding:20px;background:#fbf7eb}.shop-equipment h2{margin-top:0;font-size:1.2rem}.shop-equipment>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #e3d8bd}.shop-equipment>div>span{width:82px;font-size:.85rem}.shop-equipment strong{flex:1;font-size:.9rem}.shop-equipment button{padding:4px 10px;min-height:34px}.shop-filters{padding:12px 0;border-bottom:1px solid #d3c3a0}.shop-filters button[aria-pressed=true]{background:#356759;color:#fffaf0}.shop-notice:empty{display:none}.shop-notice{padding:12px;background:#dfeadd;border-radius:8px}.shop-group{margin:28px 0 38px}.shop-group-title{display:flex;justify-content:space-between;align-items:center}.shop-group-title h2{font-family:Georgia,serif;font-size:1.7rem}.shop-group-title span{font-size:.85rem}.shop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.shop-item{min-width:0;border:1px solid #d9caac;border-top:3px solid var(--item-color);border-radius:14px;overflow:hidden;background:#fffcf3;scroll-margin-top:100px}.shop-highlight{outline:3px solid #b78d3d;outline-offset:4px}.shop-art-frame{position:relative;background:radial-gradient(ellipse at center,#f3eedb,#e9eadb);padding:12px}.shop-item-art{display:block;width:100%;height:170px}.shop-rarity{display:block;color:var(--item-color);font-size:.8rem;font-weight:700;text-align:center}.shop-item-copy{padding:14px}.shop-item h3{font-size:1rem;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere}.shop-item-copy p{font-size:.82rem;line-height:1.6;min-height:4.8em;margin:0 0 12px}.shop-price{display:block;font-size:.85rem;margin-bottom:14px}.shop-item-actions{gap:7px}.shop-item-actions button{flex:1;padding:9px 7px;font-size:.85rem}.shop-item small{display:block;margin-top:8px}.shop-empty{padding:25px;border:1px dashed #c8b58d;border-radius:12px}.shop-error{color:#8f3c2e;background:#fff0e6;padding:16px;border-radius:10px}.shop-ledger{padding:20px;background:#f6efdd;border-radius:12px;margin:28px 0}.shop-ledger p{font-size:.85rem}.shop-dialog{border:1px solid #b49b63;border-radius:18px;background:#fffbef;color:#284f46;padding:26px;max-width:480px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;box-sizing:border-box}.shop-dialog::backdrop{background:#183d35a6}.shop-dialog h2{font-family:Georgia,serif}.shop-dialog>.shop-item-art{height:160px}.shop-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.shop-dialog dd{margin:0;text-align:right;font-weight:700}.shop-dialog p{line-height:1.7}.cultivation-actions{flex-wrap:wrap}.student-main,.treasure-shop,.shop-intro>*{min-width:0}.stone-game-rules{font-size:.9rem;line-height:1.7}@media(max-width:1350px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-intro{grid-template-columns:1fr}}@media(min-width:1650px){.shop-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:650px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-preview{padding:14px;gap:12px}.shop-tools{width:100%}.shop-item-copy{padding:10px}.shop-header{gap:14px}.shop-item-art{height:155px}.shop-dialog{padding:20px}.shop-item-actions{flex-direction:column;align-items:stretch}}@media(max-width:350px){.shop-grid{grid-template-columns:1fr}.shop-preview{flex-direction:column}.shop-dialog dl{grid-template-columns:1fr}.shop-dialog dd{text-align:left}}.treasure-shop nav.shop-filters{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;position:static;width:auto;max-width:none;background:transparent}.treasure-shop nav.shop-filters button{width:auto;flex:0 1 auto;text-align:center;margin:0}.treasure-shop .shop-preview h2{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.25;margin:10px 0}.treasure-shop .shop-rarity{display:table;margin:0 auto;border:1px solid var(--item-color);border-radius:20px;padding:3px 9px;background:color-mix(in srgb,var(--item-color) 14%,#fffaf0);color:#304c42}.wallet-line .wallet-link,.shop-item .shop-price{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.wallet-link svg,.shop-price svg{flex:none;color:#598d82}.shop-character{width:46%;flex-shrink:0;min-width:0}.shop-character>.realm-portrait{width:100%}.shop-character .cultivation-load-state{flex-direction:column;text-align:center}.shop-preview-items{display:flex;flex-wrap:wrap;gap:8px}.shop-preview-items figure{margin:0;width:80px;text-align:center;font-size:.75rem}.shop-preview-items .shop-item-art{height:80px}@media(max-width:350px){.shop-character{width:160px}}.lms-layout .study-dashboard.treasure-shop{max-width:1600px;width:100%;box-sizing:border-box;padding:32px clamp(16px,2.5vw,40px)}.shop-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.shop-item{border-color:color-mix(in srgb,var(--item-color) 50%,#e8dfcb);box-shadow:0 5px 18px #493a2010}.shop-art-frame{padding:10px 8px 14px;background:linear-gradient(160deg,#fffdf6,#eee8d8)}.treasure-shop button.shop-art-open{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:200px;min-height:200px;border:0;border-radius:8px;padding:0;background:transparent;cursor:zoom-in}.shop-item-art{object-fit:contain;width:auto;height:auto;max-width:100%;max-height:200px;margin:auto}.shop-art-hint{position:absolute;right:4px;bottom:6px;padding:3px 7px;border-radius:12px;background:#fffaf0e8;color:#35594e;font-size:.75rem}.shop-art-open:hover .shop-art-hint{background:#e2ecdf}.shop-item-copy{padding:18px}.shop-item h3{font-size:1.1rem}.shop-item-actions button{font-size:.9rem}.shop-art-note{font-size:.85rem;color:#5c6b5c;line-height:1.7}.shop-art-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-26px;background:#fffbef;z-index:1}.shop-art-dialog-heading h2{font-size:1.4rem}.shop-art-detail{display:flex;justify-content:center;align-items:center;min-height:220px;padding:12px 0;border-block:1px solid #ded2b5;background:#f3eedf}.shop-dialog>.shop-item-art{height:auto;max-height:180px}.shop-preview-items .shop-item-art{height:auto;max-height:80px}@media(max-width:767px){.shop-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.shop-preview{flex-wrap:wrap}.shop-character{width:160px}.shop-art-dialog-heading{top:-20px}}@media(max-width:580px){.shop-grid{grid-template-columns:1fr}.shop-item-copy{padding:16px}.shop-item-actions{flex-direction:row}.shop-item-art{max-height:200px}.shop-item-actions button{min-height:44px}}.adventure{--jade: #235a49;--ink: #25483e;--gold: #ae8a42;--paper: #fbf7e9;color:var(--ink);max-width:1440px!important;margin-inline:auto;min-width:0}.adventure *{box-sizing:border-box}.adventure h1,.adventure h2,.adventure h3{font-family:Georgia,Times New Roman,serif;color:var(--ink)}.adventure h1{font-size:clamp(2rem,3.7vw,3.2rem);margin:5px 0}.adventure h2{font-size:1.45rem;margin:5px 0 12px}.adventure h3{font-size:1.2rem;margin:5px 0}.adventure p{line-height:1.65;margin:8px 0}.adventure button,.adventure select,.adventure a{font-size:1rem}.adventure button{min-height:44px;border:1px solid #b8c7ac;background:#fdf9ed;color:var(--jade);border-radius:8px;padding:10px 14px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.adventure button:hover:not(:disabled){background:#e5eddb;border-color:var(--jade)}.adventure button:disabled{opacity:.5;cursor:default}.adventure :is(button,a,select,input,summary):focus-visible{outline:3px solid #9063a6;outline-offset:4px}.adventure-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.adventure-title p{margin:0}.adventure-shop{display:flex;align-items:center;gap:12px;background:var(--jade);color:#fff8dd!important;text-decoration:none;border:1px solid #ba9a54;border-radius:12px;padding:14px 20px;box-shadow:0 5px #173b30}.adventure-shop strong{display:block;font-size:.8rem;margin-top:5px}.adventure-toolbar{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;align-items:center;margin:20px 0}.adventure-toolbar label{display:flex;align-items:center;gap:7px;min-height:32px}.adventure-toolbar input{accent-color:var(--jade);width:17px;height:17px}.adventure-toolbar>span{margin-left:auto;color:#647361}.adventure-panel{border:1px solid #d4cfaf;background:var(--paper);border-radius:14px;padding:22px;box-shadow:0 4px 15px #3c534909}.adventure-character{display:grid;grid-template-columns:110px minmax(180px,1fr) minmax(160px,.8fr);gap:24px;align-items:center;padding:14px 24px;border-top:3px solid var(--gold);margin-bottom:25px}.adventure-character .realm-portrait{width:110px;height:110px;min-height:0;aspect-ratio:1}.adventure-character h2{margin:5px 0}.adventure-character p{font-size:.85rem;margin:3px 0}.adventure-character progress{display:block;margin-top:10px;max-width:390px}.adventure-equipment{border-left:1px solid #d7d2b6;padding-left:22px}.adventure-equipment small{color:#697261;line-height:1.55;display:block;font-size:.74rem}.adventure-start{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.adventure .adventure-primary{background:var(--jade);color:#fff8dd;border-color:#235a49;padding:13px 20px}.adventure .adventure-primary:hover:not(:disabled){background:#174333;color:#fff8dd}.adventure-start .adventure-primary{font-size:1.15rem;min-height:58px;white-space:nowrap}.adventure-band{margin:20px 0 25px;display:flex;gap:10px;border:0;padding:0}.adventure-band legend{font-size:.8rem;font-weight:700;margin-bottom:10px}.adventure-band label{display:flex;align-items:center;gap:9px;flex:1;padding:12px;background:#f7f4e8;border:1px solid #d9d5bc;border-radius:9px;font-size:.86rem;cursor:pointer}.adventure-band label:has(:checked){background:#e5eddb;border-color:#64957d}.adventure-band input{accent-color:var(--jade)}.adventure-band small{display:block;font-size:.69rem;color:#68715f;line-height:1.5;margin-top:3px}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.adventure-main,.adventure-sidebar{min-width:0}.adventure-sidebar{display:grid;gap:20px}.adventure-world{border:1px solid #bdc6ab;border-radius:17px;background:#eef0dc;overflow:hidden}.adventure-map-illustration{position:relative;overflow:hidden;background:#b8ceaf}.secret-realm-map{display:block;width:100%;height:auto}.adventure-map-title{position:absolute;left:5%;top:19%;background:#f8f2d6df;padding:16px 20px;border-left:3px solid #ae8a42;box-shadow:0 10px 30px #16362c12}.adventure-map-title span{font-size:.7rem;letter-spacing:.15em}.adventure-map-title h2{font-size:clamp(1.25rem,2.3vw,2rem);margin:8px 0 0;line-height:1.3}.adventure-destinations{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cdd3b9}.adventure-destination{display:flex;gap:14px;padding:24px 18px;background:#f9f5e6;align-items:flex-start;min-width:0}.adventure-destination:last-child{grid-column:1/-1;background:#ede7ef}.adventure-seal{font-family:serif;display:grid;place-items:center;border:1px solid #ac9d6e;outline:1px solid #ac9d6e;outline-offset:-5px;border-radius:50%;width:48px;height:48px;flex-shrink:0;background:#e1e9d4;color:#3a6654;font-size:1.7rem}.destination-boss .adventure-seal{background:#e2d5e8;color:#705183}.adventure-destination small{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.adventure-destination h3{font-size:1.1rem}.adventure-destination p{font-size:.83rem;line-height:1.6}.adventure-destination button{font-size:.82rem;margin-top:8px;text-align:left}.adventure-unavailable{color:#73695a;background:#f0ead7;padding:9px;border-radius:6px}.adventure-floors{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.adventure-floors button{font-size:.75rem;padding:6px}.adventure progress{width:100%;height:9px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#e2dfc9}.adventure progress::-webkit-progress-bar{background:#e2dfc9;border-radius:10px}.adventure progress::-webkit-progress-value{background:#588b66;border-radius:10px}.adventure progress::-moz-progress-bar{background:#588b66;border-radius:10px}.adventure-mission{padding:15px 0;border-bottom:1px solid #ded8bf}.adventure-mission:last-child{border-bottom:0;padding-bottom:0}.adventure-mission strong{font-size:.86rem;display:block;line-height:1.55}.adventure-mission progress{margin:10px 0 5px}.adventure-mission small{font-size:.74rem;color:#686f5f;display:block;line-height:1.6}.adventure .adventure-small{font-size:.75rem;color:#6b7561}.adventure-goal img{max-width:100%;height:auto;display:block;margin:12px auto;border-radius:10px}.adventure-goal h3{font-size:1.1rem}.adventure-goal p{font-size:.85rem}.adventure-goal a{display:inline-flex;gap:7px;align-items:center;margin:10px 0;font-size:.86rem;font-weight:700;color:var(--jade)}.adventure-goal label{display:block;margin:18px 0 8px;font-size:.82rem}.adventure select{width:100%;min-height:46px;background:#fffdf5;border:1px solid #bebf9f;border-radius:7px;padding:9px;color:var(--ink);font-size:.83rem}.adventure-goal small,.adventure-rules small{display:block;font-size:.72rem;color:#717462;line-height:1.7;margin-top:10px}.adventure-rules{font-size:.81rem}.adventure summary{cursor:pointer;font-weight:700;line-height:1.5;min-height:30px}.adventure-sync{font-size:.8rem;color:#536a53;padding:6px 12px;background:#e6edda;border-radius:6px}.adventure-error{border:1px solid #a36d56;background:#fff0da;padding:16px;border-radius:10px;margin-bottom:16px}.adventure-arena{border:1px solid #bbbf9b;border-radius:14px;background:var(--paper);overflow:hidden}.adventure-arena-top{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:14px}.adventure-arena-top h2{font-size:1.3rem;margin:5px 0}.adventure-arena-top small,.adventure-arena-top span{font-size:.8rem}.adventure-arena-top button{font-size:.78rem;padding:9px}.adventure .adventure-run-progress{border-radius:0;height:6px;display:block}.adventure-battle{display:grid;grid-template-columns:1fr .8fr 1fr;align-items:center;padding:12px 20px;background:radial-gradient(ellipse at 50% 100%,#dde2bb,transparent 65%),linear-gradient(140deg,#e6eddb,#d4e0d0);min-height:200px;gap:8px;border-bottom:1px solid #cdd5b6}.adventure-battle>div{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.adventure-battle .realm-portrait{width:145px;height:145px;min-height:0;aspect-ratio:1}.adventure-battle span{font-size:.72rem;text-align:center}.adventure-battle .adventure-spell{font-size:.85rem;color:#51775e;text-align:center;font-family:Georgia,serif;font-weight:700}.adventure-spell>span{font-family:serif;font-size:2.6rem;border:1px solid #b4a86d;outline:1px solid #b4a86d;outline-offset:6px;width:70px;height:70px;display:grid;place-items:center;border-radius:50%;margin-top:16px}.adventure-opponent svg{width:135px;height:135px;filter:drop-shadow(0 10px 7px #345a4020)}.adventure-opponent progress{max-width:120px;height:6px}.adventure-final-boss{background:radial-gradient(ellipse at 75% 30%,#dbcae3,transparent 65%),#e3e8d7}.adventure-final-boss .adventure-opponent svg{filter:drop-shadow(0 4px 12px #805c9150)}.adventure-hit .adventure-opponent svg{animation:adventure-strike .3s ease-out}.adventure-hit .adventure-spell>span{animation:adventure-pulse .4s ease-out}.adventure-question{padding:24px}.adventure-question>h3{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,2.8vw,1.9rem);line-height:1.7;margin:15px 0 22px;overflow-wrap:anywhere;outline-offset:5px}.adventure-passage{background:#f0efde;border-left:3px solid #8ca77a;padding:14px;border-radius:5px;margin-top:16px}.adventure-passage summary{font-size:.82rem}.adventure-passage blockquote{margin:10px 0 0;font-size:1.2rem;line-height:2}.adventure-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adventure-choices button{display:flex;justify-content:flex-start;text-align:left;padding:16px;min-height:70px;background:#fffdf4;font-size:1.1rem;line-height:1.5;overflow-wrap:anywhere}.adventure-choices button>span:first-child{background:#e8ecd9;border-radius:50%;font-size:.8rem;flex-shrink:0;width:28px;height:28px;display:grid;place-items:center}.adventure .adventure-choices .answer-correct{border:2px solid #497b4a;background:#e6edda;opacity:1}.adventure .adventure-choices .answer-wrong{border-color:#b68971;background:#f7ebde;opacity:1}.adventure-order-answer{display:flex;flex-wrap:wrap;gap:8px;min-height:85px;padding:15px;border:1px dashed #8caa86;border-radius:10px;background:#edf0df;align-items:center}.adventure-order-answer>span{font-size:.85rem;color:#727e66}.adventure-token-bank{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.adventure-order button{font-size:1.1rem}.adventure-order>.adventure-primary{font-size:.95rem;margin-right:8px}.adventure-feedback{background:#eaf0df;border-left:3px solid #5f8b65;padding:18px;margin-top:22px;border-radius:5px}.adventure-feedback h4{font-size:1.1rem;margin:0 0 9px}.adventure-feedback p{font-size:.95rem;line-height:1.8}.adventure-feedback button{margin:7px 10px 0 0;font-size:.9rem}.adventure-feedback svg{vertical-align:middle}.adventure .adventure-audio{background:#e3e9f0;margin-bottom:20px}.adventure-results{padding:30px}.adventure-results>svg{color:#a17e38;margin-bottom:15px}.adventure-result-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;gap:14px}.adventure-result-numbers>strong{font-family:Georgia,serif;font-size:2rem;color:var(--jade)}.adventure-result-numbers small{display:block;font-family:inherit;font-size:.73rem;color:#6a7563;margin-top:8px}.adventure-reward-list{padding:0;list-style:none}.adventure-reward-list li{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid #d7d6ba;padding:12px 0;font-size:.8rem}.adventure-reward-list strong{text-align:right}.adventure-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;align-items:center}.adventure-result-actions a{color:var(--jade);display:flex;align-items:center;gap:8px;font-weight:700;font-size:.86rem}.adventure-history{margin:25px 0}.adventure-history ul{list-style:none;padding:0;margin:12px 0 0}.adventure-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ddd8bf;padding:12px 0;font-size:.85rem}.adventure-history small{display:block;font-size:.74rem;color:#6b745e;margin-top:6px}.adventure-history button{font-size:.8rem;flex-shrink:0}.adventure-in-run{grid-template-columns:minmax(0,1fr) 280px}@keyframes adventure-strike{30%{transform:translate(8px) rotate(4deg)}70%{transform:translate(-3px)}}@keyframes adventure-pulse{50%{transform:scale(1.1);opacity:.7}}.adventure-still *{animation:none!important;transition:none!important}@media(min-width:1500px){.adventure-layout{grid-template-columns:minmax(0,1fr) 320px}.adventure-map-illustration{max-height:430px}.secret-realm-map{margin-top:-30px}.adventure-destination{padding:25px}}@media(max-width:1100px){.adventure-layout,.adventure-in-run{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.adventure-destinations{grid-template-columns:1fr}.adventure-destination:last-child{grid-column:auto}.adventure-panel{padding:17px}.adventure-character{grid-template-columns:95px 1fr;gap:16px}.adventure-character .realm-portrait{width:95px;height:95px}.adventure-equipment{grid-column:1/-1;border:0;border-top:1px solid #d7d2b6;padding:12px 0 0}.adventure-map-title{top:12%;padding:12px}.adventure-band small{display:none}}@media(max-width:800px){.adventure-layout,.adventure-in-run{grid-template-columns:1fr}.adventure-sidebar{grid-template-columns:1fr 1fr}.adventure-rules{grid-column:1/-1}.adventure-start{flex-wrap:wrap}.adventure-destinations{grid-template-columns:1fr 1fr}.adventure-destination:last-child{grid-column:1/-1}.adventure-title{align-items:flex-start}.adventure-shop{padding:12px;font-size:.85rem!important}.adventure-shop svg{display:none}.adventure-map-title h2{font-size:1.6rem}.adventure-map-illustration{max-height:350px}.adventure-toolbar>span{margin:0;width:100%}.adventure-band label{padding:10px 6px}.adventure-band span{font-size:.8rem}}@media(max-width:520px){.adventure-title{flex-direction:column;gap:12px}.adventure-shop{width:100%;justify-content:center}.adventure-shop span{display:flex;align-items:center;gap:12px}.adventure-shop strong{margin:0}.adventure-start .adventure-primary{width:100%}.adventure-band{gap:6px;flex-direction:column}.adventure-band label{padding:12px}.adventure-band small{display:block}.adventure-destinations,.adventure-sidebar{grid-template-columns:1fr}.adventure-destination:last-child{grid-column:auto}.adventure-map-title{top:12%;padding:10px}.adventure-map-title h2{font-size:1.15rem}.adventure-map-title span{font-size:.6rem}.adventure-destination{padding:20px 16px}.adventure-character{padding:14px;grid-template-columns:80px 1fr;gap:12px}.adventure-character .realm-portrait{width:80px;height:80px}.adventure-character h2{font-size:1.25rem}.adventure-equipment{display:block}.adventure-battle{padding:12px 8px;min-height:150px;grid-template-columns:1fr .7fr 1fr}.adventure-battle .realm-portrait{width:95px;height:95px}.adventure-opponent svg{width:85px;height:85px}.adventure-battle .adventure-spell{font-size:.7rem}.adventure-spell>span{width:42px;height:42px;font-size:1.6rem;margin-top:10px}.adventure-arena-top{padding:15px 12px;align-items:flex-start}.adventure-arena-top h2{font-size:1.08rem}.adventure-arena-top button{max-width:105px;line-height:1.4;min-height:44px}.adventure-question{padding:20px 14px}.adventure-choices{grid-template-columns:1fr}.adventure-choices button{min-height:58px;font-size:1.05rem;padding:13px}.adventure-order button{font-size:1rem;min-height:48px}.adventure-passage blockquote{font-size:1.05rem}.adventure-results{padding:22px 15px}.adventure-result-numbers{gap:8px}.adventure-result-numbers>strong{font-size:1.65rem}.adventure-result-numbers small{font-size:.68rem}.adventure-reward-list li{flex-wrap:wrap;gap:4px}.adventure-history li{flex-wrap:wrap}.adventure-history button{width:100%}.adventure-rules{grid-column:auto}}@media(prefers-reduced-motion:reduce){.adventure *{animation:none!important;transition:none!important}}.adventure-preflight{padding:12px 20px;background:#eeebd4;border-top:1px solid #d8cfac;font-size:.8rem;line-height:1.7}.adventure .adventure-title{padding:0;max-width:none;margin:0 0 12px}.adventure .adventure-main{padding:0;margin:0;max-width:none;min-width:0}.adventure-mission-notice{display:flex;align-items:center;gap:15px;justify-content:space-between;background:#e3edd6;border:1px solid #9eaf7d;padding:12px 16px;border-radius:9px;font-size:.85rem;margin:12px 0}.admin-page{max-width:1440px;margin:auto;padding:48px 28px 64px;color:#293e35}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.admin-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;font-weight:750;color:#557363}.admin-heading h1{font-family:Georgia,serif;font-size:clamp(32px,5vw,50px);margin:12px 0}.admin-heading p:last-child{color:#64736a}.admin-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #bbc9bb;border-radius:8px;padding:10px 16px;background:#fcfcf6;color:#294a39;font:inherit;cursor:pointer}.admin-button:hover:not(:disabled){background:#e8efdf}.admin-button:disabled{opacity:.45;cursor:default}.admin-page :focus-visible{outline:3px solid #8f621b;outline-offset:4px}.admin-counts{display:grid;grid-template-columns:repeat(4,1fr);background:#eaf0e3;border:1px solid #cbd7c4;border-radius:12px;margin:0 0 30px;overflow:hidden}.admin-counts>div{padding:22px;border-right:1px solid #cbd7c4}.admin-counts>div:last-child{border:0}.admin-counts dt{font-size:13px;color:#4e6857}.admin-counts dd{margin:10px 0 0;font-family:Georgia,serif;font-size:36px}.admin-filters{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:16px}.admin-filters label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:650}.admin-filters select,.admin-filters input{min-height:44px;width:100%;border:1px solid #c4cebf;border-radius:7px;background:#fffef8;color:#293e35;font:inherit;font-size:14px;padding:10px}.admin-search span{position:relative}.admin-search svg{position:absolute;left:12px;top:13px;color:#6c7f6c}.admin-search input{padding-left:38px}.admin-result-count{font-size:13px;color:#64736a;margin:24px 0 12px}.admin-table-scroll{overflow:auto;border:1px solid #d4dacb;border-radius:10px;background:#fffef9}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:1050px}.admin-table thead{background:#f0f2e9}.admin-table th,.admin-table td{padding:18px 16px;border-bottom:1px solid #e4e7dc;vertical-align:top}.admin-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#526650}.admin-table tbody th{font-weight:400;width:24%}.admin-table tbody tr:hover{background:#f7f8ef}.admin-table tr:last-child>*{border-bottom:0}.admin-email,.admin-table small{display:block;color:#6a756a;margin-top:6px;overflow-wrap:anywhere}.admin-badge{display:inline-block;font-size:10px;border:1px solid #e1cfac;color:#80612d;border-radius:4px;padding:3px 6px;margin-top:9px;background:#fbf2df}.admin-badge.is-confirmed{color:#436443;background:#edf4e7;border-color:#d0dfc5}.admin-table a{color:#3e6544;text-underline-offset:3px}.admin-points{font-weight:750;font-variant-numeric:tabular-nums}.admin-muted{color:#7f7866}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:13px;margin:20px 0 30px}.admin-footnote{border-left:3px solid #b8c8ac;padding:4px 20px;max-width:1000px;font-size:12px;color:#63705f;line-height:1.8}.admin-footnote p{margin:7px 0}.admin-notice{border:1px solid #d4dacb;background:#fafaf1;border-radius:12px;padding:30px;line-height:1.7}.admin-notice h2{font-size:21px}.admin-loading{padding:24px;border:1px solid #d4dacb;border-radius:12px}.admin-loading div{height:54px;background:#edf0e5;margin:12px 0;border-radius:6px}.admin-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:950px){.admin-filters,.admin-counts{grid-template-columns:1fr 1fr}.admin-counts>div:nth-child(2){border-right:0}.admin-counts>div:nth-child(-n+2){border-bottom:1px solid #cbd7c4}}@media(max-width:540px){.admin-page{padding:24px 16px 40px}.admin-heading{align-items:flex-start;flex-direction:column;gap:8px}.admin-filters{grid-template-columns:1fr}.admin-counts>div{padding:16px}.admin-counts dt{font-size:11px}.admin-counts dd{font-size:30px}.admin-pagination{justify-content:space-between;gap:8px}.admin-pagination .admin-button{padding:10px}.admin-heading h1{margin:8px 0}}.honor-arena{--honor-gold:#e6c477;max-width:1200px;margin:24px auto;padding:clamp(18px,4vw,48px);color:#244838;background:#fcf8ef;border:1px solid #ddd7c6;border-radius:24px}.honor-heading{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-bottom:32px}.honor-emblem{display:grid;place-items:center;width:76px;height:86px;flex-shrink:0;background:#254a39;color:#ebcd86;border-radius:40px 40px 12px 12px}.honor-arena .honor-kicker{color:#806331;font-size:11px;letter-spacing:.16em;font-weight:700;margin:0 0 8px}.honor-arena h1{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(30px,4.5vw,52px);line-height:1.15;margin:0 0 12px;color:#244838}.honor-heading p{margin:0;font-size:14px;line-height:1.7}.honor-study{margin-left:auto;padding:12px 18px;border:1px solid #bdc9bb;border-radius:8px;color:#244838;text-decoration:none;font-size:13px}.honor-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px 0;border-top:1px solid #dedaca}.honor-arena h2{font-family:"Source Serif 4",Georgia,serif;font-size:21px;margin:0}.honor-toolbar [role=group]{display:flex;gap:5px;padding:4px;background:#eeeade;border-radius:12px}.honor-arena button{font:inherit;font-size:13px;padding:10px 15px;border:1px solid transparent;border-radius:8px;background:#eeeade;color:#294a38;cursor:pointer}.honor-toolbar button[aria-pressed=true]{background:#284e3e;color:#fff8e8;box-shadow:0 2px 5px #24483825}.honor-arena :is(button,a):focus-visible,.honor-home-link:focus-visible{outline:3px solid #af7b29;outline-offset:4px}.honor-arena button:disabled{opacity:.55;cursor:wait}.honor-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:clamp(8px,2vw,24px);list-style:none;margin:8px 0 30px;padding:40px clamp(10px,3vw,36px) 0;background:radial-gradient(ellipse at 50% 20%,#476a4f,#193b2f 70%);border:1px solid #49654c;border-radius:18px;overflow:hidden}.honor-finalist{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;color:#f6edda;--medal:#e6c477}.honor-metal-2{--medal:#c3d4d8}.honor-metal-3{--medal:#d8a17c}.honor-slot-1{grid-column:2;grid-row:1}.honor-slot-2{grid-column:1;grid-row:1}.honor-slot-3{grid-column:3;grid-row:1}.honor-crown{color:var(--medal);fill:var(--medal);stroke:#183c2e;stroke-width:1;width:54px;height:54px;margin-bottom:8px;filter:drop-shadow(0 3px 0 #0e281d)}.honor-slot-1 .honor-crown{width:72px;height:72px}.honor-podium .realm-portrait{width:min(100%,190px);border-radius:100px 100px 18px 18px;border:3px solid var(--medal);box-shadow:0 12px 25px #102c2370}.honor-slot-1 .realm-portrait{width:min(100%,240px)}.honor-winner{width:100%;padding:16px 4px 20px}.honor-rank{display:inline-block;color:var(--medal);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.honor-arena .honor-winner h3{color:#fff8e7;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(17px,2.3vw,25px);margin:8px 0;overflow-wrap:anywhere}.honor-winner p{color:#d0dfcb;font-size:12px;margin:5px 0 12px}.honor-winner>strong{display:block;color:var(--medal);font-size:clamp(23px,3vw,36px);font-variant-numeric:tabular-nums}.honor-winner small{font-size:12px;font-weight:400}.honor-total{display:block;color:#cad8c7;font-size:10px;margin-top:6px}.honor-step{width:100%;min-height:130px;padding:18px 0;font-family:Georgia,serif;font-size:64px;color:var(--medal);border:1px solid #b9a36d70;border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(135deg,#68806075,#203e2d);box-shadow:0 0 24px #102c2333}.honor-slot-1 .honor-step{min-height:190px;background:linear-gradient(135deg,#b3954b80,#314a30)}.honor-slot-3 .honor-step{min-height:90px}.honor-roster{border:1px solid #dfdfd1;border-radius:16px;padding:24px;background:#fffdf7}.honor-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px}.honor-roster-heading>span{font-size:12px;color:#61715e}.honor-roster ol{list-style:none;margin:0;padding:0}.honor-roster li{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #e9e8dd}.honor-number{min-width:58px;display:flex;align-items:center;gap:6px;font-size:20px;color:#657460;font-variant-numeric:tabular-nums}.honor-number:has(svg){color:#8a682c}.honor-number.honor-metal-2{color:#607881}.honor-number.honor-metal-3{color:#a06d46}.honor-student{flex:1;min-width:0}.honor-student strong{display:block;overflow-wrap:anywhere;font-size:16px}.honor-student span{display:block;margin-top:5px;color:#61715e;font-size:12px}.honor-points{text-align:right}.honor-points strong{font-size:24px;font-variant-numeric:tabular-nums}.honor-points span{display:block;font-size:11px;color:#61715e}.honor-footer{margin-top:22px;display:flex;align-items:center;gap:24px}.honor-footer p{flex:1;font-size:11px;line-height:1.8;color:#5e6a58}.honor-footer button{flex-shrink:0}.honor-empty,.honor-loading{display:flex;min-height:350px;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;padding:25px;background:#f0eee2;border-radius:16px}.honor-empty p{margin:0;line-height:1.7}.honor-empty a{color:#24513b}.honor-skeleton{display:flex;align-items:end;gap:15px;height:180px}.honor-skeleton i{width:65px;height:110px;border-radius:45px 45px 6px 6px;background:#d7ddcd}.honor-skeleton i:nth-child(2){height:170px}.honor-skeleton i:nth-child(3){height:85px}.honor-home-link{display:flex;align-items:center;gap:16px;padding:22px;color:#fff4d8;background:#294e3b;border:1px solid #8e966f;border-radius:14px;text-decoration:none}.honor-home-link>svg{color:#e7c781;flex-shrink:0}.honor-home-link>span:nth-child(2){flex:1}.honor-home-link strong{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:22px}.honor-home-link small{display:block;color:#dbe3cd;font-size:12px;line-height:1.6;margin-top:7px}.honor-home-link:hover{background:#355c46}@media(max-width:600px){.honor-arena{margin:12px 8px;padding:16px 12px;border-radius:16px}.honor-heading{gap:12px}.honor-emblem{width:48px;height:60px}.honor-emblem svg{width:28px}.honor-heading>div{flex:1}.honor-study{margin:0}.honor-podium{padding:24px 6px 0;gap:6px}.honor-crown{width:34px;height:34px}.honor-slot-1 .honor-crown{width:44px;height:44px}.honor-winner{padding:12px 2px}.honor-arena .honor-winner h3{font-size:14px}.honor-winner p{font-size:10px}.honor-winner>strong{font-size:20px}.honor-total{font-size:9px}.honor-step{min-height:85px;font-size:42px}.honor-slot-1 .honor-step{min-height:130px}.honor-slot-3 .honor-step{min-height:60px}.honor-roster{padding:16px 12px}.honor-roster-heading{flex-wrap:wrap}.honor-roster li{gap:8px}.honor-number{min-width:40px;font-size:15px;gap:3px}.honor-number svg{width:16px}.honor-student strong{font-size:14px}.honor-student span{font-size:10px}.honor-points strong{font-size:19px}.honor-points span{font-size:9px}.honor-footer{flex-direction:column;align-items:start;gap:4px}}.love-chinese{--love-cream: #fff8eb;width:100%;min-width:0;box-sizing:border-box;padding:20px;border:1px solid #871326;border-radius:18px;background:#a5162b;color:var(--love-cream);text-align:left}.love-chinese .love-chinese-heading h2{display:flex;flex-wrap:wrap;gap:4px 6px;margin:0;font-size:14px;line-height:1.6;font-weight:750;letter-spacing:.04em;color:var(--love-cream)}.love-chinese .love-chinese-heading p{margin:5px 0 14px;font-size:12px;color:#ffe2d4}.love-chinese .love-chinese-filter{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:12px;cursor:pointer}.love-chinese-filter input{accent-color:#A5162B;width:16px;height:16px}.love-chinese .love-chinese-card{padding:18px;border-radius:12px 12px 26px;background:var(--love-cream);color:#49242a;overflow-wrap:anywhere}.love-chinese-number{color:#87545b;font-size:10px;letter-spacing:.14em}.love-chinese .love-chinese-quote{margin:12px 0 10px;font-family:"Noto Serif TC",PMingLiU,serif;font-size:clamp(22px,2.5vw,28px);line-height:1.65;font-weight:600;color:#861529}.love-chinese .love-chinese-pinyin{margin:0 0 10px;color:#835048;font-size:13px;line-height:1.7}.love-chinese .love-chinese-meaning{margin:0 0 14px;font-size:14px;line-height:1.7;color:#49242a}.love-chinese-note{padding-top:10px;border-top:1px solid #e8d8c8}.love-chinese .love-chinese-note p{margin:4px 0;font-size:12px;line-height:1.8;color:#6b4a47}.love-chinese-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.love-chinese .love-chinese-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:0;padding:8px 4px;border:1px solid #edb6ad;border-radius:9px;background:transparent;color:var(--love-cream);font:inherit;font-size:13px;cursor:pointer}.love-chinese-actions button span{display:block}.love-chinese-actions small{display:block;font-size:10px;margin-top:2px}.love-chinese .love-chinese-actions button:hover:not(:disabled),.love-chinese .love-chinese-actions button[aria-pressed=true]{background:var(--love-cream);color:#a5162b}.love-chinese button:disabled{opacity:.55;cursor:default}.love-chinese :is(button,input,textarea):focus-visible{outline:3px solid #ffd66b;outline-offset:3px}.love-chinese .love-chinese-status,.love-chinese .love-chinese-error{margin:10px 0 0;color:#ffe2d4;font-size:11px;line-height:1.6}.love-chinese-error button{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:5px}.love-chinese-manual{display:block;margin-top:12px;font-size:12px}.love-chinese-manual textarea{box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border-radius:6px;background:var(--love-cream);color:#49242a;font:inherit}@media(max-width:480px){.love-chinese{padding:15px;border-radius:14px}.love-chinese .love-chinese-card{padding:15px}.love-chinese .love-chinese-actions button{gap:4px}.love-chinese-actions svg{width:14px;flex-shrink:0}}.studio-home-aside>.love-chinese{margin-bottom:18px}@media(max-width:767px){.studio-home-aside>.love-chinese{margin-bottom:0}}:root{font-family:Inter,Noto Sans TC,system-ui,sans-serif;color:#17233c;background:#f5f7fc}button{cursor:pointer;font:inherit}header{background:#fff;border-bottom:1px solid #e5e9f3;padding:18px max(24px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center}.logo{font-weight:850;color:#4338ca;font-size:20px}.tag{font-size:12px;background:#eef2ff;color:#4338ca;padding:7px 12px;border-radius:30px}main{max-width:1100px;margin:36px auto;padding:0 20px}.hero{background:linear-gradient(110deg,#3730a3,#6366f1);color:#fff;border-radius:24px;padding:35px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero h1{font-size:32px;margin:8px 0}.hero p{color:#e0e7ff}.hero .glyph{font-size:76px;opacity:.75}.grid{display:grid;grid-template-columns:240px 1fr;gap:22px;margin-top:24px}.panel{background:#fff;border:1px solid #e9ecf4;border-radius:20px;padding:22px;box-shadow:0 6px 24px #27346508}nav button{width:100%;border:0;background:transparent;padding:13px;text-align:left;border-radius:12px;margin:4px 0;color:#334155}nav button.active{background:#eef2ff;color:#4338ca;font-weight:750}.muted{color:#64748b;font-size:14px}.section-title{margin-top:0}.tabs{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.tabs button,.btn{border:1px solid #dbe1ef;background:#fff;padding:11px 17px;border-radius:12px;font-weight:650;color:#334155}.tabs button.active,.btn.primary{background:#4f46e5;color:#fff;border-color:#4f46e5}.card{border:1px solid #e5e9f3;border-radius:18px;padding:24px;margin:16px 0;background:#fff}.flash{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#eef2ff,#fff);cursor:pointer;text-align:center}.hanzi{font-size:54px;font-weight:700}.pinyin{font-size:19px;color:#6366f1;margin-top:10px}.meaning{font-size:22px;margin-top:10px}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:15px}.quiz-choice{display:block;width:100%;text-align:left;margin:10px 0;border:1px solid #dce2ed;background:#fff;border-radius:12px;padding:14px}.quiz-choice.selected{border-color:#4f46e5;background:#eef2ff}.quiz-choice.correct{border-color:#16a34a;background:#f0fdf4}.quiz-choice.wrong{border-color:#dc2626;background:#fef2f2}.progress{height:9px;background:#e5e7eb;border-radius:10px;overflow:hidden}.progress>div{height:100%;background:#6366f1;transition:width .2s}.dialogue{border-bottom:1px solid #edf0f6;padding:15px 0}.dialogue:last-child{border:0}.speaker{font-size:13px;font-weight:700;color:#6366f1}.dialogue .zh{font-size:23px;margin:8px 0}.dialogue .py{color:#64748b}.notice{padding:14px;background:#f0fdf4;color:#166534;border-radius:12px;margin-top:15px}.small{font-size:12px;color:#64748b}footer{text-align:center;color:#94a3b8;padding:36px}@media(max-width:720px){.grid{grid-template-columns:1fr}.hero{padding:25px}.hero h1{font-size:25px}.hero .glyph{display:none}main{margin:20px auto}.panel{padding:17px}nav{display:flex;overflow:auto;gap:6px}nav button{white-space:nowrap;width:auto}.hanzi{font-size:46px}}:root{font-family:Be Vietnam Pro,sans-serif;color:#263a32;background:#fbf8f0;--green: #264e3b;--orange: #e8864a}html{scroll-behavior:smooth;scroll-padding-top:30px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #e8864a;outline-offset:5px}button:disabled{cursor:default;opacity:.5}.skip{position:absolute;top:-60px;background:#fff;padding:15px;z-index:10}.skip:focus{top:0}header{max-width:1256px;margin:auto;padding:26px 44px;background:transparent;border:0}.brand{display:flex;align-items:center;font-weight:800;font-size:23px;letter-spacing:-1px}.brand>span:not(.brand-icon){font-weight:400}.brand-icon{display:grid;place-items:center;width:37px;height:37px;background:var(--green);color:#fbf8f0;border-radius:50%;margin-right:10px;font-size:24px}.brand i{font-style:normal;color:var(--orange);font-size:30px;margin-left:3px}.topnav{display:flex;align-items:center;gap:35px;font-size:13px}.nav-cta{border:1px solid #c1c8b9;border-radius:30px;padding:12px 20px}.nav-cta span{margin-left:20px}main{max-width:1256px;padding:0 44px;margin:0 auto}.hero{background:transparent;color:inherit;padding:65px 0 76px;gap:30px;border-radius:0;min-height:570px;display:grid;grid-template-columns:1.1fr 1fr}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#627367}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:7px;height:7px;background:#81a576;border-radius:50%}.hero h1{font-family:"Baloo 2",sans-serif;font-size:82px;line-height:1.08;letter-spacing:-3px;margin:25px 0}.hero h1>span{color:var(--orange);position:relative}.hero h1 i{font-style:normal;display:inline-block;font-size:52px;margin-left:12px;vertical-align:top;transform:rotate(15deg)}.hero p{color:#6f786d;font-size:14px;line-height:1.9;margin:22px 0 28px}.hero-actions{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:600}.solid-link{background:var(--green);color:#fff;border-radius:28px;padding:17px 23px;box-shadow:0 4px #183827}.solid-link span{margin-left:20px}.text-link span{margin-left:8px}.hero-note{display:flex;align-items:center;gap:10px;font-size:10px;color:#778173;margin-top:28px}.tiny-star{font-size:23px;color:var(--orange)}.art{position:relative;height:430px;isolation:isolate}.orbit{position:absolute;top:18px;right:4px;bottom:0;left:4px;border-radius:50%;background:#ecefda}.character-card{position:absolute;top:49px;left:64px;width:285px;height:320px;border:1px solid #315341;border-radius:10px;background:#bacaab;transform:rotate(-9deg);box-shadow:9px 11px #264e3b;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.card-label{font-size:8px;letter-spacing:1.1px}.character{font-family:serif;text-align:center;font-size:175px;line-height:1.1;color:#2b513b}.character-bottom{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #71876a;padding-top:12px}.hello-sticker{position:absolute;right:17px;top:5px;background:#f5cb70;padding:18px 26px;font:700 35px "Baloo 2",serif;border-radius:50% 50% 50% 8%;transform:rotate(11deg);z-index:2;box-shadow:2px 3px #d1ad5e}.hello-sticker span{display:block;font:12px Be Vietnam Pro,sans-serif;text-align:center}.orange-flower{position:absolute;left:0;bottom:19px;font-size:150px;line-height:1;color:var(--orange);transform:rotate(6deg)}.word-sticker{position:absolute;right:0;bottom:39px;background:#f7e1dc;transform:rotate(7deg);padding:19px 22px;font:30px serif;box-shadow:3px 3px #e6c1b8;border:1px solid #ebc7bd}.word-sticker span{display:block;font:10px Be Vietnam Pro,sans-serif;margin-top:9px}.art-spark{position:absolute;font-size:60px;right:-5px;top:140px}.art-caption{position:absolute;bottom:-8px;left:140px;font-size:10px;transform:rotate(-5deg);color:#71816a}.ribbon{border-top:1px solid #d7dccd;border-bottom:1px solid #d7dccd;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;font-size:11px;font-weight:600;letter-spacing:1px}.ribbon b{font-size:23px;color:var(--orange);font-weight:400}.about{display:grid;grid-template-columns:.65fr 1.5fr .8fr;gap:40px;padding:90px 0;border-bottom:1px solid #d7dccd}.about>.section-kicker{padding-top:10px}h2{font-family:"Baloo 2",sans-serif;font-size:36px;line-height:1.3;letter-spacing:-.6px;margin:0 0 20px}h2 span{color:#6e8b60}.about p{font-size:13px;line-height:1.95;color:#71786b;max-width:470px}.interest-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.interest-tags span{font-size:9px;border:1px solid #d4dbc9;border-radius:20px;padding:8px 11px}.about-note{background:#f4d67f;padding:30px 24px;transform:rotate(5deg);align-self:center;position:relative}.about-note:before{content:"";position:absolute;width:65px;height:23px;background:#e5e4d8a6;top:-10px;left:37%;transform:rotate(-8deg)}.about-note>span{font:31px serif}.about-note p{color:#554c30;font-size:17px;line-height:1.5}.about-note>div{font-size:7px;letter-spacing:1px}.learning-head{display:flex;justify-content:space-between;align-items:end;padding-top:75px;gap:20px}.learning-head .section-kicker{margin-bottom:20px}.learning-head p{font-size:12px;color:#71816a;line-height:1.9;margin-bottom:24px}.grid{margin-top:22px;grid-template-columns:240px 1fr;align-items:start}.panel{border:1px solid #dce1d2;border-radius:17px;box-shadow:none;background:#fffdf8;padding:24px}.panel h3{font-size:15px;color:#375440}.panel nav button{font-size:12px;padding:13px 9px}.panel nav button.active{background:#e8eddf;color:#38533c}.panel .small{line-height:1.9;font-size:11px;color:#858b7d}.panel .section-title{font-family:"Baloo 2",serif;font-size:26px;margin-bottom:9px}.muted{color:#7b8276;font-size:12px;line-height:1.8}.tabs{border-bottom:1px solid #e1e5d8;padding-bottom:15px}.tabs button,.btn{font-size:12px;border-color:#d9dfd0;color:#3b5440;border-radius:9px}.tabs button.active,.btn.primary{background:var(--green);border-color:var(--green)}.dialogue .zh{color:#314c39;font-size:22px}.speaker,.pinyin{color:#b97443}.dialogue .py{font-size:12px;color:#8c927f}.dialogue p{font-size:12px}.dialogue .btn{padding:8px 13px}.dialogue{border-color:#e7e9df;padding:20px 0}.progress{background:#e9ecdf;height:6px}.progress>div{background:#86a374}.card{border-color:#e1e5d8}.flash{width:100%;background:#edf1e2;color:#314c39;font-family:inherit}.flash .meaning{font-size:30px}.quiz-choice{font-family:inherit;color:#314c39}.quiz-choice.selected{background:#edf1e2;border-color:#6d8863}.quiz-choice.correct{background:#edf6e6}.quiz-choice.wrong{background:#fce8e1}.notice{background:#edf4e5}.closing{margin:75px 0 30px;padding:45px 20px;text-align:center;border-radius:18px;background:#ebefdf}.closing>span{font:22px serif;color:#748c63}.closing h2{margin:15px 0 22px;font-size:30px}.closing a{font-size:12px;border-bottom:1px solid;padding-bottom:5px}footer{display:flex;align-items:center;justify-content:space-between;max-width:1256px;margin:auto;padding:27px 44px 40px;color:#73816d}footer .brand{color:#304c39;font-size:20px}footer p,footer>a:last-child{font-size:10px}a,button{transition:transform .2s,background-color .2s}a:hover{color:#af673f}.solid-link:hover{color:#fff;transform:translateY(-3px)}.btn:hover,.tabs button:hover{transform:translateY(-2px)}.hero-copy,.art{animation:arrive .7s ease-out both}.art{animation-delay:.13s}@keyframes arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1300px){.hero{gap:65px}}@media(max-width:950px){header,main{padding-left:28px;padding-right:28px}.hero h1{font-size:66px}.art{transform:scale(.88);transform-origin:center}.hero{gap:0}.about{grid-template-columns:1.5fr .8fr}.about>.section-kicker{grid-column:1/-1}.ribbon{font-size:9px}.hero-actions{gap:15px}.text-link{font-size:10px}}@media(max-width:700px){header{padding:20px}.brand{font-size:20px}.brand-icon{width:30px;height:30px;font-size:20px}.topnav{gap:12px}.topnav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 12px;font-size:11px}.nav-cta span{margin-left:5px}main{padding:0 20px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:36px 0 35px;gap:10px}.hero h1{font-size:67px;margin:22px 0}.hero h1 i{font-size:43px}.hero p{font-size:13px}.art{width:min(100%,390px);height:400px;align-self:center;transform:scale(.9);margin-top:15px}.character-card{left:50px;width:260px}.hello-sticker{right:-8px}.art-caption{left:95px}.ribbon{justify-content:space-around;gap:10px;flex-wrap:wrap;padding:16px 0}.ribbon span:nth-last-child(-n+3),.ribbon b:last-child{display:none}.about{padding:48px 0;grid-template-columns:1fr;gap:22px}.about-note{max-width:260px;width:100%;margin:15px auto 0}.about h2{font-size:33px}.learning-head{padding-top:45px;display:block}.learning-head h2{font-size:31px}.learning-head p{margin-bottom:15px}.grid{grid-template-columns:1fr}.panel{padding:20px}.panel nav{display:block}.panel aside{display:block}.closing{margin-top:40px;padding:30px 15px}.closing h2{font-size:25px}footer{padding:18px 20px 30px;flex-wrap:wrap;gap:10px}footer p{display:none}.panel .section-title{font-size:23px}.desktop{display:none}}.tabs{gap:7px}.tabs button{padding:10px 13px}.grammar-card h3{margin-top:0}.grammar-card p{font-size:14px;line-height:1.9}.grammar-card .zh{font-size:22px;color:var(--green)}.dialogue-heading{margin:32px 0 0;padding-top:25px;border-top:2px solid #dce1d2}.flash-example{max-width:520px;margin-top:15px;padding:15px;border-top:1px solid #cad5bd}.flash-example p{font-size:13px;line-height:1.7;margin:6px 0}.flash-example p:first-child{font-size:20px}.flash{min-height:290px}.card label{display:block;line-height:1.8;font-weight:600}.card textarea{display:block;width:100%;resize:vertical;min-height:75px;margin-top:14px;padding:14px;font:inherit;font-size:16px;color:var(--green);background:#fffefb;border:1px solid #c5ceba;border-radius:10px}.card textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.card .notice{font-size:17px;line-height:1.8;overflow-wrap:anywhere}.grammar-card .zh,.dialogue .zh{overflow-wrap:anywhere}.flash:focus-visible{outline-offset:3px}@media(max-width:400px){.tabs button{padding:10px;font-size:11px}.panel{padding:16px}.card{padding:18px}.hero-actions{flex-wrap:wrap}.art{max-width:100%;overflow:hidden}}.lesson-link{display:block;padding:13px;border-radius:12px;font-size:13px;line-height:1.7;margin:4px 0}.lesson-link:hover{background:#f1f1e6}.lesson-link.active{background:#e7eddf;color:var(--green);font-weight:700}.flash-example>span{display:block;font-size:13px;line-height:1.7;margin:6px 0}.flash-example>span:first-child{font-size:20px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3{overflow-wrap:anywhere}.site-header{position:sticky;top:0;z-index:20;max-width:none;padding:20px max(24px,calc((100vw - 1168px)/2));background:#fbf8f0f5;border-bottom:1px solid #dfe3d6;display:flex;align-items:center;justify-content:space-between;gap:20px}.topnav a[aria-current=page]{color:#a65026;text-decoration:underline;text-underline-offset:6px}.page-heading{padding:55px 0 24px}.page-heading h1{font-family:"Baloo 2",serif;font-size:clamp(30px,4vw,52px);line-height:1.25;color:var(--green);margin:20px 0 12px}.page-heading>p{line-height:1.8}.page-heading>a{font-size:13px}.path-cards{padding:25px 0}.path-cards h2{font-family:"Baloo 2",serif;font-size:clamp(26px,4vw,40px)}.course-card{display:flex;gap:28px;align-items:center;padding:28px 34px;border:1px solid #cdd5c5;border-radius:18px;background:#f0f1e4;margin:15px 0;transition:transform .18s,background .18s}.course-card:hover{transform:translateY(-3px);background:#e9eddc}.course-card>div{flex:1}.course-card>span:last-child{font-size:28px;color:var(--green)}.course-card h2,.course-card h3{margin:0}.course-card p{line-height:1.7;margin:10px 0}.book-glyph{font-size:68px;color:var(--green);line-height:1.3}.lesson-number{font-family:"Baloo 2",serif;font-size:44px;color:#9a512e}.book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.book-list .card{margin:0}.resume{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:30px 0 50px}.resume h3{margin-top:0}.resume .solid-link{flex-shrink:0}.learning-grid{grid-template-columns:250px minmax(0,1fr);align-items:start;margin-bottom:60px}.learning-grid .panel{min-width:0}.sidebar-title{font-family:"Baloo 2",serif;font-size:25px;margin-top:0}.tabs{gap:7px;margin-top:0;display:flex;flex-wrap:wrap}.tabs button{padding:10px 12px}.vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.vocab-grid .card{margin:0;padding:20px}.vocab-grid h3{margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px}.flash{display:block;width:100%;min-height:320px;text-align:center;color:inherit;background:#f2f2e6}.flash .hanzi{font-family:serif;font-size:72px;color:var(--green)}.flash .meaning{font-size:28px}.flash-example{font-size:14px}.zh{font-family:Noto Sans TC,serif;font-size:24px;line-height:1.7}.py{color:#637064;line-height:1.8}.dialogue{border-bottom:1px solid #e1e5d8;padding:22px 0}.speaker{font-size:13px;font-weight:700;color:#536a58}.small{font-size:12px;line-height:1.8;color:#657165}.card{background:#fffef8;border:1px solid #dbe1d3;border-radius:16px;padding:24px;margin:16px 0;line-height:1.7}.btn,.tabs button{font:inherit;font-size:13px;border:1px solid #c5cfbd;background:#fffdf6;color:#264e3b;border-radius:12px;font-weight:600;padding:11px 15px}.btn.primary,.tabs button.active{background:#264e3b;color:#fffdf6;border-color:#264e3b}.btn:hover,.tabs button:hover{filter:brightness(.94)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;margin-bottom:15px}.quiz-choice{display:flex;align-items:baseline;gap:12px;cursor:pointer;width:100%;margin:8px 0;padding:13px;border:1px solid #d1d8c9;border-radius:9px;background:#fffef8}.quiz-choice:has(input:checked){border-color:#264e3b;background:#edf1e5}.quiz-choice.correct{background:#e2efdd;border-color:#406b35}.quiz-choice.wrong{background:#fae8df;border-color:#a85232}input{accent-color:#264e3b}textarea{display:block;width:100%;resize:vertical;min-height:90px;margin-top:15px;padding:14px;color:inherit;background:#fffdf7;border:1px solid #c5cfbd;border-radius:9px}progress{display:block;width:100%;height:12px;accent-color:#264e3b;margin:12px 0}progress::-webkit-progress-bar{background:#e4e8db;border-radius:10px}progress::-webkit-progress-value{background:#526f46;border-radius:10px}input:focus-visible,textarea:focus-visible{outline:3px solid #e8864a;outline-offset:3px}[hidden]{display:none!important}main:focus{outline:none}.skip{z-index:50}.notice{padding:20px;background:#e8eedf;border-radius:12px}footer{margin-top:60px}@media(max-width:850px){.learning-grid{grid-template-columns:1fr}.learning-grid aside nav{display:flex;gap:6px;overflow:auto}.learning-grid aside .lesson-link{min-width:155px;font-size:12px}.learning-grid aside h3{margin-top:20px}.resume{align-items:flex-start;flex-direction:column}.course-card{padding:22px;gap:18px}}@media(max-width:600px){.site-header{padding:15px 20px;align-items:flex-start;flex-direction:column;gap:15px}.topnav{gap:20px;width:100%;font-size:12px;justify-content:space-between}.nav-cta{padding:8px 12px}main{padding:0 20px}.page-heading{padding-top:30px}.book-list,.vocab-grid{grid-template-columns:1fr}.course-card h2{font-size:20px}.book-glyph{font-size:46px}.lesson-number{font-size:32px}.tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.tabs button{white-space:nowrap}.lesson-content{padding:18px}.hero-actions{flex-wrap:wrap}.art{max-width:100%;overflow:hidden}.hero .art{min-width:0}.hero h1{font-size:58px}.character-card{left:35px}.word-sticker{right:0}.hello-sticker{left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}:root{font-family:Be Vietnam Pro,Noto Sans TC,sans-serif}[lang=zh-Hant],.character,.brand-icon,.book-glyph,.hanzi,.word-sticker,.hello-sticker,.flash .hanzi{font-family:Noto Sans TC,serif}.topnav>a:not(.nav-cta){display:block}.hero-copy,.art{animation:none}h1,h2,h3,.hero h1,.path-cards h2,.page-heading h1,.sidebar-title{font-family:"Baloo 2",Noto Sans TC,sans-serif}.closing>span{font-family:Noto Sans TC,serif}.about-profile{min-height:100vh;padding:64px 24px;background:#faf8f3;color:#26332d}.about-profile ::selection{background:#e9f0e8;color:#315c4b}.about-profile-card{max-width:768px;margin-inline:auto;padding:48px;border-radius:24px;background:#fff;box-shadow:0 8px 30px #0000000a}.about-profile-header{display:flex;align-items:flex-start;gap:32px;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e9f0e8}.about-profile-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:160px;max-width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain;overflow:hidden;border:4px solid #fff;border-radius:20px;background:#e9f0e8;color:#315c4b;box-shadow:0 1px 3px #0000001a;font-size:48px;-webkit-user-select:none;user-select:none;transition:transform .3s}.about-profile-avatar:hover{transform:scale(1.05)}.about-profile-heading{min-width:0}.about-profile-heading h1{margin:0 0 12px;font-family:inherit;font-size:36px;font-weight:700;line-height:1.3;color:#315c4b}.about-profile-heading p{margin:0;color:#a5612d;font-size:18px;font-weight:500;letter-spacing:.025em;line-height:1.6}.about-profile-body{font-size:18px;line-height:1.7}.about-profile-body p{margin:0 0 20px}.about-profile-body strong{color:#315c4b}.about-profile-body .about-profile-motto{margin-bottom:0;padding-top:16px;font-size:20px;font-weight:600;color:#315c4b}.about-profile-contact{display:flex;margin-top:40px;padding-top:32px;border-top:1px solid #e9f0e8}.about-profile-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border-radius:12px;background:#315c4b;color:#fff;font-weight:500;line-height:1.5;text-decoration:none;box-shadow:0 1px 3px #0000001a;transition:transform .3s,background-color .3s,box-shadow .3s}.about-profile-link svg{flex-shrink:0;transition:transform .3s}.about-profile-link:hover{background:#26483a;color:#fff;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.about-profile-link:hover svg{transform:scale(1.1)}.about-profile-link:focus-visible{outline:3px solid #315c4b;outline-offset:4px;box-shadow:0 0 0 4px #e9f0e8}@media(max-width:639px){.about-profile{padding:32px 0}.about-profile-card{padding:32px 24px}.about-profile-header{flex-direction:column;align-items:center}.about-profile-heading{text-align:center}.about-profile-heading h1{font-size:30px}.about-profile-motto{text-align:center}.about-profile-contact{justify-content:center}.about-profile-link{padding-inline:18px;text-align:center}}@media(prefers-reduced-motion:reduce){.about-profile-avatar:hover,.about-profile-link:hover,.about-profile-link:hover svg{transform:none}}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow-y:auto;display:flex;padding:28px 16px;background:#fff1f5}.login-card{width:min(100%,448px);margin:auto;padding:clamp(24px,6vw,40px);border:2px solid #fce0eb;border-radius:28px;background:#fff;box-shadow:0 18px 48px #9d315b14;text-align:center;color:#334155}.login-icon{font-size:60px;margin-bottom:16px}.login-card h1{font-size:24px;line-height:1.35;margin:0 0 12px;color:#1e293b}.login-card h2{font-size:17px;margin:0 0 8px}.login-card p{line-height:1.65}.login-card .login-pending,.login-error{color:#b4234c;font-weight:700}.login-email{overflow-wrap:anywhere}.login-card button,.auth-account button{border:1px solid #e2e8f0;border-radius:24px;padding:11px 18px;background:#f1f5f9;color:#334155;font-weight:700}.login-card>button{display:block;width:100%;margin-top:12px}.login-providers,.login-form{display:grid;gap:12px;margin-top:24px}.login-form label{display:grid;gap:6px;text-align:left;font-weight:600}.login-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;font:inherit}.login-card .login-primary{background:#ce397d;border-color:#ce397d;color:#fff}.login-card .login-primary:hover{background:#b62c6b}.login-card button:disabled,.auth-account button:disabled{opacity:.6;cursor:wait}.login-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}.login-links button{border:0;background:transparent;color:#a72560;padding:8px 0;font-size:14px;text-decoration:underline}.login-card :focus-visible,.auth-account :focus-visible{outline:3px solid #a72560;outline-offset:4px}.auth-account{position:fixed;bottom:16px;right:16px;z-index:50;max-width:min(90vw,350px)}.auth-account p{padding:12px;background:#fff;color:#b4234c;border-radius:12px}.student-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.student-sidebar{position:sticky;top:20px;border:1px solid #eedfe5;border-radius:22px;padding:20px 14px;background:#fff}.student-brand{display:grid;gap:4px;padding:4px 10px 20px;color:#ae356d;font-weight:800;text-decoration:none}.student-brand span{font-size:28px}.student-courses details{margin-bottom:16px}.student-courses summary{cursor:pointer;padding:10px 6px;font-weight:750}.student-courses a{display:block;padding:9px 10px;margin:3px 0;border-radius:10px;font-size:14px;line-height:1.6;text-decoration:none;color:#526077}.student-courses a:hover,.student-courses a.active{color:#a72560;background:#fff0f6}.student-courses a.active{font-weight:750;box-shadow:inset -3px 0 #ce397d}.student-courses p{padding:0 10px;font-size:14px}.student-courses .student-coming-soon{color:#64748b;font-style:italic}.student-account{border-top:1px solid #eedfe5;padding:16px 10px 0}.student-account h2{font-size:12px;text-transform:uppercase;color:#64748b}.student-account p{font-size:14px;overflow-wrap:anywhere}.student-account button{border:0;padding:8px 0;background:transparent;color:#a72560;font-weight:700}.student-main{min-width:0}.student-welcome{display:flex;gap:24px;align-items:center;padding:clamp(20px,3vw,32px);background:#fff;border:1px solid #eedfe5;border-radius:24px;margin-bottom:28px}.student-welcome h1{font-size:clamp(22px,3vw,28px);margin:0 0 12px}.student-welcome p{line-height:1.7;margin:8px 0}.student-welcome .welcome-note{color:#a72560;font-size:14px;font-weight:700}.welcome-glyph{flex:0 0 86px;height:86px;display:grid;place-items:center;border-radius:26px;background:#fff0f6;color:#ae356d;font-size:46px;transform:rotate(-5deg)}.login-inline .login-card{width:100%;box-shadow:none;border-color:#eedfe5}.login-inline #login-title{font-size:24px}.student-menu-toggle{display:none}.student-layout :focus-visible{outline:3px solid #a72560;outline-offset:3px}.student-layout .learning-grid{grid-template-columns:1fr}@media(max-width:850px){.student-layout{grid-template-columns:1fr;gap:20px}.student-sidebar{position:static}.student-brand{padding-bottom:12px}.student-menu-toggle{display:block;width:100%;border:1px solid #eedfe5;border-radius:12px;background:#fff0f6;padding:12px;color:#a72560;font-weight:700}.student-courses{display:none;margin-top:16px}.student-courses.is-open{display:block}.student-account{margin-top:16px}.student-welcome{align-items:flex-start;gap:16px}.welcome-glyph{flex-basis:54px;height:54px;font-size:30px;border-radius:16px}}.advanced-theme .student-brand,.advanced-theme .welcome-note,.advanced-theme .student-account button{color:#245d9b}.advanced-theme .welcome-glyph{background:#eaf2fc;color:#245d9b}.advanced-theme .student-courses a.active{color:#245d9b;background:#eaf2fc;box-shadow:inset -3px 0 #3977b9}.advanced-theme .student-menu-toggle{color:#245d9b;background:#edf4fc;border-color:#cedef0}.advanced-theme .login-primary{background:#245d9b;border-color:#245d9b}.advanced-theme .login-primary:hover{background:#194a7f}.advanced-theme .student-welcome,.advanced-theme .student-sidebar,.advanced-theme .login-card{border-color:#d7e3f1}.advanced-theme :focus-visible{outline-color:#245d9b}.advanced-heading{padding:clamp(22px,4vw,44px);border:1px solid #cfdfef;background:#f2f7fd;border-radius:24px;margin-bottom:24px}.advanced-heading h1{font-size:clamp(25px,3.5vw,42px);line-height:1.55;margin:16px 0;color:#183c62}.advanced-heading a,.advanced-lesson .section-kicker{color:#245d9b}.advanced-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;color:#476782;margin-top:24px}.advanced-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13px;color:#476782}.advanced-breadcrumb a{color:#245d9b}.advanced-breadcrumb [aria-current]{background:#eaf2fc;padding:3px 9px;border-radius:6px}.advanced-audio{margin-top:24px;padding:16px;max-width:420px;border:1px solid #d7e3f1;border-radius:16px;background:#fff}.advanced-audio h2{margin:0 0 10px;color:#476782;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.advanced-audio audio{display:block;width:100%}.advanced-audio p{font-size:14px;line-height:1.7;margin:0}.advanced-reading-part{position:relative;margin:36px 0 0;padding-top:40px;border-color:#d7e3f1}.advanced-reading-part .advanced-part-label{position:absolute;top:-17px;left:24px;margin:0;border-radius:24px;padding:7px 18px;background:#245d9b;color:#fff;font-size:14px}.advanced-lesson .tabs{margin-bottom:24px}.advanced-lesson .tabs button.active{background:#245d9b;color:#fff;border-color:#245d9b}.advanced-reading h2 span{color:#7795b3;font-weight:400;margin-left:12px}.advanced-reading .zh{line-height:2.15;margin:0 0 26px;font-size:clamp(18px,2vw,21px)}.advanced-translation{background:#f2f6fb;border:1px solid #d7e3f1;border-radius:16px;padding:20px}.advanced-translation summary{cursor:pointer;color:#245d9b;font-weight:800}.advanced-translation p{line-height:1.9}.advanced-vocabulary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:18px}.advanced-flashcard{position:relative;min-height:305px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:36px 22px 24px;border:1px solid #cfdfef;border-radius:20px;background:#fff;color:#27425f;font:inherit;cursor:pointer;box-shadow:0 5px 15px #244a7010;transition:transform .2s ease;overflow-wrap:anywhere}.advanced-flashcard:hover{transform:translateY(-3px)}.advanced-flashcard.is-flipped{background:#edf4fc}.advanced-flashcard .advanced-word{font-size:clamp(30px,3vw,42px);color:#245d9b}.advanced-card-index{position:absolute;top:12px;left:18px;color:#7890aa;font-size:12px}.advanced-flashcard .py{font-size:14px}.advanced-grammar{margin-bottom:22px}.advanced-grammar h2{font-size:clamp(20px,2.5vw,26px);color:#245d9b}.advanced-grammar p{line-height:1.85}.advanced-example{padding:8px 18px;background:#f3f7fc;border-left:3px solid #6d98c3;margin-top:16px}.advanced-question{margin:28px 0;border:0;padding:0;min-width:0}.advanced-question legend{font-weight:750;line-height:1.8;margin-bottom:12px}.advanced-lesson .actions button{font:inherit;cursor:pointer;color:#245d9b;background:#edf4fc;border:1px solid #cfdfef;padding:12px 18px;border-radius:12px}.advanced-lesson .actions button:disabled{cursor:default;opacity:.55}.advanced-loading{min-height:280px;background:#f2f7fd}@media(prefers-reduced-motion:reduce){.advanced-flashcard{transition:none}.advanced-flashcard:hover{transform:none}}.advanced-vocabulary>div{min-width:0}.advanced-vocabulary>div>.advanced-flashcard{width:100%}.advanced-speech{margin:.6rem 0;padding:.45rem .85rem;border:1px solid var(--line, #cbd5e1);border-radius:999px;background:var(--paper, #fffdf7);color:inherit;font:inherit;cursor:pointer}.advanced-speech:hover{background:#e8eee8}.advanced-reading .py{line-height:1.8}body:has(.dashboard-page){background:#fcfaf8;color:#2d3748;font-family:Nunito,Noto Sans TC,sans-serif}body:has(.dashboard-page) .site-header{height:65px;padding:0 max(24px,calc((100vw - 1216px)/2));background:#fff;border-color:#e2e8f0}body:has(.dashboard-page) .brand{color:#1e293b;font-size:21px;letter-spacing:-.6px}body:has(.dashboard-page) .brand>span:not(.brand-icon){font-weight:800}body:has(.dashboard-page) .brand-icon{width:40px;height:40px;background:#1e293b;border-radius:12px;font-size:20px}body:has(.dashboard-page) .topnav{gap:32px;font-size:15px;font-weight:700}body:has(.dashboard-page) .topnav a{color:#64748b}body:has(.dashboard-page) .topnav a[aria-current=page]{color:#1e293b;text-decoration-color:#1e293b;text-decoration-thickness:2px}body:has(.dashboard-page) .nav-cta{color:#334155;border-color:#cbd5e1;padding:9px 20px;box-shadow:0 1px 2px #0f172a08}.dashboard-page{max-width:1280px;padding:48px 32px;margin:0 auto;min-height:calc(100svh - 65px)}.dashboard-layout{grid-template-columns:288px minmax(0,1fr);gap:32px}.dashboard-layout .student-sidebar{top:96px;padding:24px;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 1px 3px #0f172a06}.dashboard-layout .student-brand{color:#1e293b;font-size:14px;padding:0 0 28px}.dashboard-layout .student-brand span{color:#2563eb;font-size:26px}.dashboard-layout .student-courses summary{padding:0;font-size:13px;line-height:1.7;color:#1e293b}.dashboard-layout .student-courses details{margin-bottom:24px}.dashboard-layout .student-courses a{border-left:2px solid #dbeafe;margin:8px 0 0 6px;padding:3px 0 3px 16px;border-radius:0;font-size:13px}.dashboard-layout .student-courses a:hover{color:#2563eb;background:#eff6ff}.dashboard-layout .student-coming-soon{display:none}.dashboard-layout .student-account{padding:20px 0 0;border-color:#f1f5f9}.dashboard-layout .student-account button{color:#2563eb}.dashboard-layout :focus-visible{outline:3px solid #2563eb;outline-offset:4px}.dashboard-heading{margin-bottom:40px}.dashboard-heading>p{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.dashboard-heading h1{margin:0;color:#1e293b;font-family:inherit;font-size:clamp(32px,3.5vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.2}.dashboard-heading h1 span{color:#2563eb;font-family:Noto Sans TC,sans-serif;white-space:nowrap}.dashboard-courses{display:grid;gap:24px}.dashboard-course{position:relative;display:flex;align-items:center;gap:24px;padding:32px;border:1px solid #e2e8e0;border-radius:24px;background:#f4f7f4;color:#1e293b;text-decoration:none;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.dashboard-course:before{content:"";position:absolute;inset:0 0 0 auto;width:128px;background:linear-gradient(to left,#e2e8e080,transparent);pointer-events:none}.dashboard-course.advanced{background:#f0f5ff;border-color:#dbeafe}.dashboard-course.advanced:before{background:linear-gradient(to left,#dbeafe80,transparent)}.dashboard-course:hover{transform:translateY(-4px);border-color:#3b82f6;box-shadow:0 10px 25px -5px #0f172a0d}.dashboard-course:active{transform:translateY(-1px)}.dashboard-glyph{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:16px;background:#fff;color:#15803d;font-family:Noto Sans TC,sans-serif;font-size:30px;font-weight:700;box-shadow:0 1px 3px #0f172a0d}.advanced .dashboard-glyph{color:#2563eb}.dashboard-course-copy{position:relative;flex:1;min-width:0}.dashboard-course-copy p{margin:0;font-size:14px;color:#475569;line-height:1.6}.dashboard-course-copy .dashboard-kicker{font-size:12px;font-weight:800;color:#15803d;text-transform:uppercase;letter-spacing:.12em}.advanced .dashboard-course-copy .dashboard-kicker{color:#2563eb}.dashboard-course h3{margin:3px 0;font-family:inherit;font-size:24px;line-height:1.35;font-weight:800}.dashboard-arrow{position:relative;flex-shrink:0;color:#94a3b8}.dashboard-course:hover .dashboard-arrow{color:#2563eb}body:has(.dashboard-page) footer{display:none}@media(max-width:850px){.dashboard-page{padding:28px 24px}.dashboard-layout{grid-template-columns:1fr;gap:32px}.dashboard-layout .student-sidebar{position:static}.dashboard-layout .student-brand{padding-bottom:16px}.dashboard-layout .student-menu-toggle{color:#2563eb;background:#eff6ff;border-color:#dbeafe}.dashboard-heading h1{font-size:38px}}@media(max-width:600px){body:has(.dashboard-page) .site-header{height:auto;min-height:65px;padding:12px 20px;flex-wrap:wrap;gap:12px}body:has(.dashboard-page) .topnav{display:flex;flex-wrap:wrap;gap:18px;font-size:13px}body:has(.dashboard-page) .topnav>a:not(.nav-cta){display:inline}.dashboard-page{padding:24px 16px}.dashboard-course{padding:24px 20px;gap:16px}.dashboard-glyph{flex-basis:48px;height:48px;font-size:26px}.dashboard-course h3{font-size:20px}.dashboard-course-copy p{font-size:13px}.dashboard-course-copy .dashboard-kicker{font-size:10px}.dashboard-arrow{width:18px}.dashboard-heading h1{font-size:34px}}@media(prefers-reduced-motion:reduce){.dashboard-course{transition:none}.dashboard-course:hover,.dashboard-course:active{transform:none}}.landing-section{max-width:1024px;margin:24px auto;padding:24px 0}.landing-card{position:relative;overflow:hidden;text-align:center;padding:48px;border:1px solid #e2e8f0;border-radius:40px;background:radial-gradient(ellipse at top right,#fff7ed,transparent 45%),radial-gradient(ellipse at bottom left,#eff6ff,transparent 40%),#fff;box-shadow:0 1px 3px #0f172a06}.landing-avatar{display:grid;place-items:center;margin:0 auto 24px;width:112px;height:112px;border-radius:50%;border:4px solid white;background:#f1f5f9;box-shadow:0 8px 20px #0f172a12;font-size:48px;color:#334155;font-family:Noto Sans TC,sans-serif}.landing-card h1{font-family:inherit;font-size:clamp(30px,4vw,48px);line-height:1.2;font-weight:800;letter-spacing:-.03em;margin:0 0 24px;color:#1e293b}.landing-card h1 span{color:#2563eb}.landing-bio{max-width:680px;margin:auto;font-size:18px;line-height:1.8;color:#475569}.landing-bio p{margin:0 0 16px}.landing-action{max-width:576px;margin:36px auto 0;padding:24px;border:1px solid #f1f5f9;background:#f8fafc;border-radius:16px}.landing-action h2{font-family:inherit;font-size:18px;margin:0 0 8px}.landing-action p{color:#64748b;font-size:14px;margin:0 0 20px}.landing-action button,.nav-login{border:0;border-radius:999px;padding:12px 28px;color:#fff;background:#2563eb;font:inherit;font-weight:800;cursor:pointer}body:has(.dashboard-page) .nav-login{color:#fff;background:#1e293b}.landing-action button:hover{background:#1d4ed8}.landing-action button:disabled{opacity:.65;cursor:wait}.auth-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;padding:32px 16px 16px;border:1px solid #e2e8f0;border-radius:24px;background:#fff}.auth-dialog::backdrop{background:#0f172a80}.auth-dialog .login-card{margin:0;border:0;box-shadow:none;width:100%}.auth-close{position:absolute;top:8px;right:12px;border:0;background:#f1f5f9;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.dashboard-group{padding:28px;border:1px solid #e2e8f0;border-radius:24px;background:#fff}.dashboard-group>h2{font-family:inherit;font-size:20px;margin:0 0 24px;color:#1e293b}.dashboard-group .dashboard-course+.dashboard-course{margin-top:16px}.dashboard-group .dashboard-course{padding:24px;border-radius:16px;gap:20px}.dashboard-group .dashboard-course h3{font-size:20px}.dashboard-unavailable{display:flex;align-items:center;gap:20px;padding:24px;margin-top:16px;border-radius:16px;background:#f8fafc;color:#64748b}.dashboard-unavailable>span{font-size:30px}.dashboard-unavailable h3{margin:0 0 4px;font-size:17px}.dashboard-unavailable p{margin:0;font-size:14px}.course-unavailable{font-size:13px;color:#64748b;padding-left:24px;line-height:1.6}:where(.landing-section,.site-header) :focus-visible{outline:3px solid #2563eb;outline-offset:4px}@media(max-width:600px){.landing-section{margin:0;padding:16px 0}.landing-card{padding:32px 20px;border-radius:28px}.landing-bio{font-size:16px}.dashboard-group{padding:20px 16px}.dashboard-group .dashboard-course{padding:20px 16px;gap:12px}.dashboard-unavailable{padding:20px 16px}}.dashboard-layout .student-brand{display:flex;align-items:center;gap:12px}.dashboard-layout .student-brand-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:#eff6ff;font-size:26px}.dashboard-layout .student-brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-layout .student-brand-copy>span:first-child{font-size:22px}.dashboard-layout .student-brand-label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.dashboard-group .dashboard-glyph{flex-basis:56px;height:56px;border-radius:12px;font-size:26px}.dashboard-course h3{margin:3px 0;font-family:inherit;line-height:1.35;font-weight:800}@media(max-width:600px){.dashboard-group .dashboard-glyph{flex-basis:44px;height:44px}.dashboard-group .dashboard-course h3{font-size:18px}}body:has(.dashboard-page){background:#fcfaf8;font-family:Nunito,Noto Sans TC,sans-serif;color:#1e293b}body:has(.dashboard-page) .site-header{background:#ffffffdf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}body:has(.dashboard-page) .nav-login{background:transparent;color:#0f172a;border:2px solid #0f172a;border-radius:999px}body:has(.dashboard-page) .nav-login:hover{background:#0f172a;color:#fff}.dashboard-page:has(.welcome-landing){max-width:none;padding:0}.landing-section:has(.welcome-landing){max-width:none;margin:0;padding:0}.welcome-landing{line-height:1.65}.welcome-landing h1,.welcome-landing h2,.welcome-landing h3,.welcome-landing h4{font-family:inherit;color:#0f172a;line-height:1.2}.welcome-hero{max-width:1280px;margin:auto;padding:80px 32px 96px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:80px}.welcome-copy h2{font-size:clamp(38px,4.5vw,60px);font-weight:800;letter-spacing:-.04em;margin:0 0 24px}.welcome-copy>p{font-size:20px;color:#64748b;max-width:510px;margin:0 0 32px}.welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.welcome-actions button{background:#f97316;color:#fff;border:0;border-radius:999px;padding:14px 32px;font-weight:800;box-shadow:0 8px 20px #f9731633;transition:transform .2s,background .2s}.welcome-actions button:hover{background:#ea580c;transform:translateY(-2px)}.welcome-actions button:disabled{opacity:.6;cursor:wait}.welcome-actions a{color:#64748b;font-size:14px;font-weight:700;text-decoration:none}.sample-lesson{width:100%;max-width:448px;justify-self:center;background:#fff;border:1px solid #f1f5f9;border-radius:32px;padding:32px;box-shadow:0 24px 55px #0f172a16;transform:rotate(3deg);transition:transform .3s}.sample-lesson:hover{transform:translateY(-6px) rotate(0)}.sample-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8}.sample-heading>span:first-child{border-radius:999px;padding:4px 12px;background:#f1f5f9}.sample-heading>span:last-child{color:#e2e8f0}.sample-word{text-align:center;padding:28px 0}.sample-word strong{font-size:60px;letter-spacing:.12em;line-height:1.2}.sample-word p{letter-spacing:.2em;font-size:18px;color:#64748b;margin:12px 0 18px}.sample-word>span{display:inline-block;background:#fff7ed;color:#9a3412;border:1px solid #ffedd5;padding:8px 16px;border-radius:12px;font-weight:800;font-size:14px}.sample-example{display:flex;align-items:start;gap:12px;border-top:1px solid #f1f5f9;padding-top:20px}.sample-example button{border:0;border-radius:50%;background:#fff7ed;color:#ea580c;padding:8px;display:flex}.sample-example strong{font-size:19px}.sample-example p{margin:3px 0;font-size:14px;color:#64748b}.sample-example p[lang]{font-size:12px}.welcome-curriculum{background:#fff;border-block:1px solid #f1f5f9;padding:72px max(32px,calc((100vw - 1216px)/2));scroll-margin-top:90px}.welcome-curriculum h2{font-size:clamp(30px,3vw,36px);margin:0 0 16px;letter-spacing:-.025em}.curriculum-intro{max-width:680px;color:#64748b;font-size:18px;margin:0 0 48px}.curriculum-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.curriculum-path{--path-color: #15803d;--path-bg: #f0fdf4;--path-border: #bbf7d0;position:relative;isolation:isolate;overflow:hidden;padding:32px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.path-hsk{--path-color: #1d4ed8;--path-bg: #eff6ff;--path-border: #bfdbfe}.path-business{--path-color: #4338ca;--path-bg: #eef2ff;--path-border: #c7d2fe}.curriculum-path:before{content:"";position:absolute;z-index:-1;top:-64px;right:-64px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--path-bg),transparent 70%);transition:transform .3s ease;pointer-events:none}.curriculum-path:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #0f172a14;border-color:var(--path-border)}.curriculum-path:hover:before{transform:scale(1.5)}.curriculum-path-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:24px;border-radius:16px;color:var(--path-color);background:var(--path-bg);border:1px solid var(--path-border)}.curriculum-path h3{font-size:24px;margin:0 0 12px;line-height:1.35;color:#1e293b}.curriculum-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.curriculum-tags span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--path-color);background:var(--path-bg);padding:5px 10px;border-radius:6px}.curriculum-path p{color:#475569;line-height:1.7;margin:0}@media(max-width:1023px){.curriculum-columns{grid-template-columns:1fr;gap:24px}}.welcome-about{max-width:1216px;margin:80px auto;background:#0f172a;color:#cbd5e1;border-radius:40px;padding:64px;display:grid;grid-template-columns:240px 1fr;align-items:center;gap:48px;scroll-margin-top:90px}.teacher-avatar{display:block;width:240px;max-width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain;border-radius:24px;background:#1e293b;border:4px solid #334155;box-shadow:0 16px 32px #0000002e}.welcome-about .teacher-eyebrow{color:#fb923c;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:0 0 8px}.welcome-about h2{color:#fff;font-size:clamp(26px,3vw,36px);margin:0 0 24px}.welcome-about h2 span{white-space:nowrap}.welcome-about p{font-size:17px;margin:0 0 16px}.welcome-about a{display:inline-block;color:#fff;font-weight:700;text-decoration:none;margin-top:12px}.welcome-about a:hover{color:#fb923c}body:has(.welcome-landing) .site-footer{display:flex;justify-content:center;gap:24px;border-top:1px solid #f1f5f9;background:#fff;padding:28px;color:#94a3b8;font-size:14px}.site-footer p{margin:0}.dashboard-layout .student-brand-copy>span:first-child{font-size:20px;color:#1e293b}.dashboard-layout .student-brand-avatar{background:#0f172a;color:#fff}.dashboard-layout .student-brand-label{color:#f97316}.dashboard-heading h1 span{color:#0f172a}.dashboard-layout .student-account button{color:#ef4444}.welcome-landing :focus-visible{outline:3px solid #ea580c;outline-offset:4px}@media(max-width:900px){.welcome-hero{gap:40px;padding:56px 24px}.welcome-about{margin:48px 24px;padding:40px;grid-template-columns:180px 1fr;gap:32px}.teacher-avatar{width:180px}.curriculum-columns{gap:24px}}@media(max-width:650px){.welcome-hero{grid-template-columns:1fr;text-align:center;padding:48px 24px 64px}.welcome-copy>p{font-size:18px}.welcome-actions{justify-content:center}.sample-lesson{transform:none;text-align:left;padding:24px}.welcome-curriculum{padding:48px 24px}.welcome-curriculum>h2,.curriculum-intro{text-align:center}.curriculum-columns{grid-template-columns:1fr;gap:32px}.welcome-about{grid-template-columns:1fr;text-align:center;padding:32px 24px;border-radius:28px}.teacher-avatar{width:220px;margin:auto}body:has(.welcome-landing) .site-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.welcome-landing *,.welcome-landing *:before,.welcome-landing *:after{transition:none;animation:none;scroll-behavior:auto}.sample-lesson,.sample-lesson:hover,.welcome-actions button:hover,.curriculum-path:hover,.curriculum-path:hover:before{transform:none}}.welcome-about.teacher-hero{max-width:1280px;margin:32px auto 0;padding:48px;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:start;gap:48px}.teacher-hero .teacher-avatar{width:100%;border:0;border-radius:24px}.teacher-hero>div{min-width:0}.teacher-hero h1{color:#fff;font-size:clamp(32px,3.5vw,48px);letter-spacing:-.035em;margin:0 0 24px}.teacher-hero h1 span{display:block;margin-top:8px;font-size:.65em;font-weight:500;color:#cbd5e1}.teacher-hero .teacher-tocfl{color:#fed7aa;font-weight:700}.teacher-zalo{display:grid;grid-template-columns:208px minmax(0,1fr);align-items:center;gap:24px;margin:24px 0;padding:20px;background:#1e293b;border:1px solid #475569;border-radius:24px}.teacher-zalo .zalo-image-link{display:block;margin:0;border-radius:14px;overflow:hidden}.teacher-zalo img{display:block;width:100%;height:auto}.teacher-zalo h2{font-size:23px;margin:0 0 12px}.teacher-zalo p{font-size:15px}.teacher-zalo .zalo-download{display:inline-block;margin:0 0 12px;padding:12px 18px;border-radius:12px;background:#fed7aa;color:#431407;text-decoration:none}.teacher-zalo .zalo-download:hover{background:#ffedd5;color:#431407}.teacher-zalo .zalo-hint{font-size:13px;margin:0;color:#cbd5e1}@media(max-width:1100px){.welcome-about.teacher-hero{margin:24px;padding:32px;gap:32px}.teacher-zalo{grid-template-columns:1fr}.teacher-zalo .zalo-image-link{width:min(100%,280px)}}@media(max-width:760px){.welcome-about.teacher-hero{grid-template-columns:1fr;margin:16px;padding:24px;text-align:left}.teacher-hero .teacher-avatar{max-width:480px;margin:auto}.teacher-zalo{text-align:center;padding:20px}.teacher-zalo .zalo-image-link{margin:auto}}body:has(.lms-layout) .site-header,body:has(.lms-layout)>#root>footer{display:none}.dashboard-page:has(.lms-layout){max-width:none;margin:0;padding:0;min-height:100svh}.lms-layout{display:grid;grid-template-columns:256px minmax(0,1fr);gap:0;margin:0;height:100svh;align-items:stretch}.lms-layout .student-sidebar{position:static;display:flex;flex-direction:column;min-height:0;padding:0;border:0;border-radius:0;background:#0f172a;box-shadow:none;color:#cbd5e1}.lms-layout .student-brand{padding:16px 24px;min-height:65px;border-bottom:1px solid #1e293b}.lms-layout .student-brand-avatar{flex-basis:32px;height:32px;border-radius:8px;background:#fff;color:#0f172a;font-size:18px}.lms-layout .student-brand-copy>span:first-child{color:#fff;font-size:18px}.lms-layout .student-brand-label{display:none}.lms-layout .student-courses{flex:1;overflow:auto;padding:24px 12px}.lms-layout .student-courses summary{padding:12px;color:#cbd5e1;font-size:15px}.lms-layout .student-courses details{margin-bottom:8px}.lms-layout .student-courses a{color:#94a3b8;border:0;margin:0;padding:10px 12px 10px 30px;border-radius:8px}.lms-layout .student-courses a:hover,.lms-layout .student-courses a.active{color:#fff;background:#ffffff12}.lms-layout .student-courses .lms-overview-link{color:#fff;border-left:4px solid #f97316;padding:12px;margin-bottom:20px;font-size:15px}.lms-layout .course-unavailable{display:none}.lms-layout .student-account{margin:0;padding:16px;border-top:1px solid #1e293b}.lms-layout .student-account h2{color:#fb923c;font-size:11px;text-transform:uppercase}.lms-layout .student-account p{color:#cbd5e1;overflow-wrap:anywhere}.lms-layout .student-account button{width:100%;color:#cbd5e1;background:#1e293b;border:0;border-radius:8px;padding:9px}.lms-layout .student-main{overflow-y:auto}.lms-topbar{position:sticky;top:0;z-index:10;height:65px;display:flex;align-items:center;gap:16px;padding:0 32px;background:#ffffffed;border-bottom:1px solid #e2e8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lms-topbar>button{display:none}.lms-avatar{display:grid;place-items:center;margin-left:auto;width:32px;height:32px;background:#ffedd5;color:#c2410c;border-radius:50%;font-weight:800}.lms-layout .study-dashboard{max-width:1088px;padding:32px;margin:0 auto}.lms-layout .dashboard-heading{margin-bottom:24px}.lms-layout .dashboard-heading h1{font-size:clamp(24px,3vw,30px);line-height:1.3;letter-spacing:-.5px;margin:0 0 8px}.lms-layout .dashboard-heading p{font-size:16px;color:#64748b;text-transform:none;letter-spacing:normal;font-weight:400}.lms-resume{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(110deg,#0f172a,#1e293b);border-radius:24px;padding:32px;color:#fff;margin-bottom:32px;box-shadow:0 12px 24px -12px #0f172a60}.lms-resume span{display:inline-block;padding:5px 12px;background:#ffffff12;color:#fb923c;font-size:11px;text-transform:uppercase;font-weight:800;border-radius:20px}.lms-resume h2{font-size:23px;margin:12px 0 4px;color:#fff}.lms-resume p{color:#cbd5e1;margin:0}.lms-resume a{display:flex;align-items:center;gap:12px;white-space:nowrap;background:#ea580c;color:#fff;border-radius:30px;padding:12px 24px;font-weight:800}.lms-empty{border:1px dashed #cbd5e1;border-radius:24px;padding:32px;text-align:center;background:#fff;margin-bottom:32px}.lms-empty>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#f8fafc;font-size:30px}.lms-empty h2{font-size:18px;margin:0 0 8px}.lms-empty p{max-width:390px;margin:auto;color:#64748b;font-size:14px}.lms-layout .dashboard-courses{gap:32px}.lms-layout .dashboard-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lms-layout .dashboard-group>h2{grid-column:1 / -1;margin:0;font-size:18px}.lms-layout .dashboard-course{padding:20px;gap:16px;border:1px solid #e2e8f0;border-radius:16px;box-shadow:none}.lms-layout .dashboard-course:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #0f172a14}.lms-layout .dashboard-glyph{width:48px;height:48px;flex-basis:48px;border-radius:12px;font-size:24px}.lms-layout .dashboard-course h3{font-size:16px}.lms-layout .dashboard-course-copy p{font-size:12px}.lms-layout .dashboard-kicker,.lms-layout .dashboard-arrow,.lms-layout .dashboard-unavailable,.lms-layout .student-menu-toggle{display:none}.lms-layout :focus-visible{outline-color:#f97316}.lms-overlay{display:none}@media(max-width:767px){.lms-layout{grid-template-columns:minmax(0,1fr)}.lms-layout .student-sidebar{position:fixed;inset:0 auto 0 0;width:256px;z-index:40;transform:translate(-100%);visibility:hidden;transition:transform .2s ease}.lms-layout .student-sidebar.mobile-open{transform:translate(0);visibility:visible}.lms-layout .student-courses{display:block}.lms-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a99;border:0;border-radius:0}.lms-topbar{padding:0 16px}.lms-topbar>button{display:block;border:0;background:transparent;font-size:24px;padding:8px}.lms-layout .study-dashboard{padding:24px 16px}.lms-layout .dashboard-group{grid-template-columns:minmax(0,1fr)}.lms-resume{flex-direction:column;align-items:flex-start;padding:24px}}@media(prefers-reduced-motion:reduce){.lms-layout .student-sidebar,.lms-layout .dashboard-course{transition:none}.lms-layout .dashboard-course:hover{transform:none}}@media(max-width:767px){.lms-layout .mobile-open .student-menu-toggle{display:block;margin:12px;background:#1e293b;color:#fff;border-color:#334155}}.lms-layout .dashboard-course,.lms-layout .dashboard-course.advanced{background:#fff}.lms-layout .dashboard-course:before{display:none}.lms-layout .dashboard-glyph{background:#f0fdf4;box-shadow:none}.lms-layout .advanced .dashboard-glyph{background:#eff6ff}main:has(.lesson-shell){max-width:none;margin:0;padding:0}.lesson-shell{background:#fcfaf8}.lesson-shell .student-welcome{display:none}.lesson-shell .student-brand{display:flex;align-items:center;gap:12px}.lesson-shell .student-brand-copy{display:flex;flex-direction:column}.lesson-shell .student-courses a.active{color:#fb923c;background:transparent;box-shadow:none}.lesson-shell .student-courses summary{background:#1e293b;border-radius:8px;color:#fff}.lesson-shell .student-main{padding:0}.lesson-shell .lms-topbar strong{font-size:14px;color:#64748b}.lesson-shell .lms-topbar a{color:inherit}.lesson-shell .page-heading{margin:0;padding:44px max(24px,calc((100% - 832px)/2));background:radial-gradient(ellipse at top right,#f0fdf4,transparent 60%),#fff;border-bottom:1px solid #e2e8f0}.lesson-shell .page-heading>a{display:none}.lesson-shell .section-kicker{display:inline-block;color:#15803d;background:#dcfce7;border-radius:30px;padding:5px 12px;font-size:12px;letter-spacing:1px}.lesson-shell .page-heading h1{font-size:clamp(30px,4vw,48px);color:#0f172a;margin:14px 0 8px}.lesson-shell .page-heading>p:last-child{color:#64748b;font-size:18px}.lesson-shell .learning-grid{display:block;max-width:896px;margin:auto;padding:32px}.lesson-shell .learning-grid>aside{display:none}.lesson-shell .lesson-content{border:0;background:transparent;padding:0;box-shadow:none}.lesson-shell .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;border-bottom:1px solid #e2e8f0;gap:0;margin-bottom:32px;padding-bottom:0;background:transparent}.lesson-shell .tabs button{flex-shrink:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#64748b;padding:12px 16px;box-shadow:none}.lesson-shell .tabs button.active{color:#c2410c;border-bottom-color:#f97316}.lesson-shell .lesson-content>div:not([hidden]){background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:28px}.dialogue-avatar{display:none}.lesson-shell .dialogue-row{display:flex;align-items:flex-start;gap:20px;margin:24px 0}.lesson-shell .dialogue-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:22px;font-weight:800}.lesson-shell .dialogue-row:has(.speaker) .dialogue{min-width:0;flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0 20px 20px;padding:20px;margin:0;box-shadow:none}.lesson-shell .dialogue-row .zh{font-size:24px;line-height:1.7;color:#0f172a}.lesson-shell .dialogue-row .speaker{color:#64748b;font-size:12px}.lesson-shell .dialogue-row .py{color:#64748b}.lesson-shell .dialogue-row button{color:#c2410c;background:#fff7ed;border:0;border-radius:24px;padding:7px 12px;font-size:12px}.lesson-shell .login-inline{max-width:600px;margin:64px auto;padding:24px}.lesson-shell .login-card{border-color:#e2e8f0}@media(max-width:600px){.lesson-shell .page-heading{padding:28px 20px}.lesson-shell .learning-grid{padding:24px 16px}.lesson-shell .lesson-content>div:not([hidden]){padding:16px}.lesson-shell .dialogue-row{gap:10px}.lesson-shell .dialogue-avatar{flex-basis:32px;height:32px;font-size:16px}.lesson-shell .dialogue-row:has(.speaker) .dialogue{padding:14px}}.lms-layout .student-courses .lms-overview-link{border-left:4px solid transparent;color:#cbd5e1;margin-bottom:4px}.lms-layout .student-courses .lms-overview-link.active{border-left-color:#f97316;background:#ffffff18;color:#fff}.sidebar-section-label{padding:0 12px;color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.practice-label{margin-top:32px}.practice-unavailable{width:100%;text-align:left;color:#94a3b8;background:transparent;border:0;padding:12px 16px;font:inherit;cursor:not-allowed}.practice-unavailable small{display:block;font-size:10px;margin-top:3px}.library-cta{display:inline-block;margin-top:20px;background:#0f172a;color:#fff;border-radius:24px;padding:10px 24px;font-weight:800}.course-library{max-width:1240px;padding:32px;margin:auto}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap}.library-heading h1{margin:0 0 8px;font-size:clamp(24px,3vw,30px)}.library-heading p{color:#64748b;margin:0}.library-frame{min-width:0;padding:20px;border:1px solid #d4ded4;border-radius:16px;background:#fffefb;box-shadow:0 5px 20px #243c3208}.library-frame .library-filters{border-bottom:1px solid #d4ded4}.library-group+.library-group{padding-top:24px;border-top:1px solid #e2e8df}.library-group-title{margin:0 0 18px;color:#225944;font-size:20px;line-height:1.4}.course-library .library-frame .library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.course-library .library-frame .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.library-frame{padding:12px;border-radius:12px}.course-library .library-frame .library-grid{grid-template-columns:minmax(0,1fr)}.library-group-title{font-size:18px}}.library-filters{display:flex;gap:8px;flex-wrap:nowrap;width:100%;min-width:0;overflow-x:auto;padding:6px 5px 12px;margin-bottom:20px}.library-filters button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:9px 16px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;color:#475569;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.library-filters button[aria-selected=true]{background:#1e293b;color:#fff;border-color:#1e293b}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:32px}.library-card{--book-color: #15803d;--book-bg: #f0fdf4;display:flex;flex-direction:column;padding:24px;border:1px solid #e2e8f0;background:#fff;border-radius:24px}.library-hsk{--book-color: #1d4ed8;--book-bg: #eff6ff}.library-biz{--book-color: #4338ca;--book-bg: #eef2ff}.library-card.available{border-color:color-mix(in srgb,var(--book-color) 25%,white);transition:transform .2s ease,box-shadow .2s ease}.library-card.available:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #0f172a14}.library-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:20px}.library-glyph{display:grid;place-items:center;width:48px;height:48px;background:var(--book-bg);color:var(--book-color);border-radius:12px;font-size:24px;font-weight:800}.library-badge{background:var(--book-bg);color:var(--book-color);padding:4px 8px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.library-card h3{font-size:18px;margin:0 0 6px;line-height:1.4}.library-sub{font-size:12px;color:#64748b;margin:0 0 12px}.library-desc{font-size:14px;color:#475569;margin:0 0 20px;flex:1}.library-card>a,.library-card>button{display:block;text-align:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px;font:inherit;font-size:14px;font-weight:800}.library-card>a{color:var(--book-color);background:var(--book-bg)}.library-card>a:hover{background:var(--book-color);color:#fff}.library-card>button{background:#f1f5f9;color:#64748b;cursor:not-allowed}.review-tasks h2{font-size:18px}.review-tasks h2 span{margin-left:8px;padding:4px 8px;color:#9a3412;background:#ffedd5;border-radius:20px;font-size:11px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-grid article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.review-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;color:#2563eb;background:#eff6ff}.review-flashcard strong,.review-flashcard .review-icon{color:#c2410c}.review-flashcard .review-icon{background:#fff7ed}.review-mistakes strong,.review-mistakes .review-icon{color:#b91c1c}.review-mistakes .review-icon{background:#fef2f2}.review-grid h3{font-size:12px;color:#64748b;margin:0 0 8px;text-transform:uppercase}.review-grid strong{font-size:28px}.review-grid p{font-size:12px;color:#64748b;margin:8px 0 0}@media(max-width:1100px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.course-library{padding:24px 16px}.library-grid,.review-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.library-card.available{border-color:color-mix(in srgb,var(--book-color) 25%,white);transition:none}.library-card.available:hover{transform:none}}.review-stat{text-decoration:none;color:inherit}.review-stat:hover{border-color:#f97316}.practice-page>h1{font-size:clamp(1.7rem,3vw,2rem);margin-bottom:.5rem}.practice-page>p{color:#64748b}.practice-page .vocab-grid{margin-top:2rem}.practice-page .card{padding:1.5rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff}.practice-mistake{margin:1.5rem 0}.practice-mistake h2{font-size:1.1rem}.notebook-flashcards{max-width:620px;margin:2rem auto}.notebook-flip{display:block;width:100%;height:320px;padding:0;border:0;background:transparent;perspective:1000px}.notebook-flip-inner{display:block;position:relative;height:100%;transform-style:preserve-3d;transition:transform .6s}.is-flipped .notebook-flip-inner{transform:rotateY(180deg)}.notebook-front,.notebook-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;border:1px solid #e2e8f0;border-radius:2.5rem;background:#fff;backface-visibility:hidden;padding:2rem;box-shadow:0 10px 24px #0f172a0a}.notebook-front strong{font-size:clamp(2.5rem,7vw,4rem)}.notebook-front small{color:#64748b}.notebook-back{transform:rotateY(180deg);background:#fff7ed;border-color:#fed7aa;font-size:1.5rem}.notebook-flashcards .actions{margin-top:2rem;justify-content:center}@media(prefers-reduced-motion:reduce){.notebook-flip-inner{transition:none}}.lesson-four-shell .dialogue-row:has(.speaker) .dialogue{transition:border-color .2s ease}.lesson-four-shell .dialogue-row .dialogue:hover{border-color:#fed7aa}.lesson-four-shell .dialogue-row:has(.speaker):nth-child(2n) .dialogue{background:#fff}.lesson-four-shell .dialogue-row:nth-child(2n) .dialogue-avatar{color:#15803d;background:#dcfce7}.lesson-four-shell .vocab-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:24px}.lesson-four-shell .card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 2px 5px #0f172a04}.lesson-four-shell .vocab-grid .card{text-align:center}.lesson-four-shell .vocab-grid .zh{font-size:36px;color:#1e293b}.lesson-four-shell .flash-example{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.lesson-four-shell .actions{justify-content:center}.lesson-four-shell .btn{border-radius:12px;box-shadow:none}.lesson-four-shell .btn[aria-pressed=true]{color:#fff;background:#c2410c;border-color:#c2410c}.lesson-four-shell .quiz-choice{background:#f8fafc;border-radius:12px}.lesson-four-shell .quiz-choice.correct{background:#f0fdf4;border-color:#86efac}.lesson-four-shell .quiz-choice.wrong{background:#fef2f2;border-color:#fca5a5}.lesson-four-shell input{accent-color:#c2410c}@media(prefers-reduced-motion:reduce){.lesson-four-shell .dialogue-row:has(.speaker) .dialogue{transition:none}}.lesson-two-shell .dialogue-row:has(.speaker) .dialogue{transition:border-color .2s ease}.lesson-two-shell .dialogue-row .dialogue:hover{border-color:#fed7aa}.lesson-two-shell .dialogue-row:has(.speaker):nth-child(2n) .dialogue{background:#fff}.lesson-two-shell .dialogue-row:nth-child(2n) .dialogue-avatar{color:#15803d;background:#dcfce7}.lesson-two-shell .vocab-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:24px}.lesson-two-shell .card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 2px 5px #0f172a04}.lesson-two-shell .vocab-grid .card{text-align:center}.lesson-two-shell .vocab-grid .zh{font-size:36px;color:#1e293b}.lesson-two-shell .flash-example{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.lesson-two-shell .actions{justify-content:center}.lesson-two-shell .btn{border-radius:12px;box-shadow:none}.lesson-two-shell .btn[aria-pressed=true]{color:#fff;background:#c2410c;border-color:#c2410c}.lesson-two-shell .quiz-choice{background:#f8fafc;border-radius:12px}.lesson-two-shell .quiz-choice.correct{background:#f0fdf4;border-color:#86efac}.lesson-two-shell .quiz-choice.wrong{background:#fef2f2;border-color:#fca5a5}.lesson-two-shell input{accent-color:#c2410c}@media(prefers-reduced-motion:reduce){.lesson-two-shell .dialogue-row:has(.speaker) .dialogue{transition:none}}.lesson-two-shell .lesson-content>div:has(.vocab-grid):not([hidden]){background:transparent;border:0;padding:0}.lesson-two-shell .vocab-grid .card:nth-child(3n+1) .flash-example{background:#fff7ed;border-color:#fed7aa}.lesson-two-shell .vocab-grid .card:nth-child(3n+2) .flash-example{background:#ecfdf5;border-color:#a7f3d0}.lesson-two-shell .vocab-grid .card:nth-child(3n) .flash-example{background:#eff6ff;border-color:#bfdbfe}.lesson-two-shell form>h3{color:#15803d;padding-bottom:16px;border-bottom:2px solid #f0fdf4}.lesson-two-shell .lesson-content>div>div:nth-of-type(2n) .dialogue{background:#fff}.lesson-two-shell .lesson-content>div>div:nth-of-type(2n) .dialogue-avatar{color:#15803d;background:#dcfce7}.lesson-shell .advanced-lesson .section-kicker{color:#15803d}.lesson-shell .advanced-meta{color:#64748b}.lesson-shell .advanced-lesson .tabs button.active{background:transparent;color:#c2410c;border-bottom-color:#f97316}.lesson-shell .advanced-lesson .lesson-content>section:not([hidden]){background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:28px}.lesson-shell .advanced-lesson .advanced-reading-part{border-color:#e2e8f0;box-shadow:none}.lesson-shell .advanced-lesson .advanced-part-label{background:#15803d}.lesson-shell .advanced-lesson .advanced-grammar{border-color:#e2e8f0;box-shadow:none}.lesson-shell .advanced-lesson .advanced-grammar h2{color:#0f172a}.lesson-shell .advanced-lesson .advanced-example{background:#f8fafc;border-left-color:#86b59a}.lesson-shell .advanced-lesson .advanced-translation{background:#f8fafc;border-color:#e2e8f0}.lesson-shell .advanced-lesson .advanced-translation summary{color:#15803d}.lesson-shell .advanced-lesson .advanced-speech,.lesson-shell .advanced-lesson .actions button{color:#c2410c;background:#fff7ed;border-color:#fed7aa}@media(max-width:767px){.lesson-shell .advanced-lesson .lesson-content>section:not([hidden]){padding:16px}.lesson-shell .advanced-lesson .advanced-reading-part{padding:32px 16px 16px}.lesson-shell .advanced-lesson .advanced-translation,.lesson-shell .advanced-lesson .advanced-grammar{padding:16px}.lesson-shell .advanced-lesson .advanced-question{overflow-wrap:anywhere}}.quiz-overview{padding:20px;margin-block:16px 24px;border:1px solid #c9d9cd;border-left:4px solid #63856b;border-radius:12px;background:#f4f7f1}.quiz-overview h4{margin-block:8px;font-size:1.2rem}.quiz-part-title{padding-bottom:12px;border-bottom:1px solid #d7e1d5;color:#365b40}.quiz-passage{margin-block:14px;padding:16px;border-radius:10px;background:#f5f4ee;border:1px solid #deded2;overflow-wrap:anywhere}.quiz-passage p{line-height:1.9;white-space:pre-line}.quiz-audio>.btn{margin:4px 8px 4px 0}.book-detail{max-width:1088px;margin:0 auto;padding:32px}.book-detail .page-heading{padding:0;margin-bottom:32px}.book-detail .page-heading>a{color:#4338ca;font-weight:800}.book-detail .section-kicker{margin-top:24px;color:#4338ca}.book-detail .page-heading h1{color:#1e293b;font-family:inherit;font-size:clamp(24px,3vw,36px);line-height:1.35}.book-detail .page-heading>p:last-child{color:#64748b}.book-detail .lesson-list{display:grid;gap:16px}.book-detail .course-card{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#1e293b}.book-detail .course-card>div{flex:1;min-width:0}.book-detail .course-card h2{margin:0 0 6px;font-family:inherit;font-size:clamp(20px,2.5vw,26px);overflow-wrap:anywhere}.book-detail .course-card p{margin:0 0 8px;color:#475569}.book-detail .course-card .small{color:#64748b}.book-detail .lesson-number{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:#eef2ff;color:#4338ca;font-weight:800}.book-detail .course-card:hover{border-color:#4338ca;background:#fafaff}.book-detail a:focus-visible{outline:3px solid #4338ca;outline-offset:4px}@media(max-width:767px){.book-detail{padding:24px 16px}.book-detail .course-card{padding:20px 16px;gap:12px}}.english-page{max-width:1280px;margin:auto;padding:28px 28px 72px;color:#30392f}.english-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;border-bottom:2px solid #435744;margin-bottom:32px}.english-brand{font-family:Georgia,serif;font-size:30px;text-decoration:none;color:#334b3b}.english-brand em{color:#9b552f}.english-brand span{display:block;margin-top:7px;line-height:1.5;font-family:inherit;font-size:11px;letter-spacing:.16em}.english-page button,.english-source{padding:10px 16px;border:1px solid #68765b;border-radius:7px;background:#f6f3e8;color:#334b3b;cursor:pointer;font:inherit}.english-page button:hover,.english-source:hover{background:#e7ead9}.english-page button:disabled{opacity:.65;cursor:wait}.english-page :is(button,input,textarea,a):focus-visible{outline:3px solid #a7663d;outline-offset:4px}.english-page :is(input,textarea){display:block;width:100%;box-sizing:border-box;margin:10px 0;padding:12px;background:#fffdf6;border:1px solid #7b846c;border-radius:6px;color:#30392f;font:inherit}.english-lock{max-width:610px;margin:48px auto;padding:clamp(24px,5vw,54px);border-top:5px solid #a7663d}.english-lock h1,.english-intro h1{font-size:clamp(32px,4.5vw,58px);line-height:1.16;font-family:Georgia,serif}.english-lock h1 em,.english-intro h1 em{color:#65744b;font-weight:400}.english-lock form{margin:28px 0}.english-lock form button{width:100%;background:#405742;color:#fffdf6;margin-top:8px}.english-index{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b7baa2;margin:36px 0 24px}.english-unit-card{display:grid;grid-template-columns:62px 1fr 18px;align-items:start;gap:20px;padding:30px 22px;border-bottom:1px solid #b7baa2;text-decoration:none;color:inherit}.english-unit-card:nth-child(odd){border-right:1px solid #b7baa2}.english-unit-card:hover{background:#eeefdf}.english-unit-card h2{margin:4px 0 10px;font-family:Georgia,serif;font-size:25px}.english-number{font-family:Georgia,serif;font-size:48px;color:#9b552f;line-height:1}.english-tabs{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #b7baa2;margin-bottom:24px}.english-tabs [aria-selected=true]{color:#fffdf6;background:#405742}.english-dialogue{border-left:3px solid #b5ba91;margin:20px 0;padding:12px 20px;background:#f8f6ed}.english-dialogue p[lang=en]{font-family:Georgia,serif;font-size:23px}.english-dialogue p{margin:10px 0}.english-vocab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.english-vocab article{border:1px solid #c4c7b0;padding:18px;border-radius:8px}.english-vocab h3{font-family:Georgia,serif;font-size:22px;margin-top:0}.english-flash{display:grid;place-content:center;gap:20px;width:100%;min-height:260px;margin:24px 0;background:#f2efdb!important}.english-flash span{font-family:Georgia,serif;font-size:clamp(25px,4vw,38px)}.english-flash small{font-size:14px}.english-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:26px}.english-grammar{margin-bottom:28px}.english-grammar blockquote{margin:18px 0;padding:12px 22px;border-left:4px solid #a7663d;background:#f4f0e1}.english-grammar blockquote p[lang=en]{font-family:Georgia,serif;font-size:21px}.english-question{margin:20px 0;padding:18px;border:1px solid #c4c7b0;border-radius:7px}.english-question legend{color:#86502e;font-weight:700;padding:0 7px}.english-error{color:#923d2c;background:#f9ede3;padding:12px;border-radius:5px}.english-correct{color:#355331;background:#edf1e1;padding:12px;border-radius:5px}.english-source{display:inline-block;margin:18px 0}@media(max-width:767px){.english-page{padding:20px 16px 48px}.english-index,.english-vocab{grid-template-columns:1fr}.english-unit-card:nth-child(odd){border-right:0}.english-unit-card{padding:24px 0;gap:14px;grid-template-columns:48px 1fr 18px}.english-unit-card h2{font-size:22px}.english-number{font-size:38px}.english-tabs button{padding:9px 11px}.english-masthead{align-items:start}.english-masthead>button{font-size:13px}}.english-unlock{max-width:32rem;margin:2rem auto}.english-unlock form{display:grid;gap:.8rem}.english-unlock input{width:100%;box-sizing:border-box}.public-view-counter{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:500;color:#64748b;background:#fff;border:1px solid #f1f5f9;border-radius:999px;padding:8px 11px;font-variant-numeric:tabular-nums}.course-roadmap{padding:64px max(32px,calc((100vw - 1216px)/2));background:#fff}.course-roadmap>h2{margin:0 0 16px;font-size:clamp(30px,3vw,36px);letter-spacing:-.025em}.roadmap-intro,.roadmap-group>p{color:#64748b;line-height:1.7}.roadmap-intro{margin:0 0 40px}.roadmap-group+.roadmap-group{margin-top:40px}.roadmap-group>h3{margin:0;font-size:23px}.roadmap-group>h3:after{content:"";display:block;width:32px;height:3px;margin-top:12px;background:#cbd5e1;border-radius:3px}.roadmap-group>p{margin:12px 0 20px;font-size:14px}.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.roadmap-card{display:flex;flex-direction:column;min-width:0;padding:26px;color:#1e293b;background:#fff;border:1px solid #eaeef2;border-radius:24px;box-shadow:0 2px 8px #0f172a04;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}a.roadmap-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #0f172a0d}a.roadmap-card:focus-visible{outline:3px solid #2563eb;outline-offset:4px}.roadmap-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.roadmap-card-heading svg{flex-shrink:0;color:#94a3b8}.roadmap-card h4{margin:0;font-size:22px;font-weight:800}.roadmap-card>p{margin:12px 0 24px;font-size:14px;color:#64748b;line-height:1.6}.roadmap-card-footer{margin-top:auto;display:flex;justify-content:flex-end;color:#6b7280;font-size:12px}.roadmap-card-footer span{display:inline-flex;gap:6px;align-items:center}.roadmap-card-upcoming{background:#fafbfc;box-shadow:none}.roadmap-note{margin:28px 0 0;font-size:12px;color:#64748b;line-height:1.7}@media(max-width:1100px){.public-view-counter{position:static;left:16px;bottom:max(16px,env(safe-area-inset-bottom));box-shadow:0 2px 12px #0f172a0d;z-index:30}body:has(.dashboard-page) .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}@media(max-width:767px){.course-roadmap{padding:48px 24px}.roadmap-grid{grid-template-columns:minmax(0,1fr);gap:16px}}@media(prefers-reduced-motion:reduce){.roadmap-card{transition:none}a.roadmap-card:hover{transform:none}}.learning-points{margin:1.5rem 0;padding:clamp(1rem,3vw,1.8rem);border:1px solid #dbe6da;border-radius:20px;background:#f7faf5;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;color:#274632}.points-rank{display:flex;align-items:center;gap:1rem}.points-rank>svg{color:#8b6b30;flex-shrink:0}.points-rank h2{margin:.2rem 0;font-size:1.7rem}.points-rank p{margin:.25rem 0}.points-periods{justify-self:end}.points-periods [role=group]{display:flex;flex-wrap:wrap;gap:.35rem}.points-periods button{border:1px solid #d2dfd1;background:#fff;border-radius:9px;padding:.45rem .7rem;color:#365940;cursor:pointer}.points-periods button[aria-pressed=true]{background:#345b40;color:#fff;border-color:#345b40}.points-periods p{margin:.5rem 0}.points-periods strong{font-size:2rem}.points-next,.points-status,.learning-points details{grid-column:1 / -1}.points-next span{display:flex;align-items:center;gap:.3rem}.points-next progress{display:block;width:100%;height:.6rem;margin-top:.65rem;accent-color:#54784b}.points-status:empty{display:none}.points-status{margin:0}.learning-points summary{cursor:pointer;font-weight:600;padding:.35rem 0}.points-rank-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;padding-left:1.4rem}.points-rank-list li{padding-left:.3rem}.points-rank-list strong{margin-left:.7rem;font-size:.85rem;font-weight:500}.learning-points button:focus-visible,.learning-points summary:focus-visible{outline:3px solid #93702e;outline-offset:3px}@media(max-width:600px){.learning-points{grid-template-columns:1fr}.points-periods{justify-self:start}.points-rank-list{grid-template-columns:1fr}}.public-leaderboard{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem);margin:1.5rem 0 2.5rem;padding:clamp(1rem,3vw,2rem);border:1px solid #dfe7dd;border-radius:22px;background:#f8faf5;color:#294a38;scroll-margin-top:1.5rem}.landing-refresh .public-leaderboard{max-width:1160px;margin:2rem auto 3rem}.leaderboard-intro{align-self:start;padding:.6rem 0}.leaderboard-seal{display:inline-flex;padding:1rem;margin-bottom:1.2rem;border-radius:50%;background:#eee7d4;color:#846b32}.leaderboard-intro h2{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;margin:.5rem 0 1rem;letter-spacing:-.025em}.leaderboard-intro p{color:#5b6d61}.leaderboard-invitation{display:flex;gap:.6rem;align-items:center;font-size:.88rem;margin:1.5rem 0}.leaderboard-join{background:#285640;color:#fff;border:0;padding:.8rem 1rem;border-radius:10px;cursor:pointer}.leaderboard-board{min-width:0;padding:clamp(.8rem,2vw,1.5rem);border:1px solid #e2e8df;background:#fff;border-radius:16px}.leaderboard-toolbar h3{margin:0 0 .7rem;font-size:1.1rem}.leaderboard-toolbar [role=group]{display:flex;flex-wrap:wrap;gap:.3rem}.leaderboard-toolbar button{padding:.45rem .75rem;border:1px solid #dce6db;border-radius:8px;background:#fff;color:#3c5b46;cursor:pointer}.leaderboard-toolbar button[aria-pressed=true]{background:#285640;border-color:#285640;color:#fff}.leaderboard-entries{list-style:none;margin:1rem 0;padding:0}.leaderboard-entries li{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem 0;border-bottom:1px solid #edf0e9}.leaderboard-place{display:inline-flex;align-items:center;gap:.25rem;color:#79857b;font-variant-numeric:tabular-nums;font-size:.9rem}.leaderboard-medal{flex-shrink:0}.leaderboard-medal-1{color:#a47716;fill:#f4d477}.leaderboard-medal-2{color:#6b7682;fill:#dce2e8}.leaderboard-medal-3{color:#9b6035;fill:#dfb18a}.leaderboard-place.is-leading{color:#886a2b;font-weight:800}.leaderboard-student strong,.leaderboard-student span,.leaderboard-score span{display:block}.leaderboard-student strong{font-size:.9rem;overflow-wrap:anywhere}.leaderboard-student span,.leaderboard-score span{font-size:.75rem;color:#637166}.leaderboard-score{text-align:right}.leaderboard-score strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.leaderboard-note{font-size:.75rem;line-height:1.6;color:#647067;margin-bottom:.5rem}.leaderboard-placeholder{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#647067;gap:.5rem}.leaderboard-refresh{border:0;background:transparent;color:#315d43;text-decoration:underline;cursor:pointer;padding:.5rem 0}.public-leaderboard button:focus-visible{outline:3px solid #93702e;outline-offset:3px}@media(max-width:767px){.public-leaderboard{grid-template-columns:1fr}.landing-refresh .public-leaderboard{margin:1.5rem 16px}}.auth-dialog{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #deddd2;border-radius:22px;background:#f7f3ea;color:#184c43;box-shadow:0 24px 80px #142e3440;overscroll-behavior:contain}.auth-dialog::backdrop{background:#122e2b99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.login-card,.login-inline .login-card,.auth-dialog .login-card{width:min(100%,440px);padding:28px;border:1px solid #deddd2;border-radius:22px;background:#f7f3ea;color:#354b45;text-align:left;font-size:14px;box-shadow:0 12px 36px #184c430a}.auth-dialog .login-card{border:0;box-shadow:none}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:#184c43}.auth-brand>span{display:grid;place-items:center;width:40px;height:44px;border-radius:10px 10px 14px;background:#184c43;color:#f7f3ea;font-family:serif;font-size:27px}.auth-brand strong{font-size:20px;letter-spacing:-.7px;line-height:1.2}.auth-brand small{display:block;margin-top:5px;font-size:10px;font-weight:500;letter-spacing:.6px;color:#69776e}.login-card #login-title{margin:0 0 8px;color:#184c43;font-size:23px;line-height:1.35;letter-spacing:-.6px}.login-card p{margin:8px 0;line-height:1.6}.login-card .auth-description{margin:0 0 20px;color:#626e64;font-size:13px}.login-card button{min-height:44px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.login-providers{gap:8px;margin:0}.login-providers button{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d9dcd2;background:#fffdf8;color:#293f37}.login-providers button:hover{background:#eeeee4;border-color:#8faaa0}.auth-provider-icon{width:20px;font-size:20px;font-weight:700}.auth-provider-icon.google{color:#354b45}.auth-provider-icon.facebook{color:#2864a4}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:11px;color:#6b766d;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#dddfd4}.login-form{gap:13px;margin:0}.login-form label,.auth-password-field>label{display:grid;gap:6px;font-size:12px;font-weight:600;color:#354b45}.login-form input{box-sizing:border-box;min-width:0;min-height:44px;border:1px solid #ced5ca;border-radius:10px;padding:11px 12px;background:#fffdf9;color:#243c33;font-size:14px}.login-form input::placeholder{color:#7a8177}.auth-password-input{position:relative;margin-top:6px}.auth-password-input input{padding-right:48px}.login-card .auth-reveal{position:absolute;top:1px;right:1px;display:grid;place-items:center;min-height:42px;width:42px;padding:0;border:0;border-radius:9px;background:transparent;color:#586c61}.login-card .auth-reveal:hover{background:#e9ede2}.auth-hint{display:block;margin-top:5px;color:#6b766d;font-size:11px}.login-card .auth-forgot{justify-self:end;min-height:28px;margin-top:-7px;padding:0;border:0;background:transparent;color:#914427;font-size:12px}.login-card .login-primary{background:#184c43;border-color:#184c43;color:#fffdf6}.login-card .login-primary:hover{background:#103e36;border-color:#103e36}.login-card button:disabled{cursor:wait;opacity:.6}.login-links{align-items:center;gap:5px;margin-top:18px;padding-top:14px;border-top:1px solid #dddfd4;color:#626e64;font-size:12px}.login-links button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:4px;border:0;background:transparent;color:#914427;font-size:12px;text-decoration:none}.login-links button:hover,.auth-forgot:hover{text-decoration:underline;text-underline-offset:3px}.login-card .login-error,.login-card .auth-notice{margin:14px 0 0;padding:10px 12px;border:1px solid #d8dfd3;border-radius:10px;background:#ebf0e6;color:#184c43;font-size:12px;font-weight:500;overflow-wrap:anywhere}.login-card .login-error{color:#8b392d;background:#f7e8e0;border-color:#eac9b9}.login-card .login-pending{color:#914427}.auth-success{color:#184c43}.auth-success>svg{margin-top:10px}.auth-success p+p{color:#626e64;font-size:12px}.auth-success button{width:100%;margin-top:12px;background:#184c43;border-color:#184c43;color:#fffdf6}.auth-close{top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #d9dcd2;background:#eeeee4;color:#184c43;font-size:22px;line-height:1}.auth-close:hover{background:#e0e6d9}.login-card :focus-visible,.auth-close:focus-visible{outline:3px solid #b85c38;outline-offset:3px}.auth-locked-label{margin:0 0 14px;text-align:center;color:#626e64;font-size:13px}body:has(.auth-dialog[open]){overflow:hidden}@media(max-width:480px){.login-card,.login-inline .login-card,.auth-dialog .login-card{padding:24px 20px;border-radius:18px}.login-card #login-title{font-size:21px}.auth-dialog{border-radius:18px}}@media(prefers-reduced-motion:reduce){.login-card button{transition:none}}.leaderboard-student{min-width:0;overflow-wrap:anywhere}.leaderboard-student .leaderboard-realm{display:flex;align-items:center;gap:.35rem}.leaderboard-realm>span:last-child{min-width:0}.auth-signup{position:relative;overflow:hidden}.auth-signup .auth-brand{margin-bottom:24px}.signup-kicker{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#80563b}.signup-calligraphy{display:flex;align-items:center;gap:18px;margin:12px 0 22px;padding:14px 18px;border-left:3px solid #b85c38;background:repeating-linear-gradient(transparent,transparent 27px,#184c430c 28px),#eeeee2;border-radius:0 16px 16px 0}.signup-calligraphy>span{font-family:serif;font-size:56px;line-height:1.2;color:#184c43}.signup-calligraphy small{color:#526357;font-size:13px;line-height:1.8}.signup-steps{display:flex;justify-content:space-between;gap:8px;list-style:none;padding:0 0 18px;margin:0 0 20px;border-bottom:1px dashed #c7cdbf}.signup-steps li{display:grid;gap:6px;color:#626e64;font-size:10px}.signup-steps li span{font-family:Georgia,serif;font-size:20px;color:#7a8177}.signup-steps li[aria-current]{color:#184c43;font-weight:700}.signup-steps li[aria-current] span{color:#a55032}.login-card .signup-assurance{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;font-size:11px;color:#526357}.signup-assurance svg{flex-shrink:0}.signup-mail{display:grid;place-items:center;width:68px;height:68px;margin:18px 0;background:#e3eadb;border:1px solid #c6d3bd;border-radius:22px 22px 22px 4px}.signup-email{display:block;overflow-wrap:anywhere;margin:12px 0;color:#914427}.signup-checklist{padding-left:22px;margin:20px 0;color:#354b45;font-size:13px;line-height:1.8}.signup-checklist li{padding-left:4px;margin:8px 0}.signup-checklist li::marker{color:#a55032;font-weight:700}.auth-success button{display:flex;align-items:center;justify-content:center;gap:10px}.auth-success .signup-secondary{color:#184c43;background:transparent;border-color:#ced5ca;font-size:12px}.aviation-feature{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;margin:28px 0;padding:26px 0;border-block:1px solid #d9ddd4;color:#30483f}.aviation-feature h2{margin:6px 0;font-size:clamp(20px,2.5vw,26px);font-weight:600;line-height:1.4}.aviation-feature p{margin:6px 0;line-height:1.7}.aviation-feature .section-kicker{font-size:10px;letter-spacing:.12em;color:#626d61}.aviation-feature .aviation-meta{font-size:12px;color:#626d61}.aviation-meta span{margin:0 8px;color:#80877c}.aviation-feature>a{display:inline-flex;align-items:center;gap:8px;padding:10px 0;color:#30483f;font-size:13px;text-decoration:underline;text-decoration-color:#a9b5a7;text-underline-offset:5px}.aviation-feature>a:hover,.aviation-enrollment a:hover{text-decoration-color:currentColor}.aviation-emblem{padding-right:24px;border-right:1px solid #d9ddd4;color:#657560;font-family:serif;font-size:25px;line-height:1.6;letter-spacing:.18em}.aviation-page{min-width:0}.aviation-unlock{margin:28px 0;padding:18px 0;border-block:1px solid #d9ddd4;color:#4e5d52;font-size:14px}.aviation-unlock summary{cursor:pointer;width:fit-content;padding:6px 0;font-weight:500}.aviation-enrollment{max-width:660px;line-height:1.85;padding:8px 0}.aviation-enrollment a{color:#30483f;text-underline-offset:4px}.aviation-feature a:focus-visible,.aviation-unlock summary:focus-visible,.aviation-enrollment a:focus-visible{outline:2px solid #536e52;outline-offset:5px}.aviation-paragraph{line-height:1.9;border-bottom:1px solid #e3dfd3;padding:10px 0}.aviation-page textarea{width:100%;padding:14px;margin:12px 0}@media(max-width:767px){.aviation-feature{grid-template-columns:minmax(0,1fr);padding:22px 0;gap:12px}.aviation-emblem{display:none}.aviation-feature>a{justify-self:start}}.aviation-registration{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:20px;background:#fff;color:#43425b;box-shadow:0 24px 70px #14262d40;overflow-y:auto}.aviation-registration::backdrop{background:#111f267a}.aviation-registration-card{text-align:center}.aviation-registration-heading{position:relative;padding:26px 30px 22px;background:#2c556b;color:#fff}.aviation-registration-heading h2{margin:8px 0;color:inherit;font-size:21px;line-height:1.4}.aviation-registration-heading p{margin:0;font-size:13px;line-height:1.6;color:#e2ecf0}.aviation-registration-heading p[lang]{font-size:17px;letter-spacing:.08em}.aviation-registration .aviation-registration-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;margin:0;padding:0;border:0;border-radius:50%;background:#ffffff29;color:#fff;font-size:26px;line-height:1;cursor:pointer}.aviation-registration-body{padding:18px 22px 22px}.aviation-registration-body>p{margin:0 0 14px;font-size:14px;line-height:1.65}.aviation-registration-body .aviation-registration-label{margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.08em}.aviation-registration-qr{display:block;width:min(100%,200px);margin:0 auto 16px;border-radius:10px;overflow:hidden}.aviation-registration-qr img{display:block;width:100%;height:auto}.aviation-registration-download{display:block;padding:12px 16px;border-radius:12px;background:#2c556b;color:#fff;font-size:14px;font-weight:700;text-decoration:none}.aviation-registration-download:hover{background:#214457;color:#fff}.aviation-registration-body .aviation-registration-hint{margin:12px 0 0;color:#626579;font-size:12px}.aviation-registration a:focus-visible,.aviation-registration button:focus-visible{outline:3px solid #b97725;outline-offset:3px}body:has(.landing-refresh){background:#fff;color:#243c32}body:has(.landing-refresh) .site-header{height:auto;min-height:84px;padding:16px max(24px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid #e8eee9;-webkit-backdrop-filter:none;backdrop-filter:none}body:has(.landing-refresh) .brand{color:#234d3c}body:has(.landing-refresh) .brand-icon{color:#fff;background:#285640;border-color:#285640}body:has(.landing-refresh) .brand>i{color:#b65e3c}body:has(.landing-refresh) .topnav{gap:24px;font-size:14px}body:has(.landing-refresh) .topnav>a{color:#46594e}body:has(.landing-refresh) .topnav>a:hover{color:#285640}body:has(.landing-refresh) .nav-login{color:#fff;background:#285640;border:1px solid #285640;padding:11px 19px;font-size:13px}body:has(.landing-refresh) .nav-login:hover{background:#1d4030}body:has(.landing-refresh) .public-view-counter{font-size:11px;color:#59665e}.landing-refresh{--home-green: #285640;--home-ink: #243c32;--home-muted: #5d6d63;line-height:1.75}.landing-refresh h1,.landing-refresh h2,.landing-refresh h3,.landing-refresh h4{color:var(--home-ink)}.landing-refresh .landing-eyebrow{margin:0 0 16px;color:#3f6951;font-size:11px;font-weight:800;letter-spacing:.15em;line-height:1.6}.landing-refresh .welcome-hero{max-width:none;padding:72px max(24px,calc((100vw - 1160px)/2)) 76px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;background:#f5f7ef;border-bottom:1px solid #e6ebdf}.landing-refresh .welcome-copy{min-width:0}.landing-refresh .welcome-copy .landing-eyebrow{display:flex;align-items:center;gap:9px}.landing-refresh .landing-eyebrow>span{width:7px;height:7px;border-radius:50%;background:#6c8a50}.landing-refresh .welcome-copy h1{margin:0 0 24px;font-size:clamp(38px,4.1vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1.18}.landing-refresh .welcome-copy h1>span{color:#b05a39}.landing-refresh .welcome-copy>p:not(.landing-eyebrow){max-width:480px;margin-bottom:28px;color:var(--home-muted);font-size:17px;line-height:1.85}.landing-refresh .welcome-actions{gap:20px}.landing-refresh .welcome-actions button{padding:14px 24px;background:var(--home-green);box-shadow:0 4px 10px #28564012;border-radius:12px;font-size:15px}.landing-refresh .welcome-actions button:hover{background:#1d4030}.landing-refresh .welcome-actions a{color:#3e5949;font-size:13px;text-decoration:underline;text-underline-offset:5px}.hero-topics{display:flex;flex-wrap:wrap;gap:12px 22px;padding:24px 0 0;margin:28px 0 0;border-top:1px solid #dce4d5;list-style:none;color:#586c5b;font-size:12px;font-weight:700}.hero-topics li{display:flex;gap:7px;align-items:center}.hero-topics li:before{content:"✓";color:#386647}.hero-preview{min-width:0;padding:24px;border-radius:28px;background:#e5ecdc}.preview-caption{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:18px;font-size:12px;color:#476046}.preview-caption>span{font-size:19px;font-weight:800}.landing-refresh .sample-lesson{max-width:none;padding:26px 30px;transform:none;border-radius:20px;border:1px solid #dce5d5;box-shadow:0 12px 32px #32483208}.landing-refresh .sample-lesson:hover{transform:none}.landing-refresh .sample-heading{color:#5d705e;letter-spacing:.08em}.landing-refresh .sample-heading>span:first-child{background:#f1f5ec}.landing-refresh .sample-heading>span:last-child{color:#a6b69b}.landing-refresh .sample-word{padding:20px 0 24px}.landing-refresh .sample-word strong{color:#285640;font-size:68px}.landing-refresh .sample-word p{margin:5px 0 14px;color:#52654f;font-size:16px}.landing-refresh .sample-word>span{color:#9b5034;background:#fbf0e7;border:none;border-radius:7px;padding:4px 14px;font-size:12px}.landing-refresh .sample-example{border-color:#e9eee6;gap:12px;padding-top:18px}.landing-refresh .sample-example button{background:#eaf1e4;color:#285640;padding:10px}.landing-refresh .sample-example strong{color:#324d3d;font-size:18px}.landing-refresh .sample-example p{color:#627062}.preview-footnote{margin-top:18px;display:flex;justify-content:center;align-items:center;gap:8px;color:#53684e;font-size:11px}.landing-refresh .welcome-curriculum,.landing-refresh .course-roadmap{padding:72px max(24px,calc((100vw - 1160px)/2))}.landing-refresh .welcome-curriculum{border:0}.landing-refresh .welcome-curriculum>h2,.landing-refresh .course-roadmap>h2{margin:0 0 14px;font-size:clamp(28px,3vw,36px);letter-spacing:-.03em}.landing-refresh .curriculum-intro,.landing-refresh .roadmap-intro{max-width:640px;font-size:16px;color:var(--home-muted);margin:0 0 32px}.landing-refresh .curriculum-columns{gap:22px}.landing-refresh .curriculum-path{display:flex;flex-direction:column;padding:28px;border-radius:20px;border-color:#e1e8df;--path-color: #386448;--path-bg: #edf3e7;--path-border: #dae5d1}.landing-refresh .path-hsk{--path-color: #9b5339;--path-bg: #fcf0e9;--path-border: #f0ded2}.landing-refresh .path-business{--path-color: #43677e;--path-bg: #edf3f6;--path-border: #dbe7ed}.landing-refresh .curriculum-path:before{display:none}.landing-refresh .curriculum-path-icon{margin-bottom:22px;width:48px;height:48px;border:0;border-radius:12px}.landing-refresh .curriculum-path h3{font-size:22px}.landing-refresh .curriculum-tags{gap:6px}.landing-refresh .curriculum-tags span{letter-spacing:0;text-transform:none;font-size:11px}.landing-refresh .curriculum-path p{margin-bottom:24px;color:#5d6d63;font-size:14px}.path-explore{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--path-border);color:var(--path-color);font-size:13px;font-weight:800;text-decoration:none}.path-explore:hover{text-decoration:underline;text-underline-offset:4px}.landing-refresh .course-roadmap{background:#f7f8f4;border-block:1px solid #e9ede5}.landing-refresh .roadmap-group{--book-ink: #355e44;--book-bg: #eaf0e1;scroll-margin-top:110px}.landing-refresh .roadmap-dinh-cao{--book-ink: #935138;--book-bg: #f8eae0}.landing-refresh .roadmap-ung-dung{--book-ink: #41667c;--book-bg: #e7eff3}.landing-refresh .roadmap-group+.roadmap-group{margin-top:40px;padding-top:32px;border-top:1px solid #dfe6da}.landing-refresh .roadmap-group>h3{color:var(--book-ink);font-size:21px}.landing-refresh .roadmap-group>h3:after{background:var(--book-ink);width:26px;height:2px;margin-top:9px}.landing-refresh .roadmap-group>p{color:#5d6d63;font-size:13px}.landing-refresh .roadmap-grid{gap:22px}.landing-refresh .roadmap-card{padding:18px;border-color:#e1e7dc;border-radius:18px;box-shadow:0 2px 5px #243c3203}.roadmap-book-cover{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px;padding:20px 24px;border-radius:10px;border-left:5px solid color-mix(in srgb,var(--book-ink) 35%,var(--book-bg));background:var(--book-bg);color:var(--book-ink)}.roadmap-book-cover>span{font-size:10px;font-weight:800;letter-spacing:.08em}.roadmap-book-cover>strong{font-size:27px;font-weight:600;letter-spacing:.1em}.landing-refresh .roadmap-card h4{font-size:19px}.landing-refresh .roadmap-card-heading{padding-inline:4px}.landing-refresh .roadmap-card>p{padding-inline:4px;margin:9px 0 22px;font-size:13px;color:#5d6d63}.landing-refresh .roadmap-card-footer{border-top:1px solid #edf0e9;padding:13px 4px 0;color:#667163;font-size:11px}.landing-refresh .roadmap-card-upcoming{background:#fdfefb;border-style:dashed}.landing-refresh .roadmap-card-upcoming .roadmap-book-cover{background:#f0f2eb;color:#737e6b;border-color:#dce1d3}.landing-refresh .roadmap-note{color:#64705f;max-width:700px}.landing-refresh .welcome-about.teacher-hero{max-width:1160px;margin:72px auto;padding:0;background:#fff;color:#526358;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:64px;border-radius:0}.landing-refresh .teacher-hero .teacher-avatar{width:100%;border-radius:22px;background:#eaf0e1;box-shadow:none}.landing-refresh .teacher-hero .teacher-eyebrow{color:#47704f;font-size:11px}.landing-refresh .teacher-hero h2{margin:0 0 22px;color:#243c32;font-size:clamp(27px,3vw,36px);letter-spacing:-.03em}.landing-refresh .teacher-hero h2 span{display:block;margin-top:10px;font-size:20px;color:#68785e;font-weight:500}.landing-refresh .teacher-hero p{font-size:14px;line-height:1.9}.landing-refresh .teacher-hero .teacher-tocfl{color:#3b6447}.landing-refresh .teacher-hero a{color:#315e43;font-size:13px}.landing-refresh .teacher-hero a:hover{color:#9b5339}.landing-refresh .teacher-zalo{grid-template-columns:136px minmax(0,1fr);background:#f5f7f0;border:1px solid #e4eadc;border-radius:16px;padding:20px;gap:20px;margin:24px 0 16px}.landing-refresh .teacher-zalo .zalo-image-link{width:100%;margin:0}.landing-refresh .teacher-zalo h2{font-size:20px;margin-bottom:10px}.landing-refresh .teacher-zalo p{font-size:13px;line-height:1.7}.landing-refresh .teacher-zalo .zalo-download{background:#285640;color:#fff;font-size:12px;padding:9px 14px;border-radius:8px}.landing-refresh .teacher-zalo .zalo-download:hover{background:#1d4030;color:#fff}.landing-refresh .teacher-zalo .zalo-hint{color:#596b51;font-size:11px}body:has(.landing-refresh) .site-footer{background:#f4f6f0;border-color:#e3e9dd;padding:28px 24px;color:#5a6b52;font-size:12px}body:has(.landing-refresh) .site-footer a{color:#3b6043}.landing-refresh :focus-visible,body:has(.landing-refresh) .site-header :focus-visible{outline:3px solid #9b5339;outline-offset:5px}@media(max-width:1199px){body:has(.landing-refresh) .topnav{gap:18px}body:has(.landing-refresh) .public-view-counter{position:static;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:30}.landing-refresh .welcome-about.teacher-hero{margin-inline:24px;gap:36px}.landing-refresh .welcome-hero{gap:36px}.landing-refresh .curriculum-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-refresh .curriculum-path{padding:22px}}@media(max-width:900px){body:has(.landing-refresh) .site-header{gap:16px;flex-wrap:wrap}body:has(.landing-refresh) .topnav{gap:16px;font-size:12px}.landing-refresh .welcome-hero{grid-template-columns:1fr 1fr;gap:24px;padding-block:48px}.landing-refresh .welcome-copy h1{font-size:40px}.landing-refresh .hero-preview{padding:18px}.landing-refresh .sample-lesson{padding:22px}.landing-refresh .curriculum-path h3{font-size:19px}.landing-refresh .welcome-about.teacher-hero{grid-template-columns:1fr 1.4fr;gap:28px}.landing-refresh .teacher-zalo{grid-template-columns:100px minmax(0,1fr);padding:16px;gap:14px}}@media(max-width:767px){body:has(.landing-refresh) .site-header{min-height:76px;padding:14px 20px;gap:12px}body:has(.landing-refresh) .brand{font-size:23px}body:has(.landing-refresh) .topnav{width:100%;gap:12px 18px;justify-content:flex-start}body:has(.landing-refresh) .topnav>a:not(.nav-cta){display:inline}body:has(.landing-refresh) .nav-login{padding:9px 13px;font-size:12px;margin-left:auto}.landing-refresh .welcome-hero{grid-template-columns:minmax(0,1fr);padding:40px 24px;gap:32px}.landing-refresh .welcome-copy h1{font-size:clamp(35px,8.5vw,48px)}.landing-refresh .welcome-copy>p:not(.landing-eyebrow){font-size:16px}.landing-refresh .welcome-actions{gap:16px}.landing-refresh .hero-preview{max-width:450px;width:100%;justify-self:center}.landing-refresh .welcome-curriculum,.landing-refresh .course-roadmap{padding:44px 24px}.landing-refresh .welcome-curriculum>h2,.landing-refresh .curriculum-intro{text-align:left}.landing-refresh .curriculum-columns,.landing-refresh .roadmap-grid{grid-template-columns:minmax(0,1fr);gap:16px}.landing-refresh .curriculum-path{padding:24px}.landing-refresh .curriculum-path h3{font-size:22px}.landing-refresh .welcome-about.teacher-hero{grid-template-columns:minmax(0,1fr);margin:44px 24px;gap:28px;padding:0}.landing-refresh .teacher-hero .teacher-avatar{max-width:360px;margin:auto}.landing-refresh .teacher-zalo{text-align:left;grid-template-columns:112px minmax(0,1fr)}.landing-refresh .teacher-zalo h2{font-size:18px}body:has(.landing-refresh) .site-footer{padding-bottom:80px;gap:14px}}@media(max-width:380px){body:has(.landing-refresh) .nav-login{margin-left:0}.landing-refresh .teacher-zalo{grid-template-columns:minmax(0,1fr)}.landing-refresh .teacher-zalo .zalo-image-link{width:150px;margin:auto}}@media(prefers-reduced-motion:reduce){.landing-refresh *,.landing-refresh *:before,.landing-refresh *:after{animation:none;transition:none;scroll-behavior:auto}.landing-refresh .roadmap-card:hover,.landing-refresh .curriculum-path:hover,.landing-refresh .welcome-actions button:hover{transform:none}}body:has(.landing-refresh) .topnav>a,body:has(.landing-refresh) .nav-login{flex-shrink:0;white-space:nowrap}body:has(.landing-refresh) .nav-login{width:auto;margin-block:0;text-align:center}.landing-refresh .welcome-copy h1{max-width:none;overflow-wrap:normal}@media(min-width:768px){.landing-refresh .course-roadmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.landing-refresh .course-roadmap>.landing-eyebrow,.landing-refresh .course-roadmap>h2,.landing-refresh .course-roadmap>.roadmap-intro,.landing-refresh .course-roadmap>.roadmap-note,.landing-refresh .roadmap-dang-dai{grid-column:1 / -1}.landing-refresh .roadmap-dinh-cao .roadmap-grid,.landing-refresh .roadmap-ung-dung .roadmap-grid{grid-template-columns:minmax(0,1fr)}}.landing-intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1208px;margin:0 auto;padding:28px 24px 36px;align-items:start}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;margin:0;padding:24px;border:1px solid #e3e9dd;border-radius:20px;background:#fff}.landing-refresh .landing-intro-grid .teacher-avatar{width:88px;height:118px;max-width:none;margin:0;object-fit:cover;border-radius:12px}.landing-refresh .landing-intro-grid .teacher-hero h2{font-size:23px;line-height:1.3;margin-bottom:14px}.landing-refresh .landing-intro-grid .teacher-hero h2 span{display:inline;font-size:15px;white-space:normal}.landing-refresh .landing-intro-grid .teacher-eyebrow{margin-bottom:7px;font-size:10px}.landing-refresh .landing-intro-grid .teacher-hero p{font-size:13px;line-height:1.75;margin-bottom:12px}.teacher-bio-details{margin-bottom:14px;font-size:13px}.teacher-bio-details summary{cursor:pointer;color:#315e43;font-weight:700}.teacher-bio-details[open] summary{margin-bottom:12px}.landing-refresh .landing-intro-grid .teacher-zalo{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:12px;margin:16px 0 10px}.landing-refresh .landing-intro-grid .teacher-zalo .zalo-image-link{width:80px;margin:0;border-radius:7px}.landing-refresh .landing-intro-grid .teacher-zalo h2{font-size:16px;margin-bottom:7px}.landing-refresh .landing-intro-grid .teacher-zalo p{font-size:11px;margin-bottom:8px}.landing-refresh .landing-intro-grid .teacher-zalo .zalo-download{font-size:11px;padding:7px 10px;margin-bottom:6px}.landing-refresh .landing-intro-grid .teacher-zalo .zalo-hint{font-size:10px}.landing-refresh .landing-intro-grid .teacher-hero>div>a{font-size:11px;margin-top:4px}.landing-refresh .landing-intro-grid .welcome-hero{display:block;min-width:0;margin:0;padding:26px;background:#f5f7ef;border:1px solid #e3e9dd;border-radius:20px}.landing-refresh .landing-intro-grid .welcome-copy h1{font-size:clamp(27px,2.5vw,34px);margin-bottom:16px;line-height:1.25}.landing-refresh .landing-intro-grid .welcome-copy>p:not(.landing-eyebrow){font-size:14px;margin-bottom:18px;line-height:1.75}.landing-refresh .landing-intro-grid .landing-eyebrow{font-size:10px;margin-bottom:12px}.landing-refresh .landing-intro-grid .welcome-actions{gap:12px}.landing-refresh .landing-intro-grid .welcome-actions button{padding:10px 16px;font-size:13px}.landing-refresh .landing-intro-grid .welcome-actions a{font-size:11px}.landing-intro-grid .hero-topics{margin-top:18px;padding-top:14px;gap:10px 16px;font-size:11px}.landing-refresh .landing-intro-grid .hero-preview{padding:14px;margin-top:20px;border-radius:14px;max-width:none}.landing-intro-grid .preview-caption{font-size:10px;margin-bottom:10px}.landing-intro-grid .preview-caption>span{font-size:15px}.landing-refresh .landing-intro-grid .sample-lesson{padding:16px;border-radius:12px}.landing-refresh .landing-intro-grid .sample-word{padding:12px 0}.landing-refresh .landing-intro-grid .sample-word strong{font-size:38px}.landing-refresh .landing-intro-grid .sample-word p{font-size:12px;margin:3px 0 8px}.landing-refresh .landing-intro-grid .sample-word>span{font-size:11px;padding:2px 10px}.landing-refresh .landing-intro-grid .sample-example{padding-top:12px}.landing-refresh .landing-intro-grid .sample-example strong{font-size:15px}.landing-refresh .landing-intro-grid .sample-example p{font-size:11px}.landing-intro-grid .preview-footnote{margin-top:10px;font-size:10px}@media(max-width:900px){.landing-intro-grid{gap:18px}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:18px}.landing-refresh .landing-intro-grid .teacher-avatar{width:64px;height:86px}.landing-refresh .landing-intro-grid .teacher-hero h2{font-size:21px}.landing-refresh .landing-intro-grid .teacher-zalo{grid-template-columns:minmax(0,1fr)}.landing-refresh .landing-intro-grid .welcome-hero{padding:20px}}@media(max-width:767px){.landing-intro-grid{grid-template-columns:minmax(0,1fr);padding:20px 20px 28px;gap:18px}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{grid-template-columns:64px minmax(0,1fr)}.landing-refresh .landing-intro-grid .teacher-zalo{grid-template-columns:minmax(0,1fr);text-align:left}.landing-refresh .landing-intro-grid .welcome-copy h1{font-size:28px}}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{display:flow-root}.landing-refresh .landing-intro-grid .teacher-avatar{float:left;width:72px;height:96px;margin:0 16px 12px 0}.landing-refresh .landing-intro-grid .teacher-summary{clear:both}.landing-refresh .landing-intro-grid .teacher-zalo{grid-template-columns:72px minmax(0,1fr)}.landing-refresh .landing-intro-grid .teacher-zalo .zalo-image-link{width:72px}.learning-nav-wrap{padding:18px 24px 0;max-width:1208px;margin:auto}.learning-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px;background:#285640;border:1px solid #234c38;border-radius:18px;box-shadow:0 5px 14px #2856400d}.learning-nav>a{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-radius:11px;color:#f0f5eb;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;white-space:nowrap;transition:background .2s ease}.learning-nav>a:hover{background:#ffffff14}.learning-nav>.learning-nav-home{background:#f4f6ed;color:#285640}.learning-nav>.learning-nav-home:hover{background:#e7eddf}.learning-nav>.learning-nav-contact{margin-left:auto;color:#f5dfbc}.landing-refresh #zalo-title{scroll-margin-top:180px}body:has(.landing-refresh) .public-view-counter{position:static;font-size:12px;padding:8px 12px;color:#3e5c46;background:#f3f6ee;border-color:#e1e8d9;box-shadow:none}@media(max-width:1100px){.learning-nav{flex-wrap:wrap}.learning-nav>a{flex:1 0 auto;padding:10px 12px;font-size:12px}}@media(max-width:767px){.learning-nav-wrap{padding:14px 20px 0}.learning-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border-radius:15px;padding:7px}.learning-nav>a{white-space:normal;font-size:11px;padding:10px 8px;text-align:center}.learning-nav>.learning-nav-contact{margin-left:0}body:has(.landing-refresh) .public-view-counter{order:3;font-size:11px}body:has(.landing-refresh) .site-header{position:relative}}@media(prefers-reduced-motion:reduce){.learning-nav>a{transition:none}}body:has(.landing-refresh){background:#f6f1e7}body:has(.landing-refresh) .site-header{background:#fcf9f1;border-bottom-color:#ded8c9}.landing-refresh{--home-green: #185c4b;--home-ink: #163f35;--home-muted: #55675e;background:radial-gradient(ellipse at 95% 0%,#e6cfa959,transparent 38%),#f6f1e7}.learning-nav{background:#123e34;border-color:#123e34;box-shadow:0 8px 20px #173e3417}.learning-nav>.learning-nav-home{background:#eecb83;color:#173e34}.learning-nav>.learning-nav-home:hover{background:#f5dba8}.landing-intro-grid{padding-top:32px;gap:26px;align-items:stretch}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{border-color:#dfd7c6;border-top:5px solid #bf573c;background:#fffcf5;box-shadow:0 16px 40px #413b2510}.landing-refresh .landing-intro-grid .teacher-avatar{border:3px solid #e9d4ad;border-radius:40px 40px 12px 12px}.landing-refresh .landing-intro-grid .teacher-eyebrow{color:#9b442e;letter-spacing:.12em}.landing-refresh .landing-intro-grid .teacher-zalo{background:#f3ead7;border-color:#e7d6b6}.landing-refresh .landing-intro-grid .welcome-hero{position:relative;isolation:isolate;overflow:hidden;padding:30px;background:#153f36;border:1px solid #24584a;box-shadow:0 16px 40px #173e3424}.landing-refresh .landing-intro-grid .welcome-hero:before{content:"";position:absolute;z-index:-1;width:300px;height:300px;border:1px solid #e9cc8b30;border-radius:50%;top:-160px;right:-90px;box-shadow:0 0 0 35px #e9cc8b0a,0 0 0 70px #e9cc8b08;pointer-events:none}.landing-refresh .landing-intro-grid .welcome-copy h1{color:#fff9eb;font-size:clamp(30px,3vw,42px)}.landing-refresh .welcome-copy h1>span{color:#f0c77d}.landing-refresh .landing-intro-grid .welcome-copy .landing-eyebrow{color:#f0cf97}.landing-refresh .landing-eyebrow>span{background:#edc47d}.landing-refresh .landing-intro-grid .welcome-copy>p:not(.landing-eyebrow){color:#d3e0d7}.landing-refresh .landing-intro-grid .welcome-actions button{background:#efca86;color:#173e34;border-color:#efca86;font-weight:800;box-shadow:0 4px 12px #102c3433}.landing-refresh .landing-intro-grid .welcome-actions button:hover{background:#f7dba7}.landing-refresh .landing-intro-grid .welcome-actions a{color:#f6e6c7}.landing-intro-grid .hero-topics{color:#e0e7dc;border-color:#ffffff26}.landing-intro-grid .hero-topics li:before{color:#f0c77d}.landing-refresh .landing-intro-grid .hero-preview{background:#ffffff0c;border:1px solid #ffffff20}.landing-intro-grid .preview-caption,.landing-intro-grid .preview-footnote{color:#e4d6b6}.landing-refresh .landing-intro-grid .sample-lesson{background:#fffaf0;border-color:#eadab9;box-shadow:0 12px 24px #092c3226}.landing-refresh .welcome-curriculum{background:#fffaf1;border-top:1px solid #e4dac6}.landing-refresh .curriculum-path{border-top:4px solid var(--path-color);background:linear-gradient(160deg,var(--path-bg),#fffdf8 75%);box-shadow:0 10px 26px #2d40340a}.landing-refresh .path-tocfl{--path-color: #21634e;--path-bg: #dcece0}.landing-refresh .path-hsk{--path-color: #a74931;--path-bg: #f6e0d3}.landing-refresh .path-business{--path-color: #876222;--path-bg: #f1e4bc;--path-border: #e5d5aa}.landing-refresh .course-roadmap{background:#ecefe5;border-color:#d6decf}.landing-refresh .roadmap-book-cover{background:var(--book-ink);color:#fff8e9;border-left-color:#e9c480;box-shadow:inset 3px 0 #ffffff26,0 6px 12px #183e3412}body:has(.landing-refresh) .site-footer{background:#153f36;color:#d4dfd4;border-color:#153f36}body:has(.landing-refresh) .site-footer a{color:#f0cc8a}.cgust-admissions{max-width:1160px;margin:12px auto 56px;padding:36px;border:1px solid #d5c29e;border-radius:24px;background:linear-gradient(125deg,#f1e1bd,#fcf6e8 65%);box-shadow:0 18px 45px #5843210c;scroll-margin-top:110px}.cgust-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:30px}.cgust-heading>div{max-width:590px}.cgust-admissions .landing-eyebrow{color:#8b482c;margin-bottom:12px}.landing-refresh .cgust-heading h2{font-family:Be Vietnam Pro,sans-serif;font-size:clamp(30px,3.3vw,44px);font-weight:800;line-height:1.4;letter-spacing:-.025em;margin:0 0 16px}.cgust-heading h2 span{color:#a54730}.cgust-heading p:last-child{color:#586053;margin:0;font-size:14px}.cgust-pdf{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;padding:18px 20px;border:1px solid #1b4e3e;border-radius:14px;background:#1b4e3e;color:#fff8e8;text-decoration:none;font-weight:750;font-size:14px;transition:transform .2s,background .2s}.cgust-pdf small{display:block;font-size:11px;font-weight:400;color:#d8e3d5;margin-top:4px}.cgust-pdf:hover{background:#123e30;transform:translateY(-3px)}.cgust-posters{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}.cgust-poster{min-width:0;margin:0;padding:16px;background:#fffcf5;border:1px solid #ded5c4;border-radius:16px}.cgust-poster figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 16px;color:#245443}.cgust-poster figcaption>div{display:flex;align-items:center;gap:12px}.cgust-index{font:italic 32px Georgia,serif;color:#a74c32}.cgust-poster h3{font-size:17px;margin:0}.cgust-poster figcaption [lang]{font-size:12px;color:#687568;letter-spacing:.16em}.cgust-poster>a{display:block;color:#1b4e3e;text-decoration:none}.cgust-poster img{display:block;width:100%;height:auto;border:1px solid #ebe4d6}.cgust-view{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px 0;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.cgust-poster>a:hover .cgust-view{color:#a54730}@media(max-width:1208px){.cgust-admissions{margin-inline:24px}}@media(max-width:1000px){.cgust-heading{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:767px){.landing-refresh .landing-intro-grid .welcome-hero{padding:24px}.cgust-admissions{margin:4px 20px 36px;padding:22px 16px;border-radius:20px}.cgust-posters{grid-template-columns:minmax(0,1fr);gap:20px}.cgust-pdf{width:100%;padding:15px;font-size:13px}.cgust-poster{padding:12px}.cgust-poster h3{font-size:16px}}@media(prefers-reduced-motion:reduce){.cgust-pdf{transition:none}.cgust-pdf:hover{transform:none}}.server-support{margin:12px 0 0;min-width:0;border:1px solid #dedfcd;border-radius:12px;background:#f7f7ed}.server-support>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:11px;background:#a44729;color:#fff8ed;line-height:1.45;font-size:clamp(18px,2vw,22px);font-weight:800;cursor:pointer;list-style:none}.server-support>summary::-webkit-details-marker{display:none}.server-support>summary:after{content:"+";margin-left:auto;flex-shrink:0;font-size:24px}.server-support[open]>summary:after{content:"−"}.server-support>summary>span{animation:support-blink 2.4s ease-in-out infinite}.server-support>summary:hover{background:#8d3c23}.server-support[open]>summary>span,.server-support>summary:focus-visible>span{animation:none}@keyframes support-blink{0%,to{opacity:1}50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.server-support>summary>span{animation:none}}.server-support-panel{padding:16px;min-width:0}.landing-refresh .server-support h2{margin:0 0 10px;font-size:18px;line-height:1.4;letter-spacing:-.025em}.server-support-copy>p{margin:0 0 14px;color:#5d6d63;font-size:13px}.server-support-download{display:inline-block;color:#285640;font-size:13px;font-weight:700;text-underline-offset:4px}.server-support-copy .server-support-hint{margin:10px 0 16px;font-size:12px;line-height:1.6}.server-support-qr{display:block;width:180px;max-width:100%;margin:0 auto;color:#285640;text-align:center;font-size:12px;text-underline-offset:4px}.server-support-qr img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:8px}.server-support a:focus-visible,.server-support>summary:focus-visible{outline:3px solid #93702e;outline-offset:4px}.teacher-credentials{margin:18px 0;padding:16px;border:1px solid #e3e9dd;border-radius:12px;background:#f5f7f0}.teacher-credentials h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#315e43;font-size:14px;line-height:1.5}.teacher-credentials h3 svg{flex-shrink:0}.teacher-credentials ul{list-style:none;margin:0;padding:0}.teacher-credentials li{display:grid;gap:4px;min-width:0}.teacher-credentials li+li{margin-top:12px;padding-top:12px;border-top:1px solid #dce4d5}.teacher-credentials li strong{color:#243c32;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.teacher-credentials li>span{color:#526358;font-size:12px;line-height:1.6}.teacher-credentials time{color:#596b51;font-size:11px;line-height:1.6}.course-enrollment{max-width:1208px;margin:40px auto;padding:0 24px;scroll-margin-top:110px;color:#173e34}.course-enrollment h1,.course-enrollment h2{margin:8px 0 12px;font-size:clamp(26px,4vw,36px)}.course-enrollment>p:not(.landing-eyebrow){line-height:1.7;color:#526456}.enrollment-posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.enrollment-posters figure{min-width:0;margin:0}.enrollment-posters a{display:block;border-radius:16px;overflow:hidden;border:1px solid #dce6db;box-shadow:0 8px 24px #173e3410}.enrollment-posters a:hover{outline:2px solid #285640;outline-offset:3px}.enrollment-posters img{display:block;width:100%;height:auto}.enrollment-posters figcaption{padding:12px 0;font-weight:700;line-height:1.5}.enrollment-contact{display:inline-block;padding:12px 18px;border-radius:10px;background:#285640;color:#fff;font-weight:700;text-decoration:none}.enrollment-contact:hover{background:#173e34}.enrollment-posters a:focus-visible,.enrollment-contact:focus-visible{outline:3px solid #a75b1b;outline-offset:5px}@media(max-width:767px){.course-enrollment{padding:0 20px;scroll-margin-top:24px}.enrollment-posters{grid-template-columns:minmax(0,1fr);gap:20px}}.landing-refresh .roadmap-group{--ticket-accent: #24674f;--ticket-tint: #e4f0e6;--ticket-edge: #bfd3c3}.landing-refresh .roadmap-dinh-cao{--ticket-accent: #a24932;--ticket-tint: #fae7dc;--ticket-edge: #e4c6b5}.landing-refresh .roadmap-ung-dung{--ticket-accent: #335f79;--ticket-tint: #e2edf3;--ticket-edge: #bfd2df}.landing-refresh .roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.landing-refresh .roadmap-card{position:relative;overflow:hidden;padding:0;border:1px solid var(--ticket-edge);border-radius:6px 22px;background:#fffcf5;box-shadow:0 5px #243c3209}.landing-refresh a.roadmap-card:hover{transform:translateY(-3px);border-color:var(--ticket-accent);box-shadow:0 9px 18px #243c3214}.roadmap-ticket-top{display:flex;align-items:center;gap:12px;padding:20px 22px 14px;background:var(--ticket-tint);color:var(--ticket-accent)}.roadmap-ticket-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:#fffcf5;border:1px solid var(--ticket-edge);border-radius:15px 15px 4px;transform:rotate(-5deg)}.roadmap-ticket-series{font-size:12px;font-weight:750;line-height:1.6}.roadmap-ticket-series small{display:block;margin-top:3px;font-size:10px;letter-spacing:.12em}.roadmap-ticket-number{margin-left:auto;font:italic 52px/1 Georgia,serif;color:var(--ticket-accent)}.landing-refresh .roadmap-card-heading{padding:20px 22px 0}.landing-refresh .roadmap-card h4{color:#283f35;font-size:20px;line-height:1.4}.roadmap-ticket-stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 22px 22px}.roadmap-ticket-stats>span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#4c5e51;border:1px solid #e4e5d8;border-radius:8px;padding:6px 9px;background:#f6f5eb}.roadmap-ticket-stats svg{color:var(--ticket-accent);flex-shrink:0}.roadmap-ticket-stats strong{font-weight:800;color:#283f35}.landing-refresh .roadmap-card-footer{position:relative;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px dashed var(--ticket-edge);padding:14px 22px;background:#f7f7ee;color:#536357;font-size:11px}.landing-refresh .roadmap-card-footer:before,.landing-refresh .roadmap-card-footer:after{content:"";position:absolute;top:-7px;width:12px;height:12px;border:1px solid var(--ticket-edge);background:#ecefe5;border-radius:50%}.landing-refresh .roadmap-card-footer:before{left:-7px}.landing-refresh .roadmap-card-footer:after{right:-7px}.roadmap-ticket-learners>svg{color:var(--ticket-accent);flex-shrink:0}.roadmap-ticket-action{color:var(--ticket-accent);font-weight:800}.landing-refresh .roadmap-card-upcoming{--ticket-accent: #697267;--ticket-tint: #edefe7;--ticket-edge: #d4d9cc;box-shadow:none}.landing-refresh .roadmap-card>.roadmap-ticket-preparing{padding:0 22px;margin-bottom:22px}@media(min-width:768px){.landing-refresh .roadmap-dinh-cao .roadmap-grid,.landing-refresh .roadmap-ung-dung .roadmap-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.landing-refresh .roadmap-grid{grid-template-columns:minmax(0,1fr);gap:18px}.roadmap-ticket-top{padding:18px 18px 14px}.landing-refresh .roadmap-card-heading,.roadmap-ticket-stats,.landing-refresh .roadmap-card-footer{padding-inline:18px}}@media(prefers-reduced-motion:reduce){.landing-refresh a.roadmap-card:hover{transform:none}}.landing-intro-grid>.cgust-admissions{min-width:0;max-width:none;margin:0;padding:26px}.landing-intro-grid .cgust-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px}.landing-intro-grid .cgust-heading h2{font-size:clamp(27px,2.5vw,34px)}.landing-intro-grid .cgust-posters{gap:12px}.landing-intro-grid .cgust-poster{padding:10px}.landing-intro-grid .cgust-poster figcaption>div{flex-wrap:wrap;gap:6px}.landing-intro-grid .cgust-poster h3{font-size:14px}.landing-learning-row{grid-template-columns:minmax(0,1fr);padding-top:0}.landing-refresh .landing-learning-row .welcome-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:36px}.landing-refresh .landing-learning-row .hero-preview{margin-top:0}@media(max-width:767px){.landing-intro-grid>.cgust-admissions{padding:22px 16px}.landing-refresh .landing-learning-row .welcome-hero{grid-template-columns:minmax(0,1fr);gap:24px}}:root{--green:#194d40;--orange:#ac4b32;--tea:#194d40;--tea-deep:#123c33;--cream:#faf7ef;--paper:#fffdf8;--brick:#ac4b32;--ink:#203e36;--muted:#6d736b;--line:#e5dfd1;font-family:Be Vietnam Pro,Noto Sans TC,sans-serif;color:var(--ink);background:var(--cream);font-size:14px}body,body:has(.dashboard-page),body:has(.landing-refresh){font-family:Be Vietnam Pro,Noto Sans TC,sans-serif;color:var(--ink);background:var(--cream)}h1,h2,h3,h4{color:var(--ink)}a{text-underline-offset:4px}:where(button,a,input,select,summary,textarea):focus-visible{outline:3px solid #ac4b32;outline-offset:4px}button,input,select,textarea{font:inherit}body .site-header,body:has(.dashboard-page) .site-header,body:has(.landing-refresh) .site-header{min-height:66px;height:auto;padding:12px max(24px,calc((100vw - 1180px)/2));background:#faf7eff5;border-bottom:1px solid var(--line);gap:24px}body .brand,body:has(.dashboard-page) .brand{color:var(--tea);font-size:23px;letter-spacing:-1px;white-space:nowrap}body .brand-icon,body:has(.dashboard-page) .brand-icon{width:36px;height:38px;border-radius:10px;background:var(--tea);border-color:var(--tea);color:var(--paper);font-size:22px}body .brand>i{color:var(--brick)}body .topnav,body:has(.dashboard-page) .topnav,body:has(.landing-refresh) .topnav{display:flex;gap:27px;align-items:center;font-size:12px;font-weight:600}body .topnav>a,body:has(.dashboard-page) .topnav>a{color:var(--ink)}body .topnav .nav-login,body:has(.dashboard-page) .nav-login,body:has(.landing-refresh) .nav-login{background:var(--tea);color:#fff;border:1px solid var(--tea);border-radius:30px;padding:11px 18px;font-size:11px}.nav-paths{position:relative}.nav-paths summary{cursor:pointer;padding:8px 0}.nav-paths>div{position:absolute;z-index:30;min-width:215px;top:100%;left:-18px;background:var(--paper);padding:10px;box-shadow:0 14px 40px #123c331a;border:1px solid var(--line);border-radius:10px}.nav-paths a{display:block;padding:11px;color:var(--tea);text-decoration:none}.nav-paths a:hover{background:#edf1e8}.public-view-counter{font-size:10px}.landing-refresh{--home-green:var(--tea);--home-ink:var(--ink);--home-muted:var(--muted);display:flex;flex-direction:column;background:var(--cream);line-height:1.65}.studio-hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:410px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 15% 70%,#eee7d2,transparent 65%),#faf7ee}.studio-hero-copy{padding:52px 35px 36px max(24px,calc((100vw - 1180px)/2));align-self:center}.studio-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--tea)}.studio-hero h1{margin:17px 0;font-family:"Source Serif 4",Georgia,Noto Sans TC,serif;font-weight:600;font-size:clamp(29px,2.8vw,43px);line-height:1.22;letter-spacing:-1.2px}.studio-hero h1 span{color:var(--brick)}.studio-hero-copy>p:not(.studio-eyebrow){max-width:520px;font-size:12px;color:#656b63;line-height:1.9}.studio-actions{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.studio-actions>*{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid #7d988b;border-radius:7px;padding:12px 19px;color:var(--tea);background:transparent;text-decoration:none;font-weight:600;font-size:12px}.studio-actions .studio-primary{background:var(--tea);border-color:var(--tea);color:#fff}.studio-actions>*:hover{box-shadow:0 4px 14px #194d401a;transform:translateY(-2px)}.studio-actions button:disabled{opacity:.6;cursor:wait}.studio-promises{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:10px;font-weight:600}.studio-promises span{display:flex;align-items:center;gap:8px}.studio-promises svg{color:#a17c38}.studio-hero-visual{position:relative;min-height:410px;overflow:hidden;background:#ded2b2}.studio-hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 51%}.studio-hero-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f6f0df55,transparent 35%),linear-gradient(0deg,#143c3366,transparent 40%);pointer-events:none}.studio-photo-caption{position:absolute;top:25px;left:26px;z-index:1;color:var(--tea-deep)}.studio-photo-caption>span{font-family:serif;font-size:25px;letter-spacing:.14em}.studio-photo-caption p{font-size:12px;line-height:1.5}.studio-photo-label{position:absolute;bottom:24px;left:26px;right:26px;z-index:1;padding:14px 18px;display:flex;flex-direction:column;gap:4px;max-width:300px;background:#fffdf8ed;border:1px solid #ffffff88;border-radius:8px}.studio-photo-label strong{font-size:18px}.studio-photo-label>span:last-child{font-size:10px;color:var(--muted)}.studio-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(1180px,calc(100% - 48px));margin:20px auto 8px}.studio-values article{display:flex;align-items:center;gap:13px;padding:16px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.studio-values article>span{display:grid;place-items:center;flex:0 0 44px;height:46px;border-radius:16px;background:#edf1e7;color:var(--tea)}.studio-values article:nth-child(2)>span{color:var(--brick);background:#faece3}.studio-values article:nth-child(3)>span{color:#9b712a;background:#faf0de}.studio-values h2{font-size:12px;margin:0 0 4px}.studio-values p{font-size:10px;color:var(--muted);margin:0;line-height:1.7}.landing-refresh .welcome-curriculum,.landing-refresh .course-enrollment,.landing-refresh .course-roadmap{padding:24px max(24px,calc((100vw - 1180px)/2))}.landing-refresh .landing-eyebrow{font-size:9px;margin-bottom:7px}.landing-refresh .welcome-curriculum>h2,.landing-refresh .course-roadmap>h2,.landing-refresh .course-enrollment>h2{font-size:21px;margin:0 0 5px;letter-spacing:-.5px}.landing-refresh .curriculum-intro,.landing-refresh .roadmap-intro,.landing-refresh .course-enrollment>p{font-size:12px;margin:0 0 16px}.landing-refresh .curriculum-columns{gap:14px}.landing-refresh .curriculum-path{position:relative;display:grid;grid-template-columns:45px 1fr;gap:5px 14px;padding:18px;border-radius:10px;background:linear-gradient(115deg,#edf3e8,#fafbf5);border-color:#d5e2ce}.landing-refresh .path-hsk{background:linear-gradient(115deg,#fbe9de,#fff8f2);border-color:#eed6c7}.landing-refresh .path-business{background:linear-gradient(115deg,#fbf0d9,#fffbf1);border-color:#ecdfc5;--path-color:#8d692a;--path-border:#ecdfc5}.landing-refresh .curriculum-path-icon{grid-row:1 / 5;width:43px;height:45px;margin:0;background:#ffffff80;border:1px solid var(--path-border);border-radius:50%}.landing-refresh .curriculum-path h3{font-size:16px;margin:0}.landing-refresh .curriculum-tags span{font-size:9px;padding:3px 6px}.landing-refresh .curriculum-path p{font-size:11px;margin:4px 0}.landing-refresh .path-explore{font-size:10px;padding:3px 0;border:0}.landing-refresh .enrollment-posters{gap:16px}.landing-refresh .enrollment-posters figure{display:grid;grid-template-columns:110px 1fr;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px;gap:18px;margin:0}.landing-refresh .enrollment-posters img{width:110px;height:150px;object-fit:cover;border-radius:6px}.landing-refresh .enrollment-posters figcaption{font-size:15px;font-weight:700;color:var(--tea);padding:10px}.landing-refresh .enrollment-contact{font-size:13px;color:#fffdf8;margin-top:12px}.landing-refresh .landing-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px max(24px,calc((100vw - 1180px)/2));align-items:start}.landing-refresh .teacher-hero{display:grid;grid-template-columns:120px minmax(0,1fr);padding:0;gap:18px;background:none;border:0;box-shadow:none;margin:0;border-radius:0}.landing-refresh .teacher-avatar{width:120px;height:177px;object-fit:cover;object-position:50% 45%;border-radius:8px}.landing-refresh .teacher-hero h2{font-size:18px;margin:0 0 8px}.landing-refresh .teacher-summary,.landing-refresh .teacher-bio-details,.studio-teacher-details{font-size:11px;color:var(--muted);line-height:1.8}.studio-teacher-details summary,.teacher-bio-details summary{color:var(--tea);cursor:pointer;font-weight:600;padding:8px 0}.landing-refresh .teacher-zalo{padding:12px;grid-template-columns:75px minmax(0,1fr)}.landing-refresh .teacher-zalo img{width:75px}.landing-refresh .cgust-admissions{margin:0;padding:18px;background:#f2edde;border:1px solid var(--line);border-radius:10px}.landing-refresh .cgust-heading{gap:14px}.landing-refresh .cgust-heading h2{font-size:23px}.landing-refresh .cgust-heading p{font-size:11px}.landing-refresh .cgust-pdf{font-size:11px;padding:10px}.landing-refresh .cgust-posters{margin-top:14px}.landing-refresh .cgust-poster{border-radius:6px}.landing-refresh .cgust-poster img{max-height:180px;object-fit:contain}.landing-refresh .cgust-poster figcaption{padding:8px 12px}.landing-refresh .cgust-poster h3{font-size:13px}.landing-refresh .public-leaderboard{margin:20px max(24px,calc((100vw - 1180px)/2));padding:24px;border-radius:12px;background:#f0f2e8;border:1px solid var(--line);gap:28px}.public-leaderboard .leaderboard-intro h2{color:var(--tea);font-size:24px}.public-leaderboard .leaderboard-toolbar button[aria-pressed=true],.leaderboard-join{background:var(--tea);color:#fff}.public-leaderboard .leaderboard-board{border:1px solid var(--line);border-radius:9px;background:var(--paper)}.public-leaderboard .leaderboard-student strong,.public-leaderboard .leaderboard-score{color:var(--tea)}.landing-refresh .roadmap-card{padding:15px;border-radius:10px;background:var(--paper)}.landing-refresh .roadmap-grid{gap:16px}.landing-refresh .roadmap-book-cover{padding:15px;margin-bottom:14px;border-radius:6px}.landing-refresh .roadmap-card h4{font-size:16px}.landing-refresh .roadmap-card>p{font-size:11px;margin-bottom:14px}body:has(.dashboard-page) .site-footer,.site-footer{display:flex;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - 1180px)/2));margin:0;border-top:1px solid var(--line);background:#f4f1e7;color:var(--muted);font-size:11px}.site-footer a{color:var(--tea)}.student-layout{--accent:var(--tea);--orange:var(--brick)}.lms-layout .student-sidebar{background:var(--tea-deep);color:#d5e2d7}.lms-layout .student-brand,.lms-layout .student-account{border-color:#ffffff24}.lms-layout .student-brand-avatar{color:var(--tea);background:var(--cream)}.lms-layout .student-courses a,.lms-layout .student-courses summary{color:#cfddd2}.lms-layout .student-courses .lms-overview-link.active{background:#ffffff14;border-left-color:#e5bd89;color:#fffdf8}.lms-layout .student-account h2{color:#e4c79c}.lms-layout .student-account button{background:#ffffff15;color:#fffdf8}.lms-layout .student-main,.student-main .lms-topbar,.lesson-shell .student-main{background:var(--cream)}.lms-layout .lms-topbar{border-bottom:1px solid var(--line);box-shadow:none}.lms-layout .lms-topbar strong,.lms-layout .lms-topbar h1{color:var(--tea)}.study-dashboard,.course-library{color:var(--ink)}.study-dashboard h1,.library-heading h1{font-family:"Source Serif 4",Georgia,serif;font-size:30px;color:var(--tea)}.library-card,.review-stat,.lms-resume,.lms-empty,.learning-points,.login-card,.about-profile-card{background:var(--paper);border-color:var(--line);border-radius:12px;box-shadow:0 4px 20px #3e492b04}.library-card{--card-accent:var(--tea)}.library-tocfl .library-glyph,.library-badge{background:#eaf0e4;color:var(--tea)}.library-hsk .library-glyph{background:#f7e6dc;color:var(--brick)}.library-biz .library-glyph{background:#f5ecd9;color:#8d692a}.library-card h3{color:var(--ink);font-size:17px}.library-filters button[aria-selected=true],.library-card.available>a,.library-cta,.login-card .login-primary{background:var(--tea);color:#fff;border-color:var(--tea)}.login-card h2{color:var(--tea)}.login-form input{background:var(--paper);border:1px solid #c6cdbd;border-radius:7px}.auth-dialog{background:var(--paper);border:1px solid var(--line);border-radius:16px}.auth-dialog::backdrop{background:#123c3377;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.student-layout .card,.lesson-shell .card,.lesson-shell .advanced-lesson .advanced-grammar,.lesson-shell .advanced-lesson .advanced-reading-part{border-color:var(--line);border-radius:12px;box-shadow:0 3px 16px #194d4005}.lesson-shell .lesson-header h1,.lesson-shell .advanced-lesson h1{color:var(--tea)}.lesson-shell .tabs{border-color:var(--line)}.lesson-shell .tabs button,.lesson-shell .advanced-lesson .tabs button{color:var(--muted);font-size:13px}.lesson-shell .tabs button.active,.lesson-shell .advanced-lesson .tabs button.active{color:var(--brick);border-bottom-color:var(--brick)}.lesson-shell .lesson-content>div:not([hidden]),.lesson-shell .advanced-lesson .lesson-content>section:not([hidden]){border-color:var(--line);border-radius:12px;background:var(--paper)}.lesson-shell .btn,.lesson-shell .advanced-lesson .advanced-speech,.lesson-shell .advanced-lesson .actions button{color:var(--tea);background:#edf1e7;border-color:#d6dfcd}.lesson-shell .btn[aria-pressed=true]{color:var(--brick);background:#faece3;border-color:#e9c3af}.lesson-shell .dialogue-row .zh,.lesson-shell .vocab-grid .zh{color:var(--ink)}.lesson-shell .dialogue-row button{color:var(--tea);background:#eaf0e4}.lesson-shell .advanced-lesson .advanced-part-label{background:var(--tea)}.about-profile-avatar{object-position:50% 45%}.about-profile-header{background:#edf1e7;border-color:var(--line)}.about-profile-link{color:var(--tea)}@media(min-width:1500px){.studio-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.studio-hero-visual>img{object-position:50% 49%}}@media(max-width:1050px){body .topnav,body:has(.dashboard-page) .topnav{gap:16px}.topnav .public-view-counter{display:inline-flex}.studio-values{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-hero h1{font-size:32px}.studio-promises{gap:12px}.landing-refresh .landing-intro-grid{grid-template-columns:1fr}.landing-refresh .teacher-hero{grid-template-columns:150px 1fr}.landing-refresh .teacher-avatar{width:150px;height:200px}}@media(max-width:767px){body .site-header,body:has(.dashboard-page) .site-header,body:has(.landing-refresh) .site-header{padding:12px 18px;flex-wrap:wrap;gap:12px}body .topnav,body:has(.dashboard-page) .topnav,body:has(.landing-refresh) .topnav{width:100%;gap:16px;flex-wrap:wrap;font-size:11px;justify-content:flex-start}body .topnav>a:not(.nav-cta){display:inline}body .topnav .nav-login{font-size:10px;padding:9px 12px}.studio-hero{grid-template-columns:1fr}.studio-hero-copy{padding:30px 22px}.studio-hero h1{font-size:34px}.studio-hero-visual{min-height:310px}.studio-hero-visual>img{object-position:50% 40%}.studio-photo-caption{left:22px;top:20px}.studio-photo-label{left:auto;right:18px;bottom:18px;max-width:240px}.studio-values{width:calc(100% - 32px);gap:9px;margin-top:16px}.studio-values article{flex-direction:column;align-items:flex-start;gap:10px;padding:13px}.studio-values h2{font-size:11px}.studio-values p{font-size:10px}.landing-refresh .welcome-curriculum,.landing-refresh .course-enrollment,.landing-refresh .course-roadmap,.landing-refresh .landing-intro-grid{padding:22px 18px}.landing-refresh .curriculum-columns,.landing-refresh .enrollment-posters{grid-template-columns:1fr}.landing-refresh .teacher-hero{grid-template-columns:90px minmax(0,1fr);gap:13px}.landing-refresh .teacher-avatar{width:90px;height:135px}.landing-refresh .teacher-hero h2{font-size:16px}.landing-refresh .teacher-zalo{grid-template-columns:1fr}.landing-refresh .public-leaderboard{margin:12px 18px;padding:18px;grid-template-columns:1fr}.landing-refresh .cgust-heading{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.student-layout .login-card{padding:22px}.study-dashboard h1,.library-heading h1{font-size:25px}}@media(prefers-reduced-motion:no-preference){.studio-hero-copy{animation:studio-enter .6s ease both}.studio-actions>*,.library-card,.roadmap-card{transition:transform .2s ease,box-shadow .2s ease}.library-card:hover,.roadmap-card:hover{transform:translateY(-3px)}@keyframes studio-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.landing-refresh .course-enrollment{width:100%;max-width:none;margin:0}.landing-refresh .public-leaderboard{max-width:none}.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{grid-template-columns:120px minmax(0,1fr);padding:0;border:0;border-radius:0;background:none;box-shadow:none}.landing-refresh .landing-intro-grid .teacher-avatar{width:120px;height:177px;border:0;border-radius:8px;object-position:50% 45%}.landing-refresh .landing-intro-grid .teacher-hero h2{font-size:18px}.landing-refresh .landing-intro-grid .teacher-hero p{font-size:11px}.enrollment-tag{display:inline-block;font-size:9px;color:var(--brick);background:#faece3;padding:3px 6px;border-radius:4px}.enrollment-posters figcaption h3{font-size:16px;margin:8px 0;color:var(--tea)}.enrollment-posters figcaption p{font-weight:400;font-size:10px;color:var(--muted);margin:5px 0}.enrollment-posters a.studio-course-detail{display:inline-block;border:0;box-shadow:none;font-size:10px;background:var(--brick);color:#fff;text-decoration:none;padding:8px 13px;border-radius:5px;margin-top:8px}.landing-refresh .enrollment-posters{margin:16px 0}.course-enrollment:not(.landing-refresh .course-enrollment) .enrollment-posters figcaption{background:var(--paper);padding:16px;border:1px solid var(--line);border-radius:8px}@media(max-width:767px){.landing-refresh .landing-intro-grid .welcome-about.teacher-hero{grid-template-columns:90px minmax(0,1fr)}.landing-refresh .landing-intro-grid .teacher-avatar{width:90px;height:135px}.landing-refresh .landing-intro-grid .teacher-hero h2{font-size:16px}.landing-refresh .enrollment-posters figure{grid-template-columns:90px minmax(0,1fr);gap:8px}.landing-refresh .enrollment-posters img{width:90px;height:128px}.landing-refresh .enrollment-posters figcaption{padding:5px}}.studio-cgust-slot{width:min(1180px,calc(100% - 48px));margin:22px auto 0}.landing-refresh .studio-cgust-slot .cgust-admissions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;padding:24px}.landing-refresh .studio-cgust-slot .cgust-heading{flex-direction:column;align-items:flex-start;justify-content:center;margin:0}.landing-refresh .studio-cgust-slot .cgust-posters{margin:0}.landing-refresh .studio-cgust-slot .cgust-poster img{max-height:230px}.landing-refresh .landing-intro-grid{grid-template-columns:minmax(0,1fr)}body .site-header .public-view-counter{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--tea);font-size:11px;white-space:nowrap}.roadmap-page-nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding:22px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line)}.roadmap-page-nav a{color:var(--tea);font-size:12px;text-decoration:none}.dashboard-page:has(.roadmap-page){max-width:none;padding:0}.roadmap-page .course-roadmap>h1{font-family:"Source Serif 4",Georgia,serif;font-size:32px;margin:0 0 12px}.roadmap-page [id^=roadmap-]{scroll-margin-top:150px}@media(max-width:767px){.studio-cgust-slot{width:calc(100% - 36px);margin-top:18px}.landing-refresh .studio-cgust-slot .cgust-admissions{grid-template-columns:1fr;padding:18px;gap:18px}body .site-header .public-view-counter{flex-basis:100%}.roadmap-page [id^=roadmap-]{scroll-margin-top:200px}}@media(min-width:768px)and (max-width:1050px){body .site-header,body:has(.dashboard-page) .site-header,body:has(.landing-refresh) .site-header{flex-wrap:wrap;gap:10px}body .site-header .topnav{flex-wrap:wrap;width:100%}}body .site-header,body:has(.dashboard-page) .site-header,body:has(.landing-refresh) .site-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 30px}body .site-header .brand{grid-column:1;grid-row:1}body .site-header .header-utilities{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:15px;min-width:0}body .site-header .header-utilities>a{color:var(--tea);font-size:12px;font-weight:600}body .site-header .header-utilities .public-view-counter{flex-basis:auto}body .site-header .topnav{grid-column:1 / -1;display:flex;flex-wrap:nowrap;width:100%;min-width:0;gap:clamp(20px,3vw,42px);align-items:center;justify-content:center;overflow-x:auto;padding:8px 4px 10px;scrollbar-width:thin}body .site-header .topnav>a{display:inline-flex;flex:0 0 auto;white-space:nowrap;font-size:12px;padding:5px 0}.roadmap-hsk-preview{padding:28px max(24px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:var(--paper)}.roadmap-hsk-preview p{color:var(--muted);font-size:13px}.roadmap-hsk-preview a{color:var(--tea)}@media(max-width:767px){body .site-header,body:has(.dashboard-page) .site-header,body:has(.landing-refresh) .site-header{gap:10px}body .site-header .brand{font-size:20px}body .site-header .header-utilities{flex-wrap:wrap;gap:6px}body .site-header .header-utilities .public-view-counter{font-size:9px;padding:4px 7px}body .site-header .header-utilities .nav-login{font-size:9px;padding:7px 10px}body .site-header .topnav{justify-content:flex-start;gap:22px}}body:has(.studio-editorial){background:#edf2ed}body:has(.studio-editorial) .site-header{background:#123f36;border-color:#31594c;padding-top:10px;padding-bottom:0}body:has(.studio-editorial) .brand,body:has(.studio-editorial) .topnav>a,body:has(.studio-editorial) .header-utilities>a{color:#f9f4e5}body:has(.studio-editorial) .brand-icon{background:#f2e8cd;color:#164739;border-color:#f2e8cd}body:has(.studio-editorial) .brand>i{color:#e3b16b}body:has(.studio-editorial) .site-header .public-view-counter{color:#e1e9dd;background:#ffffff0c;border-color:#ffffff24}body:has(.studio-editorial) .header-utilities .nav-login{color:#193f34;background:#f4e9cd;border-color:#f4e9cd}body:has(.studio-editorial) .site-header .topnav{justify-content:space-between;gap:20px;padding:9px 0 10px;border-top:1px solid #ffffff18}body:has(.studio-editorial) .site-header .topnav>a{font-size:11px;padding:8px 12px;border-radius:6px;text-decoration:none}body:has(.studio-editorial) .site-header .topnav>a:hover{background:#ffffff12}body:has(.studio-editorial) .site-header .topnav>a[aria-current=page]{background:#f8f2e3;color:#184b3d}.studio-editorial{background:transparent}.studio-home-grid{width:min(1180px,calc(100% - 48px));margin:24px auto 40px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.studio-home-main,.studio-home-aside{min-width:0}.studio-home-main{display:flex;flex-direction:column;gap:20px}.studio-editorial .studio-hero{position:relative;min-height:350px;grid-template-columns:minmax(0,1fr) 220px;border:1px solid #245746;border-radius:15px;overflow:hidden;background:radial-gradient(ellipse at 0 0,#2f6451,transparent 75%),#123e34;box-shadow:0 12px 30px #163e3410}.studio-editorial .studio-hero-copy{padding:29px 24px;position:relative;z-index:1}.studio-editorial .studio-hero-copy .studio-eyebrow{color:#e7c88f;font-size:9px}.studio-editorial .studio-hero h1{color:#fff9eb;font-size:clamp(27px,2.6vw,35px);letter-spacing:-.8px;margin:15px 0;line-height:1.25}.studio-editorial .studio-hero h1 span{color:#e9bd7f}.studio-editorial .studio-hero-copy>p:not(.studio-eyebrow){color:#d2ded1;font-size:11px;line-height:1.9}.studio-editorial .studio-actions{gap:9px;margin:20px 0}.studio-editorial .studio-actions>*{font-size:10px;padding:10px 12px;border-color:#b8c6ad70;color:#fff9eb}.studio-editorial .studio-actions .studio-primary{color:#183e32;background:#e7be77;border-color:#e7be77}.studio-editorial .studio-promises{gap:12px;margin-top:20px;font-size:9px;color:#e5e8d9}.studio-editorial .studio-promises svg{width:16px;color:#e7be77}.studio-editorial .studio-hero-visual{min-height:350px}.studio-editorial .studio-hero-visual>img{object-position:52% 45%}.studio-editorial .studio-photo-caption{top:17px;left:15px}.studio-editorial .studio-photo-caption>span{font-size:20px}.studio-editorial .studio-photo-caption p{font-size:10px}.studio-editorial .studio-photo-label{bottom:12px;left:10px;right:10px;padding:11px}.studio-editorial .studio-photo-label strong{font-size:14px}.studio-editorial .studio-photo-label .studio-eyebrow{font-size:8px}.studio-editorial .studio-photo-label>span:last-child{font-size:9px}.studio-editorial .studio-cgust-slot{width:100%;margin:0}.studio-editorial .studio-cgust-slot .cgust-admissions{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#fffdf8;border:1px solid #e4d09b;border-radius:13px;padding:20px;gap:18px}.studio-editorial .studio-cgust-slot .cgust-heading h2{font-size:25px;color:#35503b}.studio-editorial .studio-cgust-slot .cgust-heading h2 span{color:#9b602d}.studio-editorial .studio-cgust-slot .cgust-heading p{font-size:13px;color:#46594d}.studio-editorial .studio-cgust-slot .cgust-pdf{min-width:0;max-width:100%;background:#194d40;color:#fffdf8;padding:14px 12px;font-size:13px}.studio-editorial .cgust-pdf>span{min-width:0;overflow-wrap:anywhere}.studio-editorial .cgust-pdf>svg{flex-shrink:0}.studio-editorial .cgust-pdf small{color:#e4eee7}.studio-editorial .studio-cgust-slot .cgust-pdf:hover{background:#123c33}.studio-editorial .studio-cgust-slot .cgust-poster img{max-height:none}.studio-editorial .welcome-curriculum,.studio-editorial .course-enrollment,.studio-editorial .landing-intro-grid{padding:20px;margin:0;border:1px solid #dce4d8;background:#fffcf5;border-radius:13px}.studio-editorial .welcome-curriculum>h2,.studio-editorial .course-enrollment>h2{font-family:"Source Serif 4",Georgia,serif;font-size:23px}.studio-editorial .curriculum-intro,.studio-editorial .course-enrollment>p{font-size:11px}.studio-editorial .curriculum-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.studio-editorial .curriculum-path{display:flex;padding:14px;gap:7px}.studio-editorial .curriculum-path h3{font-size:14px}.studio-editorial .curriculum-path p{font-size:10px}.studio-editorial .curriculum-tags{flex-wrap:wrap}.studio-editorial .curriculum-tags span{font-size:8px}.studio-editorial .curriculum-path-icon{width:35px;height:35px}.studio-editorial .curriculum-path-icon svg{width:21px}.studio-editorial .enrollment-posters{gap:10px}.studio-editorial .enrollment-posters figure{grid-template-columns:75px minmax(0,1fr);gap:9px;padding:8px}.studio-editorial .enrollment-posters img{width:75px;height:112px}.studio-editorial .enrollment-posters figcaption{padding:0}.studio-editorial .enrollment-posters figcaption h3{font-size:14px}.studio-editorial .enrollment-posters figcaption p{font-size:9px}.studio-editorial .enrollment-tag{font-size:8px}.studio-editorial .studio-home-aside .public-leaderboard{display:flex;flex-direction:column;gap:16px;margin:0;padding:18px;background:#fffcf5;border:1px solid #d7e2d5;border-radius:13px}.studio-editorial .leaderboard-intro{position:relative;padding:0}.studio-editorial .leaderboard-seal{width:36px;height:36px;margin-bottom:10px}.studio-editorial .leaderboard-seal svg{width:22px}.studio-editorial .leaderboard-intro h2{font-family:"Source Serif 4",Georgia,serif;font-size:23px;line-height:1.25;margin:9px 0}.studio-editorial .leaderboard-intro>p{font-size:10px}.studio-editorial .leaderboard-invitation{font-size:9px;padding:8px}.studio-editorial .leaderboard-join{width:100%;font-size:10px;padding:10px;background:var(--tea);color:#fff}.studio-editorial .leaderboard-board{padding:12px;min-width:0}.studio-editorial .leaderboard-toolbar{flex-direction:column;align-items:stretch;gap:10px}.studio-editorial .leaderboard-toolbar h3{font-size:13px}.studio-editorial .leaderboard-toolbar>div{display:flex;gap:4px}.studio-editorial .leaderboard-toolbar button{flex:1;padding:7px 5px;font-size:9px}.studio-editorial .leaderboard-entries li{gap:8px;padding:10px 0}.studio-editorial .leaderboard-student strong{font-size:10px;overflow-wrap:anywhere}.studio-editorial .leaderboard-student>span{font-size:8px}.studio-editorial .leaderboard-place{font-size:10px;gap:3px}.studio-editorial .leaderboard-score strong{font-size:14px}.studio-editorial .leaderboard-note{font-size:8px;line-height:1.7}.studio-editorial .leaderboard-placeholder{min-height:100px;padding:16px 4px;font-size:11px}.studio-editorial .leaderboard-refresh{font-size:9px}.studio-daily-note{margin-top:18px;padding:22px;border:1px solid #dfbd70;background:linear-gradient(125deg,#faf0ca,#eacb7b);border-radius:13px}.studio-daily-note>span{font-family:serif;font-size:35px;letter-spacing:.15em;color:#966527}.studio-daily-note p{font-size:15px;line-height:1.6;color:#55452c}.studio-daily-note a{display:flex;align-items:center;justify-content:space-between;color:#55452c;font-size:10px;font-weight:700;text-decoration:none;border-top:1px solid #b58b4240;padding-top:13px}.studio-tools{margin-top:18px;padding:22px;background:#e0e9df;border:1px solid #ccd9c8;border-radius:13px}.studio-tools h2{font-family:"Source Serif 4",Georgia,serif;font-size:24px;margin:12px 0}.studio-tools>p:not(.studio-eyebrow){font-size:11px;color:#5b6b5b;line-height:1.8}.studio-tools button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:6px;padding:11px;margin-top:16px;color:#fff;background:var(--tea);font-size:11px}@media(max-width:1050px){.studio-home-grid{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.studio-editorial .studio-hero{grid-template-columns:minmax(0,1fr)}.studio-editorial .studio-hero-visual{min-height:240px}.studio-editorial .studio-hero-visual>img{object-position:50% 42%}.studio-editorial .curriculum-columns{grid-template-columns:1fr}.studio-editorial .curriculum-path{display:grid}.studio-editorial .enrollment-posters{grid-template-columns:1fr}}@media(max-width:767px){.studio-home-grid{width:calc(100% - 28px);grid-template-columns:1fr;margin-top:14px;gap:18px}.studio-home-main{gap:14px}.studio-editorial .studio-hero-copy{padding:24px 20px}.studio-editorial .studio-hero h1{font-size:32px}.studio-editorial .studio-hero-visual{min-height:270px}.studio-editorial .studio-photo-label{max-width:220px;left:auto}.studio-editorial .studio-cgust-slot .cgust-admissions{grid-template-columns:1fr}.studio-editorial .welcome-curriculum,.studio-editorial .course-enrollment,.studio-editorial .landing-intro-grid{padding:17px}body:has(.studio-editorial) .site-header .topnav{justify-content:flex-start;gap:10px}.studio-home-aside{display:grid;grid-template-columns:1fr;gap:14px}.studio-daily-note,.studio-tools{margin-top:0}}.studio-editorial .studio-hero-copy>p:not(.studio-eyebrow){font-size:13px;color:#f0f4ec}.studio-editorial .studio-actions>*{font-size:12px}.studio-editorial .curriculum-intro,.studio-editorial .course-enrollment>p,.studio-editorial .curriculum-path p,.studio-editorial .enrollment-posters figcaption p,.studio-editorial .leaderboard-intro>p,.studio-editorial .studio-tools>p:not(.studio-eyebrow){font-size:13px;color:#46594d}.studio-editorial .curriculum-tags span{font-size:11px}.studio-editorial .enrollment-tag{font-size:11px;color:#853b28}.studio-editorial .enrollment-contact:hover{color:#fffdf8}.studio-home-aside .server-support{margin:0 0 18px;background:#fff8e9;border:1px solid #c38965;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #7b3e2414}.studio-home-aside .server-support>summary{padding:14px;gap:10px;border-radius:0;background:linear-gradient(135deg,#a44729,#78341f);color:#fff8e9;line-height:1.3}.studio-home-aside .server-support>summary>span{animation:none}.studio-home-aside .server-support>summary:after{font-size:22px;font-weight:400;color:#f6d3ab}.studio-home-aside .server-support>summary:hover{background:#78341f}.server-support-symbol{display:grid;place-items:center;flex-shrink:0;width:36px;height:40px;border:1px solid #f4cca469;border-radius:12px 12px 4px;color:#ffdfb5;background:#fff8e90d;transform:rotate(-6deg)}.server-support-heading{display:grid;gap:5px;min-width:0}.server-support-eyebrow{font-size:9px;font-weight:600;letter-spacing:1.2px;color:#f4d1aa}.server-support-title{font-size:18px;font-weight:800;letter-spacing:-.3px}.studio-home-aside .server-support-panel{padding:20px;background:linear-gradient(90deg,#a4472907 1px,transparent 1px) 0 0 / 28px 100%,#fff8e9}.studio-home-aside .server-support-copy>p{color:#604a3b;font-size:14px;line-height:1.75;margin:0 0 16px}.server-support-steps{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#72422c;font-size:12px;font-weight:700}.server-support-steps>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f0dfc5;font-size:10px}.studio-home-aside .server-support-qr{width:180px;padding:9px;border:1px solid #e7d6ba;border-radius:13px;background:#fff;box-shadow:0 4px 12px #7143250a;color:#64422e}.studio-home-aside .server-support-qr img{border-radius:6px}.studio-home-aside .server-support-download{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:18px;padding:13px 10px;border:1px solid #194d40;border-radius:9px;background:#194d40;color:#fff8e9;text-decoration:none;font-size:13px;transition:transform .18s ease,background .18s ease}.studio-home-aside .server-support-download:hover{background:#103b30;transform:translateY(-2px)}.studio-home-aside .server-support-download:active{transform:translateY(0)}.studio-home-aside .server-support-hint{margin:12px 0 18px;color:#6b5948;font-size:12px;line-height:1.7}.server-support-thanks{display:flex;align-items:center;gap:9px;margin:0;padding-top:15px;border-top:1px dashed #cfb592;color:#75432e;font-size:12px;line-height:1.6}.server-support-thanks svg{flex-shrink:0}.studio-home-aside .server-support>summary:focus-visible{outline:3px solid #ffdfb5;outline-offset:-5px}@media(prefers-reduced-motion:reduce){.studio-home-aside .server-support-download{transition:none}.studio-home-aside .server-support-download:hover{transform:none}}@media(max-width:1050px){.studio-editorial .studio-cgust-slot .cgust-admissions{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.studio-home-aside .server-support{margin:0}}.lms-layout{--workspace-line:#e4e8df;grid-template-columns:218px minmax(0,1fr);background:#f7f3ea;color:#173d3b;font-size:13px}.lms-layout .student-sidebar{background:#fafbf6;color:#244843;border-right:1px solid var(--workspace-line)}.lms-layout .student-brand{min-height:62px;padding:14px 17px;border-color:var(--workspace-line);gap:9px}.lms-layout .student-brand-avatar{color:#fffdf4;background:#184c43}.lms-layout .student-brand-copy>span:first-child{color:#184c43;font-size:19px}.lms-layout .student-brand-label{display:block;font-size:10px;color:#66766c}.lms-layout .student-courses{padding:18px 10px}.lms-layout .sidebar-section-label{color:#526d61;font-size:10px;letter-spacing:.13em;padding:0 12px;margin:10px 0 13px}.lms-layout .student-courses .lms-overview-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border:0;color:#264c49;font-size:12px;font-weight:500;border-radius:7px;margin:3px 0;min-height:43px;text-decoration:none}.lms-layout .student-courses .lms-overview-link svg{flex-shrink:0}.lms-layout .student-courses .lms-overview-link:hover{background:#eaf0e7;color:#184c43}.lms-layout .student-courses .lms-overview-link.active{color:#fff;background:linear-gradient(100deg,#1d5147,#326754);box-shadow:0 3px 8px #164d4212}.lms-layout .student-courses summary,.lms-layout .student-courses details a{color:#315a51;font-size:12px}.lms-layout .student-courses details a.active,.lms-layout .student-courses details a:hover{background:#e6eee3;color:#184c43}.student-courses details a.book-teacher-link{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700}.student-courses .book-teacher-link svg{flex-shrink:0}.student-courses .book-teacher-link:focus-visible{outline:2px solid #315a51;outline-offset:2px}.lms-layout .student-account{padding:15px;border-color:var(--workspace-line)}.lms-layout .student-account h2{color:#5c7167;font-size:10px}.lms-layout .student-account p{color:#254c43;font-size:12px}.lms-layout .student-account button{background:#eaf0e5;color:#254c43;font-size:12px}.lms-layout .student-main{min-width:0;background:#f7f3ea}.lms-layout .lms-topbar{height:60px;padding:0 22px;background:#fffef9f5;border-color:var(--workspace-line);gap:14px}.lms-layout .lms-topbar strong{font-size:12px;font-weight:600}.lms-layout .lms-topbar>button{display:inline-flex;justify-content:center;align-items:center;padding:7px;border:1px solid var(--workspace-line);border-radius:6px;background:transparent;color:#31584e;cursor:pointer}.lms-layout .lms-topbar>button:first-child{display:none}.lms-layout .lms-avatar{background:#e7efe3;color:#245b49}.lms-layout .study-dashboard{max-width:1600px;padding:18px}.lms-layout .student-overview{padding-top:0}.lms-layout .dashboard-heading{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;min-height:185px;margin:0 -18px 14px;padding:22px 28px;background:radial-gradient(ellipse at 65% 95%,#e5e7cf,transparent 60%),#faf3e5;border-bottom:1px solid #e8e4d4;overflow:hidden}.lms-layout .dashboard-heading h1{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(24px,2.5vw,36px);line-height:1.18;margin:10px 0;color:#123d3c}.lms-layout .dashboard-heading p{font-size:12px;color:#52645e;margin:0}.dashboard-motto{display:block;margin-top:14px;font-family:serif;font-size:17px;color:#537663}.dashboard-motto small{display:block;font-family:Be Vietnam Pro,sans-serif;font-size:10px;margin-top:5px;color:#69766c}.dashboard-art{display:flex;align-items:center;gap:16px;justify-content:center;color:#42715c;transform:rotate(-5deg)}.dashboard-art>span{display:grid;place-items:center;font-family:serif;font-size:94px;border:1px solid #b8c5a7;width:123px;height:130px;border-radius:50% 50% 6px 6px;background:#e4e8d955}.dashboard-art small{font-family:"Source Serif 4",Georgia,serif;line-height:1.8}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.dashboard-stat{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--workspace-line);background:#fffef9;border-radius:9px;min-width:0}.dashboard-stat>svg{width:44px;height:49px;padding:10px;flex-shrink:0;box-sizing:border-box;color:#23634d;background:#edf3e8;border-radius:9px}.dashboard-stat.stat-warm>svg{background:#fdf0e1;color:#b85c38}.dashboard-stat.stat-cool>svg{background:#eaf2f3;color:#255565}.dashboard-stat h2{margin:0 0 5px;font-size:11px;color:#274a45}.dashboard-stat strong{display:block;font-size:25px;line-height:1.25;color:#123b34}.dashboard-stat em{font-size:14px;font-style:normal}.dashboard-stat small{display:block;font-size:10px;margin-top:5px;color:#6f786d}.dashboard-body-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:12px;align-items:start}.dashboard-primary,.dashboard-secondary{display:grid;gap:12px;min-width:0}.dashboard-panel{background:#fffefb;border:1px solid var(--workspace-line);border-radius:9px;padding:16px;min-width:0}.dashboard-panel>h2,.panel-heading h2{font-size:15px;margin:0 0 12px;color:#173f3c}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.panel-heading>a{display:flex;align-items:center;gap:6px;font-size:10px;color:#28574e}.panel-caption{font-size:11px;color:#67756d;margin:-5px 0 12px}.student-overview .learning-points{margin:0;padding:12px;border-radius:7px;gap:8px;background:#f6f8f1;border-color:var(--workspace-line)}.student-overview .points-rank{gap:10px}.student-overview .points-rank h2{font-size:14px}.student-overview .points-rank p{font-size:11px}.student-overview .points-rank .section-kicker{display:none}.student-overview .points-periods button{padding:5px 7px;font-size:10px;border-radius:6px}.student-overview .points-periods strong{font-size:24px}.student-overview .points-periods small{font-size:9px}.student-overview .points-status{font-size:11px}.activity-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px}.activity-breakdown>div{display:flex;align-items:center;gap:9px;font-size:11px;padding:6px 0}.activity-breakdown svg{color:#397c60}.activity-breakdown strong{margin-left:auto;font-size:13px}.student-overview .lms-resume{background:#eef3e9;border:1px solid #d9e5d4;border-radius:7px;color:#234b3f;padding:17px;gap:15px;margin:0;box-shadow:none;flex-wrap:wrap}.student-overview .lms-resume h3{color:#204c40;font-size:18px;margin:9px 0}.student-overview .lms-resume span,.student-overview .lms-resume p{color:#65766a;font-size:11px}.student-overview .lms-resume>a{background:#205744;color:#fff;padding:9px 13px;border-radius:6px;font-size:11px;display:flex;gap:7px;align-items:center}.student-overview .lms-empty{margin:0;padding:20px 16px;border-radius:7px;background:#f7f8f1;border:1px dashed #dbe2d3}.student-overview .lms-empty h3{font-size:16px}.student-overview .lms-empty p{font-size:12px}.lms-layout .library-cta{background:#215945;color:#fff;border-radius:6px;font-size:12px;padding:9px 15px;margin-top:10px}.student-overview .review-tasks{margin:0}.student-overview .review-grid{display:grid;grid-template-columns:1fr;gap:8px}.student-overview .review-stat{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px;margin:0;border:0;border-radius:7px;background:#eaf3e9;color:#235341;box-shadow:none}.student-overview .review-stat>svg:last-child{margin-left:auto}.student-overview .review-stat h3{margin:0 0 4px;font-size:12px;color:inherit}.student-overview .review-stat small{font-size:10px}.student-overview .review-flashcard{background:#fcf1de;color:#8b582b}.student-overview .review-mistakes{background:#fbeae3;color:#9d432d}.recent-activities{padding:0;margin:0;list-style:none}.recent-activities li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0e8}.recent-activities li:last-child{border:0}.recent-activities svg{color:#37775b}.recent-activities strong{font-size:11px;font-weight:600}.recent-activities small{display:block;color:#738073;font-size:10px;margin-top:3px}.recent-activities li>span{margin-left:auto;font-size:10px;color:#61785e}.student-overview .public-leaderboard{display:block;margin:0;border:1px solid var(--workspace-line);border-radius:9px;padding:15px;background:#fffefb;box-shadow:none}.student-overview .leaderboard-intro{display:none}.student-overview .leaderboard-board{padding:0;border:0;background:transparent}.student-overview .leaderboard-toolbar{gap:10px;flex-wrap:wrap}.student-overview .leaderboard-toolbar h3{font-size:15px;margin:0}.student-overview .leaderboard-toolbar button{padding:6px 8px;font-size:10px;border-radius:5px}.student-overview .leaderboard-toolbar button[aria-pressed=true]{background:#235947;color:#fff}.student-overview .leaderboard-entries li{padding:9px 0;gap:10px}.student-overview .leaderboard-student strong{font-size:11px}.student-overview .leaderboard-student>span{font-size:9px}.student-overview .leaderboard-score strong{font-size:15px}.student-overview .leaderboard-note{font-size:9px;line-height:1.65;color:#748071;margin-top:12px}.student-overview .leaderboard-refresh{font-size:10px}.student-overview .leaderboard-placeholder{min-height:110px;padding:22px 8px;font-size:12px}.lms-layout .course-library{max-width:1600px;margin:auto;padding:22px}.lms-layout .library-heading{margin-bottom:20px;gap:15px}.lms-layout .library-heading h1,.lms-layout .practice-page>h1{font-family:"Source Serif 4",Georgia,serif;font-size:28px}.lms-layout .library-heading p,.lms-layout .practice-page>p{font-size:12px}.lms-layout .library-filters button{font-size:11px;padding:8px 12px;border-radius:6px;border-color:var(--workspace-line)}.lms-layout .library-filters button[aria-selected=true]{background:#225944;color:#fff}.lms-layout .library-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:13px}.lms-layout .library-card{padding:17px;border-radius:9px;background:#fffefb;border-color:var(--workspace-line)}.lms-layout .library-card h3{font-size:15px}.lms-layout .library-card-top{margin-bottom:13px}.lms-layout .library-desc{font-size:11px;line-height:1.75;margin-bottom:14px}.lms-layout .library-card>a,.lms-layout .library-card>button{padding:8px;font-size:11px;border-radius:6px}.lms-layout .practice-page .vocab-grid{margin-top:18px;gap:13px}.lms-layout .practice-page .card{padding:18px;border-radius:9px;border-color:var(--workspace-line);background:#fffefb}.lms-layout .practice-page .actions button{padding:8px 12px;font-size:12px;border-radius:6px}.lms-layout .notebook-flashcards{max-width:560px;margin:20px auto}.lms-layout .notebook-flip{height:260px}.lms-layout :focus-visible{outline:3px solid #B85C38;outline-offset:3px}@media(min-width:768px){.lms-layout.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .student-brand{justify-content:center;padding:14px 8px}.sidebar-collapsed .student-brand-copy,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .lms-overview-link span,.sidebar-collapsed .student-account h2,.sidebar-collapsed .student-account p,.sidebar-collapsed .student-courses details{display:none}.lms-layout.sidebar-collapsed .student-courses .lms-overview-link{justify-content:center;padding:12px}.lms-layout.sidebar-collapsed .student-account{padding:10px 4px}.lms-layout.sidebar-collapsed .student-account button{font-size:10px;padding:8px 2px}}@media(max-width:1150px){.dashboard-stat{padding:12px;gap:8px}.dashboard-stat>svg{width:34px;height:40px;padding:8px}.dashboard-stat small{font-size:9px}.dashboard-body-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.dashboard-art{display:none}.lms-layout .dashboard-heading{grid-template-columns:1fr}}@media(max-width:1000px){.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-body-grid{grid-template-columns:1fr}.dashboard-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}@media(max-width:767px){.lms-layout,.lms-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.lms-layout .student-sidebar{width:240px}.lms-layout .lms-topbar{padding:0 13px;height:55px}.lms-layout .lms-topbar>button:first-child{display:inline-flex}.lms-layout .lms-topbar>.desktop-sidebar-toggle{display:none}.lms-layout .mobile-open .student-menu-toggle{display:block;background:#e8efe2;color:#245445;border:0;margin:10px;padding:10px}.lms-layout .study-dashboard{padding:13px}.lms-layout .student-overview{padding-top:0}.lms-layout .dashboard-heading{margin:0 -13px 13px;padding:22px 18px;min-height:185px}.lms-layout .dashboard-heading h1{font-size:27px}.dashboard-secondary{grid-template-columns:1fr}.dashboard-panel{padding:13px}.dashboard-stat{padding:12px 10px;align-items:flex-start}.dashboard-stat strong{font-size:23px}.dashboard-stat h2{font-size:10px}.dashboard-stat small{line-height:1.5}.lms-layout .course-library{padding:18px 13px}.lms-layout .library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lms-layout .library-card{padding:13px}.lms-layout .library-card h3{font-size:13px}.lms-layout .library-sub{font-size:10px}.student-overview .learning-points{grid-template-columns:1fr}.student-overview .points-periods{justify-self:start}.student-overview .lms-resume{padding:13px}}@media(max-width:400px){.dashboard-stat>svg{display:none}.lms-layout .library-grid,.activity-breakdown{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.lms-layout *,.lms-layout *:before,.lms-layout *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.lms-layout .workspace-links{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:11px}.workspace-links a{color:#456255;text-decoration:none}.workspace-links a:hover{color:#a64c32}.workspace-user{padding-left:16px;border-left:1px solid #e3e8dc;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}.workspace-user small{display:block;font-size:9px;font-weight:400;color:#718073;margin-top:2px}.lms-layout .lms-avatar{margin-left:0;flex-shrink:0}.study-week{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:13px 0 9px;border-bottom:1px solid #e8ede3}.study-week>span:first-child{font-size:10px;color:#67766b}.study-week>span:not(:first-child){display:grid;justify-items:center;gap:4px;font-size:9px;color:#73816f}.study-week i{display:grid;place-items:center;width:23px;height:23px;border:1px solid #dce4d5;background:#f5f7ef;border-radius:50%;font-style:normal;font-size:14px}.study-week .day-active i{color:#fff;background:#34785b;border-color:#34785b}@media(max-width:1100px){.lms-layout .workspace-links{gap:12px}.workspace-user{display:none}}@media(max-width:767px){.lms-layout .workspace-links{display:none}.lms-layout .lms-avatar{margin-left:auto}}.lms-layout.lesson-shell .student-courses summary{background:#edf2e7;color:#315a51}.lms-layout.lesson-shell .page-heading{padding:23px 28px;background:#faf7ed;border-color:var(--workspace-line)}.lms-layout.lesson-shell .page-heading h1{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(24px,2.6vw,34px);margin:10px 0;color:#1f5145}.lms-layout.lesson-shell .page-heading>p:last-child{font-size:13px;color:#647365}.lms-layout.lesson-shell .learning-grid{max-width:1240px;padding:20px 26px}.lms-layout.lesson-shell .lesson-content{min-width:0}.lms-layout.lesson-shell .tabs{display:flex;position:static;flex-wrap:nowrap;align-items:center;gap:4px;max-width:100%;min-width:0;margin:0 0 16px;padding:4px;overflow-x:auto;border:1px solid var(--workspace-line);border-radius:9px;background:#fffefb;scrollbar-width:thin}.lms-layout.lesson-shell .tabs button{flex:0 0 auto;width:auto;min-height:40px;margin:0;padding:9px 12px;font-size:13px;line-height:20px;white-space:nowrap;text-align:center;border-radius:5px}.lms-layout.lesson-shell .tabs button:focus-visible{outline:2px solid var(--tea);outline-offset:-3px}.lms-layout.lesson-shell .tabs button.active{color:#205d46;border-bottom-color:#34795a}.lms-layout.lesson-shell .lesson-content>div:not([hidden]){padding:20px;border-radius:9px;background:#fffefb;border-color:var(--workspace-line)}.lms-layout.lesson-shell .quiz{border-radius:9px;padding:17px;border-color:var(--workspace-line);background:#f7f9f2}.lms-layout.lesson-shell .dialogue-row{margin:16px 0;gap:12px}.lms-layout.lesson-shell .dialogue-row:has(.speaker) .dialogue{border-radius:0 9px 9px;padding:16px;background:#f3f7ef;border-color:var(--workspace-line)}.lms-layout.lesson-shell .dialogue-row .zh{font-size:21px;color:#254e43}@media(max-width:767px){.lms-layout.lesson-shell .page-heading{padding:20px 16px}.lms-layout.lesson-shell .learning-grid{padding:15px 12px}.lms-layout.lesson-shell .lesson-content>div:not([hidden]){padding:13px}.lms-layout.lesson-shell .lms-topbar strong{font-size:10px}}.lms-layout{--tea:#184C43;--ivory:#F7F3EA;--brick:#B85C38;--workspace-line:#e5e2d8;font-family:Be Vietnam Pro,Noto Sans TC,sans-serif}.lms-layout .student-main{scrollbar-color:#becbc0 var(--ivory)}.lms-layout .student-brand{height:60px;min-height:60px;background:#fffdf8}.lms-layout .student-sidebar{background:#fbfaf5}.lms-layout .student-courses{padding-top:12px}.lms-layout .sidebar-section-label:not(:first-child){border-top:1px solid var(--workspace-line);padding-top:18px;margin-top:20px}.lms-layout .student-courses .lms-overview-link{min-height:40px;padding:10px 12px}.lms-layout .student-account{background:#f1f2e9}.lms-layout .lms-topbar{justify-content:flex-start;height:60px;box-shadow:0 2px 8px #184c4304}.lms-layout .lms-topbar>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--tea)}.lms-layout .lms-topbar a{text-decoration:none}.lms-layout .lms-topbar .workspace-user{color:var(--tea);flex-shrink:0}.lms-layout .lms-avatar{width:32px;height:32px;font-family:Georgia,serif;font-size:16px;border:1px solid #d7dfd1}.lms-layout .dashboard-heading{position:relative;min-height:195px;padding:26px 28px;grid-template-columns:minmax(0,1fr) 245px;background:linear-gradient(100deg,#faf4e6,#f7f1e4 49%,#f4efe3c9 70%,#f4efe342),url(/.netlify/images?url=/images/andy-studio.jpg&w=960&fm=webp&q=75) right 43% / auto 170% no-repeat}.lms-layout .dashboard-heading>div:first-child{position:relative;z-index:1}.lms-layout .dashboard-heading h1{font-size:clamp(24px,2.3vw,34px);max-width:760px;letter-spacing:-.7px}.lms-layout .dashboard-heading .studio-eyebrow{font-size:9px;color:var(--tea);letter-spacing:.18em}.lms-layout .dashboard-heading p{max-width:550px;line-height:1.7}.lms-layout .dashboard-motto{display:inline-block;padding:9px 13px;border:1px solid #d9d9c7;border-left:3px solid #70917a;background:#fffbf475;font-size:16px;margin-top:12px;border-radius:0 6px 6px 0}.lms-layout .dashboard-art{justify-self:end;padding:12px;position:relative;transform:none}.lms-layout .dashboard-art>span{border:0;background:transparent;width:auto;height:auto;font-size:95px;color:#184c4370;text-shadow:1px 1px #fff8}.lms-layout .dashboard-art small{padding:8px;background:#fff9e8c9;font-size:13px;transform:rotate(-5deg)}.dashboard-art b{position:absolute;right:15px;bottom:-5px;color:var(--brick);border:2px solid currentColor;font-family:serif;padding:1px 5px;font-size:19px;transform:rotate(7deg)}.lms-layout .dashboard-stat{min-height:102px;padding:14px;background:linear-gradient(120deg,#fffefb,#fdfbf6);box-shadow:0 3px 12px #184c4303}.lms-layout .dashboard-stat:first-child>svg{background:#fcf0e1;color:var(--brick)}.lms-layout .dashboard-stat strong{font-variant-numeric:tabular-nums;font-size:27px}.lms-layout .dashboard-panel{box-shadow:0 3px 12px #184c4303;padding:14px 16px}.lms-layout .panel-heading h2{margin-bottom:12px}.lms-layout .panel-caption{line-height:1.7;color:#5d6d62}.progress-visuals{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:24px;margin:4px 0 16px}.activity-ring{width:132px;height:132px;padding:11px;border-radius:50%;background:conic-gradient(var(--tea) var(--activity-angle),#e7ede3 0)}.activity-ring>div{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;border-radius:50%;background:#fffdf8}.activity-ring strong{color:var(--tea);font-size:32px;letter-spacing:-1px}.activity-ring strong small{font-size:15px;color:#728075;font-weight:400;margin-left:4px}.activity-ring span{font-size:9px;color:#5d6e62}.activity-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end}.activity-chart>div{text-align:center;min-width:0}.activity-chart strong{font-size:10px;font-weight:500;color:#617568}.activity-chart small{display:block;font-size:9px;white-space:nowrap;color:#5d6d62;margin-top:6px}.chart-track{display:flex;align-items:end;justify-content:center;height:77px;border-bottom:1px solid #dfe5d9;margin-top:5px;background:repeating-linear-gradient(to top,transparent 0,transparent 24px,#ecede5 25px,transparent 26px)}.chart-track i{display:block;width:17px;max-width:100%;border-radius:4px 4px 0 0;background:linear-gradient(#76a58c,var(--tea))}.activity-chart>div:last-child i{background:var(--brick)}.lms-layout .student-overview .points-rank{display:none}.lms-layout .student-overview .learning-points{display:block;padding:10px 12px;background:#f5f5ed}.lms-layout .student-overview .points-periods{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.lms-layout .student-overview .points-periods p{margin:0;font-size:11px}.lms-layout .student-overview .points-periods strong{font-size:20px}.lms-layout .student-overview .points-periods small{display:none}.lms-layout .points-periods button[aria-pressed=true]{background:var(--tea);color:#fffdf7;border-color:var(--tea)}.lms-layout .student-overview .points-status:empty{display:none}.activity-breakdown{grid-template-columns:1fr;gap:0}.activity-breakdown>div{padding:7px 0}.activity-breakdown>div>span{flex:0 0 112px}.activity-breakdown meter{flex:1;min-width:30px;height:8px;border:0;border-radius:8px;background:#e5eae2}.activity-breakdown meter::-webkit-meter-bar{height:8px;background:#e5eae2;border:0;border-radius:8px}.activity-breakdown meter::-webkit-meter-optimum-value{background:#37785d;border-radius:8px}.activity-breakdown meter::-moz-meter-bar{background:#37785d;border-radius:8px}.activity-breakdown strong{text-align:right;flex:0 0 36px}.lms-layout .study-week{display:none}.lms-layout .student-overview .review-stat{min-height:66px;padding:12px;transition:transform .15s ease}.lms-layout .review-stat:hover{transform:translate(3px)}.lms-layout .review-stat>svg:first-child{width:36px;height:36px;padding:8px;background:#fff9;border-radius:50%}.saved-word-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.saved-word-preview>a{padding:10px;border:1px solid var(--workspace-line);border-radius:6px;color:var(--tea);text-decoration:none;background:#fafaf4}.saved-word-preview strong{display:block;font-family:serif;font-size:21px;font-weight:500}.saved-word-preview small,.saved-word-preview span{display:block;font-size:10px;margin-top:3px;color:#657266;overflow-wrap:anywhere}.lms-layout .leaderboard-note{color:#617165}.lms-layout .leaderboard-student{min-width:0}.lms-layout .leaderboard-student strong{overflow-wrap:anywhere}.lms-layout .leaderboard-page{padding-top:24px;max-width:1050px}.lms-layout .leaderboard-page .public-leaderboard{margin-top:20px}.lms-layout .leaderboard-page .leaderboard-student strong{font-size:13px}.lms-layout .leaderboard-page .leaderboard-entries li{padding:13px 6px}.lms-layout .library-card{--book-bg:#eaf0e5;--book-color:var(--tea);box-shadow:0 3px 12px #184c4303}.lms-layout .library-hsk{--book-bg:#f8ebdf;--book-color:#984c30}.lms-layout .library-biz{--book-bg:#eceadf;--book-color:#6c6443}.lms-layout .library-glyph{width:42px;height:48px;font:25px Georgia,serif;border-radius:3px 8px 8px 3px;border-left:3px solid currentColor}.lms-layout .library-badge{color:var(--tea);background:#edf3e8;font-size:9px}.lms-layout .library-card>a{background:var(--tea)}.lms-layout .book-detail{padding:24px;max-width:1300px}.lms-layout .book-detail .page-heading{margin-bottom:20px}.lms-layout .book-detail .page-heading h1,.lms-layout .account-page h1,.lms-layout .leaderboard-page h1{color:var(--tea);font-family:"Source Serif 4",Georgia,serif;font-size:28px;margin:10px 0}.lms-layout .book-detail .page-heading>a,.lms-layout .book-detail .section-kicker{color:var(--tea);font-size:11px}.lms-layout .book-detail .lesson-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lms-layout .book-detail .course-card{padding:16px;gap:13px;border-radius:9px;border-color:var(--workspace-line);background:#fffefb;color:var(--tea)}.lms-layout .book-detail .course-card h2{font-size:20px}.lms-layout .book-detail .course-card p{font-size:12px}.lms-layout .book-detail .course-card .small{font-size:10px}.lms-layout .book-detail .lesson-number{background:#edf1e6;color:var(--tea);width:36px;flex-basis:36px;height:40px;font-size:13px;border-radius:6px}.lms-layout .book-detail .course-card:hover{border-color:#9aae9c;background:#f7f8ee}.lms-layout .lesson-content button:not(.notebook-flip),.lms-layout .account-page button{border-radius:6px;font-size:12px}.lms-layout .lesson-content .zh{color:var(--tea)}.lms-layout .lesson-content .vocab-grid .zh{font-size:28px}.lms-layout .lesson-content .card{border-color:var(--workspace-line);border-radius:9px}.lms-layout .notebook-front{background:#edf2e6;color:var(--tea)}.lms-layout .notebook-back{background:#faf1e2;color:var(--tea)}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-top:22px;max-width:1000px}.account-monogram{display:grid;place-items:center;width:58px;height:58px;background:#e8eee1;color:var(--tea);border-radius:50%;font:28px Georgia,serif;margin-bottom:16px}.account-grid dl{margin:18px 0;line-height:1.7}.account-grid dt{font-size:10px;color:#617164;margin-top:14px}.account-grid dd{margin:3px 0;overflow-wrap:anywhere;font-size:13px}.lms-layout .account-page button{padding:9px 18px;border:1px solid #e3cfc1;background:#faf0e5;color:#93482e}.account-shortcut{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--workspace-line);color:var(--tea);text-decoration:none}.lms-layout .student-account button:disabled{opacity:.6}.lms-layout button:disabled{cursor:default}@media(min-width:1450px){.lms-layout .dashboard-body-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.lms-layout .student-overview .review-grid{grid-template-columns:1fr 1fr}.lms-layout .student-overview .review-mistakes{grid-column:1/-1}.lms-layout .leaderboard-entries{display:grid;grid-template-rows:repeat(5,auto);grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.lms-layout .leaderboard-student>span{font-size:8px}}@media(max-width:1100px){.lms-layout .dashboard-heading{grid-template-columns:1fr}.lms-layout .dashboard-art{display:none}.lms-layout .dashboard-stat{padding:12px}.progress-visuals{gap:14px}}@media(max-width:1000px){.lms-layout .book-detail .lesson-list{grid-template-columns:1fr}.lms-layout .dashboard-heading{background-size:auto 140%}}@media(max-width:767px){.lms-layout .student-brand{min-height:60px}.lms-layout .lms-topbar>strong{font-size:11px}.lms-layout .lms-topbar .lms-avatar{margin-left:auto}.lms-layout .dashboard-heading{min-height:190px;padding:22px 18px;background:linear-gradient(100deg,#faf4e6 20%,#f7f1e4e8 70%,#f4efe3ba),url(/.netlify/images?url=/images/andy-studio.jpg&w=960&fm=webp&q=75) center / cover}.lms-layout .dashboard-heading h1{font-size:26px}.lms-layout .dashboard-heading p{font-size:11px}.lms-layout .dashboard-motto{font-size:15px}.lms-layout .dashboard-stat{min-height:105px;gap:8px;padding:12px 10px}.lms-layout .dashboard-stat strong{font-size:24px}.lms-layout .dashboard-stat small{font-size:9px}.lms-layout .dashboard-panel{padding:14px}.lms-layout .dashboard-secondary{grid-template-columns:1fr}.lms-layout .book-detail{padding:20px 13px}.account-grid{grid-template-columns:1fr}.progress-visuals{grid-template-columns:110px minmax(0,1fr);gap:14px}.activity-ring{width:106px;height:106px;padding:9px}.activity-ring strong{font-size:27px}.activity-ring span{font-size:8px}.activity-chart{gap:5px}.chart-track i{width:12px}.lms-layout .student-overview .points-periods button{padding:7px}.lms-layout .library-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.lms-layout .review-stat{transition:none}}body:has(.lms-layout) #root>.site-header,body:has(.lms-layout) #root>.site-footer{display:none}.lms-layout .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.lms-layout .student-brand .student-brand-avatar{color:#fffdf8;background:var(--tea);font-family:Noto Sans TC,serif;font-size:18px;flex-basis:32px;height:32px}.lms-layout .student-brand-copy .student-brand-label{color:#647468;font-size:9px;font-weight:500;text-transform:none;letter-spacing:.04em}.lms-layout .student-brand-copy>span:first-child{font-size:18px}.lms-layout .dashboard-motto,.lms-layout .dashboard-art>span,.lms-layout .dashboard-art b,.lms-layout .library-glyph{font-family:Noto Sans TC,serif}.lms-layout .student-overview .review-stat h3{text-transform:none;letter-spacing:normal}.lms-layout .student-overview .points-periods{justify-content:space-between;width:100%}@media(min-width:1200px){.lms-layout .dashboard-heading{min-height:178px;padding-top:20px;padding-bottom:20px}.lms-layout .activity-breakdown{grid-template-columns:1fr 1fr;gap:0 16px}.lms-layout .activity-breakdown>div>span{flex-basis:95px;font-size:10px}.lms-layout .activity-breakdown strong{flex-basis:25px}.lms-layout .progress-visuals{margin-bottom:12px}}.lms-layout .dashboard-heading.cultivation-banner{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-template-areas:"greeting avatar" "summary avatar" "progress avatar" "actions avatar";gap:8px 28px;min-height:0;background:radial-gradient(ellipse at 85% 50%,#dce9d8 0,transparent 48%),#faf3e5;overflow:visible}.cultivation-banner .cultivation-greeting{grid-area:greeting;min-width:0}.cultivation-banner .cultivation-summary{grid-area:summary;min-width:0}.lms-layout .cultivation-banner .cultivation-summary h2{display:inline-block;margin:3px 0 5px;padding:3px 12px;border:1px solid #a8cbbb;border-radius:8px;color:#196657;background:#e6eee1;font-size:24px}.cultivation-banner .cultivation-summary .section-kicker{display:block;font-size:9px;letter-spacing:.12em}.lms-layout .cultivation-banner .cultivation-summary p{font-size:14px}.cultivation-banner .cultivation-avatar{grid-area:avatar;float:none;margin:0;justify-self:center;align-self:center}.cultivation-banner .realm-portrait--card{width:210px;border-radius:24px;background:radial-gradient(ellipse,var(--stage-light) 5%,#dce9d860 50%,transparent 73%)}.cultivation-banner .realm-portrait>img{width:100%;height:100%}.cultivation-banner .realm-stage:after{display:none}.cultivation-banner .cultivation-progress{grid-area:progress;min-width:0;max-width:550px}.lms-layout .cultivation-banner .cultivation-progress p{font-size:12px}.cultivation-banner .cultivation-actions{grid-area:actions;margin:4px 0 0;gap:10px}.cultivation-banner .cultivation-actions>*{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;font-size:13px;text-decoration:none}.cultivation-banner .cultivation-actions .solid-link{background:#206653;color:#fffdf5}.cultivation-banner .cultivation-load-state{grid-column:1 / -1}.cultivation-banner :is(button,a):focus-visible{outline:3px solid #247b6d;outline-offset:4px}@media(max-width:649px){.lms-layout .dashboard-heading.cultivation-banner{grid-template-columns:130px minmax(0,1fr);grid-template-areas:"greeting greeting" "avatar summary" "progress progress" "actions actions";padding:16px;gap:10px 12px}.lms-layout .cultivation-banner .cultivation-greeting h1{font-size:24px;margin:8px 0 0}.cultivation-banner .realm-portrait--card{width:130px}.cultivation-banner .cultivation-summary{align-self:center}.lms-layout .cultivation-banner .cultivation-summary h2{font-size:21px;padding:3px 8px}.lms-layout .cultivation-banner .cultivation-summary p{font-size:13px}.cultivation-banner .cultivation-actions>*{flex:1;padding-inline:10px}}@media(max-width:359px){.lms-layout .dashboard-heading.cultivation-banner{grid-template-columns:110px minmax(0,1fr);gap:8px;padding:14px 12px}.cultivation-banner .realm-portrait--card{width:110px}.lms-layout .cultivation-banner .cultivation-summary h2{font-size:19px}}.lesson-navigation{position:sticky;top:0;z-index:9;display:grid;grid-template-columns:auto minmax(0,460px) auto;justify-content:center;align-items:center;gap:16px;padding:12px 24px;background:#fffdf7;border-bottom:2px solid #b8cbbb;box-shadow:0 4px 12px #184c4312}.lms-layout .lesson-navigation{top:60px}.lesson-navigation>a,.lesson-navigation>.is-disabled{display:flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid #b7c9bb;border-radius:8px;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;color:#184c43;background:#f0f4eb;white-space:nowrap}.lesson-navigation>.lesson-navigation-next{background:#184c43;border-color:#184c43;color:#fffdf7}.lesson-navigation>a:hover{background:#dfebdc;color:#184c43}.lesson-navigation>.is-disabled{opacity:.45}.lesson-navigation-picker{display:grid;gap:4px;min-width:0;color:#184c43;font-size:11px;font-weight:700}.lesson-navigation-picker select{width:100%;min-width:0;min-height:44px;margin:0;padding:8px 28px 8px 10px;border:1px solid #96b09f;border-radius:6px;color:#234c40;background:#fffefb;font:inherit;font-size:13px;text-overflow:ellipsis}.lesson-navigation a:focus-visible,.lesson-navigation select:focus-visible{outline:3px solid #b85c38;outline-offset:3px}@media(max-width:600px){.lesson-navigation{grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}.lesson-navigation-picker{grid-column:1 / -1;grid-row:1}.lesson-navigation>a,.lesson-navigation>.is-disabled{min-height:44px;padding:8px}}.lms-layout .student-sidebar{overflow-y:auto}.lms-layout .student-brand{flex-shrink:0}.lms-layout .student-courses{flex:1 0 auto;overflow:visible}.lms-layout .student-account{flex-shrink:0;margin-top:auto}.student-library-parent{display:flex;align-items:center;gap:2px}.student-library-parent>a{flex:1;min-width:0}.student-library-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:#315a51;cursor:pointer}.student-library-toggle:hover{background:#eaf0e7}.student-library-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.student-library-groups{margin:3px 0 12px 21px;padding-left:7px;border-left:1px solid #cdd9cb}.student-library-groups[hidden]{display:none}.lms-layout .student-library-groups .lms-overview-link{gap:8px;padding:9px 7px;min-height:38px}.lms-layout .student-account .lms-overview-link,.lms-layout .student-account button{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:40px;font-size:12px;font-weight:500;text-decoration:none;border-radius:7px}.lms-layout .student-account .lms-overview-link{color:#264c49;margin-bottom:3px}.lms-layout .student-account .lms-overview-link.active{color:#fff;background:#245b49}.lms-layout .student-account .sidebar-section-label{padding:0 12px;margin:0 0 10px}.student-library-toggle:focus-visible{outline:2px solid #315a51;outline-offset:2px}@media(min-width:768px){.sidebar-collapsed .student-library-toggle,.sidebar-collapsed .student-library-groups{display:none}.lms-layout.sidebar-collapsed .student-account .lms-overview-link,.lms-layout.sidebar-collapsed .student-account button{justify-content:center;padding:10px}.sidebar-collapsed .student-account button span{display:none}}.studio-hero-copy{animation:none}.hero-word-cloud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.hero-word-cloud>span{position:absolute;right:12px;padding:5px 10px;border:1px solid #e9bd7f80;border-radius:8px;background:#fff9ebed;color:#194d40;font:600 17px/1.5 Noto Sans TC,serif;box-shadow:0 4px 12px #123e3414}.hero-word-cloud>span:nth-child(1){top:28%;rotate:-7deg}.hero-word-cloud>span:nth-child(2){top:46%;right:auto;left:12px;rotate:5deg}.hero-word-cloud>span:nth-child(3){top:62%;rotate:-4deg}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #b77728;outline-offset:4px}:is(.curriculum-path,.enrollment-posters>figure,.library-card,.lms-layout .dashboard-course,.roadmap-card,.book-detail .course-card){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.enrollment-posters>figure>a{display:block;overflow:hidden;border-radius:inherit}.enrollment-posters img{transition:transform .22s ease}:is(.studio-actions>*,.studio-tools button,.path-explore,.library-cta,.actions button,.btn){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .18s ease}:where(.studio-actions,.studio-tools,.path-explore) :where(svg,span[aria-hidden]){transition:transform .18s ease}:where(.studio-actions>*,.studio-tools button,.actions button,.btn):not(:disabled):active{transform:scale(.98)}.animated-progress{position:relative;display:block;width:100%}.animated-progress>progress{display:block;width:100%;opacity:0}.animated-progress-track{position:absolute;top:0;right:0;bottom:0;left:0;height:.6rem;margin-block:auto;overflow:hidden;border-radius:999px;background:#e3e8de;pointer-events:none}.animated-progress-fill{display:block;height:100%;border-radius:inherit;background:#54784b;transform:scaleX(var(--progress-ratio));transform-origin:left;transition:transform .5s ease}.card.flash.lesson-flip{display:block;perspective:1200px;background:transparent;padding:0;border:0;box-shadow:none}.lesson-flip-inner{display:grid;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.22,.75,.25,1)}.lesson-flip.is-flipped .lesson-flip-inner{transform:rotateY(180deg)}.lesson-flip-front,.lesson-flip-back{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;padding:28px 20px;min-height:260px;border:1px solid #cfdfcf;border-radius:16px;background:#fffdf8;backface-visibility:hidden;overflow-wrap:anywhere}.lesson-flip-back{transform:rotateY(180deg);background:#f1f5ed}.lesson-flip .flash-example{display:grid;gap:10px}.completion-check{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-inline-end:.5em;border-radius:50%;background:#deead7;color:#24533c}@media(hover:hover)and (pointer:fine){.studio-editorial .curriculum-path:hover,.studio-editorial .enrollment-posters>figure:hover,.library-card.available:hover,.lms-layout .dashboard-course:hover,a.roadmap-card:hover,.book-detail .course-card:hover{transform:translateY(-5px);box-shadow:0 12px 26px #163e3420}.enrollment-posters>figure:hover img{transform:scale(1.025)}.studio-actions .studio-primary:hover{background:#28634e}.studio-actions>:not(.studio-primary):hover{background:#ffffff14}.studio-tools button:hover{filter:brightness(1.08)}.studio-actions>:hover svg:last-child,.studio-tools button:hover svg,.path-explore:hover span[aria-hidden]{transform:translate(3px)}}@media(prefers-reduced-motion:no-preference){.studio-hero-copy>*{animation:andy-enter .5s cubic-bezier(.22,1,.36,1) both}.studio-hero-copy>:nth-child(2){animation-delay:80ms}.studio-hero-copy>:nth-child(3){animation-delay:.16s}.studio-hero-copy>:nth-child(4){animation-delay:.24s}.studio-hero-copy>:nth-child(5){animation-delay:.32s}.hero-word-cloud>span{animation:andy-float 5s ease-in-out infinite alternate}.hero-word-cloud>span:nth-child(2){animation-delay:-2s}.hero-word-cloud>span:nth-child(3){animation-delay:-3.5s}.animated-progress-fill{animation:andy-progress .5s ease}.completion-check{animation:andy-check .24s ease-out}}@keyframes andy-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes andy-float{0%{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes andy-progress{0%{transform:scaleX(0)}}@keyframes andy-check{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:767px){.hero-word-cloud>span{animation:none;font-size:14px}.hero-word-cloud>span:nth-child(2),.hero-word-cloud>span:nth-child(3){display:none}.hero-word-cloud>span:first-child{top:42%;right:18px}}@media(hover:none),(pointer:coarse){.studio-actions>*:hover,.curriculum-path:hover,.library-card.available:hover,.lms-layout .dashboard-course:hover,a.roadmap-card:hover,.advanced-flashcard:hover{transform:none;box-shadow:none}.curriculum-path:hover:before{transform:none}}@media(prefers-reduced-motion:reduce){.lesson-flip-inner,.notebook-flip-inner{transition:none}.studio-actions>*:hover,.curriculum-path:hover,.library-card.available:hover,.lms-layout .dashboard-course:hover,a.roadmap-card:hover,.book-detail .course-card:hover,.enrollment-posters img{transform:none}.lesson-flip-front,.lesson-flip-back{visibility:hidden}.lesson-flip:not(.is-flipped) .lesson-flip-front,.lesson-flip.is-flipped .lesson-flip-back{visibility:visible}}[data-tone]{--cover: #936009;--cover-deep: #744905;--cover-tint: #fff3d5}[data-tone="1"]{--cover: #b65325;--cover-deep: #93401c;--cover-tint: #fff0e5}[data-tone="2"]{--cover: #ad4247;--cover-deep: #8d303b;--cover-tint: #fcebed}[data-tone="3"]{--cover: #167566;--cover-deep: #115c51;--cover-tint: #e7f5ef}[data-tone="4"]{--cover: #356aaa;--cover-deep: #29538a;--cover-tint: #eaf1fb}[data-tone="5"]{--cover: #74539d;--cover-deep: #5b407f;--cover-tint: #f1ecf8}.landing-refresh .course-roadmap{background:#f6f5ef}.landing-refresh .course-roadmap>h1{color:#184c43;font-size:clamp(30px,4vw,44px)}.landing-refresh .roadmap-group>h3{border-left:4px solid #bd8628;padding-left:14px;color:#184c43}.landing-refresh .roadmap-card{--ticket-accent: #fff9ed;--ticket-edge: #ffffff40;position:relative;padding:0;border:1px solid var(--cover-deep);border-radius:18px;background:linear-gradient(125deg,var(--cover),var(--cover-deep));color:#fff;box-shadow:0 8px 20px #243c3212}.landing-refresh .roadmap-ticket-top{background:transparent;color:#fff;padding:20px 22px 8px}.landing-refresh .roadmap-ticket-icon{background:#ffffff18;color:#fff;border-color:#ffffff50;transform:none}.landing-refresh .roadmap-ticket-number{position:absolute;top:22px;right:16px;font:100px/1 Georgia,serif;color:#ffffff18;pointer-events:none}.landing-refresh .roadmap-ticket-series{position:relative}.landing-refresh .roadmap-card-heading{position:relative;padding-top:10px}.landing-refresh .roadmap-card h4{color:#fff;font-size:clamp(21px,2.2vw,27px)}.landing-refresh .roadmap-ticket-stats>span{background:#ffffff14;border-color:#ffffff38;color:#fff}.landing-refresh .roadmap-ticket-stats strong,.landing-refresh .roadmap-ticket-stats svg{color:#fff}.landing-refresh .roadmap-card-footer{background:#ffffff0d;color:#fff;border-top:1px solid #ffffff35}.landing-refresh .roadmap-card-footer:before,.landing-refresh .roadmap-card-footer:after{display:none}.landing-refresh .roadmap-ticket-action{color:#fff;padding:8px 12px;border-radius:8px;background:#ffffff18}.landing-refresh .roadmap-card-upcoming{background:var(--cover-tint);border-color:color-mix(in srgb,var(--cover) 35%,white);box-shadow:none}.landing-refresh .roadmap-card-upcoming .roadmap-ticket-top,.landing-refresh .roadmap-card-upcoming h4,.landing-refresh .roadmap-card-upcoming .roadmap-card-footer,.landing-refresh .roadmap-card-upcoming>.roadmap-ticket-preparing{color:var(--cover-deep)}.landing-refresh .roadmap-card-upcoming .roadmap-ticket-icon{color:var(--cover-deep);border-color:currentColor}.landing-refresh .roadmap-card-upcoming .roadmap-ticket-number{color:color-mix(in srgb,var(--cover) 12%,transparent)}.landing-refresh a.roadmap-card:hover{border-color:var(--cover-deep);box-shadow:0 12px 26px #243c3226}.landing-refresh .aviation-feature{padding:28px;border:1px solid #226e77;border-radius:20px;background:linear-gradient(115deg,#144e56,#226e77);color:#fff;box-shadow:0 10px 24px #144e5618}.landing-refresh .aviation-feature h2,.landing-refresh .aviation-feature .section-kicker,.landing-refresh .aviation-feature .aviation-meta,.landing-refresh .aviation-emblem{color:#fff}.landing-refresh .aviation-feature>a{padding:12px 16px;background:#fff5db;color:#144e56;border-radius:9px;font-weight:700;text-decoration:none}.landing-refresh .aviation-emblem{border-color:#ffffff40}.library-card[data-tone],.lms-layout .library-card[data-tone]{--book-color: var(--cover-deep);--book-bg: var(--cover-tint);position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--cover) 30%,white);border-top:6px solid var(--cover);border-radius:15px;background:linear-gradient(160deg,var(--cover-tint),#fffefb 80%);padding:22px;box-shadow:0 5px 16px #243c320a}.library-card[data-tone] h3{color:var(--cover-deep);font-size:19px}.library-card[data-tone] .library-glyph{width:56px;height:62px;background:var(--cover);color:#fff;font-size:32px}.library-card[data-tone] .library-badge{background:#fffefb;color:var(--cover-deep);border:1px solid var(--cover)}.library-card[data-tone]>a,.lms-layout .library-card[data-tone]>a{background:var(--cover);color:#fff;border-color:var(--cover);padding:12px}.library-card[data-tone]>a:hover{background:var(--cover-deep)}.library-card[data-tone]>button:disabled{background:#f2f0ea;color:#62665f;border-color:#d7dbd0}.roadmap-card:focus-visible,.library-card a:focus-visible,.library-filters button:focus-visible,.aviation-feature a:focus-visible{outline:3px solid #b86523;outline-offset:5px}@media(max-width:767px){.landing-refresh .aviation-feature{padding:22px}.library-card[data-tone],.lms-layout .library-card[data-tone]{padding:18px}.landing-refresh .roadmap-ticket-number{font-size:82px}}.landing-refresh .roadmap-ticket-number[lang=zh-Hant]{font-family:Noto Sans TC,serif}
