@font-face{font-family:Lexend;src:url('/fonts/lexend.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Bungee;src:url('/fonts/bungee.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:oklch(97.2% .014 94);--ink:oklch(29% .045 152);--muted:oklch(49% .035 148);--green:oklch(38% .075 151);--pale:oklch(92% .04 126);--lime:oklch(84% .11 116);--line:oklch(85% .026 110);--sand:oklch(92% .075 89);--blue:oklch(92% .045 220);--red:oklch(52% .12 32);--white:oklch(99% .009 95);--space-sm:12px;--space-md:24px;--space-lg:40px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Lexend,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid oklch(62% .15 65);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}p{line-height:1.75}button{border:0;background:none}a:hover{text-decoration:underline;text-underline-offset:5px}::selection{background:var(--lime)}
.skip-link{position:fixed;left:20px;top:12px;z-index:99;transform:translateY(-160%);background:var(--green);color:var(--paper);padding:14px}.skip-link:focus{transform:none}.shell{width:min(1160px,calc(100% - 80px));margin:auto}.topbar{min-height:100px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;flex-shrink:0}.brand img{width:34px;height:38px}.brand b{font:17px/1.3 Bungee,sans-serif;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:4px}.topbar nav{display:flex;gap:28px;margin-left:auto}.topbar nav a{font-size:14px;min-height:44px;display:flex;align-items:center;position:relative}.topbar nav a[aria-current=page]{font-weight:700}.topbar nav a[aria-current=page]:after{position:absolute;bottom:1px;height:3px;left:0;right:0;background:var(--green);content:''}.parent-link{font-size:12px;border:1px solid var(--line);padding:11px 14px;border-radius:4px;white-space:nowrap}.main{padding:40px 0 64px;min-height:75vh}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--muted);margin:0 0 14px}.muted{color:var(--muted)}.small{font-size:12px}.quiet{font-size:13px;color:var(--muted);line-height:1.65}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;font-size:14px;font-weight:600}.primary{background:var(--green);color:var(--paper);border:1px solid var(--ink);border-radius:4px;box-shadow:0 3px 0 var(--ink);padding:12px 22px;transition:transform .15s var(--ease)}.primary:hover{transform:translateY(-2px);text-decoration:none}.primary:active{transform:translateY(2px);box-shadow:none}.secondary{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:11px 18px}.secondary:hover{background:var(--pale);text-decoration:none}.text-button{padding:8px 0;border-bottom:1px solid transparent;font-weight:500}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:3px;background:var(--pale);font-size:11px;color:var(--green);font-weight:500}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:38px 0 20px}.section-head h2{font-size:26px;margin:0}.section-head .eyebrow{margin:0 0 8px}.section-head p{margin:0}.welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.welcome h1{font-size:36px;margin:0 0 8px;line-height:1.35}.welcome p{margin-bottom:0}.date-tag{font-size:11px;color:var(--muted);padding-top:6px;white-space:nowrap}
.today-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;align-items:stretch}.today-card{position:relative;padding:30px 34px;background:var(--green);color:var(--paper);border:1px solid var(--ink);border-radius:5px;box-shadow:0 5px 0 var(--ink);overflow:hidden;min-height:348px;display:flex;flex-direction:column;align-items:flex-start}.today-card .eyebrow{color:oklch(81% .045 130);margin-bottom:22px}.today-card h2{font-size:34px;line-height:1.38;margin-bottom:12px;max-width:9em}.today-card .intro{color:oklch(87% .03 126);font-size:14px;max-width:31ch;margin-bottom:22px}.today-card .primary{background:var(--sand);color:var(--ink);margin-top:auto;border-color:oklch(20% .04 150);box-shadow:0 3px 0 oklch(20% .04 150)}.today-meta{display:flex;gap:16px;font-size:11px;margin-top:18px;color:oklch(84% .04 130)}.lesson-counter{position:absolute;right:30px;top:30px;font:28px Bungee,sans-serif;color:oklch(65% .06 130)}.today-aside{display:flex;flex-direction:column;min-width:0}.island-scene{flex:1;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.island-scene img{width:min(100%,340px);max-height:255px;object-fit:contain}.side-task{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;background:var(--sand);border:1px solid oklch(80% .065 90);border-radius:4px}.side-task h3{font-size:16px;margin:0 0 7px}.side-task p{font-size:12px;margin:0;color:oklch(46% .055 74)}.side-task button{font-size:12px;font-weight:600;min-height:44px;white-space:nowrap}.progress-strip{display:flex;gap:32px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.progress-strip strong{color:var(--ink);font-size:19px;margin-right:5px}.progress-strip .sync-mini{margin-left:auto}.sync-mini{border:0;background:none;color:var(--muted);font-size:11px;line-height:1.6;text-align:right;cursor:pointer}.sync-mini[data-state=error]{color:var(--red)}.unit-focus{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.unit-focus h3{font-size:23px;margin:0 0 8px}.unit-focus p{font-size:13px;color:var(--muted);margin:0}.lesson-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lesson-step{min-height:100px;border:1px solid var(--line);border-radius:4px;padding:14px 8px;background:var(--white);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px}.lesson-step b{font:20px Bungee,sans-serif}.lesson-step.current{background:var(--sand);border-color:oklch(67% .07 90)}.lesson-step.done{background:var(--pale);color:var(--green)}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.unit-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:20px 0;min-width:0;text-align:left}.unit-row .number{font:23px Bungee,sans-serif;color:oklch(64% .06 125);min-width:35px}.unit-row h3{font-size:17px;margin:0 0 6px;letter-spacing:-.02em}.unit-row p{margin:0;font-size:12px;color:var(--muted)}.unit-row .unit-count{margin-left:auto;font-size:11px;white-space:nowrap;color:var(--muted)}.unit-row:hover h3{text-decoration:underline;text-underline-offset:4px}.home-note{display:flex;justify-content:space-between;gap:30px;border-bottom:1px dashed var(--line);padding:28px 0;margin-top:24px;font-size:12px;color:var(--muted)}.home-note p{margin:0;max-width:65ch}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-title h1{font-size:34px;margin:0 0 10px}.page-title p{margin:0;font-size:14px;color:var(--muted)}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.search{flex:1;min-width:180px;border:1px solid var(--line);background:var(--white);border-radius:4px;padding:13px 16px;font-size:14px;min-height:48px}.select{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:12px;min-height:48px;max-width:240px;font-size:13px}.word-count{font-size:12px;color:var(--muted);margin:12px 0 20px}.word-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.word-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;border-top:1px solid var(--line);text-align:left}.word-row b{font-size:21px;font-weight:500;display:block;letter-spacing:-.02em}.word-row small{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.word-row .word-status{font-size:10px;color:var(--muted);padding:5px 7px;background:var(--pale);white-space:nowrap}.word-row:hover b{text-decoration:underline;text-underline-offset:4px}.back{display:inline-block;font-size:12px;margin-bottom:24px;min-height:32px}.word-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:32px 0}.word-detail h1{font-size:64px;margin:14px 0 12px;line-height:1.1}.word-detail .meaning{font-size:22px;margin:22px 0 8px}.word-detail .definition{font-size:16px;line-height:1.8;color:var(--muted);max-width:38ch}.ipa{font-family:Lexend,'Arial Unicode MS',sans-serif;color:var(--muted);font-size:18px;font-weight:400}.word-detail .audio-button{margin-top:22px}.audio-button{border:1px solid var(--line);border-radius:4px;background:var(--white);padding:12px 18px;min-height:48px;font-size:13px;font-weight:500}.audio-button:hover{background:var(--pale)}.audio-button.playing{background:var(--pale);border-color:var(--green)}.example{padding:24px 0;border-top:1px solid var(--line)}.example .en{font-size:22px;line-height:1.6;margin:0 0 10px}.example .zh{font-size:13px;color:var(--muted);margin:0 0 12px}.example .text-button{font-size:12px;min-height:36px}.collocations{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.collocations span{display:block;font-size:12px;background:var(--sand);padding:8px 10px;border-radius:3px}.skill-row{display:flex;gap:20px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.skill-row span{display:flex;flex-direction:column;gap:7px}.skill-row small{color:var(--muted);font-size:11px}.skill-row b{font-size:13px;font-weight:500}.word-note{font-size:13px;line-height:1.75;color:var(--muted);margin-top:24px}.empty{padding:52px 0;border-top:1px solid var(--line);text-align:center;color:var(--muted)}
.scene-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 18px;margin-bottom:20px;scrollbar-width:thin}.scene-tabs button{font-size:12px;white-space:nowrap;padding:11px 15px;border:1px solid var(--line);border-radius:4px;min-height:44px}.scene-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:var(--paper)}.scene-title{font-size:26px;margin:10px 0 22px}.dialogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:40px}.dialogue-card{background:var(--blue);border:1px solid oklch(78% .055 215);border-radius:5px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.dialogue-card h3{font-size:24px;margin:0;line-height:1.45}.dialogue-card p{margin:0;font-size:13px;color:oklch(41% .05 215)}.dialogue-card .secondary{margin-top:auto;background:oklch(96% .02 215);border-color:oklch(73% .05 215)}.expression-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.expression{border-top:1px solid var(--line);padding:22px 0;display:flex;align-items:flex-start;gap:18px}.expression .en{font-size:18px;margin:0 0 8px}.expression .zh{font-size:12px;color:var(--muted);margin:0 0 8px}.expression .response{font-size:12px;margin:0;color:var(--muted)}.expression button{flex-shrink:0;margin-left:auto;font-size:11px;min-height:44px;border:1px solid var(--line);border-radius:4px;padding:9px 12px}.scene-hint{font-size:12px;color:var(--muted);margin:28px 0}
.training-main{max-width:850px;margin:auto;padding-top:28px}.training-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-bottom:20px}.training-top a,.training-top button{min-height:44px;display:flex;align-items:center}.progress-line{display:flex;align-items:center;gap:18px;margin-bottom:34px;font-size:11px;color:var(--muted)}progress{height:7px;width:100%;appearance:none;border:0;background:var(--line);border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.progress-line span{white-space:nowrap}.exercise{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:38px 46px 28px;min-height:400px;box-shadow:0 4px 0 oklch(89% .025 110)}.exercise-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.exercise-head .eyebrow{margin:0}.exercise-head .pill{font-size:10px}.exercise-title{font-size:22px;font-weight:600;line-height:1.5;margin:28px 0 18px}.learning-word{font-size:62px;font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:24px 0 12px}.study-meaning{font-size:23px;margin:24px 0 10px}.study-definition{font-size:15px;color:var(--muted);line-height:1.8;max-width:52ch}.study-example{margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}.study-example .en{font-size:22px;line-height:1.6;margin:0 0 8px}.study-example .zh{font-size:13px;color:var(--muted);margin-bottom:8px}.study-example .text-button{font-size:12px}.listen-prompt{display:flex;flex-direction:column;align-items:center;margin:20px 0 30px;gap:12px}.listen-prompt .audio-button{min-width:160px;min-height:78px;background:var(--pale);border:1px solid oklch(69% .07 140);font-size:20px}.listen-prompt small{font-size:11px;color:var(--muted)}.answers{display:grid;gap:12px;margin:28px 0 8px}.answer{display:flex;align-items:center;gap:18px;text-align:left;border:1px solid var(--line);padding:16px 20px;min-height:62px;border-radius:4px;background:var(--paper);font-size:17px}.answer .choice-label{font-size:12px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.answer:hover:not(:disabled){background:var(--pale);border-color:var(--green)}.answer.correct{background:var(--pale);border-color:var(--green);opacity:1}.answer.wrong{background:oklch(94% .025 45);border-color:oklch(73% .07 40)}.exercise-actions{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.exercise-actions .text-button{font-size:12px;color:var(--muted)}.exercise-feedback{min-height:28px;line-height:1.7;font-size:14px;margin:18px 0 0;color:var(--green)}.exercise-feedback.warning{color:var(--red)}.helper-reveal{padding:14px 18px;background:var(--sand);border:1px solid oklch(83% .065 90);border-radius:4px;font-size:14px;margin:18px 0;line-height:1.7}.spell-input{display:block;width:100%;padding:18px 20px;border:2px solid var(--line);border-radius:4px;background:var(--paper);font-size:30px;letter-spacing:2px;margin:22px 0 16px}.spell-input:focus{border-color:var(--green)}.spell-form .primary{margin-bottom:6px}.sentence-target{font-size:30px;line-height:1.6;margin:24px 0 15px;letter-spacing:-.025em}.sentence-translation{font-size:16px;color:var(--muted)}.token-area{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0;min-height:80px;align-items:center}.token-area.selected-tokens{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:94px;margin:24px 0 8px}.token{border:1px solid var(--line);border-radius:4px;min-height:45px;padding:10px 13px;background:var(--paper);font-size:16px;box-shadow:0 2px 0 var(--line)}.selected-tokens .token{background:var(--pale)}.token-placeholder{font-size:13px;color:var(--muted)}.training-note{text-align:center;font-size:11px;color:var(--muted);margin-top:22px}.back-inline{font-size:12px;color:var(--muted)}.role-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.role-controls label{font-size:12px;color:var(--muted)}.turn-list{display:grid;gap:14px;margin:25px 0}.turn{padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:5px;max-width:91%}.turn.mine{margin-left:auto;background:var(--pale);border-color:oklch(79% .055 135)}.turn .role{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;margin-bottom:10px}.turn .en{font-size:18px;line-height:1.7;margin:0 0 8px}.turn .zh{font-size:12px;color:var(--muted);margin:0}.turn .text-button{font-size:11px;min-height:34px}.turn-placeholder{font-size:15px;margin:6px 0;color:var(--green)}.record-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.record-controls audio{max-width:100%;height:42px}.record-controls p{width:100%;margin:0;font-size:11px;color:var(--muted)}.self-rating{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.self-rating button{flex:1;min-width:150px;padding:15px 12px;border:1px solid var(--line);background:var(--paper);border-radius:4px;font-size:13px;min-height:54px}.finish{max-width:700px;margin:24px auto;text-align:center;padding:35px 0}.finish h1{font-size:40px;margin:20px 0}.finish .finish-mark{display:inline-flex;border:2px solid var(--green);background:var(--pale);padding:12px 18px;font:16px Bungee,sans-serif;transform:rotate(-3deg)}.finish p{color:var(--muted);font-size:14px}.finish-stats{display:flex;justify-content:center;gap:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;margin:30px 0}.finish-stats strong{display:block;font-size:29px;margin-bottom:8px}.finish-stats span{font-size:12px;color:var(--muted)}.finish .actions{justify-content:center}.finish-words{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:20px 0 30px}.finish-words a{padding:8px 12px;background:var(--sand);font-size:14px;border-radius:3px}
.parent-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.parent-section{border-top:1px solid var(--line);padding:24px 0}.parent-section h2{font-size:22px;margin:0 0 14px}.parent-section p{font-size:13px;color:var(--muted);max-width:65ch}.parent-section .actions{margin:18px 0 0}.connection-card{background:var(--pale);border:1px solid var(--line);border-radius:5px;padding:24px}.connection-card h2{font-size:23px;margin:0 0 14px}.connection-card p{font-size:13px;line-height:1.75;color:var(--muted)}.connection-card .primary{font-size:13px}.field-label{display:block;font-size:12px;margin:18px 0 8px}.field-input{border:1px solid var(--line);padding:12px;background:var(--white);border-radius:4px;width:100%;min-height:48px;font-size:14px}.pair-code{font:24px Lexend,sans-serif;letter-spacing:5px;user-select:all;overflow-wrap:anywhere;margin:20px 0 10px;line-height:1.8}.device-list{list-style:none;margin:20px 0 0;padding:0}.device-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.device-list button{font-size:11px;min-height:36px;color:var(--red)}.device-list small{color:var(--muted)}.parent-stat-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0;margin-bottom:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.parent-stat-list b{display:block;font-size:27px;margin-bottom:6px}.parent-stat-list span{font-size:11px;color:var(--muted)}.skill-table{width:100%;border-collapse:collapse;font-size:12px}.skill-table th{text-align:left;color:var(--muted);font-weight:500;padding:12px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.skill-table td{padding:13px 8px;border-bottom:1px solid var(--line)}.skill-table td:first-child{font-size:15px}.scroll-table{overflow:auto}.parent-footnote{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}.backup-label{display:inline-flex;align-items:center;min-height:46px;font-size:12px;border:1px solid var(--line);border-radius:4px;padding:10px 14px;cursor:pointer;background:var(--white)}.backup-label input{width:0;position:absolute;opacity:0}.notice-box{padding:16px 20px;background:var(--sand);border:1px solid oklch(82% .065 90);border-radius:4px;font-size:12px;line-height:1.8;margin:22px 0}.assessment{padding:20px 0;border-top:1px solid var(--line)}.assessment h3{font-size:17px;margin:0 0 12px}.assessment p{font-size:12px;margin:7px 0}.assessment .en{font-size:18px;color:var(--ink)}.rating-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 0}.rating-buttons button{border:1px solid var(--line);border-radius:4px;min-height:42px;padding:10px 13px;font-size:11px}.rating-buttons button.selected{background:var(--green);color:var(--paper)}.sources-list{font-size:12px;line-height:1.8}.sources-list article{padding:18px 0;border-top:1px solid var(--line)}.sources-list h3{font-size:15px}.sources-list a{text-decoration:underline;overflow-wrap:anywhere}.source-license{white-space:pre-wrap;font-size:11px;overflow-wrap:anywhere;color:var(--muted)}.footer{border-top:1px solid var(--line);min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding:20px 0 max(20px,env(safe-area-inset-bottom))}.footer .footer-actions{display:flex;gap:20px;align-items:center}.footer button{font-size:10px;color:var(--muted);padding:10px 0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:5px;font-size:13px;line-height:1.7;max-width:min(520px,calc(100% - 32px));box-shadow:0 5px 18px oklch(25% .03 140/.1);z-index:80}.save-banner{padding:15px 20px;border:1px solid oklch(72% .10 40);background:oklch(94% .025 40);color:var(--red);font-size:13px;line-height:1.8;margin-top:20px;border-radius:4px}.save-banner button{text-decoration:underline;margin-left:12px}.loading{max-width:760px;padding:80px 30px;margin:auto}.loading h1{font-size:32px}.loading p{color:var(--muted)}.inline-error{color:var(--red);font-size:12px;line-height:1.8}.offline-progress{display:flex;gap:12px;align-items:center;margin:12px 0;font-size:11px;color:var(--muted)}.offline-progress progress{max-width:220px}.unit-detail-goal{font-size:16px;line-height:1.8;max-width:60ch;color:var(--muted);margin-bottom:30px}.unit-lessons{display:grid;gap:14px}.unit-lesson-row{display:flex;gap:24px;align-items:center;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:4px}.unit-lesson-row .number{font:25px Bungee,sans-serif;color:var(--muted)}.unit-lesson-row h3{font-size:17px;margin:0 0 8px}.unit-lesson-row p{font-size:13px;margin:0;color:var(--muted)}.unit-lesson-row .secondary{margin-left:auto;flex-shrink:0}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}.topbar{gap:20px;min-height:88px}.topbar nav{gap:18px}.brand b{font-size:14px}.brand small{font-size:9px}.brand img{width:29px;height:33px}.parent-link{font-size:11px;padding:10px}.today-layout{grid-template-columns:1.3fr 1fr;gap:18px}.today-card{padding:28px;min-height:330px}.today-card h2{font-size:30px}.today-card .intro{font-size:13px;max-width:28ch}.lesson-counter{right:25px;font-size:24px}.side-task{padding:16px;flex-wrap:wrap;gap:8px}.side-task button{margin-left:auto}.unit-focus{gap:25px;grid-template-columns:.8fr 1.2fr}.unit-focus h3{font-size:21px}.word-detail{gap:34px}.parent-grid{gap:26px;grid-template-columns:1.1fr 1fr}.progress-strip{gap:22px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.topbar{flex-wrap:wrap;gap:0;min-height:112px;padding-top:16px;align-items:center}.brand{margin-right:auto}.brand b{font-size:16px}.parent-link{order:1}.topbar nav{order:2;width:100%;margin:8px 0 0;justify-content:space-between;gap:10px}.topbar nav a{font-size:13px;padding:8px 0;min-height:45px}.main{padding:28px 0 45px}.welcome{margin-bottom:24px}.welcome h1{font-size:29px}.welcome p{font-size:12px}.date-tag{display:none}.today-layout{grid-template-columns:1fr}.today-card{min-height:300px;padding:26px}.today-card h2{font-size:31px;max-width:none}.today-card .intro{max-width:34ch;font-size:13px}.today-card .eyebrow{margin-bottom:18px}.today-aside{flex-direction:row;align-items:center;gap:16px}.island-scene{max-width:38%;min-height:100px}.island-scene img{max-height:140px}.side-task{flex:1;padding:17px;gap:7px}.side-task h3{font-size:14px}.side-task p{font-size:11px}.side-task button{font-size:11px}.progress-strip{gap:18px;flex-wrap:wrap;padding:19px 0;font-size:10px}.progress-strip strong{font-size:17px}.progress-strip .sync-mini{width:100%;margin:0;text-align:left}.section-head{margin-top:30px;gap:16px}.section-head h2{font-size:23px}.section-head .text-button{font-size:11px}.unit-focus{grid-template-columns:1fr;gap:20px}.unit-focus h3{font-size:21px}.lesson-steps{gap:10px}.lesson-step{min-height:91px}.unit-grid{gap:0 20px}.unit-row{gap:12px;padding:18px 0}.unit-row h3{font-size:14px}.unit-row p{font-size:10px}.unit-row .number{font-size:19px;min-width:28px}.unit-row .unit-count{display:none}.home-note{gap:15px;font-size:11px;flex-direction:column;padding:24px 0}.page-title{margin-bottom:25px;align-items:flex-start}.page-title h1{font-size:29px}.page-title p{font-size:12px}.page-title .quiet{font-size:11px}.toolbar{gap:10px}.select{font-size:12px;max-width:45%;flex:1}.search{font-size:13px;flex-basis:100%}.word-list{gap:0 22px}.word-row{gap:10px;padding:18px 0}.word-row b{font-size:19px}.word-row small{font-size:11px}.word-row .word-status{font-size:9px;padding:4px}.word-detail{grid-template-columns:1fr;gap:10px;padding-top:10px}.word-detail h1{font-size:54px}.word-detail .meaning{font-size:21px}.word-detail .definition{font-size:14px;max-width:none}.word-detail .audio-button{margin-top:14px}.word-detail .example{padding:22px 0}.word-detail .example .en{font-size:21px}.expression-list{grid-template-columns:1fr}.scene-tabs{margin-bottom:14px}.scene-title{font-size:23px}.dialogue-card{padding:24px}.dialogue-card h3{font-size:23px}.expression .en{font-size:18px}.training-main{padding-top:12px}.training-top{margin-bottom:12px;font-size:11px}.progress-line{margin-bottom:24px;gap:12px}.exercise{padding:26px 24px 22px;min-height:370px}.exercise-title{font-size:20px;margin-top:24px}.learning-word{font-size:51px;margin-top:24px}.ipa{font-size:17px}.study-meaning{font-size:21px}.study-definition{font-size:14px}.study-example .en{font-size:20px}.study-example .zh{font-size:12px}.exercise-head .eyebrow{font-size:9px}.exercise-head .pill{font-size:9px}.answer{min-height:61px;font-size:16px;padding:15px;gap:13px}.exercise-actions{gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:17px}.exercise-actions .primary{margin-left:auto}.exercise-actions .text-button{font-size:11px}.sentence-target{font-size:26px}.sentence-translation{font-size:14px}.token{font-size:15px;padding:10px}.turn{padding:16px;max-width:95%}.turn .en{font-size:17px}.turn .zh{font-size:11px}.role-controls .audio-button{font-size:11px;padding:10px 12px}.role-controls .select{max-width:180px}.finish{margin:15px auto}.finish h1{font-size:31px}.finish-stats{gap:28px;padding:22px 10px}.finish-stats strong{font-size:25px}.finish-stats span{font-size:11px}.parent-grid{grid-template-columns:1fr;gap:24px}.parent-grid aside{order:-1}.connection-card{padding:23px}.parent-stat-list{gap:15px}.parent-stat-list b{font-size:25px}.footer{flex-wrap:wrap;gap:14px;font-size:9px}.footer-actions{gap:15px!important}.unit-lesson-row{padding:18px;gap:15px;flex-wrap:wrap}.unit-lesson-row h3{font-size:16px}.unit-lesson-row p{font-size:12px}.unit-lesson-row .secondary{font-size:12px;min-height:42px}.unit-detail-goal{font-size:14px}}
@media(max-width:400px){.shell{width:calc(100% - 32px)}.brand b{font-size:14px}.brand small{font-size:8px}.parent-link{padding:9px;font-size:10px}.welcome h1{font-size:27px}.today-card{padding:23px}.today-card h2{font-size:29px}.lesson-counter{font-size:21px;right:20px;top:24px}.today-meta{gap:12px;font-size:10px}.today-aside{gap:9px}.side-task{padding:14px}.exercise{padding:23px 18px 20px}.learning-word{font-size:46px}.exercise-actions .primary{padding:11px 17px}.word-row .word-status{display:none}.unit-grid{grid-template-columns:1fr}.unit-row .unit-count{display:block}.word-list{gap:0 18px}.word-row b{font-size:18px}.finish .actions{gap:12px}.pair-code{font-size:21px;letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
