.df-guide-ring{position:fixed;z-index:6201;border:3px solid #d9ad52;border-radius:16px;box-shadow:0 0 0 6px #d9ad5229;pointer-events:none}.df-newbie-guide{--guide-ink:#173e2c;--guide-muted:#486354;position:fixed;z-index:6300;box-sizing:border-box;display:flex;flex-direction:column;gap:0;width:min(352px,calc(100vw - 32px));padding:16px 20px 20px;border-radius:16px;background:#f9fcf8;color:var(--guide-ink);box-shadow:0 12px 40px #091f163d;font-family:var(--df-font-ui,system-ui,sans-serif);text-align:left;pointer-events:auto;overflow:hidden;isolation:isolate}.df-guide-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;min-height:44px}.df-guide-step{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--guide-ink)}.df-guide-step svg{width:20px;height:20px;color:#9c7024}.df-newbie-guide .df-guide-skip{min-height:44px;padding:8px 0 8px 12px;border:0;background:none;color:var(--guide-muted);font:400 .8125rem/1.5 var(--df-font-ui,system-ui);cursor:pointer}.df-guide-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:4px 0 20px;flex-shrink:0}.df-guide-progress span{height:4px;border-radius:4px;background:#dae5dd;transition:background-color .2s ease-out}.df-guide-progress [data-state=done]{background:#28774f}.df-guide-progress [data-state=current]{background:#b98730;animation:dfGuideTrail .32s cubic-bezier(.16,1,.3,1)}.df-guide-copy{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#91b19d transparent}.df-newbie-guide h2{margin:0 0 8px;font:700 1.125rem/1.4 var(--df-font-ui,system-ui);color:var(--guide-ink);text-wrap:balance}.df-newbie-guide p{margin:0;font-size:.875rem;line-height:1.7;color:var(--guide-muted)}.df-guide-actions{display:flex;flex-shrink:0;margin-top:20px}.df-newbie-guide .df-guide-next{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:12px;background:#1f6b46;color:#fff;font:600 .9375rem/1.5 var(--df-font-ui,system-ui);cursor:pointer;white-space:normal;transition:background-color .15s ease-out}.df-newbie-guide .df-guide-next:hover{background:#175437}.df-newbie-guide .df-guide-next:active{background:#123e2c}.df-newbie-guide .df-guide-next:disabled{opacity:.65;cursor:wait}.df-guide-next svg{width:18px;height:18px;flex:none}.df-newbie-guide button:focus-visible{outline:2px solid #9c7024;outline-offset:3px}.df-newbie-guide[data-final] .df-guide-step svg{color:#28774f}.df-newbie-guide ::selection{background:#dcebdd;color:#173e2c}@keyframes dfGuideTrail{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media(max-width:360px){.df-newbie-guide{padding:12px 16px 16px}.df-guide-progress{margin-bottom:16px}.df-guide-actions{margin-top:16px}}@media(prefers-reduced-motion:reduce){.df-guide-ring,.df-newbie-guide,.df-guide-progress span{animation:none}.df-newbie-guide *{transition:none}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer utilities{.df-html-choice,.df-html-choice :where(*:not(svg,svg *)){all:revert;box-sizing:border-box}.df-html-choice{--df-bg: #f2f7f3;--df-surface: #ffffff;--df-surface-2: #edf4ee;--df-surface-3: #e3ede5;--df-surface-past: #e9ecea;--df-line: #d7e5da;--df-line-soft: #e8f0ea;--df-line-strong: #b9d0be;--df-ink: #17281f;--df-ink-2: #42574b;--df-ink-3: #5a6a61;--df-ink-on-brand: #ffffff;--df-ink-hover: #223528;--df-brand: #3aa26c;--df-brand-hover: #2f8d5c;--df-brand-ink: #1f6b46;--df-brand-soft: #e3f4ea;--df-brand-line: #a9dcbf;--df-brand-mid: #62b48c;--df-brand-deep: #26794f;--df-good: #2f9e63;--df-good-ink: #1c7a49;--df-good-bg: #e7f6ee;--df-good-line: #a5dcbd;--df-done: #2b7d63;--df-done-ink: #1f6350;--df-done-bg: #e4f1ec;--df-done-line: #9ecabb;--df-todo: #5b6b80;--df-todo-ink: #45536a;--df-todo-bg: #eef1f6;--df-todo-line: #c2ccdb;--df-bad: #d5544e;--df-bad-ink: #a3352f;--df-bad-bg: #fdeceb;--df-bad-line: #f2b8b5;--df-warn: #c98a2e;--df-warn-ink: #8a5b12;--df-warn-bg: #fdf3e2;--df-warn-line: #e8c98d;--df-accent: #35768f;--df-accent-ink: #2b6076;--df-accent-soft: #e6f1f5;--df-accent-line: #a7c6d3;--df-clay: #9c6450;--df-clay-ink: #7f4d3b;--df-clay-soft: #f6efec;--df-clay-line: #dcbfb2;--df-gold: #c8993c;--df-gold-soft: #fbf1dc;--df-fam-root-soft: #eef1f7;--df-fam-tell-line: #b9a184;--df-fam-tell-soft: #f7f3ec;--df-fam-use-line: #ab95b8;--df-fam-use-soft: #f5f1f8;--df-fam-theme-line: #84b3ae;--df-fam-theme-soft: #ecf5f4;--df-fam-plain-line: #a3ada7;--df-fam-plain-soft: #f1f3f2;--df-r-xs: 5px;--df-r-sm: 8px;--df-r-md: 11px;--df-r-lg: 14px;--df-r-xl: 18px;--df-r-pill: 999px;--df-r-round: 50%;--df-r-blob-a: 46% 54% 40% 60% / 55% 42% 58% 45%;--df-r-blob-b: 58% 42% 56% 44% / 44% 58% 42% 56%;--df-r-blob-egg: 52% 52% 48% 48% / 58% 58% 42% 42%;--df-r-blob-dome: 50% 50% 44% 44% / 54% 54% 46% 46%;--df-s1: 4px;--df-s2: 8px;--df-s3: 12px;--df-s4: 16px;--df-s5: 24px;--df-s6: 32px;--df-s7: 48px;--df-s8: 64px;--df-fs-display: 30px;--df-fs-word: 38px;--df-fs-word-sm: 26px;--df-fs-ipa: 14px;--df-fs-ipa-sm: 12px;--df-fs-h1: 25px;--df-fs-h2: 21px;--df-fs-h3: 18px;--df-fs-body: 15px;--df-fs-small: 13px;--df-fs-tiny: 11px;--df-lh-tight: 1.25;--df-lh-body: 1.7;--df-fw-word: 700;--df-fw-strong: 600;--df-fw-body: 400;--df-sh-1: 0 1px 2px rgba(23, 40, 31, .05);--df-sh-2: 0 4px 14px rgba(23, 40, 31, .07);--df-sh-3: 0 12px 32px rgba(23, 40, 31, .1);--df-sh-focus: 0 0 0 3px rgba(58, 162, 108, .22);--df-glass: rgba(255, 255, 255, .72);--df-glass-2: rgba(255, 255, 255, .55);--df-glass-line: rgba(255, 255, 255, .68);--df-blur: saturate(140%) blur(14px);--df-col: 680px;--df-col-wide: 960px;--df-col-card: 460px;--df-rail: 236px;--df-isle: 156px;--df-ease: cubic-bezier(.2, .8, .3, 1);--df-ease-out: cubic-bezier(.16, 1, .3, 1);--df-fast: .16s;--df-slow: .32s}.df-html-choice{font:16px PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif;color:var(--df-ink)}}@layer utilities{.df-html-choice *{box-sizing:border-box}.df-html-choice button{font:inherit;cursor:pointer}.df-html-choice .screen{display:none;min-height:820px;padding:56px 60px;background:linear-gradient(180deg,var(--df-surface-2),var(--df-surface))}.df-html-choice .screen.active{display:block}.df-html-choice .center{max-width:940px;margin:auto}.df-html-choice .title{font-family:Georgia,STSong,serif;text-align:center;font-size:54px;line-height:1.14;margin:14px 0 0;color:var(--forest)}.df-html-choice .sub{max-width:680px;margin:0 auto;text-align:center;color:#62645f;font-size:16px;line-height:1.85}.df-html-choice .card{background:var(--df-surface-2);border:1px solid var(--line);border-radius:var(--df-r-lg);box-shadow:var(--shadow)}.df-html-choice .primary{border:2px solid var(--gold);background:radial-gradient(circle at 30% 20%,var(--df-brand-ink),#143528 74%);color:var(--df-ink-on-brand);border-radius:var(--df-r-pill);padding:14px 28px;font-size:17px;font-weight:800;box-shadow:#10281e21 0 9px 18px}.df-html-choice .actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:27px}.df-html-choice .mini.selected{box-shadow:inset 0 0 0 2px var(--forest2);background:var(--df-surface-2)}.df-html-choice .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.df-html-choice .mini{padding:22px 12px;text-align:center}.df-html-choice .ico{width:60px;height:60px;border-radius:var(--df-r-round);background:var(--df-surface);display:grid;place-items:center;margin:auto;font-size:26px}.df-html-choice .mini h3{font-family:Georgia,STSong,serif;font-size:23px;margin:11px 0 4px}.df-html-choice .mini p{margin:0;color:var(--muted);font-size:12px}@media(max-width:980px){.df-html-choice .grid{grid-template-columns:1fr 1fr}.df-html-choice .screen{padding:36px 20px}}@keyframes skinFade{}@keyframes unlockPop{}@keyframes skinAwardIn{}@keyframes skinNoticeIn{}@keyframes megaEvoIn{}@keyframes ringCharge{}@keyframes eggCharge{}@keyframes crackGlow{}@keyframes eggBurst{}@keyframes particleShoot{}@keyframes eggShake{}@keyframes skinAscend{}@keyframes flashBurst{}.df-html-choice .primary{background:linear-gradient(180deg,var(--df-brand) 0%,var(--df-brand-ink) 100%);border:1px solid var(--df-brand-ink);color:var(--df-ink-on-brand);box-shadow:#3b2a18 0 2px}.df-html-choice .primary:hover{background:linear-gradient(180deg,var(--df-brand-soft) 0%,var(--df-brand-ink) 100%)}@keyframes dfBShake{}@keyframes dfBBar{}@keyframes fxNod{}@keyframes fxSway{}@keyframes fxGlasses{}@keyframes fxFloat{}@keyframes fxRock{}@keyframes fxBlink{}@keyframes fxPop{}@keyframes fxSpin{}@keyframes fxSweep{}@keyframes fxNotes{}@keyframes fxFire{}@keyframes fxSnow{}@keyframes mvThumb{}@keyframes mvCap{}@keyframes mvGlasses{}@keyframes mvRock{}@keyframes mvFire{}@keyframes mvFloat{}@keyframes mvSway{}@keyframes hatTurn{}@keyframes glassesLift{}@keyframes glintSweep{}@keyframes thumbPop{}@keyframes bling{}@keyframes notesRise{}@keyframes flameThrow{}@keyframes ember{}@keyframes snowFall{}@keyframes robeWave{}@keyframes dfSimpleBlingShake{}@keyframes dfV25SwayBling{}@keyframes wordMatchGood{}@keyframes wordMatchWrong{}@keyframes roundFlash{}@keyframes wgNodePulse{}@keyframes wgMatchToast{}@keyframes wgLayerIn{}@keyframes wgClearPop{}@keyframes wgEmblem{}@keyframes coinToast{}@keyframes countPop{}@keyframes newbieGuidePulse{}@keyframes newbieBubbleIn{}@keyframes newbieCardIn{}@keyframes newbieSkinGlow{}@keyframes v41TutorialPulse{}.df-html-choice .routeGroup{width:100%;margin-bottom:18px}.df-html-choice .routeGroupName{font-size:var(--df-fs-small);letter-spacing:.14em;color:var(--df-ink-3);margin:0 0 10px 2px;text-align:left}.df-html-choice .routeGroup .grid{margin:0}.df-html-choice .card.mini[data-route]{position:relative;padding-bottom:34px}.df-html-choice .probeLink{position:absolute;left:0;right:0;bottom:0;border-right:0px;border-bottom:0px;border-left:0px;border-image:none;border-top:1px solid var(--df-line-soft);background:transparent;cursor:pointer;padding:8px 0;font-size:var(--df-fs-small);color:var(--df-brand-ink);font-family:inherit;letter-spacing:.04em;border-radius:0 0 var(--df-r-md) var(--df-r-md)}.df-html-choice .probeLink:hover{background:var(--df-brand-soft);color:var(--df-brand-ink)}@media(max-width:420px){.df-html-choice .screen{padding:22px 14px;min-height:auto}}.df-html-choice #route.screen{background:var(--df-bg);min-height:calc(100dvh - 62px);padding:var(--df-s6) var(--df-s5) var(--df-s7)}.df-html-choice #route .title{font-family:inherit;font-size:var(--df-fs-h1);font-weight:var(--df-fw-strong);color:var(--df-ink);letter-spacing:0px;margin:var(--df-s2) 0 0}.df-html-choice #route .sub{font-size:var(--df-fs-body);color:var(--df-ink-2);line-height:var(--df-lh-body);margin-top:var(--df-s3)}.df-html-choice .dfStepTag{display:block;text-align:center;font-size:var(--df-fs-small);color:var(--df-brand-ink);letter-spacing:.04em}.df-html-choice #route .primary{border:0px;background:var(--df-brand);color:var(--df-ink-on-brand);border-radius:var(--df-r-md);padding:14px var(--df-s6);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);box-shadow:var(--df-sh-2);transition:background var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice #route .primary:hover{background:var(--df-brand-hover);transform:translateY(-1px)}.df-html-choice #route .primary:focus-visible{outline:0px;box-shadow:var(--df-sh-focus)}.df-html-choice #route .card{background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1)}.df-html-choice #route .mini{cursor:pointer;transition:border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice #route .mini:hover{border-color:var(--df-brand-line);transform:translateY(-1px);box-shadow:var(--df-sh-2)}.df-html-choice #route .mini.selected{border-color:var(--df-brand);background:var(--df-brand-soft);box-shadow:var(--df-sh-focus)}.df-html-choice #route .mini h3{font-family:inherit;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-choice #route .mini p{color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:1.6}.df-html-choice #route .ico{background:var(--df-surface-2);border:1px solid var(--df-line-soft)}@media(max-width:560px){.df-html-choice #route.screen{padding:var(--df-s5) var(--df-s3) var(--df-s6)}}.df-html-choice #route .grid{grid-template-columns:repeat(4,1fr);gap:var(--df-s3);margin-top:var(--df-s4)}.df-html-choice .routeGroup+.routeGroup{margin-top:var(--df-s5)}.df-html-choice #route .card.mini[data-route]{display:flex;flex-direction:column;padding:var(--df-s5) var(--df-s4) 42px;text-align:center}.df-html-choice #route .card.mini[data-route] h3{margin:var(--df-s3) 0 var(--df-s2)}.df-html-choice #route .card.mini[data-route] p{flex:1 1 auto;margin:0 0 var(--df-s4);text-align:center}.df-html-choice .routeStat{display:flex;gap:var(--df-s2)}.df-html-choice .routeStat span{flex:1 1 0px;min-width:0px;padding:7px var(--df-s1) 6px;border-radius:var(--df-r-sm);background:var(--df-surface-2);border:1px solid var(--df-line-soft);font-size:var(--df-fs-tiny);color:var(--df-ink-3);line-height:1.4}.df-html-choice .routeStat b{display:block;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.df-html-choice #route .card.mini.selected .routeStat span{background:var(--df-surface);border-color:var(--df-brand-line)}@media(max-width:980px){.df-html-choice #route .grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.df-html-choice #route .card.mini[data-route]{padding:var(--df-s4) var(--df-s3) 40px}.df-html-choice #route .card.mini[data-route] p{margin-bottom:var(--df-s3)}.df-html-choice .routeStat{gap:var(--df-s1)}.df-html-choice .routeStat span{padding:6px 2px 5px}}.df-html-choice button{transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-choice button:focus-visible{outline:0px;box-shadow:var(--df-sh-focus);border-radius:var(--df-r-sm)}.df-html-choice button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}@keyframes dfRight{}@keyframes dfWrong{}@keyframes dfFloatUp{}@keyframes dfSweep{}.df-html-choice .card{transition:box-shadow var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice *{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}@media(prefers-reduced-motion:reduce){.df-html-choice *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes df52Confetti{}@keyframes df52Charge{}@keyframes df52EggWiggle{}@keyframes df52SkinReveal{}}@layer utilities{.df-html-choice .card.mini{font:inherit;text-align:center;cursor:pointer}.df-html-choice .card.mini:disabled{cursor:not-allowed;opacity:.6}.df-html-choice .choiceAvailability{display:block;text-align:center}.df-prototype-frame:has(.df-html-choice)>.df-v2-main{padding:0;max-width:none;background:var(--df-bg,#f2f7f3)}.df-html-choice .choiceBookSlot{position:relative;min-width:0}.df-html-choice .choiceBookSelect{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:inherit}.df-html-choice .choiceBookSlot>button.probeLink{z-index:1}.df-html-choice .choiceBookSlot>.choiceAvailability{pointer-events:none}.df-html-choice #route .choiceBookSlot:has(>.choiceBookSelect:disabled){cursor:not-allowed;opacity:.6;transform:none}.df-html-choice .choiceError{color:var(--df-bad-ink)}.df-html-choice button:focus-visible{outline:2px solid var(--df-brand);outline-offset:3px}.df-html-choice #route .routeChoiceTitle{margin-bottom:var(--df-s5)}.df-html-choice #route .card.mini[data-route] p{width:100%;max-width:12em;min-height:3.2em;margin-left:auto;margin-right:auto;line-height:1.6;text-wrap:pretty}.df-html-choice #route .choiceCancel{min-width:110px;padding:14px 24px;border:1px solid var(--df-line-strong);border-radius:var(--df-r-md);background:var(--df-surface);color:var(--df-ink-2);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);box-shadow:var(--df-sh-1)}.df-html-choice #route .choiceCancel:hover{border-color:var(--df-brand-line);background:var(--df-brand-soft);color:var(--df-brand-ink)}@media(max-width:560px){.df-html-choice #route .routeChoiceTitle{margin-bottom:var(--df-s4)}.df-html-choice #route .choiceCancel,.df-html-choice #route .primary{min-height:48px}}}@layer utilities{.df-choice-probe .probeMask{position:fixed;inset:0;z-index:120;display:block;background:color-mix(in srgb,var(--df-ink) 30%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}.df-choice-probe .probeMask.on{display:flex}.df-choice-probe .probeBox{position:fixed;z-index:121;top:50%;left:50%;transform:translate(-50%,-50%);width:min(var(--df-col),calc(100% - 40px));max-height:88vh;overflow:auto;background:color-mix(in srgb,var(--df-surface) 92%,transparent);backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2);border:1px solid color-mix(in srgb,var(--df-surface) 60%,var(--df-line));border-radius:var(--df-r-lg);padding:var(--df-s5) var(--df-s5) var(--df-s4);box-shadow:var(--df-sh-3)}.df-choice-probe .probeBox h3{margin:0 0 6px;font-size:var(--df-fs-h2);color:var(--df-ink)}.df-choice-probe .probeBox .probeNote{margin:0 0 18px;color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-choice-probe .probeStep{display:flex;align-items:center;gap:var(--df-s3);font-size:var(--df-fs-small);color:var(--df-ink-3);margin-bottom:10px}.df-choice-probe .probePips{display:inline-flex;gap:5px}.df-choice-probe .probePips i{width:7px;height:7px;border-radius:var(--df-r-round);background:var(--df-surface-3)}.df-choice-probe .probePips i.done{background:var(--df-brand-line)}.df-choice-probe .probePips i.cur{background:var(--df-brand)}.df-choice-probe .probeWords{display:flex;flex-wrap:wrap;gap:var(--df-s2);margin-bottom:20px}.df-choice-probe .probeWord{background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-sm);padding:7px 11px;font-size:var(--df-fs-body);color:var(--df-ink)}.df-choice-probe .probeWord b{font-weight:var(--df-fw-strong)}.df-choice-probe .probeWord span{color:var(--df-ink-3);font-size:var(--df-fs-small);margin-left:6px}.df-choice-probe .probeAsk{display:flex;flex-direction:column;gap:9px}.df-choice-probe .probeAsk button{border:1px solid var(--df-line);background:var(--df-surface);border-radius:var(--df-r-sm);padding:12px 14px;text-align:left;cursor:pointer;font-size:var(--df-fs-body);color:var(--df-ink);font-family:inherit;transition:border-color var(--df-fast) var(--df-ease),background var(--df-fast) var(--df-ease)}.df-choice-probe .probeAsk button span{color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-choice-probe .probeAsk button:hover{border-color:var(--df-brand-line);background:var(--df-brand-soft)}.df-choice-probe .probeAsk button:focus-visible{outline:0;box-shadow:var(--df-sh-focus)}.df-choice-probe .probeCount{margin:0 0 14px;padding:10px var(--df-s4);border-radius:var(--df-r-sm);background:var(--df-surface-2);border:1px solid var(--df-line-soft);font-size:var(--df-fs-small);color:var(--df-ink-2);line-height:var(--df-lh-body)}.df-choice-probe .probeCount b{color:var(--df-ink);font-variant-numeric:tabular-nums}.df-choice-probe .probeResult{font-size:var(--df-fs-body);line-height:var(--df-lh-body);color:var(--df-ink)}.df-choice-probe .probeResult .big{font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-brand-ink)}.df-choice-probe .probeActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.df-choice-probe .probeActions button{border-radius:var(--df-r-sm);padding:11px 18px;cursor:pointer;font-size:var(--df-fs-body);font-family:inherit;border:1px solid var(--df-line);background:var(--df-surface);color:var(--df-ink)}.df-choice-probe .probeActions button:hover{border-color:var(--df-line-strong)}.df-choice-probe .probeActions .go{background:var(--df-brand);border-color:var(--df-brand);color:var(--df-ink-on-brand);font-weight:var(--df-fw-strong)}.df-choice-probe .probeActions .go:hover{background:var(--df-brand-hover);border-color:var(--df-brand-hover)}.df-choice-probe .probeClose{float:right;border:0;background:transparent;cursor:pointer;color:var(--df-ink-3);font-size:20px;line-height:1}.df-choice-probe .probeClose:hover{color:var(--df-ink)}.df-choice-probe .probeBox{outline:none}.df-choice-probe .probeClose{min-width:44px;min-height:44px}.df-choice-probe .probeBox button:focus-visible{outline:2px solid var(--df-brand);outline-offset:2px}.df-choice-probe .probeActions+.probeNote{margin-top:16px;margin-bottom:0}@media(max-width:480px){.df-choice-probe .probeBox{padding:20px 16px}.df-choice-probe .probeAsk button span{display:block}}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer utilities{.df-html-choice,.df-html-choice :where(*:not(svg,svg *)){all:revert;box-sizing:border-box}.df-html-choice{--df-bg: #f2f7f3;--df-surface: #ffffff;--df-surface-2: #edf4ee;--df-surface-3: #e3ede5;--df-surface-past: #e9ecea;--df-line: #d7e5da;--df-line-soft: #e8f0ea;--df-line-strong: #b9d0be;--df-ink: #17281f;--df-ink-2: #42574b;--df-ink-3: #5a6a61;--df-ink-on-brand: #ffffff;--df-ink-hover: #223528;--df-brand: #3aa26c;--df-brand-hover: #2f8d5c;--df-brand-ink: #1f6b46;--df-brand-soft: #e3f4ea;--df-brand-line: #a9dcbf;--df-brand-mid: #62b48c;--df-brand-deep: #26794f;--df-good: #2f9e63;--df-good-ink: #1c7a49;--df-good-bg: #e7f6ee;--df-good-line: #a5dcbd;--df-done: #2b7d63;--df-done-ink: #1f6350;--df-done-bg: #e4f1ec;--df-done-line: #9ecabb;--df-todo: #5b6b80;--df-todo-ink: #45536a;--df-todo-bg: #eef1f6;--df-todo-line: #c2ccdb;--df-bad: #d5544e;--df-bad-ink: #a3352f;--df-bad-bg: #fdeceb;--df-bad-line: #f2b8b5;--df-warn: #c98a2e;--df-warn-ink: #8a5b12;--df-warn-bg: #fdf3e2;--df-warn-line: #e8c98d;--df-accent: #35768f;--df-accent-ink: #2b6076;--df-accent-soft: #e6f1f5;--df-accent-line: #a7c6d3;--df-clay: #9c6450;--df-clay-ink: #7f4d3b;--df-clay-soft: #f6efec;--df-clay-line: #dcbfb2;--df-gold: #c8993c;--df-gold-soft: #fbf1dc;--df-fam-root-soft: #eef1f7;--df-fam-tell-line: #b9a184;--df-fam-tell-soft: #f7f3ec;--df-fam-use-line: #ab95b8;--df-fam-use-soft: #f5f1f8;--df-fam-theme-line: #84b3ae;--df-fam-theme-soft: #ecf5f4;--df-fam-plain-line: #a3ada7;--df-fam-plain-soft: #f1f3f2;--df-r-xs: 5px;--df-r-sm: 8px;--df-r-md: 11px;--df-r-lg: 14px;--df-r-xl: 18px;--df-r-pill: 999px;--df-r-round: 50%;--df-r-blob-a: 46% 54% 40% 60% / 55% 42% 58% 45%;--df-r-blob-b: 58% 42% 56% 44% / 44% 58% 42% 56%;--df-r-blob-egg: 52% 52% 48% 48% / 58% 58% 42% 42%;--df-r-blob-dome: 50% 50% 44% 44% / 54% 54% 46% 46%;--df-s1: 4px;--df-s2: 8px;--df-s3: 12px;--df-s4: 16px;--df-s5: 24px;--df-s6: 32px;--df-s7: 48px;--df-s8: 64px;--df-fs-display: 30px;--df-fs-word: 38px;--df-fs-word-sm: 26px;--df-fs-ipa: 14px;--df-fs-ipa-sm: 12px;--df-fs-h1: 25px;--df-fs-h2: 21px;--df-fs-h3: 18px;--df-fs-body: 15px;--df-fs-small: 13px;--df-fs-tiny: 11px;--df-lh-tight: 1.25;--df-lh-body: 1.7;--df-fw-word: 700;--df-fw-strong: 600;--df-fw-body: 400;--df-sh-1: 0 1px 2px rgba(23, 40, 31, .05);--df-sh-2: 0 4px 14px rgba(23, 40, 31, .07);--df-sh-3: 0 12px 32px rgba(23, 40, 31, .1);--df-sh-focus: 0 0 0 3px rgba(58, 162, 108, .22);--df-glass: rgba(255, 255, 255, .72);--df-glass-2: rgba(255, 255, 255, .55);--df-glass-line: rgba(255, 255, 255, .68);--df-blur: saturate(140%) blur(14px);--df-col: 680px;--df-col-wide: 960px;--df-col-card: 460px;--df-rail: 236px;--df-isle: 156px;--df-ease: cubic-bezier(.2, .8, .3, 1);--df-ease-out: cubic-bezier(.16, 1, .3, 1);--df-fast: .16s;--df-slow: .32s}.df-html-choice{font:16px PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif;color:var(--df-ink)}}@layer utilities{.df-html-choice *{box-sizing:border-box}.df-html-choice button{font:inherit;cursor:pointer}.df-html-choice .screen{display:none;min-height:820px;padding:56px 60px;background:linear-gradient(180deg,var(--df-surface-2),var(--df-surface))}.df-html-choice .screen.active{display:block}.df-html-choice .center{max-width:940px;margin:auto}.df-html-choice .title{font-family:Georgia,STSong,serif;text-align:center;font-size:54px;line-height:1.14;margin:14px 0 0;color:var(--forest)}.df-html-choice .sub{max-width:680px;margin:0 auto;text-align:center;color:#62645f;font-size:16px;line-height:1.85}.df-html-choice .card{background:var(--df-surface-2);border:1px solid var(--line);border-radius:var(--df-r-lg);box-shadow:var(--shadow)}.df-html-choice .primary{border:2px solid var(--gold);background:radial-gradient(circle at 30% 20%,var(--df-brand-ink),#143528 74%);color:var(--df-ink-on-brand);border-radius:var(--df-r-pill);padding:14px 28px;font-size:17px;font-weight:800;box-shadow:#10281e21 0 9px 18px}.df-html-choice .actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:27px}.df-html-choice .mini.selected{box-shadow:inset 0 0 0 2px var(--forest2);background:var(--df-surface-2)}.df-html-choice .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.df-html-choice .mini{padding:22px 12px;text-align:center}.df-html-choice .ico{width:60px;height:60px;border-radius:var(--df-r-round);background:var(--df-surface);display:grid;place-items:center;margin:auto;font-size:26px}.df-html-choice .mini h3{font-family:Georgia,STSong,serif;font-size:23px;margin:11px 0 4px}.df-html-choice .mini p{margin:0;color:var(--muted);font-size:12px}@media(max-width:980px){.df-html-choice .grid{grid-template-columns:1fr 1fr}.df-html-choice .screen{padding:36px 20px}}@keyframes skinFade{}@keyframes unlockPop{}@keyframes skinAwardIn{}@keyframes skinNoticeIn{}@keyframes megaEvoIn{}@keyframes ringCharge{}@keyframes eggCharge{}@keyframes crackGlow{}@keyframes eggBurst{}@keyframes particleShoot{}@keyframes eggShake{}@keyframes skinAscend{}@keyframes flashBurst{}.df-html-choice .primary{background:linear-gradient(180deg,var(--df-brand) 0%,var(--df-brand-ink) 100%);border:1px solid var(--df-brand-ink);color:var(--df-ink-on-brand);box-shadow:#3b2a18 0 2px}.df-html-choice .primary:hover{background:linear-gradient(180deg,var(--df-brand-soft) 0%,var(--df-brand-ink) 100%)}@keyframes dfBShake{}@keyframes dfBBar{}@keyframes fxNod{}@keyframes fxSway{}@keyframes fxGlasses{}@keyframes fxFloat{}@keyframes fxRock{}@keyframes fxBlink{}@keyframes fxPop{}@keyframes fxSpin{}@keyframes fxSweep{}@keyframes fxNotes{}@keyframes fxFire{}@keyframes fxSnow{}@keyframes mvThumb{}@keyframes mvCap{}@keyframes mvGlasses{}@keyframes mvRock{}@keyframes mvFire{}@keyframes mvFloat{}@keyframes mvSway{}@keyframes hatTurn{}@keyframes glassesLift{}@keyframes glintSweep{}@keyframes thumbPop{}@keyframes bling{}@keyframes notesRise{}@keyframes flameThrow{}@keyframes ember{}@keyframes snowFall{}@keyframes robeWave{}@keyframes dfSimpleBlingShake{}@keyframes dfV25SwayBling{}@keyframes wordMatchGood{}@keyframes wordMatchWrong{}@keyframes roundFlash{}@keyframes wgNodePulse{}@keyframes wgMatchToast{}@keyframes wgLayerIn{}@keyframes wgClearPop{}@keyframes wgEmblem{}@keyframes coinToast{}@keyframes countPop{}@keyframes newbieGuidePulse{}@keyframes newbieBubbleIn{}@keyframes newbieCardIn{}@keyframes newbieSkinGlow{}@keyframes v41TutorialPulse{}.df-html-choice .routeGroup{width:100%;margin-bottom:18px}.df-html-choice .routeGroupName{font-size:var(--df-fs-small);letter-spacing:.14em;color:var(--df-ink-3);margin:0 0 10px 2px;text-align:left}.df-html-choice .routeGroup .grid{margin:0}.df-html-choice .card.mini[data-route]{position:relative;padding-bottom:34px}.df-html-choice .probeLink{position:absolute;left:0;right:0;bottom:0;border-right:0px;border-bottom:0px;border-left:0px;border-image:none;border-top:1px solid var(--df-line-soft);background:transparent;cursor:pointer;padding:8px 0;font-size:var(--df-fs-small);color:var(--df-brand-ink);font-family:inherit;letter-spacing:.04em;border-radius:0 0 var(--df-r-md) var(--df-r-md)}.df-html-choice .probeLink:hover{background:var(--df-brand-soft);color:var(--df-brand-ink)}@media(max-width:420px){.df-html-choice .screen{padding:22px 14px;min-height:auto}}.df-html-choice #route.screen{background:var(--df-bg);min-height:calc(100dvh - 62px);padding:var(--df-s6) var(--df-s5) var(--df-s7)}.df-html-choice #route .title{font-family:inherit;font-size:var(--df-fs-h1);font-weight:var(--df-fw-strong);color:var(--df-ink);letter-spacing:0px;margin:var(--df-s2) 0 0}.df-html-choice #route .sub{font-size:var(--df-fs-body);color:var(--df-ink-2);line-height:var(--df-lh-body);margin-top:var(--df-s3)}.df-html-choice .dfStepTag{display:block;text-align:center;font-size:var(--df-fs-small);color:var(--df-brand-ink);letter-spacing:.04em}.df-html-choice #route .primary{border:0px;background:var(--df-brand);color:var(--df-ink-on-brand);border-radius:var(--df-r-md);padding:14px var(--df-s6);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);box-shadow:var(--df-sh-2);transition:background var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice #route .primary:hover{background:var(--df-brand-hover);transform:translateY(-1px)}.df-html-choice #route .primary:focus-visible{outline:0px;box-shadow:var(--df-sh-focus)}.df-html-choice #route .card{background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1)}.df-html-choice #route .mini{cursor:pointer;transition:border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice #route .mini:hover{border-color:var(--df-brand-line);transform:translateY(-1px);box-shadow:var(--df-sh-2)}.df-html-choice #route .mini.selected{border-color:var(--df-brand);background:var(--df-brand-soft);box-shadow:var(--df-sh-focus)}.df-html-choice #route .mini h3{font-family:inherit;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-choice #route .mini p{color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:1.6}.df-html-choice #route .ico{background:var(--df-surface-2);border:1px solid var(--df-line-soft)}@media(max-width:560px){.df-html-choice #route.screen{padding:var(--df-s5) var(--df-s3) var(--df-s6)}}.df-html-choice #route .grid{grid-template-columns:repeat(4,1fr);gap:var(--df-s3);margin-top:var(--df-s4)}.df-html-choice .routeGroup+.routeGroup{margin-top:var(--df-s5)}.df-html-choice #route .card.mini[data-route]{display:flex;flex-direction:column;padding:var(--df-s5) var(--df-s4) 42px;text-align:center}.df-html-choice #route .card.mini[data-route] h3{margin:var(--df-s3) 0 var(--df-s2)}.df-html-choice #route .card.mini[data-route] p{flex:1 1 auto;margin:0 0 var(--df-s4);text-align:center}.df-html-choice .routeStat{display:flex;gap:var(--df-s2)}.df-html-choice .routeStat span{flex:1 1 0px;min-width:0px;padding:7px var(--df-s1) 6px;border-radius:var(--df-r-sm);background:var(--df-surface-2);border:1px solid var(--df-line-soft);font-size:var(--df-fs-tiny);color:var(--df-ink-3);line-height:1.4}.df-html-choice .routeStat b{display:block;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.df-html-choice #route .card.mini.selected .routeStat span{background:var(--df-surface);border-color:var(--df-brand-line)}@media(max-width:980px){.df-html-choice #route .grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.df-html-choice #route .card.mini[data-route]{padding:var(--df-s4) var(--df-s3) 40px}.df-html-choice #route .card.mini[data-route] p{margin-bottom:var(--df-s3)}.df-html-choice .routeStat{gap:var(--df-s1)}.df-html-choice .routeStat span{padding:6px 2px 5px}}.df-html-choice button{transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-choice button:focus-visible{outline:0px;box-shadow:var(--df-sh-focus);border-radius:var(--df-r-sm)}.df-html-choice button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}@keyframes dfRight{}@keyframes dfWrong{}@keyframes dfFloatUp{}@keyframes dfSweep{}.df-html-choice .card{transition:box-shadow var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-choice *{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}@media(prefers-reduced-motion:reduce){.df-html-choice *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes df52Confetti{}@keyframes df52Charge{}@keyframes df52EggWiggle{}@keyframes df52SkinReveal{}}@layer utilities{.df-html-choice .card.mini{font:inherit;text-align:center;cursor:pointer}.df-html-choice .card.mini:disabled{cursor:not-allowed;opacity:.6}.df-html-choice .choiceAvailability{display:block;text-align:center}.df-prototype-frame:has(.df-html-choice)>.df-v2-main{padding:0;max-width:none;background:var(--df-bg,#f2f7f3)}.df-html-choice .choiceBookSlot{position:relative;min-width:0}.df-html-choice .choiceBookSelect{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:inherit}.df-html-choice .choiceBookSlot>button.probeLink{z-index:1}.df-html-choice .choiceBookSlot>.choiceAvailability{pointer-events:none}.df-html-choice #route .choiceBookSlot:has(>.choiceBookSelect:disabled){cursor:not-allowed;opacity:.6;transform:none}.df-html-choice .choiceError{color:var(--df-bad-ink)}.df-html-choice button:focus-visible{outline:2px solid var(--df-brand);outline-offset:3px}.df-html-choice #route .routeChoiceTitle{margin-bottom:var(--df-s5)}.df-html-choice #route .card.mini[data-route] p{width:100%;max-width:12em;min-height:3.2em;margin-left:auto;margin-right:auto;line-height:1.6;text-wrap:pretty}.df-html-choice #route .choiceCancel{min-width:110px;padding:14px 24px;border:1px solid var(--df-line-strong);border-radius:var(--df-r-md);background:var(--df-surface);color:var(--df-ink-2);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);box-shadow:var(--df-sh-1)}.df-html-choice #route .choiceCancel:hover{border-color:var(--df-brand-line);background:var(--df-brand-soft);color:var(--df-brand-ink)}@media(max-width:560px){.df-html-choice #route .routeChoiceTitle{margin-bottom:var(--df-s4)}.df-html-choice #route .choiceCancel,.df-html-choice #route .primary{min-height:48px}}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer utilities{.df-html-onboarding{--df-fw-word:700;--df-s5:24px;--df-line-soft:#e8f0ea;--df-r-blob-a:46% 54% 40% 60% / 55% 42% 58% 45%;--df-bad:#d5544e;--df-gold-soft:#fbf1dc;--df-brand-ink:#1f6b46;--df-s4:16px;--df-fw-body:400;--forest2:#183a2c;--df-sh-focus:0 0 0 3px rgba(58, 162, 108, .22);--df-fs-tiny:11px;--df-done-line:#9ecabb;--gold:#c6a15f;--df-sh-2:0 4px 14px rgba(23, 40, 31, .07);--df-s8:64px;--df-bad-bg:#fdeceb;--df-col-card:460px;--df-s7:48px;--df-good:#2f9e63;--df-surface-3:#e3ede5;--df-sh-1:0 1px 2px rgba(23, 40, 31, .05);--df-done:#2b7d63;--df-gold:#c8993c;--df-surface:#ffffff;--df-accent:#35768f;--cream:#fbf8f1;--df-brand-deep:#26794f;--df-accent-ink:#2b6076;--df-good-bg:#e7f6ee;--line:#e3d7c4;--df-todo:#5b6b80;--df-todo-bg:#eef1f6;--df-fs-display:30px;--df-glass-line:rgba(255, 255, 255, .68);--df-r-lg:14px;--df-brand-line:#a9dcbf;--df-ink-hover:#223528;--muted:#716e67;--df-ease:cubic-bezier(.2, .8, .3, 1);--df-glass-2:rgba(255, 255, 255, .55);--df-blur:saturate(140%) blur(14px);--df-clay-line:#dcbfb2;--forest:#10281e;--df-r-xs:5px;--df-ink-2:#42574b;--df-r-round:50%;--df-bad-line:#f2b8b5;--df-glass:rgba(255, 255, 255, .72);--df-fw-strong:600;--df-done-ink:#1f6350;--df-ink-3:#5a6a61;--shadow:0 16px 44px rgba(16,40,30,.09);--df-r-xl:18px;--df-done-bg:#e4f1ec;--df-brand-hover:#2f8d5c;--df-fs-word-sm:26px;--df-fam-tell-soft:#f7f3ec;--df-fam-plain-soft:#f1f3f2;--df-r-pill:999px;--df-s1:4px;--df-r-sm:8px;--df-fs-word:38px;--df-fam-plain-line:#a3ada7;--df-rail:236px;--df-good-ink:#1c7a49;--df-fam-use-soft:#f5f1f8;--df-r-blob-dome:50% 50% 44% 44% / 54% 54% 46% 46%;--df-lh-body:1.7;--df-bad-ink:#a3352f;--df-s6:32px;--df-s3:12px;--df-accent-soft:#e6f1f5;--df-fs-h3:18px;--df-fast:.16s;--df-ink:#17281f;--df-accent-line:#a7c6d3;--df-good-line:#a5dcbd;--df-brand-soft:#e3f4ea;--df-ink-on-brand:#ffffff;--df-fam-theme-line:#84b3ae;--df-todo-line:#c2ccdb;--df-surface-past:#e9ecea;--df-lh-tight:1.25;--df-clay-ink:#7f4d3b;--df-fam-use-line:#ab95b8;--df-fs-h2:21px;--soft:#f2ece2;--df-fam-theme-soft:#ecf5f4;--df-fam-tell-line:#b9a184;--df-todo-ink:#45536a;--ink:#16231c;--df-brand-mid:#62b48c;--df-fs-ipa-sm:12px;--df-warn-ink:#8a5b12;--df-fs-body:15px;--df-slow:.32s;--df-warn-line:#e8c98d;--df-fam-root-soft:#eef1f7;--df-surface-2:#edf4ee;--df-col:680px;--df-isle:156px;--df-col-wide:960px;--df-fs-ipa:14px;--df-warn-bg:#fdf3e2;--df-clay:#9c6450;--df-line-strong:#b9d0be;--df-fs-small:13px;--df-fs-h1:25px;--df-r-blob-egg:52% 52% 48% 48% / 58% 58% 42% 42%;--df-line:#d7e5da;--paper:#fffdf9;--df-r-md:11px;--df-r-blob-b:58% 42% 56% 44% / 44% 58% 42% 56%;--df-warn:#c98a2e;--df-clay-soft:#f6efec;--df-ease-out:cubic-bezier(.16, 1, .3, 1);--df-brand:#3aa26c;--df-bg:#f2f7f3;--df-s2:8px;--df-sh-3:0 12px 32px rgba(23, 40, 31, .1);font:16px PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif;color:#16231c}.df-html-onboarding *{box-sizing:border-box}.df-html-onboarding button{font:inherit;cursor:pointer}.df-html-onboarding .screen{display:none;min-height:820px;padding:56px 60px;background:linear-gradient(180deg,var(--df-surface-2),var(--df-surface))}.df-html-onboarding .screen.active{display:block}.df-html-onboarding .center{max-width:940px;margin:auto}.df-html-onboarding .title{font-family:Georgia,STSong,serif;text-align:center;font-size:54px;line-height:1.14;margin:14px 0 0;color:var(--forest)}.df-html-onboarding .sub{max-width:680px;margin:0 auto;text-align:center;color:#62645f;font-size:16px;line-height:1.85}.df-html-onboarding .card{background:var(--df-surface-2);border:1px solid var(--line);border-radius:var(--df-r-lg);box-shadow:var(--shadow)}.df-html-onboarding .primary{border:2px solid var(--gold);background:radial-gradient(circle at 30% 20%,var(--df-brand-ink),#143528 74%);color:var(--df-ink-on-brand);border-radius:var(--df-r-pill);padding:14px 28px;font-size:17px;font-weight:800;box-shadow:#10281e21 0 9px 18px}.df-html-onboarding .actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:27px}.df-html-onboarding .choice2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.df-html-onboarding .charCard{padding:24px;text-align:center}.df-html-onboarding .charCard.selected,.df-html-onboarding .mini.selected{box-shadow:inset 0 0 0 2px var(--forest2);background:var(--df-surface-2)}.df-html-onboarding .charWrap{height:300px;display:grid;place-items:end center}.df-html-onboarding .charWrap img{max-height:290px;filter:drop-shadow(rgba(16,40,30,.14) 0px 20px 18px)}.df-html-onboarding .charCard h3{font-family:Georgia,STSong,serif;font-size:28px;margin:10px 0 3px}.df-html-onboarding .charCard p{margin:0;color:var(--muted);font-size:14px}.df-html-onboarding .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.df-html-onboarding .stageGrid{grid-template-columns:repeat(4,1fr)}.df-html-onboarding .mini{padding:22px 12px;text-align:center}.df-html-onboarding .ico{width:60px;height:60px;border-radius:var(--df-r-round);background:var(--df-surface);display:grid;place-items:center;margin:auto;font-size:26px}.df-html-onboarding .mini h3{font-family:Georgia,STSong,serif;font-size:23px;margin:11px 0 4px}.df-html-onboarding .mini p{margin:0;color:var(--muted);font-size:12px}.df-html-onboarding .confirm{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:center;max-width:900px;margin:42px auto 0;padding:28px}.df-html-onboarding .confirm img{max-height:315px;margin:auto;filter:drop-shadow(rgba(16,40,30,.14) 0px 22px 19px)}.df-html-onboarding .confirm h2{font-family:Georgia,STSong,serif;font-size:36px;margin:0 0 10px}.df-html-onboarding .rows{margin-top:17px;background:var(--df-surface);border:1px solid var(--line);border-radius:var(--df-r-md);padding:6px 15px}.df-html-onboarding .row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--df-line)}.df-html-onboarding .row:last-child{border-bottom:0px}.df-html-onboarding .row b{font-family:Georgia,serif;font-size:20px}@media(max-width:980px){.df-html-onboarding .grid{grid-template-columns:1fr 1fr}.df-html-onboarding .stageGrid,.df-html-onboarding .choice2,.df-html-onboarding .confirm{grid-template-columns:1fr}.df-html-onboarding .screen{padding:36px 20px}}.df-html-onboarding .primary{background:linear-gradient(180deg,var(--df-brand) 0%,var(--df-brand-ink) 100%);border:1px solid var(--df-brand-ink);color:var(--df-ink-on-brand);box-shadow:#3b2a18 0 2px}.df-html-onboarding .primary:hover{background:linear-gradient(180deg,var(--df-brand-soft) 0%,var(--df-brand-ink) 100%)}.df-html-onboarding .routeGroup{width:100%;margin-bottom:18px}.df-html-onboarding .routeGroupName{font-size:var(--df-fs-small);letter-spacing:.14em;color:var(--df-ink-3);margin:0 0 10px 2px;text-align:left}.df-html-onboarding .routeGroup .grid{margin:0}.df-html-onboarding .card.mini[data-route]{position:relative;padding-bottom:34px}.df-html-onboarding .probeLink{position:absolute;left:0;right:0;bottom:0;border-right:0px;border-bottom:0px;border-left:0px;border-image:none;border-top:1px solid var(--df-line-soft);background:transparent;cursor:pointer;padding:8px 0;font-size:var(--df-fs-small);color:var(--df-brand-ink);font-family:inherit;letter-spacing:.04em;border-radius:0 0 var(--df-r-md) var(--df-r-md)}.df-html-onboarding .probeLink:hover{background:var(--df-brand-soft);color:var(--df-brand-ink)}@media(max-width:420px){.df-html-onboarding .screen{padding:22px 14px;min-height:auto}}.df-html-onboarding #boot.screen,.df-html-onboarding #gender.screen,.df-html-onboarding #stage.screen,.df-html-onboarding #route.screen,.df-html-onboarding #confirm.screen{background:var(--df-bg);min-height:calc(100dvh - 62px);padding:var(--df-s6) var(--df-s5) var(--df-s7)}.df-html-onboarding #gender .title,.df-html-onboarding #stage .title,.df-html-onboarding #route .title{font-family:inherit;font-size:var(--df-fs-h1);font-weight:var(--df-fw-strong);color:var(--df-ink);letter-spacing:0px;margin:var(--df-s2) 0 0}.df-html-onboarding #gender .sub,.df-html-onboarding #route .sub{font-size:var(--df-fs-body);color:var(--df-ink-2);line-height:var(--df-lh-body);margin-top:var(--df-s3)}.df-html-onboarding .dfStepTag{display:block;text-align:center;font-size:var(--df-fs-small);color:var(--df-brand-ink);letter-spacing:.04em}.df-html-onboarding #boot .primary,.df-html-onboarding #gender .primary,.df-html-onboarding #stage .primary,.df-html-onboarding #route .primary,.df-html-onboarding #confirm .primary{border:0px;background:var(--df-brand);color:var(--df-ink-on-brand);border-radius:var(--df-r-md);padding:14px var(--df-s6);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);box-shadow:var(--df-sh-2);transition:background var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-onboarding #boot .primary:hover,.df-html-onboarding #gender .primary:hover,.df-html-onboarding #stage .primary:hover,.df-html-onboarding #route .primary:hover,.df-html-onboarding #confirm .primary:hover{background:var(--df-brand-hover);transform:translateY(-1px)}.df-html-onboarding #boot .primary:focus-visible,.df-html-onboarding #gender .primary:focus-visible,.df-html-onboarding #stage .primary:focus-visible,.df-html-onboarding #route .primary:focus-visible,.df-html-onboarding #confirm .primary:focus-visible{outline:0px;box-shadow:var(--df-sh-focus)}.df-html-onboarding #boot .center{width:100%;max-width:var(--df-col);margin:0}.df-html-onboarding .dfBoot{padding:var(--df-s7) var(--df-s6) var(--df-s6);text-align:center;border-radius:var(--df-r-lg);border:1px solid color-mix(in srgb,var(--df-surface) 60%,var(--df-line));background:color-mix(in srgb,var(--df-surface) 70%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.2);backdrop-filter:blur(26px) saturate(1.2);box-shadow:var(--df-sh-3)}.df-html-onboarding .dfBootWord{font-size:var(--df-fs-word);font-weight:var(--df-fw-word);line-height:1;color:var(--df-ink);letter-spacing:-.01em}.df-html-onboarding .dfBootWord span{display:block;margin-top:var(--df-s2);font-size:var(--df-fs-small);font-weight:var(--df-fw-body);color:var(--df-ink-3);letter-spacing:.02em}.df-html-onboarding .dfBootTitle{margin:var(--df-s5) 0 0;font-family:inherit;font-size:var(--df-fs-h2);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-onboarding .dfBootLead{margin:var(--df-s3) auto 0;max-width:34em;font-size:var(--df-fs-body);color:var(--df-ink-2);line-height:var(--df-lh-body)}.df-html-onboarding .dfBootBar{margin:var(--df-s5) 0 var(--df-s2);height:6px;border-radius:var(--df-r-pill);background:var(--df-surface-3);overflow:hidden}.df-html-onboarding .dfBootBar i{display:block;height:100%;width:0px;border-radius:var(--df-r-pill);background:var(--df-brand);animation:dfBootLoad 1.5s var(--df-ease-out) forwards}@keyframes dfBootLoad{to{width:100%}}.df-html-onboarding .dfBootStat{display:flex;justify-content:space-between;font-size:var(--df-fs-small);color:var(--df-ink-3)}.df-html-onboarding .dfBootStat b{color:var(--df-brand-ink);font-variant-numeric:tabular-nums}.df-html-onboarding .dfBootSteps{display:flex;justify-content:center;gap:var(--df-s2);flex-wrap:wrap;margin:var(--df-s5) 0 0;padding:0;list-style:none;counter-reset:dfBootStep 0}.df-html-onboarding .dfBootSteps li{counter-increment:dfBootStep 1;padding:7px var(--df-s4) 7px var(--df-s3);border-radius:var(--df-r-pill);background:var(--df-surface-2);border:1px solid var(--df-line-soft);font-size:var(--df-fs-small);color:var(--df-ink-2)}.df-html-onboarding .dfBootSteps li:before{content:counter(dfBootStep);display:inline-grid;place-items:center;width:18px;height:18px;margin-right:var(--df-s2);border-radius:var(--df-r-round);background:var(--df-brand-soft);color:var(--df-brand-ink);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong)}.df-html-onboarding .dfBoot .actions{margin-top:var(--df-s6)}.df-html-onboarding #gender .card,.df-html-onboarding #stage .card,.df-html-onboarding #route .card,.df-html-onboarding #confirm .card{background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1)}.df-html-onboarding #gender .charCard,.df-html-onboarding #stage .mini,.df-html-onboarding #route .mini{cursor:pointer;transition:border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-onboarding #gender .charCard:hover,.df-html-onboarding #stage .mini:hover,.df-html-onboarding #route .mini:hover{border-color:var(--df-brand-line);transform:translateY(-1px);box-shadow:var(--df-sh-2)}.df-html-onboarding #gender .charCard.selected,.df-html-onboarding #stage .mini.selected,.df-html-onboarding #route .mini.selected{border-color:var(--df-brand);background:var(--df-brand-soft);box-shadow:var(--df-sh-focus)}.df-html-onboarding #gender .charCard h3,.df-html-onboarding #stage .mini h3,.df-html-onboarding #route .mini h3{font-family:inherit;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-onboarding #gender .charCard p,.df-html-onboarding #stage .mini p,.df-html-onboarding #route .mini p{color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:1.6}.df-html-onboarding #stage .ico,.df-html-onboarding #route .ico{background:var(--df-surface-2);border:1px solid var(--df-line-soft)}.df-html-onboarding .dfGenderLock{max-width:46em;margin:var(--df-s4) auto 0;padding:var(--df-s3) var(--df-s4);border-radius:var(--df-r-md);background:var(--df-warn-bg);border:1px solid var(--df-line);color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:var(--df-lh-body);text-align:center}.df-html-onboarding .dfGenderLock[hidden]{display:none}.df-html-onboarding #confirm .confirm{border-radius:var(--df-r-lg);background:color-mix(in srgb,var(--df-surface) 76%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);box-shadow:var(--df-sh-2)}.df-html-onboarding #confirm .confirm h2{font-family:inherit;font-size:var(--df-fs-h1);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-onboarding #confirm .rows{background:var(--df-surface-2);border-color:var(--df-line-soft)}.df-html-onboarding #confirm .row b{font-family:inherit;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink)}@media(max-width:560px){.df-html-onboarding #boot.screen,.df-html-onboarding #gender.screen,.df-html-onboarding #stage.screen,.df-html-onboarding #route.screen,.df-html-onboarding #confirm.screen{padding:var(--df-s5) var(--df-s3) var(--df-s6)}.df-html-onboarding .dfBoot{padding:var(--df-s5) var(--df-s4)}.df-html-onboarding .dfBootWord{font-size:var(--df-fs-word-sm)}.df-html-onboarding .dfBootSteps{flex-direction:column;align-items:stretch}.df-html-onboarding .dfBootSteps li{text-align:left}.df-html-onboarding #gender .choice2{grid-template-columns:1fr}.df-html-onboarding #gender .charWrap{height:200px}.df-html-onboarding #gender .charWrap img{max-height:195px}}@media(prefers-reduced-motion:reduce){.df-html-onboarding .dfBootBar i{animation:auto ease 0s 1 normal none running none;width:100%}}.df-html-onboarding #route .grid{grid-template-columns:repeat(4,1fr);gap:var(--df-s3);margin-top:var(--df-s4)}.df-html-onboarding .routeGroup+.routeGroup{margin-top:var(--df-s5)}.df-html-onboarding #route .card.mini[data-route]{display:flex;flex-direction:column;padding:var(--df-s5) var(--df-s4) 42px;text-align:center}.df-html-onboarding #route .card.mini[data-route] h3{margin:var(--df-s3) 0 var(--df-s2)}.df-html-onboarding #route .card.mini[data-route] p{flex:1 1 auto;margin:0 0 var(--df-s4);text-align:center}.df-html-onboarding .routeStat{display:flex;gap:var(--df-s2)}.df-html-onboarding .routeStat span{flex:1 1 0px;min-width:0px;padding:7px var(--df-s1) 6px;border-radius:var(--df-r-sm);background:var(--df-surface-2);border:1px solid var(--df-line-soft);font-size:var(--df-fs-tiny);color:var(--df-ink-3);line-height:1.4}.df-html-onboarding .routeStat b{display:block;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);color:var(--df-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.df-html-onboarding #route .card.mini.selected .routeStat span{background:var(--df-surface);border-color:var(--df-brand-line)}@media(max-width:980px){.df-html-onboarding #route .grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.df-html-onboarding #route .card.mini[data-route]{padding:var(--df-s4) var(--df-s3) 40px}.df-html-onboarding #route .card.mini[data-route] p{margin-bottom:var(--df-s3)}.df-html-onboarding .routeStat{gap:var(--df-s1)}.df-html-onboarding .routeStat span{padding:6px 2px 5px}}.df-html-onboarding button{transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-onboarding button:active:not(:disabled){transform:translateY(1px)}.df-html-onboarding button:focus-visible{outline:0px;box-shadow:var(--df-sh-focus);border-radius:var(--df-r-sm)}.df-html-onboarding .card{transition:box-shadow var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-onboarding *{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}@media(prefers-reduced-motion:reduce){.df-html-onboarding *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer utilities{.df-html-onboarding #boot.screen.active{display:flex;align-items:center;justify-content:center}}@layer utilities{.df-html-onboarding :is(.charCard,.mini){font:inherit;text-align:center;white-space:normal}.df-html-onboarding button:disabled{cursor:not-allowed;opacity:.6}.df-html-onboarding .center:focus{outline:none}.df-html-onboarding .onboarding-back{border:0;background:transparent;color:var(--df-ink-2);padding:10px 14px}.df-html-onboarding .confirm-actions{justify-content:flex-start}.df-html-onboarding .confirm-copy{margin:0;color:var(--df-ink-2);line-height:1.8}.df-html-onboarding #confirm h1{margin:0 0 10px}.df-html-onboarding #confirm h1{font-family:inherit;font-size:var(--df-fs-h1);font-weight:var(--df-fw-strong);color:var(--df-ink)}.df-html-onboarding #gender .sub{margin-top:var(--df-s2)}.df-html-onboarding #route .title{margin-bottom:var(--df-s5)}}.df-v2 .df-html-onboarding .screen.active{padding:var(--df-s5) var(--df-s4) 0;min-height:calc(100dvh - 56px);background:var(--df-bg)}.df-v2 .df-html-onboarding .center{display:flex;flex-direction:column;width:100%;max-width:var(--df-col-wide);min-height:calc(100dvh - 80px);margin:auto}.df-v2 .df-html-onboarding .onboarding-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--df-s2);padding:0;margin:0;list-style:none}.df-v2 .df-html-onboarding .onboarding-progress li{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--df-s2);padding:var(--df-s2) 0;border-bottom:2px solid var(--df-line);color:var(--df-ink-2);font-size:.875rem}.df-v2 .df-html-onboarding .onboarding-progress li[aria-current]{color:var(--df-brand-ink);border-color:var(--df-brand-deep);font-weight:700}.df-v2 .df-html-onboarding .onboarding-progress li[data-complete]{border-color:var(--df-brand-line)}.df-v2 .df-html-onboarding .onboarding-progress span{display:grid;place-items:center;width:1.5rem;height:1.5rem;font-variant-numeric:tabular-nums}.df-v2 .df-html-onboarding svg{width:1.125rem;height:1.125rem;flex-shrink:0}.df-v2 .df-html-onboarding .onboarding-content{flex:1;padding-top:var(--df-s5)}.df-v2 .df-html-onboarding :is(#gender,#stage,#route) .title{margin:0;text-align:left;font-size:clamp(1.375rem,2.5vw,1.75rem);line-height:1.4;text-wrap:balance}.df-v2 .df-html-onboarding :is(#gender,#stage,#route) .sub{margin:var(--df-s2) 0 var(--df-s5);text-align:left;max-width:65ch;font-size:.9375rem;line-height:1.7}.df-v2 .df-html-onboarding .choice2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:var(--df-col);margin:var(--df-s5) auto;gap:var(--df-s4)}.df-v2 .df-html-onboarding :is(.charCard,.stageGrid .mini){position:relative;min-width:0;padding:var(--df-s4);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-lg);box-shadow:none}.df-v2 .df-html-onboarding :is(.charCard,.stageGrid .mini).selected{border-color:var(--df-brand-deep);background:var(--df-brand-soft);box-shadow:none}.df-v2 .df-html-onboarding :is(.charCard,.stageGrid .mini):hover{transform:none;box-shadow:none}.df-v2 .df-html-onboarding #gender .charWrap{height:clamp(144px,25vh,240px);margin-top:var(--df-s3)}.df-v2 .df-html-onboarding #gender .charWrap img{height:100%;width:auto;max-height:100%;max-width:100%;object-fit:contain;transform-origin:50% 85%}.df-v2 .df-html-onboarding .charCard.selected img{animation:onboarding-companion-choice .3s var(--df-ease-out)}.df-v2 .df-html-onboarding .onboarding-selected{display:flex;align-items:center;justify-content:center;gap:var(--df-s1);min-height:24px;font-size:.8125rem;color:var(--df-ink-2)}.df-v2 .df-html-onboarding .selected .onboarding-selected{color:var(--df-brand-ink);font-weight:700}.df-v2 .df-html-onboarding .stageGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--df-s3);margin-top:var(--df-s5)}.df-v2 .df-html-onboarding .onboarding-stage-icon{width:28px;height:28px;margin:var(--df-s3) auto 0;color:var(--df-brand-ink)}.df-v2 .df-html-onboarding #stage .mini p{font-size:.875rem;color:var(--df-ink-2)}.df-v2 .df-html-onboarding #route .routeGroup{margin:var(--df-s5) 0 0}.df-v2 .df-html-onboarding #route .routeGroupName{margin:0 0 var(--df-s3);font-size:.9375rem;letter-spacing:0;color:var(--df-ink-2)}.df-v2 .df-html-onboarding #route .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--df-s3);margin:0}.df-v2 .df-html-onboarding #route .card.mini.choiceBookSlot{padding:var(--df-s4);text-align:left;box-shadow:none;border:1px solid var(--df-line);border-radius:var(--df-r-lg)}.df-v2 .df-html-onboarding #route .card.mini.choiceBookSlot.selected{border-color:var(--df-brand-deep);background:var(--df-brand-soft)}.df-v2 .df-html-onboarding #route .card.mini.choiceBookSlot .ico{display:none}.df-v2 .df-html-onboarding #route .card.mini.choiceBookSlot h3{margin:0 0 var(--df-s2);font-size:1.0625rem;line-height:1.4}.df-v2 .df-html-onboarding #route .card.mini.choiceBookSlot p{margin:0;min-height:0;max-width:none;font-size:.8125rem;line-height:1.6;color:var(--df-ink-2)}.df-v2 .df-html-onboarding #route .routeStat{display:flex;justify-content:flex-start;gap:var(--df-s3);margin-top:var(--df-s3)}.df-v2 .df-html-onboarding #route .routeStat span{display:inline;padding:0;border:0;background:transparent;font-size:.8125rem;color:var(--df-ink-2)}.df-v2 .df-html-onboarding #route .routeStat b{display:inline;margin-right:var(--df-s1);font-size:inherit;color:inherit}.df-v2 .df-html-onboarding .onboarding-probe{display:flex;align-items:center;gap:var(--df-s4);justify-content:space-between;padding:var(--df-s5) 0}.df-v2 .df-html-onboarding .onboarding-probe p{margin:var(--df-s1) 0 0;color:var(--df-ink-2);font-size:.875rem;line-height:1.6}.df-v2 .df-html-onboarding .onboarding-probe button{display:flex;align-items:center;gap:var(--df-s2);min-height:44px;flex-shrink:0;padding:var(--df-s2) var(--df-s3);border:1px solid var(--df-line-strong);border-radius:var(--df-r-md);color:var(--df-brand-ink);background:var(--df-surface)}.df-v2 .df-html-onboarding .screen:not(#boot) .center{padding-bottom:calc(var(--onboarding-footer-height,116px) + var(--df-s4))}.df-v2 .df-html-onboarding .onboarding-content button{scroll-margin-bottom:calc(var(--onboarding-footer-height,116px) + var(--df-s4))}.df-v2 .df-html-onboarding .onboarding-footer{position:fixed;bottom:0;left:max(var(--df-s4),calc((100vw - var(--df-col-wide))/2));right:max(var(--df-s4),calc((100vw - var(--df-col-wide))/2));z-index:2;margin:0;padding:var(--df-s3) 0 calc(var(--df-s4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--df-line);background:var(--df-bg)}.df-v2 .df-html-onboarding .onboarding-current{margin:0 0 var(--df-s2);font-size:.875rem;line-height:1.5;color:var(--df-ink-2)}.df-v2 .df-html-onboarding .onboarding-footer .actions{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:nowrap;align-items:center;gap:var(--df-s3);margin:0}.df-v2 .df-html-onboarding .onboarding-footer .actions .onboarding-back{flex:0 0 auto;align-self:center;width:auto;padding:var(--df-s2);min-height:48px}.df-v2 .df-html-onboarding .actions .primary{display:flex;align-items:center;justify-content:center;gap:var(--df-s2);width:auto;min-height:48px;height:auto;padding:var(--df-s3) var(--df-s5);border:0;background:var(--df-brand-deep);color:var(--df-ink-on-brand);border-radius:var(--df-r-md);font-size:1rem;line-height:1.5;white-space:normal;box-shadow:none}.df-v2 .df-html-onboarding .onboarding-footer .primary{margin-left:auto}.df-v2 .df-html-onboarding #confirm .confirm{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--df-s5);max-width:var(--df-col);margin:var(--df-s5) auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.df-v2 .df-html-onboarding #confirm .onboarding-companion{width:112px;height:160px;object-fit:contain}.df-v2 .df-html-onboarding #confirm h1{font-size:1.5rem;line-height:1.4}.df-v2 .df-html-onboarding #confirm .confirm-copy{font-size:.9375rem;line-height:1.7}.df-v2 .df-html-onboarding #confirm .rows{grid-column:1/-1;margin:0;padding:0;border:0;border-top:1px solid var(--df-line);border-radius:0;background:transparent}.df-v2 .df-html-onboarding #confirm .row{align-items:center;gap:var(--df-s3);padding:var(--df-s3) 0}.df-v2 .df-html-onboarding #confirm .row dt{color:var(--df-ink-2)}.df-v2 .df-html-onboarding #confirm .row dd{margin:0 0 0 auto;font-weight:700}.df-v2 .df-html-onboarding #confirm .row button{min-height:44px;padding:var(--df-s2) var(--df-s3);border:0;background:transparent;color:var(--df-brand-ink);text-decoration:underline;text-underline-offset:4px}.df-v2 .df-html-onboarding #boot.screen.active{padding-bottom:var(--df-s5)}.df-v2 .df-html-onboarding #boot .center{min-height:0;max-width:var(--df-col)}.df-v2 .df-html-onboarding .dfBoot{padding:var(--df-s6) var(--df-s4);border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.df-v2 .df-html-onboarding .dfBootSteps{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--df-s3);margin:var(--df-s5) 0;padding:0;list-style:none}.df-v2 .df-html-onboarding .dfBootSteps li{padding:0;background:transparent;color:var(--df-ink-2)}.df-v2 .df-html-onboarding .onboarding-ready{display:flex;justify-content:center;align-items:center;gap:var(--df-s2);color:var(--df-brand-ink);font-size:.875rem}.df-v2 .df-html-onboarding .choiceError{margin:0 0 var(--df-s3);color:var(--df-bad-ink);font-size:.9375rem}.df-v2 .df-html-onboarding button:focus-visible{outline:2px solid var(--df-brand-ink);outline-offset:3px}@keyframes onboarding-companion-choice{0%{transform:rotate(-3deg)}to{transform:rotate(0)}}@media(max-width:980px){.df-v2 .df-html-onboarding .stageGrid,.df-v2 .df-html-onboarding #route .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.df-v2 .df-html-onboarding .screen.active{padding-top:var(--df-s4)}.df-v2 .df-html-onboarding .center{min-height:calc(100dvh - 72px)}.df-v2 .df-html-onboarding .choice2{gap:var(--df-s3)}.df-v2 .df-html-onboarding :is(.charCard,.stageGrid .mini){padding:var(--df-s3)}.df-v2 .df-html-onboarding .onboarding-footer .primary{flex:1}.df-v2 .df-html-onboarding .onboarding-probe{align-items:flex-start;flex-direction:column}.df-v2 .df-html-onboarding #confirm .confirm{grid-template-columns:80px minmax(0,1fr);gap:var(--df-s4);margin:0}.df-v2 .df-html-onboarding #confirm .onboarding-companion{width:80px;height:120px}}@media(prefers-reduced-motion:reduce){.df-v2 .df-html-onboarding .charCard.selected img{animation:none}}@media(max-width:360px){.df-v2 .df-html-onboarding .onboarding-footer .actions{flex-wrap:wrap}.df-v2 .df-html-onboarding .onboarding-footer .primary{flex:1 1 10em;padding-inline:var(--df-s3)}.df-v2 .df-html-onboarding .onboarding-footer .primary svg{display:none}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer utilities{.df-html-skin-reveal{font:16px PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif;-webkit-font-smoothing:auto;color:#16231c}.df-html-skin-reveal :where(*){all:revert;box-sizing:border-box}.df-html-skin-reveal :where(*:before,*:after){box-sizing:border-box}}@layer utilities{.df-html-skin-reveal{--forest: #10281e;--forest2: #183a2c;--cream: #fbf8f1;--paper: #fffdf9;--ink: #16231c;--muted: #716e67;--line: #e3d7c4;--gold: #c6a15f;--soft: #f2ece2;--shadow: 0 16px 44px rgba(16,40,30,.09)}.df-html-skin-reveal *{box-sizing:border-box}.df-html-skin-reveal button{font:inherit;cursor:pointer}.df-html-skin-reveal{--df-bg: #f2f7f3;--df-surface: #ffffff;--df-surface-2: #edf4ee;--df-surface-3: #e3ede5;--df-surface-past: #e9ecea;--df-line: #d7e5da;--df-line-soft: #e8f0ea;--df-line-strong: #b9d0be;--df-ink: #17281f;--df-ink-2: #42574b;--df-ink-3: #5a6a61;--df-ink-on-brand: #ffffff;--df-ink-hover: #223528;--df-brand: #3aa26c;--df-brand-hover: #2f8d5c;--df-brand-ink: #1f6b46;--df-brand-soft: #e3f4ea;--df-brand-line: #a9dcbf;--df-brand-mid: #62b48c;--df-brand-deep: #26794f;--df-good: #2f9e63;--df-good-ink: #1c7a49;--df-good-bg: #e7f6ee;--df-good-line: #a5dcbd;--df-done: #2b7d63;--df-done-ink: #1f6350;--df-done-bg: #e4f1ec;--df-done-line: #9ecabb;--df-todo: #5b6b80;--df-todo-ink: #45536a;--df-todo-bg: #eef1f6;--df-todo-line: #c2ccdb;--df-bad: #d5544e;--df-bad-ink: #a3352f;--df-bad-bg: #fdeceb;--df-bad-line: #f2b8b5;--df-warn: #c98a2e;--df-warn-ink: #8a5b12;--df-warn-bg: #fdf3e2;--df-warn-line: #e8c98d;--df-accent: #35768f;--df-accent-ink: #2b6076;--df-accent-soft: #e6f1f5;--df-accent-line: #a7c6d3;--df-clay: #9c6450;--df-clay-ink: #7f4d3b;--df-clay-soft: #f6efec;--df-clay-line: #dcbfb2;--df-gold: #c8993c;--df-gold-soft: #fbf1dc;--df-fam-root-soft: #eef1f7;--df-fam-tell-line: #b9a184;--df-fam-tell-soft: #f7f3ec;--df-fam-use-line: #ab95b8;--df-fam-use-soft: #f5f1f8;--df-fam-theme-line: #84b3ae;--df-fam-theme-soft: #ecf5f4;--df-fam-plain-line: #a3ada7;--df-fam-plain-soft: #f1f3f2;--df-r-xs: 5px;--df-r-sm: 8px;--df-r-md: 11px;--df-r-lg: 14px;--df-r-xl: 18px;--df-r-pill: 999px;--df-r-round: 50%;--df-r-blob-a: 46% 54% 40% 60% / 55% 42% 58% 45%;--df-r-blob-b: 58% 42% 56% 44% / 44% 58% 42% 56%;--df-r-blob-egg: 52% 52% 48% 48% / 58% 58% 42% 42%;--df-r-blob-dome: 50% 50% 44% 44% / 54% 54% 46% 46%;--df-s1: 4px;--df-s2: 8px;--df-s3: 12px;--df-s4: 16px;--df-s5: 24px;--df-s6: 32px;--df-s7: 48px;--df-s8: 64px;--df-fs-display: 30px;--df-fs-word: 38px;--df-fs-word-sm: 26px;--df-fs-ipa: 14px;--df-fs-ipa-sm: 12px;--df-fs-h1: 25px;--df-fs-h2: 21px;--df-fs-h3: 18px;--df-fs-body: 15px;--df-fs-small: 13px;--df-fs-tiny: 11px;--df-lh-tight: 1.25;--df-lh-body: 1.7;--df-fw-word: 700;--df-fw-strong: 600;--df-fw-body: 400;--df-sh-1: 0 1px 2px rgba(23, 40, 31, .05);--df-sh-2: 0 4px 14px rgba(23, 40, 31, .07);--df-sh-3: 0 12px 32px rgba(23, 40, 31, .1);--df-sh-focus: 0 0 0 3px rgba(58, 162, 108, .22);--df-glass: rgba(255, 255, 255, .72);--df-glass-2: rgba(255, 255, 255, .55);--df-glass-line: rgba(255, 255, 255, .68);--df-blur: saturate(140%) blur(14px);--df-col: 680px;--df-col-wide: 960px;--df-col-card: 460px;--df-rail: 236px;--df-isle: 156px;--df-ease: cubic-bezier(.2, .8, .3, 1);--df-ease-out: cubic-bezier(.16, 1, .3, 1);--df-fast: .16s;--df-slow: .32s}.df-html-skin-reveal button{transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-skin-reveal button:focus-visible{outline:0px;box-shadow:var(--df-sh-focus);border-radius:var(--df-r-sm)}.df-html-skin-reveal button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.df-html-skin-reveal *{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}@media(prefers-reduced-motion:reduce){.df-html-skin-reveal *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:420px){.df-html-skin-reveal{--df-isle: 116px}}.df-html-skin-reveal #df52Evolution{position:fixed;inset:0;z-index:16000;display:grid;place-items:center;padding:18px;background:#0d251a9e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.df-html-skin-reveal .df52EvoCard{position:relative;width:min(430px,94vw);padding:25px 24px 22px;border:1px solid rgb(214,189,133);border-radius:28px;box-shadow:#081f154d 0 30px 100px;background:linear-gradient(160deg,#fffef9,#f7f1e6);text-align:center;overflow:hidden;color:#264d35}.df-html-skin-reveal .df52EvoCard:before{content:"";position:absolute;inset:9px;border:1px solid rgba(196,166,103,.23);border-radius:21px;pointer-events:none}.df-html-skin-reveal .df52EvoKicker{font-size:10px;color:#947641;letter-spacing:.22em;margin:2px 0 7px}.df-html-skin-reveal .df52EvoCard h2{font-size:22px;line-height:1.4;margin:0;font-weight:700}.df-html-skin-reveal .df52EvoStage{position:relative;height:min(370px,48dvh);min-height:220px;display:grid;place-items:center;margin:10px auto;width:100%}.df-html-skin-reveal .df52EvoHalo{position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(196,162,88,.3);box-shadow:#ceb06e0f 0 0 0 24px,#ceb06e09 0 0 0 54px;background:radial-gradient(circle,rgba(242,216,160,.3),transparent 68%);animation:1s ease-in-out 0s infinite alternate none running dfSkindf52Charge}@keyframes dfSkindf52Charge{0%{transform:scale(.78);opacity:.4}to{transform:scale(1);opacity:1}}.df-html-skin-reveal .df52Egg{position:absolute;width:103px;height:136px;z-index:2;filter:drop-shadow(rgba(112,88,41,.17) 0px 9px 15px)}.df-html-skin-reveal .df52EggHalf{position:absolute;inset:0;background:radial-gradient(at 35% 26%,#fffef8,#f7e6b9 48%,#c8a467 96%);border-radius:50% 50% 47% 47%/60% 60% 40% 40%;box-shadow:#7954201f -8px -6px 14px inset,#fffc 4px 4px 10px inset}.df-html-skin-reveal .df52EggHalf:first-child{clip-path:polygon(0px 0px,100% 0px,100% 51%,84% 58%,68% 49%,53% 61%,36% 50%,17% 57%,0px 50%)}.df-html-skin-reveal .df52EggCrack{position:absolute;inset:47% 5% 34%;opacity:0;background:#bd9b5b;clip-path:polygon(0px 4%,17% 38%,35% 8%,52% 57%,68% 4%,84% 45%,100% 8%,100% 16%,84% 57%,68% 17%,52% 73%,35% 23%,17% 55%,0px 15%)}.df-html-skin-reveal .phase-crack .df52Egg{animation:.34s ease-in-out 0s 2 normal none running dfSkindf52EggWiggle}.df-html-skin-reveal .phase-crack .df52EggCrack{opacity:1}@keyframes dfSkindf52EggWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg) translate(-3px)}75%{transform:rotate(5deg) translate(3px)}}.df-html-skin-reveal .phase-reveal .df52EggHalf:first-child{animation:.5s ease-out 0s 1 normal forwards running dfSkindf52EggTop}.df-html-skin-reveal .phase-reveal .df52EggCrack{display:none}@keyframes dfSkindf52EggTop{to{transform:translate(-55px,-65px) rotate(-30deg);opacity:0}}.df-html-skin-reveal .df52EvoArt{position:relative;z-index:3;display:block;max-width:100%;width:auto;height:100%;object-fit:contain;opacity:0;border-radius:18px;box-shadow:none;filter:none!important}.df-html-skin-reveal .phase-reveal .df52EvoArt{animation:.5s cubic-bezier(.2,.8,.2,1) 0s 1 normal forwards running dfSkindf52SkinReveal}@keyframes dfSkindf52SkinReveal{0%{opacity:0;transform:translateY(16px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}.df-html-skin-reveal .phase-reveal .df52EvoHalo{animation:auto ease 0s 1 normal none running none;opacity:.15}.df-html-skin-reveal .df52EvoName{font-size:19px;font-weight:700;margin:6px 0;color:#294d36;opacity:0}.df-html-skin-reveal .phase-reveal .df52EvoName{opacity:1;transition:opacity .3s}.df-html-skin-reveal .df52EvoNote{font-size:12px;line-height:1.7;margin:8px 0 0;color:#7d7e6b}.df-html-skin-reveal .df52EvoSkip{position:absolute;top:15px;right:15px;z-index:6;border:0px;border-radius:99px;padding:5px 8px;background:transparent;color:#8e8c7d;font-size:11px}@media(max-width:640px){.df-html-skin-reveal .df52EvoCard{padding:24px 18px 20px}.df-html-skin-reveal .df52EvoCard h2{font-size:21px}}@media(prefers-reduced-motion:reduce){.df-html-skin-reveal #df52Evolution *{animation:auto ease 0s 1 normal none running none!important;transition:none!important}.df-html-skin-reveal .phase-reveal .df52Egg{display:none}.df-html-skin-reveal .phase-reveal .df52EvoArt{opacity:1}}.df-html-skin-reveal #df52Evolution .df52EvoArt{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0px;object-fit:contain;object-position:center center;box-sizing:border-box}}@layer utilities{.df-html-skin-reveal .df52EvoCard{outline:none}.df-html-skin-reveal .df52EvoSkip:focus-visible{outline:2px solid #26794f;outline-offset:3px}.df-html-skin-reveal .df52EvoImageError{position:relative;z-index:4;font-size:13px;color:#706445;background:#fffdf7;padding:8px}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer components{.feedback-toast-viewport{position:fixed;z-index:1300;left:50%;display:grid;width:min(400px,calc(100vw - 32px));gap:10px;pointer-events:none;transform:translate(-50%)}.feedback-toast-viewport--top{top:104px}.feedback-toast-viewport--center{top:50%;transform:translate(-50%,-50%)}.feedback-toast-viewport--bottom{bottom:24px}@media(max-width:720px){.feedback-toast-viewport--bottom{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.feedback-toast{--feedback-accent: var(--green-700);position:relative;display:grid;min-height:76px;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:12px;overflow:hidden;padding:14px 13px 14px 15px;border:1px solid rgb(216 195 154 / .82);border-left:4px solid var(--feedback-accent);border-radius:16px;color:var(--ink);background:#fffdf9f7;box-shadow:0 18px 45px #0d281e2e,0 3px 12px #0d281e14;pointer-events:auto;animation:feedback-toast-enter .28s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.feedback-toast--success{--feedback-accent: #36795a}.feedback-toast--error{--feedback-accent: #a4473d}.feedback-toast--warning{--feedback-accent: #ae782d}.feedback-toast--info{--feedback-accent: #477184}.feedback-toast--loading{--feedback-accent: var(--gold-deep)}.feedback-toast__icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--feedback-accent);background:color-mix(in srgb,var(--feedback-accent) 11%,white)}.feedback-toast__icon svg{width:21px;height:21px}.feedback-toast__icon .is-spinning{animation:feedback-spin .8s linear infinite}.feedback-toast__copy{min-width:0;font-size:13px;line-height:1.55}.feedback-toast__copy strong{display:block;margin-bottom:2px;color:var(--green-950);font:700 16px/1.3 var(--serif)}.feedback-toast__copy>div{color:#5f665f}.feedback-toast__close{display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:8px;color:#7a7b74;background:transparent;cursor:pointer}.feedback-toast__close:hover{color:var(--green-900);background:var(--surface-soft)}.feedback-toast__close svg{width:16px;height:16px}.feedback-toast__timer{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--feedback-accent);transform-origin:left;animation:feedback-toast-timer var(--feedback-toast-duration) linear forwards}.feedback-dialog-backdrop{position:fixed;z-index:1400;inset:0;display:grid;place-items:center;padding:22px;background:#081b147a;animation:feedback-backdrop-enter .2s ease-out both;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.feedback-dialog{--feedback-dialog-accent: var(--green-700);position:relative;width:min(470px,100%);overflow:hidden;padding:28px;border:1px solid #d8c39a;border-radius:22px;color:var(--ink);background:var(--surface);box-shadow:0 30px 80px #071c1447;animation:feedback-dialog-enter .28s cubic-bezier(.22,1,.36,1) both}.feedback-dialog:before{position:absolute;top:0;right:0;left:0;height:4px;background:var(--feedback-dialog-accent);content:""}.feedback-dialog--warning{--feedback-dialog-accent: #a8782f}.feedback-dialog--danger{--feedback-dialog-accent: var(--danger)}.feedback-dialog__close{position:absolute;top:16px;right:16px;display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;cursor:pointer}.feedback-dialog__close:hover{color:var(--green-900);border-color:var(--line-strong)}.feedback-dialog__close svg{width:16px;height:16px}.feedback-dialog__heading{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:15px;padding-right:35px}.feedback-dialog__icon{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;color:var(--feedback-dialog-accent);background:color-mix(in srgb,var(--feedback-dialog-accent) 11%,white)}.feedback-dialog__icon svg{width:25px;height:25px}.feedback-dialog__heading small{color:var(--gold-deep);font-size:9px;font-weight:850;letter-spacing:.16em}.feedback-dialog__heading h2{margin:4px 0 0;color:var(--green-950);font:700 26px/1.2 var(--serif)}.feedback-dialog__description{margin-top:20px;padding:16px 17px;border:1px solid var(--line);border-radius:13px;color:#5e625d;background:var(--paper);font-size:13px;line-height:1.75;white-space:pre-line}.feedback-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:22px}.feedback-dialog__actions button{min-height:44px;padding:9px 16px;border:1px solid var(--line-strong);border-radius:999px;font:800 13px var(--sans);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.feedback-dialog__actions button:hover{transform:translateY(-1px)}.feedback-dialog__cancel{color:var(--green-800);background:#fff}.feedback-dialog__confirm{border-color:#a9813a!important;color:#fff1ca;background:var(--green-800);box-shadow:0 8px 20px #143d2c29}.feedback-dialog--danger .feedback-dialog__confirm{border-color:#8f3d35!important;color:#fff;background:var(--danger)}.feedback-alert{--feedback-alert-accent: #477184;display:grid;min-height:58px;grid-template-columns:35px minmax(0,1fr) auto;align-items:start;gap:11px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--feedback-alert-accent) 24%,white);border-radius:13px;color:#43524a;background:color-mix(in srgb,var(--feedback-alert-accent) 7%,white)}.feedback-alert--default{--feedback-alert-accent: var(--green-700)}.feedback-alert--success{--feedback-alert-accent: #36795a}.feedback-alert--error{--feedback-alert-accent: var(--danger)}.feedback-alert--warning{--feedback-alert-accent: #aa7426}.feedback-alert--info{--feedback-alert-accent: #477184}.feedback-alert--dark{border-color:transparent;color:#ffffffd1;background:var(--feedback-alert-accent)}.feedback-alert__icon{display:grid;width:35px;height:35px;place-items:center;border-radius:10px;color:var(--feedback-alert-accent);background:#ffffffb8}.feedback-alert__icon svg{width:18px;height:18px}.feedback-alert__copy{min-width:0;font-size:12px;line-height:1.55}.feedback-alert__copy strong{display:block;margin-bottom:2px;color:color-mix(in srgb,var(--feedback-alert-accent) 78%,#0d281e);font-size:12px}.feedback-alert--dark .feedback-alert__copy strong{color:#fff}.feedback-alert>button{display:grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:8px;color:currentColor;background:transparent;cursor:pointer;opacity:.72}.feedback-alert>button:hover{background:#ffffff80;opacity:1}.feedback-alert>button svg{width:15px;height:15px}@keyframes feedback-toast-enter{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:none}}@keyframes feedback-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes feedback-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes feedback-dialog-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes feedback-spin{to{transform:rotate(360deg)}}@media(min-width:900px){.feedback-toast-viewport{right:24px;left:auto;transform:none}.feedback-toast-viewport--center{top:50%;right:auto;left:50%;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.feedback-toast,.feedback-dialog,.feedback-dialog-backdrop{animation-duration:.01ms}}}.df-footer-actions,.df-footer-secondary{display:contents}.df-answer-mark{display:inline-flex;align-items:center;flex-shrink:0}@media(max-width:720px){.df-v2 .df-mobile-learning-footer .df-exercise-footer{display:block;position:static;margin:0;padding:8px 16px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--df-line);border-radius:0;background:var(--df-surface);text-align:left;font-family:var(--df-font-ui);transition:background-color .16s ease-out,border-color .16s ease-out}.df-v2 .df-mobile-learning-footer .df-footer-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(min(60%,calc(4rem + 50px)),1fr);align-items:center;gap:12px}.df-v2 .df-mobile-learning-footer .df-footer-secondary{display:flex;align-items:center;gap:8px;min-width:0}.df-v2 .df-mobile-learning-footer .df-exercise-footer .score{margin:0;padding:0;min-width:0;font-size:.8125rem;font-weight:500;line-height:1.5;color:var(--df-ink-2);background:transparent;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.df-v2 .df-mobile-learning-footer .score:empty{display:none}.df-v2 .df-mobile-learning-footer .df-exercise-footer .go{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;min-height:48px;margin:0;padding:10px 12px;border:0;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.5;white-space:normal;background:var(--df-brand-deep);color:var(--df-ink-on-brand)}.df-v2 .df-mobile-learning-footer .df-exercise-footer .go:after{content:none}.df-v2 .df-mobile-learning-footer .go svg{flex-shrink:0}.df-v2 .df-mobile-learning-footer .df-exercise-footer .go:disabled{opacity:.55}.df-v2 .df-mobile-learning-footer .df-exercise-footer .df-footer-previous{display:grid;place-items:center;flex-shrink:0;min-width:44px;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--df-line);border-radius:10px;color:var(--df-ink-2);background:var(--df-surface)}.df-v2 .df-mobile-learning-footer .df-footer-previous:before{content:none}.df-v2 .df-mobile-learning-footer .df-answer-feedback{display:flex;align-items:center;gap:10px;padding:0;margin:0 0 6px}.df-v2 .df-mobile-learning-footer .df-answer-copy{min-width:0}.df-v2 .df-mobile-learning-footer .df-answer-feedback strong{font-size:1.0625rem;font-weight:700;line-height:1.4;color:var(--df-good-ink)}.df-v2 .df-mobile-learning-footer .df-answer-detail{display:none}.df-v2 .df-mobile-learning-footer .df-answer-feedback .df-answer-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--df-ink-on-brand);background:var(--df-brand-deep)}.df-v2 .df-mobile-learning-footer .df-answer-feedback svg{width:18px;height:18px;animation:none}.df-v2 .df-mobile-learning-footer [data-answer-tone=correct] .df-answer-mark{animation:dfFooterConfirm .24s cubic-bezier(.16,1,.3,1)}.df-v2 .df-mobile-learning-footer [data-answer-tone=correct] .df-answer-mark svg path{stroke-dasharray:30;stroke-dashoffset:0;animation:dfFooterCheck .26s ease-out}.df-v2 .df-mobile-learning-footer .df-exercise-footer[data-answer-tone=correct]{background:var(--df-good-bg);border-top-color:var(--df-good-line)}.df-v2 .df-mobile-learning-footer [data-answer-tone=hint] .df-answer-mark{background:var(--df-surface-2);color:var(--df-ink-2)}.df-v2 .df-mobile-learning-footer [data-answer-tone=hint] .df-answer-feedback strong{color:var(--df-ink-2)}.df-v2 .df-mobile-learning-footer .df-exercise-footer button:focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}}@media(max-width:360px){.df-v2 .df-mobile-learning-footer .df-exercise-footer .go{padding-inline:8px}}@keyframes dfFooterConfirm{0%{transform:scale(.88)}to{transform:scale(1)}}@keyframes dfFooterCheck{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.df-v2 .df-mobile-learning-footer .df-exercise-footer{transition:none}.df-v2 .df-mobile-learning-footer [data-answer-tone=correct] .df-answer-mark,.df-v2 .df-mobile-learning-footer [data-answer-tone=correct] .df-answer-mark svg path{animation:none}}@layer utilities{.df-html-learning .df-grammar-card{padding:20px;background:var(--df-surface);border:1px solid var(--df-line);border-radius:16px}.df-html-learning .df-grammar-prompt{margin:0 0 16px;color:var(--df-ink-2);font-size:.875rem}.df-html-learning .df-grammar .oneq-en{margin:0;padding:0;border:0;background:none;font-family:var(--df-font-ui);font-size:1.25rem;line-height:1.65}.df-html-learning .df-grammar-choices{display:flex;gap:12px;margin-top:20px}.df-html-learning .df-grammar-choices button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:48px;border:1px solid var(--df-line-strong);border-radius:12px;background:var(--df-surface);font-size:1rem;color:var(--df-ink)}.df-html-learning .df-grammar-choices button.good{background:var(--df-good-bg);border-color:var(--df-good-line);color:var(--df-good-ink);opacity:1}.df-html-learning .df-grammar-choices button.bad{background:var(--df-bad-bg);border-color:var(--df-bad-line);color:var(--df-bad-ink);opacity:1}.df-html-learning .df-grammar-feedback{margin-top:20px;line-height:1.6}.df-html-learning .df-grammar-feedback>strong{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--df-good-ink)}.df-html-learning .df-grammar-feedback.incorrect>strong{color:var(--df-ink)}.df-html-learning .df-grammar-feedback p{margin:8px 0;font-size:.9375rem;color:var(--df-ink-2)}.df-html-learning .df-grammar-feedback summary{display:flex;align-items:center;min-height:44px;width:fit-content;cursor:pointer;color:var(--df-brand-ink);font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.df-html-learning .df-grammar-explanation{padding:0 0 8px}.df-html-learning .df-grammar-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--df-line)}.df-html-learning .df-grammar-navigation button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:8px 12px;border:1px solid var(--df-line-strong);border-radius:12px;color:var(--df-brand-ink);background:var(--df-brand-soft);font-size:.875rem}.df-html-learning .df-grammar-navigation>span{font-size:.8125rem;color:var(--df-ink-2);font-variant-numeric:tabular-nums}.df-html-learning .df-grammar button:disabled{cursor:default}.df-html-learning .df-grammar-navigation button:disabled{opacity:.4}.df-html-learning .df-grammar :is(button,summary):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}@media(max-width:720px){.df-html-learning .df-grammar-card{padding:16px}.df-html-learning .df-grammar .oneq-en{font-size:1.125rem}}}.df-v2 .df-study-navbar{display:block;padding:12px 16px;border:1px solid var(--df-line);border-radius:16px;background:var(--df-surface);color:var(--df-ink);font-family:var(--df-font-ui)}.df-study-navbar-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px}.df-v2 .df-study-navbar .df-study-back{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:var(--df-surface-2);color:var(--df-brand-ink)}.df-v2 .df-study-navbar .df-study-back:before,.df-v2 .df-study-navbar .df-study-back:after{content:none}.df-study-identity{display:flex;align-items:center;gap:10px;min-width:0}.df-study-heading{min-width:0}.df-v2 .df-study-navbar .df-study-heading h1{margin:0;font-family:var(--df-font-ui);font-size:var(--df-study-heading);font-weight:700;line-height:1.4;text-align:left}.df-study-heading>p{margin:2px 0 0;color:var(--df-ink-2);font-size:var(--df-study-caption);line-height:1.5}.df-study-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:44px}.df-v2 .df-study-actions>button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:0;border-radius:12px;background:var(--df-surface-2);color:var(--df-brand-ink);font-size:var(--df-study-caption);line-height:1.5}.df-study-actions button:disabled{opacity:.55;cursor:default}.df-study-navbar-bottom{margin-top:10px}.df-v2 .df-study-navbar :is(button,a):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:2px}.df-v2 .df-study-navbar button:hover:not(:disabled){background:var(--df-brand-soft)}.df-v2 .df-html-learning>.df-study-navbar--page{width:calc(100% - 48px);max-width:var(--df-col-wide,960px);margin:24px auto}.df-v2 .df-html-learning:has(>.df-study-navbar--page){display:flow-root}.df-v2 .df-html-learning>.df-study-navbar--page+.wrap{padding-top:0}.df-study-step-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0 24px}.df-study-desktop-step{flex-shrink:0;margin:0;color:var(--df-ink-2);font-size:var(--df-study-caption);font-variant-numeric:tabular-nums}.df-v2 .df-study-step-nav .path{flex:1;min-width:0;margin:0}.df-family-state{display:inline-block;margin-left:8px;color:var(--df-brand-ink);font-weight:600}.df-study-navbar .df-day-progress{font-size:var(--df-study-caption);gap:12px}.df-study-navbar .df-day-progress [role=progressbar]{height:6px}.df-study-navbar .df-day-progress span{white-space:normal}.df-v2 .df-study-navbar.df-mobile-learning-hud{padding:8px 16px 12px;border:0;border-bottom:1px solid var(--df-line);border-radius:0}.df-study-navbar .df-mobile-review-trigger{display:block;min-width:0;min-height:44px;width:100%;padding:0;border:0;border-radius:4px;background:transparent;color:var(--df-ink);text-align:left}.df-study-navbar .df-mobile-hud-title{margin:0;font-size:var(--df-study-body);line-height:1.4}.df-study-navbar .df-mobile-hud-context{display:block;margin:2px 0 0;font-size:var(--df-study-caption);font-weight:400;line-height:1.5;color:var(--df-ink-2)}.df-study-step-progress{display:flex;align-items:center;gap:12px}.df-study-step-progress>.df-mobile-hud-track{flex:1;min-width:0;padding:2px}.df-study-step-count{flex-shrink:0;color:var(--df-ink-2);font-size:var(--df-study-caption);font-variant-numeric:tabular-nums}.df-study-day-progress{display:flex;align-items:center;gap:16px;margin:0;font-size:var(--df-study-caption);color:var(--df-ink-2)}.df-study-day-progress [role=progressbar]{flex:1;height:6px;border-radius:4px;background:var(--df-line);overflow:hidden}.df-study-day-progress i{display:block;height:100%;background:var(--df-brand-deep)}@media(max-width:720px){.df-v2 .df-html-learning>.df-study-navbar--page{width:100%;max-width:none;margin:0 0 24px;padding:8px 16px 12px;border:0;border-bottom:1px solid var(--df-line);border-radius:0}.df-v2 .df-study-navbar--frame{border:0;border-bottom:1px solid var(--df-line);border-radius:0}.df-study-navbar-row,.df-study-identity{gap:8px}}@layer utilities{.df-html-learning :where(*:not(svg,svg *)){all:revert;box-sizing:border-box}.df-html-learning :where(*:before,*:after){box-sizing:border-box}}@layer utilities{.df-html-learning{--df-bg: #f2f7f3;--df-surface: #ffffff;--df-surface-2: #edf4ee;--df-surface-3: #e3ede5;--df-surface-past: #e9ecea;--df-line: #d7e5da;--df-line-soft: #e8f0ea;--df-line-strong: #b9d0be;--df-ink: #17281f;--df-ink-2: #42574b;--df-ink-3: #5a6a61;--df-ink-on-brand: #ffffff;--df-ink-hover: #223528;--df-brand: #3aa26c;--df-brand-hover: #2f8d5c;--df-brand-ink: #1f6b46;--df-brand-soft: #e3f4ea;--df-brand-line: #a9dcbf;--df-brand-mid: #62b48c;--df-brand-deep: #26794f;--df-good: #2f9e63;--df-good-ink: #1c7a49;--df-good-bg: #e7f6ee;--df-good-line: #a5dcbd;--df-done: #2b7d63;--df-done-ink: #1f6350;--df-done-bg: #e4f1ec;--df-done-line: #9ecabb;--df-todo: #5b6b80;--df-todo-ink: #45536a;--df-todo-bg: #eef1f6;--df-todo-line: #c2ccdb;--df-bad: #d5544e;--df-bad-ink: #a3352f;--df-bad-bg: #fdeceb;--df-bad-line: #f2b8b5;--df-warn: #c98a2e;--df-warn-ink: #8a5b12;--df-warn-bg: #fdf3e2;--df-warn-line: #e8c98d;--df-accent: #35768f;--df-accent-ink: #2b6076;--df-accent-soft: #e6f1f5;--df-accent-line: #a7c6d3;--df-clay: #9c6450;--df-clay-ink: #7f4d3b;--df-clay-soft: #f6efec;--df-clay-line: #dcbfb2;--df-gold: #c8993c;--df-gold-ink: #a8761a;--df-gold-soft: #fbf1dc;--df-fam-root-soft: #eef1f7;--df-fam-tell-line: #b9a184;--df-fam-tell-soft: #f7f3ec;--df-fam-use-line: #ab95b8;--df-fam-use-soft: #f5f1f8;--df-fam-theme-line: #84b3ae;--df-fam-theme-soft: #ecf5f4;--df-fam-plain-line: #a3ada7;--df-fam-plain-soft: #f1f3f2;--df-r-xs: 5px;--df-r-sm: 8px;--df-r-md: 11px;--df-r-lg: 14px;--df-r-xl: 18px;--df-r-pill: 999px;--df-r-round: 50%;--df-r-blob-a: 46% 54% 40% 60% / 55% 42% 58% 45%;--df-r-blob-b: 58% 42% 56% 44% / 44% 58% 42% 56%;--df-r-blob-egg: 52% 52% 48% 48% / 58% 58% 42% 42%;--df-r-blob-dome: 50% 50% 44% 44% / 54% 54% 46% 46%;--df-s1: 4px;--df-s2: 8px;--df-s3: 12px;--df-s4: 16px;--df-s5: 24px;--df-s6: 32px;--df-s7: 48px;--df-s8: 64px;--df-fs-display: 30px;--df-fs-word: 38px;--df-fs-word-sm: 26px;--df-fs-ipa: 14px;--df-fs-ipa-sm: 12px;--df-fs-h1: 25px;--df-fs-h2: 21px;--df-fs-h3: 18px;--df-fs-body: 15px;--df-fs-small: 13px;--df-fs-tiny: 11px;--df-lh-tight: 1.25;--df-lh-body: 1.7;--df-fw-word: 700;--df-fw-strong: 600;--df-fw-body: 400;--df-sh-1: 0 1px 2px rgba(23, 40, 31, .05);--df-sh-2: 0 4px 14px rgba(23, 40, 31, .07);--df-sh-3: 0 12px 32px rgba(23, 40, 31, .1);--df-sh-focus: 0 0 0 3px rgba(58, 162, 108, .22);--df-glass: rgba(255, 255, 255, .72);--df-glass-2: rgba(255, 255, 255, .55);--df-glass-line: rgba(255, 255, 255, .68);--df-blur: saturate(140%) blur(14px);--df-col: 680px;--df-col-wide: 960px;--df-col-card: 460px;--df-rail: 236px;--df-isle: 156px;--df-ease: cubic-bezier(.2, .8, .3, 1);--df-ease-out: cubic-bezier(.16, 1, .3, 1);--df-fast: .16s;--df-slow: .32s}.df-html-learning *{box-sizing:border-box}.df-html-learning{min-height:100%;scroll-behavior:smooth}.df-html-learning{margin:0;min-height:100vh;color:var(--df-ink);font:var(--df-fs-body)/var(--df-lh-body) "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--df-bg)}.df-html-learning button,.df-html-learning label,.df-html-learning input{-webkit-tap-highlight-color:transparent}.df-html-learning button{color:inherit;font:inherit}.df-html-learning .wrap{max-width:calc(var(--df-col) + var(--df-s4) * 2);margin:0 auto;padding:var(--df-s6) var(--df-s4) var(--df-s7)}.df-html-learning .wrap.wide{max-width:calc(var(--df-col-wide) + var(--df-s4) * 2)}.df-html-learning .hero{margin-bottom:var(--df-s5);color:var(--df-ink);text-align:center}.df-html-learning .hero:before{content:attr(data-kicker);display:inline-flex;margin-bottom:var(--df-s2);color:var(--df-brand-ink);font-size:var(--df-fs-tiny);line-height:1;font-weight:var(--df-fw-strong);letter-spacing:.18em}.df-html-learning .hero h1{margin:0;color:var(--df-ink);font-size:var(--df-fs-h1);line-height:var(--df-lh-tight);font-weight:var(--df-fw-word);letter-spacing:.02em}.df-html-learning .hero p{margin:var(--df-s2) 0 0;color:var(--df-ink-2);font-size:var(--df-fs-body)}.df-html-learning .hero .heroCreed{max-width:30em;margin:var(--df-s2) auto 0;color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:1.8}.df-html-learning #picks{display:none}.df-html-learning .picks{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--df-s3)}.df-html-learning .picks label{display:flex;align-items:center;gap:var(--df-s3);min-height:66px;padding:var(--df-s3) var(--df-s4);color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);cursor:pointer}.df-html-learning .picks label.on{color:var(--df-brand-ink);background:var(--df-brand-soft);border-color:var(--df-brand-line)}.df-html-learning .picks input{appearance:none;position:relative;width:22px;height:22px;flex:0 0 22px;margin:0;border:2px solid var(--df-line-strong);border-radius:var(--df-r-xs);background:var(--df-surface)}.df-html-learning .picks input:checked{border-color:var(--df-brand);background:var(--df-brand)}.df-html-learning .picks input:checked:after{content:"";position:absolute;width:8px;height:4px;left:5px;top:5px;border:solid var(--df-ink-on-brand);border-width:0 0 2px 2px;transform:rotate(-45deg)}.df-html-learning .panel{position:relative;overflow:hidden;padding:clamp(var(--df-s4),4vw,var(--df-s6));background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-lg);box-shadow:var(--df-sh-2);animation:dfLearningenter .38s var(--df-ease)}.df-html-learning .panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--df-brand)}.df-html-learning .sideCall{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 var(--df-s3);max-width:var(--df-col);margin:var(--df-s3) auto 0;padding:var(--df-s2) var(--df-s3);color:var(--df-ink-2);background:var(--df-clay-soft);border:1px solid var(--df-clay-line);border-left:3px solid var(--df-clay-line);border-radius:var(--df-r-md);text-align:left}.df-html-learning .sideCall+.sideCall{margin-top:var(--df-s2)}.df-html-learning .sideCall .muted{grid-column:1;font-size:var(--df-fs-tiny);color:var(--df-clay-ink);letter-spacing:.04em}.df-html-learning .sideCall strong{display:block;grid-column:1;font-size:var(--df-fs-small);color:var(--df-ink)}.df-html-learning .sideCall p{grid-column:1;margin:2px 0 0;font-size:var(--df-fs-tiny)}.df-html-learning .sideCall>button{grid-column:2;grid-row:1 / -1}.df-html-learning .sideCall>button:hover{color:var(--df-clay-ink);border-color:var(--df-clay-line)}.df-html-learning .side{padding:var(--df-s2) var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-pill);background:var(--df-surface);color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);white-space:nowrap;cursor:pointer;transition:border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease)}.df-html-learning .side:hover{border-color:var(--df-brand-line);color:var(--df-brand-ink)}@keyframes dfLearningenter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes dfLearningcardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dfLearningpulseRing{0%,to{box-shadow:0 0 0 0 var(--df-brand-line)}50%{box-shadow:0 0 0 5px transparent}}.df-html-learning .muted{color:var(--df-ink-2)}.df-html-learning .panel>.muted:first-child{margin:0 0 var(--df-s4);font-weight:var(--df-fw-strong)}.df-html-learning .paceBar{display:grid;grid-template-columns:auto repeat(3,1fr);align-items:stretch;gap:2px;max-width:var(--df-col);margin:0 auto var(--df-s3);padding:2px;background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-pill)}.df-html-learning .paceBarLead{align-self:center;padding:0 var(--df-s2) 0 var(--df-s3);font-size:var(--df-fs-tiny);color:var(--df-ink-3);letter-spacing:.06em;white-space:nowrap}.df-html-learning .paceTab{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:0 var(--df-s1);min-width:0;padding:3px var(--df-s2);border:1px solid transparent;border-radius:var(--df-r-pill);background:transparent;color:var(--df-ink-2);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);cursor:pointer;transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease)}.df-html-learning .paceTab small{font-size:var(--df-fs-tiny);line-height:var(--df-lh-tight);font-weight:var(--df-fw-body);color:var(--df-ink-3);white-space:nowrap}.df-html-learning .paceTab:hover{color:var(--df-ink)}.df-html-learning .paceTab.on{background:var(--df-surface);border-color:var(--df-brand-line);color:var(--df-brand-ink);box-shadow:var(--df-sh-1)}.df-html-learning .paceTab.on small{color:var(--df-brand-ink)}.df-html-learning .paceNote{max-width:var(--df-col);margin:0 auto var(--df-s3);padding:var(--df-s2) var(--df-s3);border:1px solid var(--df-brand-line);border-radius:var(--df-r-sm);background:var(--df-brand-soft);color:var(--df-brand-ink);font-size:var(--df-fs-small);line-height:1.55;text-align:left}.df-html-learning .probeCall,.df-html-learning .probeIn{max-width:var(--df-col);margin:0 auto var(--df-s3);text-align:left}.df-html-learning .probeIn{padding:var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-lg);background:var(--df-surface);box-shadow:var(--df-sh-1)}.df-html-learning .probeCall{display:flex;align-items:center;flex-wrap:wrap;gap:var(--df-s1) var(--df-s2);padding:var(--df-s1) var(--df-s1) var(--df-s1) var(--df-s3);border:1px dashed var(--df-accent-line);border-radius:var(--df-r-pill);background:transparent}.df-html-learning .probeCall strong{font-size:var(--df-fs-tiny);color:var(--df-accent-ink)}.df-html-learning .probeCall .muted{flex:1 1 auto;font-size:var(--df-fs-tiny);color:var(--df-ink-3)}.df-html-learning .probeCall .side{padding:3px var(--df-s2);font-size:var(--df-fs-tiny);color:var(--df-accent-ink);border-color:var(--df-accent-line)}.df-html-learning .probeCall .side:hover{color:var(--df-accent);border-color:var(--df-accent);background:var(--df-accent-soft)}.df-html-learning .probeIn-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--df-s3);margin-bottom:var(--df-s4)}.df-html-learning .probeIn-head p{margin:var(--df-s1) 0 0;font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-html-learning .probeIn-close{width:var(--df-s5);height:var(--df-s5);border:1px solid var(--df-line);border-radius:var(--df-r-round);background:var(--df-surface-2);color:var(--df-ink-2);font-size:var(--df-fs-h3);line-height:1;cursor:pointer}.df-html-learning .probeIn-close:hover{border-color:var(--df-line-strong);color:var(--df-ink)}.df-html-learning .probeIn-step{display:flex;align-items:center;gap:var(--df-s3);font-size:var(--df-fs-small);color:var(--df-ink-3)}.df-html-learning .probeIn-pips{display:inline-flex;gap:var(--df-s1)}.df-html-learning .probeIn-pips i{width:var(--df-s2);height:var(--df-s2);border-radius:var(--df-r-round);background:var(--df-surface-3)}.df-html-learning .probeIn-pips i.done{background:var(--df-accent-line)}.df-html-learning .probeIn-pips i.cur{background:var(--df-accent)}.df-html-learning .probeIn-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:var(--df-s2);margin:var(--df-s3) 0 var(--df-s4)}.df-html-learning .probeIn-word{display:grid;gap:var(--df-s1);padding:var(--df-s2) var(--df-s3);border:1px solid var(--df-line-soft);border-radius:var(--df-r-sm);background:var(--df-surface-2)}.df-html-learning .probeIn-word b{font-size:var(--df-fs-body);color:var(--df-ink)}.df-html-learning .probeIn-word em{font-style:normal;font-size:var(--df-fs-tiny);color:var(--df-ink-2)}.df-html-learning .probeIn-ask{display:grid;gap:var(--df-s2)}.df-html-learning .probeIn-ask button{display:grid;gap:var(--df-s1);padding:var(--df-s3) var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface);color:var(--df-ink);font-size:var(--df-fs-body);font-weight:var(--df-fw-strong);text-align:left;cursor:pointer;transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease)}.df-html-learning .probeIn-ask button small{font-size:var(--df-fs-small);font-weight:var(--df-fw-body);color:var(--df-ink-3)}.df-html-learning .probeIn-ask button:hover{background:var(--df-accent-soft);border-color:var(--df-accent-line)}.df-html-learning .probeIn-result{margin:0 0 var(--df-s4);font-size:var(--df-fs-body);line-height:var(--df-lh-body);color:var(--df-ink)}.df-html-learning .probeIn-result b{color:var(--df-accent-ink);font-size:var(--df-fs-h2)}.df-html-learning .probeIn-acts{display:flex;flex-wrap:wrap;gap:var(--df-s2)}.df-html-learning .probeIn-acts button{padding:var(--df-s2) var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-pill);background:var(--df-surface);color:var(--df-ink-2);font-size:var(--df-fs-small);cursor:pointer}.df-html-learning .probeIn-acts button.go{border-color:var(--df-brand-deep);background:var(--df-brand-deep);color:var(--df-ink-on-brand);font-weight:var(--df-fw-strong)}.df-html-learning .probeIn-acts button.go:hover{border-color:var(--df-brand-ink);background:var(--df-brand-ink)}.df-html-learning .dayGrid,.df-html-learning .days{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--df-s3);max-width:var(--df-col);margin-inline:auto}.df-html-learning .dayTile,.df-html-learning .days button{position:relative;display:grid;place-content:center;gap:var(--df-s1);min-height:76px;padding:var(--df-s3) var(--df-s2);color:var(--df-ink-2);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);font:inherit;font-size:var(--df-fs-h2);font-weight:var(--df-fw-strong);font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-learning .dayTile b{font-size:inherit;font-weight:inherit;letter-spacing:-.01em}.df-html-learning .dayTile small,.df-html-learning .days button small{display:block;font-size:var(--df-fs-tiny);line-height:1;font-weight:var(--df-fw-body);color:inherit}.df-html-learning .dayTile.cur small{justify-self:center;margin:-2px 0;padding:2px var(--df-s2);border-radius:var(--df-r-xs);background:var(--df-brand-ink);line-height:1}.df-html-learning .dayTile.done{color:var(--df-done-ink);background:var(--df-done-bg);border-color:var(--df-done-line)}.df-html-learning .dayTile.done:after{content:"✓";position:absolute;top:var(--df-s1);right:var(--df-s2);font-size:var(--df-fs-small);line-height:1;color:var(--df-done)}.df-html-learning .dayTile.cur{color:var(--df-ink-on-brand);background:var(--df-brand);border-color:var(--df-brand);box-shadow:var(--df-sh-2);font-size:var(--df-fs-h1)}.df-html-learning .dayTile.cur:after{content:none}.df-html-learning .dayTile.open{color:var(--df-ink);background:var(--df-surface);border-color:var(--df-todo-line)}.df-html-learning .dayTile.open:after{content:none}.df-html-learning .dayTile.skip{color:var(--df-todo-ink);background:var(--df-todo-bg);border-color:var(--df-todo-line);border-style:dashed}.df-html-learning .dayTile.skip:after{content:none}.df-html-learning .dayTile.past{color:var(--df-ink-3);background:var(--df-surface-past);border-color:var(--df-line-soft);box-shadow:none}.df-html-learning .dayTile.done.past:after{color:var(--df-ink-3)}.df-html-learning .dayTile.past:hover{color:var(--df-ink-2);border-color:var(--df-line)}.df-html-learning .dayTile.lock,.df-html-learning .days button.day-locked,.df-html-learning .days button[disabled]{color:var(--df-ink-3);background:var(--df-surface-2);border-color:var(--df-line-soft);box-shadow:none;opacity:1;cursor:not-allowed}.df-html-learning .dayTile.cp{border-style:dashed;border-color:var(--df-accent-line);color:var(--df-accent-ink);background:var(--df-surface);font-size:var(--df-fs-h3)}.df-html-learning .dayTile.cp.cur{color:var(--df-ink-on-brand);background:var(--df-brand);border-color:var(--df-brand)}.df-html-learning .dayTile.cp.past{color:var(--df-ink-3);background:var(--df-surface-past);border-color:var(--df-line-soft)}.df-html-learning .dayTile.cp.lock{border-color:var(--df-line);color:var(--df-ink-3);background:var(--df-surface-2)}.df-html-learning .dayTile:hover:not(.lock):not([disabled]),.df-html-learning .days button:hover:not([disabled]){transform:translateY(-2px);box-shadow:var(--df-sh-2)}.df-html-learning .family-progress{display:flex;justify-content:space-between;gap:var(--df-s3);margin:var(--df-s5) 0 var(--df-s3);color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--df-s3)}.df-html-learning .family-card{position:relative;min-height:136px;padding:var(--df-s4);text-align:left;color:var(--df-ink);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);font:inherit;cursor:pointer;box-shadow:var(--df-sh-1);transition:transform var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-learning .family-card:hover{transform:translateY(-2px);border-color:var(--df-brand-line);box-shadow:var(--df-sh-2)}.df-html-learning .family-card.done{border-color:var(--df-done-line);background:var(--df-done-bg)}.df-html-learning .family-card.half{border-color:var(--df-brand-line)}.df-html-learning .family-card .num{display:inline-flex;margin-bottom:var(--df-s2);padding:3px var(--df-s2);border-radius:var(--df-r-pill);color:var(--df-brand-ink);background:var(--df-brand-soft);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong)}.df-html-learning .family-card strong{display:block;font-size:var(--df-fs-h2);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight)}.df-html-learning .family-card[data-fam]{border-color:var(--df-fam-line)}.df-html-learning .family-card[data-fam] .num{color:color-mix(in srgb,var(--df-fam-line) 55%,var(--df-ink));background:var(--df-fam-soft)}.df-html-learning .family-card[data-fam]:hover{border-color:color-mix(in srgb,var(--df-fam-line) 70%,var(--df-ink))}.df-html-learning .family-card[data-fam=root]{--df-fam-line: var(--df-fam-root-line);--df-fam-soft: var(--df-fam-root-soft)}.df-html-learning .family-card[data-fam=tell]{--df-fam-line: var(--df-fam-tell-line);--df-fam-soft: var(--df-fam-tell-soft)}.df-html-learning .family-card[data-fam=use]{--df-fam-line: var(--df-fam-use-line);--df-fam-soft: var(--df-fam-use-soft)}.df-html-learning .family-card[data-fam=theme]{--df-fam-line: var(--df-fam-theme-line);--df-fam-soft: var(--df-fam-theme-soft)}.df-html-learning .family-card[data-fam=plain]{--df-fam-line: var(--df-fam-plain-line);--df-fam-soft: var(--df-fam-plain-soft)}.df-html-learning .family-card[data-fam].done{border-color:var(--df-done-line)}.df-html-learning .family-card[data-fam].done .num{color:var(--df-ink-2);background:var(--df-surface-2)}.df-html-learning .family-card[data-fam].half{border-color:var(--df-brand-line)}.df-html-learning .family-card[data-fam].half .num{color:var(--df-brand-ink);background:var(--df-brand-soft)}.df-html-learning .family-card p{margin:var(--df-s1) 0 var(--df-s2);color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .family-card .words{color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:1.45}.df-html-learning .family-card.gold{grid-column:1 / -1;border-color:var(--df-brand-line)}.df-html-learning .family-card.check{grid-column:1 / -1;border-style:dashed;border-color:var(--df-accent-line)}.df-html-learning .family-card.check .num{color:var(--df-accent-ink);background:var(--df-accent-soft)}.df-html-learning .family-grid.check-after{margin-top:var(--df-s4)}.df-html-learning .rwStrip{display:flex;flex-wrap:wrap;gap:var(--df-s2);align-items:center;margin-top:var(--df-s5);padding:var(--df-s2) var(--df-s3);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md);background:var(--df-surface-2)}.df-html-learning .rwStrip .muted{flex:1 1 auto;font-size:var(--df-fs-small)}.df-html-learning .rwStrip .go{padding:var(--df-s1) var(--df-s3);font-size:var(--df-fs-small);color:var(--df-brand-ink);background:var(--df-surface);border:1px solid var(--df-brand-line)}.df-html-learning .light-family-box{margin-top:var(--df-s5);padding:var(--df-s4);border:1px dashed var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface-2)}.df-html-learning .light-family-box h3{margin:0 0 var(--df-s2);font-size:var(--df-fs-h3)}.df-html-learning .light-family-box p{margin:var(--df-s1) 0;color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .toprow{display:flex;justify-content:space-between;align-items:center;gap:var(--df-s3)}.df-html-learning .toprow>.muted{padding:var(--df-s1) var(--df-s3);color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);background:var(--df-surface-2);border-radius:var(--df-r-pill)}.df-html-learning .back{display:inline-flex;align-items:center;gap:var(--df-s1);padding:var(--df-s2) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .back:before{content:"←";font-size:var(--df-fs-h3);line-height:1}.df-html-learning .back:hover{border-color:var(--df-line-strong);background:var(--df-surface-2)}.df-html-learning .kind-tag{display:inline-block;margin:var(--df-s3) 0 0;padding:3px var(--df-s2);border-radius:var(--df-r-pill);color:var(--df-brand-ink);background:var(--df-brand-soft);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.06em}.df-html-learning h2{margin:var(--df-s3) 0 0;color:var(--df-ink);font-size:var(--df-fs-word-sm);line-height:var(--df-lh-tight);font-weight:var(--df-fw-word);overflow-wrap:break-word}.df-html-learning h2+.muted{margin:var(--df-s2) 0 0}.df-html-learning .drillPanel h2{font-size:var(--df-fs-h2)}.df-html-learning .drillPanel>.muted{max-width:var(--df-col);font-size:var(--df-fs-small)}.df-html-learning .disc-name{margin:var(--df-s3) 0 0;color:var(--df-ink-3);font-size:var(--df-fs-small);text-align:center}.df-html-learning .fam-words{display:flex;flex-wrap:wrap;align-items:center;gap:var(--df-s2);margin:var(--df-s3) 0 0}.df-html-learning .fam-words-tag{color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-html-learning .fam-word{padding:2px var(--df-s2);color:var(--df-brand-ink);background:var(--df-brand-soft);border:1px solid var(--df-brand-line);border-radius:var(--df-r-sm);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .fam-word.masked{color:var(--df-ink-3);background:var(--df-surface-2);border-style:dashed;border-color:var(--df-line-soft);letter-spacing:.16em}.df-html-learning .path{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--df-s1);margin:var(--df-s5) 0;padding:var(--df-s1);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md)}.df-html-learning .path button{min-width:0;padding:var(--df-s2) var(--df-s1);border:0;border-radius:var(--df-r-sm);color:var(--df-ink-2);background:transparent;font:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .path button:hover{color:var(--df-ink);background:var(--df-surface)}.df-html-learning .path button.on{color:var(--df-ink-on-brand);background:var(--df-brand)}.df-html-learning #box{animation:dfLearningcardIn .28s var(--df-ease)}.df-html-learning .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--df-s4)}.df-html-learning .pic{position:relative;min-width:0;overflow:hidden;cursor:pointer;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1);transition:border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-learning .pic:hover{border-color:var(--df-brand-line);box-shadow:var(--df-sh-2)}.df-html-learning .pic.open{border-color:var(--df-brand);box-shadow:var(--df-sh-2)}.df-html-learning .pic:after{content:"+";position:absolute;top:var(--df-s2);right:var(--df-s2);display:grid;place-items:center;width:28px;height:28px;color:var(--df-ink-2);font-size:var(--df-fs-h2);font-weight:var(--df-fw-body);line-height:1;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-round)}.df-html-learning .pic.open:after{content:"−";color:var(--df-ink-on-brand);background:var(--df-brand);border-color:var(--df-brand)}.df-html-learning .pic img,.df-html-learning .pic-letter{display:block;width:100%;height:150px;object-fit:cover}.df-html-learning .pic-letter{display:grid;place-items:center;background:var(--df-brand-soft);color:var(--df-brand-ink);font:var(--df-fw-word) 72px Georgia,serif;letter-spacing:.04em}.df-html-learning .pic .txt{position:relative;padding:var(--df-s3) var(--df-s4) var(--df-s4)}.df-html-learning .pic b{display:inline-block;margin-right:var(--df-s2);color:var(--df-ink);font-size:clamp(var(--df-fs-word-sm),3vw,var(--df-fs-word));line-height:var(--df-lh-tight);font-weight:var(--df-fw-word);letter-spacing:-.01em;overflow-wrap:break-word}.df-html-learning .pic .txt>span{color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .word-title-line{display:flex;align-items:baseline;gap:var(--df-s1);flex-wrap:wrap}.df-html-learning .word-title-line>b{margin-right:var(--df-s1)}.df-html-learning .word-title-line>.word-meaning{color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .fam{display:flex;flex-wrap:wrap;gap:var(--df-s1);margin-top:var(--df-s2)}.df-html-learning .fam i{font-style:normal;font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);color:var(--df-ink-2);background:var(--df-surface-2);border-radius:var(--df-r-pill);padding:2px var(--df-s2)}.df-html-learning .fam i em{font-style:normal;color:var(--df-ink-3);font-weight:var(--df-fw-body)}.df-html-learning .light{margin-top:var(--df-s4);padding:var(--df-s3) var(--df-s4);background:var(--df-surface-2);border:1px dashed var(--df-line);border-radius:var(--df-r-md);color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .light b{color:var(--df-ink)}.df-html-learning .hint{max-height:0;overflow:hidden;color:var(--df-ink-2);font-size:var(--df-fs-small);opacity:0}.df-html-learning .pic.open .hint{max-height:280px;margin-top:var(--df-s2);opacity:1}.df-html-learning .roots{display:grid;gap:var(--df-s3)}.df-html-learning .roots+.bar{margin-top:var(--df-s5)}.df-html-learning .root{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(100px,.75fr) 1.35fr;gap:var(--df-s3);align-items:center;min-height:62px;padding:var(--df-s3) var(--df-s4);cursor:pointer;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1);transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease);animation:dfLearningcardIn .3s var(--df-ease) both}.df-html-learning .root:hover{border-color:var(--df-brand-line);box-shadow:var(--df-sh-2)}.df-html-learning .root.on{background:var(--df-brand-soft);border-color:var(--df-brand-line)}.df-html-learning .root code{justify-self:start;padding:var(--df-s1) var(--df-s2);color:var(--df-brand-ink);background:var(--df-brand-soft);font-family:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);border-radius:var(--df-r-xs)}.df-html-learning .root b{color:var(--df-ink);font-size:var(--df-fs-h2);overflow-wrap:break-word}.df-html-learning .root span{color:var(--df-ink-2)}.df-html-learning .match{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--df-s7);min-height:385px;padding:var(--df-s4);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-lg)}.df-html-learning .match:before{content:"";position:absolute;left:50%;top:var(--df-s5);bottom:var(--df-s5);width:1px;background:var(--df-line)}.df-html-learning .match svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.df-html-learning .col{position:relative;z-index:1;min-width:0}.df-html-learning .col-head{margin:0 0 var(--df-s2);color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.12em;text-transform:uppercase}.df-html-learning .col:last-child .col-head{text-align:right}.df-html-learning .col button{position:relative;display:block;width:100%;min-height:48px;margin:0 0 var(--df-s2);padding:var(--df-s3);text-align:left;color:var(--df-ink);border:1px solid var(--df-line);border-radius:var(--df-r-sm);background:var(--df-surface);font:inherit;font-weight:var(--df-fw-strong);overflow-wrap:break-word;cursor:pointer;box-shadow:var(--df-sh-1)}.df-html-learning .col:last-child button{text-align:right}.df-html-learning .col button:after{content:"";position:absolute;top:50%;right:-8px;width:11px;height:11px;border:3px solid var(--df-surface);border-radius:var(--df-r-round);background:var(--df-line-strong);transform:translateY(-50%);transition:background var(--df-fast) var(--df-ease)}.df-html-learning .col:last-child button:after{right:auto;left:-8px}.df-html-learning .col button:hover{border-color:var(--df-brand-line);box-shadow:var(--df-sh-2)}.df-html-learning .col button:hover:after,.df-html-learning .col button.sel:after{background:var(--df-brand)}.df-html-learning .col button.sel{color:var(--df-brand-ink);background:var(--df-brand-soft);border-color:var(--df-brand);animation:dfLearningpulseRing 1.2s ease infinite}.df-html-learning .col button.used{border-color:var(--df-brand-line)}.df-html-learning .col button.used:after{background:var(--df-brand)}.df-html-learning .col button.good{color:var(--df-good);background:var(--df-good-bg);border-color:var(--df-good-line)}.df-html-learning .col button.good:after{background:var(--df-good)}.df-html-learning .col button.bad{color:var(--df-bad);background:var(--df-bad-bg);border-color:var(--df-bad-line)}.df-html-learning .col button.bad:after{background:var(--df-bad)}.df-html-learning .col button .col-fix{display:block;margin-top:var(--df-s1);color:var(--df-good);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-body);line-height:var(--df-lh-tight)}.df-html-learning .match-redo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--df-s3);margin-top:var(--df-s3);padding:var(--df-s3) var(--df-s4);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md)}.df-html-learning .match-redo-tip{flex:1 1 260px;min-width:0;margin:0;color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-html-learning .match-redo-go{flex:0 0 auto;padding:var(--df-s2) var(--df-s4);color:var(--df-brand-ink);background:var(--df-surface);border:1px solid var(--df-brand-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .match-redo-go:hover{border-color:var(--df-brand);background:var(--df-brand-soft)}.df-html-learning .rowq{position:relative;margin:0 0 var(--df-s3);padding:var(--df-s4);color:var(--df-ink);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1);animation:dfLearningcardIn .3s var(--df-ease) both;transition:border-color var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-learning .rowq:hover{border-color:var(--df-line-strong);box-shadow:var(--df-sh-2)}.df-html-learning .rowq>div:first-child{font-weight:var(--df-fw-strong)}.df-html-learning .opts,.df-html-learning .tf{display:flex;flex-wrap:wrap;gap:var(--df-s2);margin-top:var(--df-s3)}.df-html-learning .opts button,.df-html-learning .tf button,.df-html-learning .chip,.df-html-learning .blank{border:1px solid transparent;border-radius:var(--df-r-sm);font:inherit;overflow-wrap:break-word;cursor:pointer}.df-html-learning .opts button,.df-html-learning .tf button{padding:var(--df-s2) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface-2);border-color:var(--df-line)}.df-html-learning .opts button:hover,.df-html-learning .tf button:hover,.df-html-learning .chip:hover{border-color:var(--df-brand-line)}.df-html-learning .opts button.on,.df-html-learning .tf button.on,.df-html-learning .chip.on{color:var(--df-ink-on-brand);background:var(--df-brand);border-color:var(--df-brand)}.df-html-learning .opts button.good,.df-html-learning .tf button.good,.df-html-learning .blank.good{color:var(--df-good);background:var(--df-good-bg);border-color:var(--df-good-line)}.df-html-learning .opts button.bad,.df-html-learning .tf button.bad,.df-html-learning .blank.bad{color:var(--df-bad);background:var(--df-bad-bg);border-color:var(--df-bad-line)}.df-html-learning .tf button{min-width:62px;font-weight:var(--df-fw-strong)}.df-html-learning .passage{padding:clamp(var(--df-s4),4vw,var(--df-s5));color:var(--df-ink);font-family:Georgia,Times New Roman,Microsoft YaHei,serif;font-size:clamp(var(--df-fs-h3),2.5vw,var(--df-fs-h2));line-height:2.05;overflow-wrap:break-word;background:linear-gradient(90deg,color-mix(in srgb,var(--df-brand) 6%,transparent) 1px,transparent 1px),var(--df-surface);background-size:24px 100%;border:1px solid var(--df-line);border-left:4px solid var(--df-brand-line);border-radius:var(--df-r-md)}.df-html-learning .blank{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:34px;margin:0 var(--df-s1);padding:0 var(--df-s3);vertical-align:baseline;color:var(--df-brand-ink);font-family:Segoe UI,sans-serif;font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);background:var(--df-brand-soft);border-color:var(--df-brand-line);border-style:dashed}.df-html-learning .blank:hover{border-style:solid}.df-html-learning .blank:empty:before{content:"填入单词"}.df-html-learning .zhbox{position:relative;margin-top:var(--df-s3);padding:var(--df-s3) var(--df-s4) var(--df-s3) 44px;color:var(--df-ink-2);background:var(--df-surface-2);border-radius:var(--df-r-md);font-size:var(--df-fs-small)}.df-html-learning .zhbox:before{content:"译";position:absolute;left:var(--df-s3);top:var(--df-s3);display:grid;place-items:center;width:22px;height:22px;color:var(--df-ink-on-brand);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);background:var(--df-ink-3);border-radius:var(--df-r-xs)}.df-html-learning .bank{display:flex;flex-wrap:wrap;gap:var(--df-s2);margin-top:var(--df-s4);padding:var(--df-s3);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md)}.df-html-learning .chip{position:relative;padding:var(--df-s2) var(--df-s3);color:var(--df-brand-ink);font-weight:var(--df-fw-strong);background:var(--df-surface);border-color:var(--df-brand-line)}.df-html-learning .chip.on{animation:dfLearningpulseRing 1.2s ease infinite}.df-html-learning .chip.gone{opacity:.3;cursor:default}.df-html-learning .bar{display:flex;justify-content:flex-end;align-items:center;gap:var(--df-s3);margin-top:var(--df-s5);padding-top:var(--df-s4);border-top:1px solid var(--df-line-soft)}.df-html-learning .go{min-width:134px;padding:var(--df-s3) var(--df-s5);color:var(--df-ink-on-brand);border:0;border-radius:var(--df-r-sm);background:var(--df-brand-deep);font:inherit;font-weight:var(--df-fw-strong);cursor:pointer;box-shadow:var(--df-sh-1)}.df-html-learning .go:after{content:" →"}.df-html-learning .go:hover{background:var(--df-brand-ink);box-shadow:var(--df-sh-2)}.df-html-learning .score{margin-right:auto;padding:var(--df-s1) var(--df-s3);color:var(--df-brand-ink);font-weight:var(--df-fw-strong);background:var(--df-brand-soft);border-radius:var(--df-r-pill)}.df-html-learning .score:empty{display:none}.df-html-learning .disc-nudge{margin-right:auto;max-width:34ch;color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-html-learning .whybox{margin:var(--df-s2) 0 0;padding:var(--df-s2) var(--df-s3);border-radius:var(--df-r-sm);background:var(--df-surface-2);color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:1.45}.df-html-learning .whybox b{color:var(--df-brand-ink)}.df-html-learning .cloze-feedback{margin:var(--df-s3) 0 0;padding:var(--df-s3) var(--df-s4);border:1px solid var(--df-bad-line);border-radius:var(--df-r-md);background:var(--df-bad-bg);color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:1.62}.df-html-learning .cloze-feedback-title{display:flex;align-items:center;gap:var(--df-s1);margin-bottom:var(--df-s2);color:var(--df-bad);font-weight:var(--df-fw-strong)}.df-html-learning .cloze-feedback-title:before{content:"!";width:20px;height:20px;display:inline-grid;place-items:center;border-radius:var(--df-r-round);background:var(--df-bad);color:var(--df-ink-on-brand);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .cloze-sentence-zh{margin-bottom:var(--df-s2);padding-bottom:var(--df-s2);border-bottom:1px dashed var(--df-bad-line);color:var(--df-ink-2)}.df-html-learning .cloze-explain-item+.cloze-explain-item{margin-top:var(--df-s3);padding-top:var(--df-s3);border-top:1px solid var(--df-bad-line)}.df-html-learning .cloze-explain-item strong{color:var(--df-ink)}.df-html-learning .cloze-explain-item .answer{color:var(--df-good);font-weight:var(--df-fw-strong)}.df-html-learning .cloze-explain-item .why{margin-top:var(--df-s1);color:var(--df-ink-2)}.df-html-learning .gold-use{margin:var(--df-s3) 0;padding:var(--df-s3) var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface)}.df-html-learning .gold-use .pat{display:flex;flex-wrap:wrap;gap:var(--df-s2) var(--df-s3);align-items:baseline}.df-html-learning .gold-use code{padding:2px var(--df-s2);border-radius:var(--df-r-xs);color:var(--df-brand-ink);background:var(--df-brand-soft);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong)}.df-html-learning .gold-use .ex{margin:var(--df-s2) 0 0;color:var(--df-ink)}.df-html-learning .gold-use .exzh{margin:var(--df-s1) 0 0;color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .real-exam-badge{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:var(--df-s1);border:1px solid var(--df-brand-line);border-radius:var(--df-r-round);color:var(--df-brand-ink);background:var(--df-brand-soft);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);line-height:1;vertical-align:2px;flex:0 0 auto}.df-html-learning .fam .real-exam-badge,.df-html-learning .words .real-exam-badge,.df-html-learning .root b .real-exam-badge,.df-html-learning .col button .real-exam-badge,.df-html-learning .chip .real-exam-badge{width:14px;height:14px;font-size:8px;vertical-align:1px}.df-html-learning .word-ipa{display:block;margin:1px 0 0;font-size:var(--df-fs-small);line-height:1.4;font-weight:var(--df-fw-strong);letter-spacing:.01em;color:currentColor;opacity:.52}.df-html-learning .fam .d-ipa{margin-left:var(--df-s1);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:0;opacity:.62}.df-html-learning .say{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;padding:0;margin-left:1px;border:0;border-radius:var(--df-r-round);background:transparent;color:currentColor;opacity:.45;cursor:pointer;vertical-align:middle;transition:opacity var(--df-fast),background var(--df-fast),transform var(--df-fast)}.df-html-learning .say svg{display:block;width:15px;height:15px}.df-html-learning .say:hover{opacity:.9;background:color-mix(in srgb,currentColor 10%,transparent)}.df-html-learning .say.say-on{opacity:1;background:color-mix(in srgb,currentColor 14%,transparent);animation:dfLearningsayPulse .62s ease-in-out infinite}.df-html-learning .say.say-bad{opacity:1;color:var(--df-bad);background:var(--df-bad-bg);animation:none}.df-html-learning .say[disabled]{position:relative;opacity:.3;cursor:not-allowed;background:transparent;animation:none}.df-html-learning .say[disabled]:after{content:"";position:absolute;left:2px;right:2px;top:50%;height:1.6px;border-radius:var(--df-r-pill);background:currentColor;transform:rotate(-45deg)}@keyframes dfLearningsayPulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.df-html-learning .say-list{margin-top:var(--df-s4);padding:var(--df-s3) var(--df-s4);border-radius:var(--df-r-md);border:1px dashed var(--df-line)}.df-html-learning .say-list-head{margin-bottom:var(--df-s2);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.04em;color:var(--df-ink-3)}.df-html-learning .say-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--df-s1);padding:var(--df-s1) 0}.df-html-learning .say-row+.say-row{border-top:1px dashed var(--df-line-soft)}.df-html-learning .say-row>b{font-size:var(--df-fs-h3)}.df-html-learning .say-row .word-ipa{display:inline;font-size:var(--df-fs-small)}.df-html-learning .say-row .say-zh{margin-left:auto;font-size:var(--df-fs-small);color:var(--df-ink-2)}@media(max-width:720px){.df-html-learning .wrap{padding:var(--df-s5) var(--df-s3) var(--df-s6)}.df-html-learning .panel{border-radius:var(--df-r-md)}.df-html-learning .root{grid-template-columns:110px 1fr}.df-html-learning .root span{grid-column:1 / -1}.df-html-learning .path{margin:var(--df-s4) 0}.df-html-learning .path button{font-size:var(--df-fs-small);white-space:nowrap}.df-html-learning .match{gap:var(--df-s6);padding:var(--df-s3)}.df-html-learning .col button{padding:var(--df-s3) var(--df-s2);font-size:var(--df-fs-small)}}@media(max-width:520px){.df-html-learning .hero{margin-bottom:var(--df-s4)}.df-html-learning .hero p{font-size:var(--df-fs-small)}.df-html-learning .wrap.in-fam{padding-top:var(--df-s3)}.df-html-learning .wrap.in-fam .hero{display:none}.df-html-learning .wrap.in-fam .fam-words{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.df-html-learning .wrap.in-fam .fam-words::-webkit-scrollbar{height:0}.df-html-learning .wrap.in-fam .fam-words-tag,.df-html-learning .wrap.in-fam .fam-word{flex:0 0 auto}.df-html-learning .wrap.in-fam .path-tip{display:none}.df-html-learning .wrap.in-fam .panel{overflow:clip visible}.df-html-learning .wrap.in-fam .bar{position:sticky;bottom:0;z-index:5;flex-direction:column;align-items:stretch;gap:var(--df-s2);margin-top:var(--df-s4);padding-bottom:var(--df-s3);background:var(--df-surface)}.df-html-learning .wrap.in-fam .bar .score{margin-right:0;text-align:center}.df-html-learning .wrap.in-fam .bar .disc-nudge{margin-right:0;max-width:none;text-align:center}.df-html-learning .wrap.in-fam .bar .go{flex:0 0 auto}.df-html-learning .dayGrid,.df-html-learning .days{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--df-s2)}.df-html-learning .dayTile,.df-html-learning .days button{min-height:64px;padding:var(--df-s2) var(--df-s1);font-size:var(--df-fs-body)}.df-html-learning .paceBar{grid-template-columns:repeat(3,1fr);border-radius:var(--df-r-md)}.df-html-learning .paceBarLead{grid-column:1 / -1;padding:var(--df-s1) var(--df-s2) 0}.df-html-learning .paceTab{border-radius:var(--df-r-sm)}.df-html-learning .probeCall{padding:var(--df-s2) var(--df-s3);border-radius:var(--df-r-md)}.df-html-learning .probeCall .side{margin-left:auto}.df-html-learning .sideCall{grid-template-columns:1fr}.df-html-learning .sideCall>button{grid-column:1;grid-row:auto;justify-self:start;margin-top:var(--df-s2)}.df-html-learning .probeIn-words{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.df-html-learning .grid,.df-html-learning .family-grid{grid-template-columns:1fr}.df-html-learning .pic{display:grid;grid-template-columns:116px 1fr}.df-html-learning .pic img,.df-html-learning .pic-letter{height:116px}.df-html-learning .pic-letter{font-size:48px}.df-html-learning .pic .txt{align-self:center}.df-html-learning .pic:after{top:var(--df-s2);left:82px;right:auto;width:25px;height:25px}.df-html-learning .path{display:flex;justify-content:space-between;gap:2px;padding:3px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;border-radius:var(--df-r-sm)}.df-html-learning .path::-webkit-scrollbar{height:0}.df-html-learning .path button{flex:0 0 auto;width:calc(2em + var(--df-s2));padding:var(--df-s2) var(--df-s1);font-size:var(--df-fs-small);line-height:1.25;white-space:normal;word-break:break-all;text-align:center;scroll-snap-align:center;border-radius:var(--df-r-xs)}.df-html-learning .root{grid-template-columns:96px 1fr;gap:var(--df-s2);padding:var(--df-s2) var(--df-s3)}.df-html-learning .root code{font-size:var(--df-fs-tiny)}.df-html-learning .match{gap:var(--df-s5);padding:var(--df-s2);border-radius:var(--df-r-md)}.df-html-learning .col button{min-height:45px;padding:var(--df-s2) var(--df-s1);font-size:var(--df-fs-tiny);border-radius:var(--df-r-xs)}.df-html-learning .col button:after{right:-7px;width:10px;height:10px}.df-html-learning .col:last-child button:after{left:-7px}.df-html-learning .rowq,.df-html-learning .passage{padding:var(--df-s3)}.df-html-learning .blank{min-width:88px;margin:0 2px;padding:0 var(--df-s2);font-size:var(--df-fs-small)}.df-html-learning .bar{align-items:stretch}.df-html-learning .go{flex:1;min-width:0;padding-inline:var(--df-s3)}}@media(prefers-reduced-motion:reduce){.df-html-learning *,.df-html-learning *:before,.df-html-learning *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.df-html-learning .disc{margin:var(--df-s5) auto 0;max-width:var(--df-col-wide)}.df-html-learning .disc-why{max-width:var(--df-col);margin:0 auto var(--df-s4);color:var(--df-ink-2);font-size:var(--df-fs-body);line-height:var(--df-lh-body);text-align:center}.df-html-learning .disc-ring{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--df-s3);margin:0 auto}.df-html-learning .disc-core{display:grid;align-content:center;justify-items:center;gap:var(--df-s1);grid-column:1 / -1;padding:var(--df-s4);overflow:hidden;text-align:center;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-lg);box-shadow:var(--df-sh-2)}@media(min-width:561px){.df-html-learning .disc-ring:not(.crowded){display:block;width:min(100%,520px);aspect-ratio:1 / 1}.df-html-learning .disc-ring:not(.crowded):before{content:"";position:absolute;inset:13%;border:1px dashed var(--df-line);border-radius:var(--df-r-round);pointer-events:none}.df-html-learning .disc-ring:not(.crowded) .disc-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:42%;aspect-ratio:1 / 1;padding:var(--df-s3);border-radius:var(--df-r-round)}.df-html-learning .disc-ring:not(.crowded) .disc-node{position:absolute;left:var(--dx);top:var(--dy);width:clamp(84px,19%,124px);transform:translate(-50%,-50%)}.df-html-learning .disc-ring:not(.crowded) .disc-node:hover{transform:translate(-50%,-50%) translateY(-2px)}.df-html-learning .disc-ring:not(.crowded) .disc-node.open{transform:translate(-50%,-50%) scale(1.22)}}.df-html-learning .disc-root{color:var(--df-brand-ink);font-size:var(--df-fs-h1);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .disc-sense{color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);line-height:var(--df-lh-tight)}.df-html-learning .disc-count{color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.06em}.df-html-learning .disc-node{position:relative;z-index:2;padding:0;cursor:pointer;perspective:600px;transition:transform var(--df-fast) var(--df-ease)}.df-html-learning .disc-node:hover{transform:translateY(-2px)}.df-html-learning .disc-node:hover .disc-node-in{box-shadow:var(--df-sh-2)}.df-html-learning .disc-node.open{z-index:4}.df-html-learning .disc-ring .disc-node.open{transform:scale(1.04)}.df-html-learning .disc-node-in{position:relative;display:block;width:100%;min-height:62px;border-radius:var(--df-r-md);box-shadow:var(--df-sh-1);transform-style:preserve-3d;transition:transform var(--df-slow) var(--df-ease),box-shadow var(--df-fast)}.df-html-learning .disc-node.open .disc-node-in{transform:rotateY(180deg);box-shadow:var(--df-sh-3)}.df-html-learning .disc-face{position:absolute;inset:0;display:grid;place-items:center;padding:var(--df-s2);text-align:center;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);backface-visibility:hidden}.df-html-learning .disc-front{position:relative}.df-html-learning .disc-face b{color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .disc-back{transform:rotateY(180deg);background:var(--df-brand-soft);border-color:var(--df-brand-line)}.df-html-learning .disc-back b{color:var(--df-brand-ink);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .disc-node.open .disc-face{border-color:var(--df-brand-line)}.df-html-learning .disc-node>.say{position:absolute;right:calc(-1 * var(--df-s1));bottom:calc(-1 * var(--df-s1));z-index:5;color:var(--df-brand-ink);background:var(--df-surface);border:1px solid var(--df-line);opacity:.85}.df-html-learning .disc .say[disabled],.df-html-learning .disc-detail .say[disabled],.df-html-learning .drill-head .say[disabled],.df-html-learning .oneq .say[disabled],.df-html-learning .disc-detail{display:none}.df-html-learning .disc-detail.on{display:grid;align-content:center;justify-items:center;position:absolute;inset:0;z-index:6;padding:var(--df-s3);overflow:auto;background:var(--df-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--df-r-lg)}.df-html-learning .disc-detail.on .dd{display:grid;gap:var(--df-s2);width:100%;max-width:var(--df-col);padding:var(--df-s4);background:var(--df-surface);border:1px solid var(--df-brand-line);border-radius:var(--df-r-lg);box-shadow:var(--df-sh-3)}@keyframes dfLearningdfCardZoom{0%{opacity:.25;transform:scale(.42)}to{opacity:1;transform:scale(1)}}.df-html-learning .disc-detail.zoom .dd{transform-origin:var(--df-zoom-x, 50%) var(--df-zoom-y, 50%);animation:dfLearningdfCardZoom var(--df-slow) var(--df-ease-out)}.df-html-learning .disc-ring.showcard .disc-node,.df-html-learning .disc-ring.showcard .disc-core{visibility:hidden}.df-html-learning .dd-sibs{display:grid;gap:var(--df-s2);margin-top:var(--df-s3);padding-top:var(--df-s3);border-top:1px dashed var(--df-line)}.df-html-learning .dd-sib-list{display:flex;flex-wrap:wrap;gap:var(--df-s2)}.df-html-learning .dd-sib{padding:var(--df-s1) var(--df-s3);color:var(--df-ink);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .dd-sib:hover{color:var(--df-brand-ink);border-color:var(--df-brand-line)}.df-html-learning .disc-ring.showcard{min-height:22rem}.df-html-learning .dd-close{justify-self:end;align-self:start;padding:var(--df-s1) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font-size:var(--df-fs-tiny);cursor:pointer}.df-html-learning .dd-close:hover{color:var(--df-ink);border-color:var(--df-line-strong)}.df-html-learning .disc-detail.on .dd-close{position:sticky;top:0;z-index:2;box-shadow:0 0 0 4px var(--df-surface)}.df-html-learning .disc-detail.zoom .dd-word{font-size:var(--df-fs-word)}.df-html-learning .disc-hint{margin:0;color:var(--df-ink-3);font-size:var(--df-fs-small);text-align:center}.df-html-learning .disc-extra{display:grid;gap:var(--df-s2);margin-top:var(--df-s3);padding-top:var(--df-s3);border-top:1px dashed var(--df-line)}.df-html-learning .disc-extra span{display:flex;flex-wrap:wrap;gap:var(--df-s2);align-items:baseline;color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .dd-top{display:flex;flex-wrap:wrap;gap:var(--df-s2);align-items:baseline}.df-html-learning .dd-word{color:var(--df-ink);font-size:var(--df-fs-word-sm);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .dd-top .word-ipa{display:inline;font-size:var(--df-fs-ipa);opacity:.6}.df-html-learning .dd-zh{color:var(--df-brand-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong)}.df-html-learning .dd-bits{display:flex;flex-wrap:wrap;gap:var(--df-s2);align-items:baseline;margin-top:var(--df-s3)}.df-html-learning .dd-bits code{padding:var(--df-s1) var(--df-s2);color:var(--df-brand-ink);background:var(--df-brand-soft);border-radius:var(--df-r-xs);font-family:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .dd-bits span{color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-html-learning .dd-line{margin:var(--df-s2) 0 0;color:var(--df-ink-2);font-size:var(--df-fs-body);line-height:var(--df-lh-body)}.df-html-learning .dd-forms,.df-html-learning .dd-deriv{margin-top:var(--df-s3);padding-top:var(--df-s3);border-top:1px dashed var(--df-line)}.df-html-learning .dd-block-head{display:block;margin-bottom:var(--df-s2);color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.1em}.df-html-learning .dd-form-list,.df-html-learning .dd-deriv-list{display:grid;gap:var(--df-s2)}.df-html-learning .dd-form-list i,.df-html-learning .dd-deriv-list i{display:flex;flex-wrap:wrap;gap:var(--df-s1) var(--df-s2);align-items:baseline;padding:var(--df-s2) var(--df-s3);background:var(--df-surface-2);border-radius:var(--df-r-sm);font-style:normal}.df-html-learning .dd-form-list i b,.df-html-learning .dd-deriv-list i b{color:var(--df-ink);font-size:var(--df-fs-small);font-weight:var(--df-fw-word)}.df-html-learning .dd-form-list i em,.df-html-learning .dd-deriv-list i em{color:var(--df-ink-2);font-size:var(--df-fs-small);font-style:normal;font-weight:var(--df-fw-body)}.df-html-learning .dd-form-tag{padding:0 var(--df-s2);color:var(--df-brand-ink);background:var(--df-brand-soft);border-radius:var(--df-r-pill);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);white-space:nowrap}.df-html-learning .dd-form-list .say,.df-html-learning .dd-deriv-list .say{margin-left:auto}.df-html-learning .oneq{max-width:var(--df-col);margin:var(--df-s4) auto 0;padding:var(--df-s5);text-align:center;background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-lg);box-shadow:var(--df-sh-1)}.df-html-learning .oneq-head{display:grid;justify-items:center;gap:var(--df-s2);margin-bottom:var(--df-s5);padding-bottom:var(--df-s3);border-bottom:1px solid var(--df-line-soft)}.df-html-learning .q-prog{padding:var(--df-s1) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface-2);border-radius:var(--df-r-pill);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);letter-spacing:.08em}.df-html-learning .q-word{display:flex;flex-wrap:wrap;gap:var(--df-s1) var(--df-s2);align-items:baseline;justify-content:center;color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-html-learning .q-word b{color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .q-word-zh{color:var(--df-brand-ink);font-weight:var(--df-fw-strong)}.df-html-learning .q-word .word-ipa{display:inline;font-size:var(--df-fs-ipa-sm);opacity:.6}.df-html-learning .oneq-ask{max-width:var(--df-col);margin:0 auto;color:var(--df-ink);font-size:var(--df-fs-h1);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight)}.df-html-learning .oneq-en{margin-top:var(--df-s4);padding:var(--df-s4);color:var(--df-ink);background:var(--df-surface-2);border-radius:var(--df-r-md);font-size:var(--df-fs-h3);line-height:var(--df-lh-body);overflow-wrap:anywhere}.df-html-learning .oneq[data-kind=s3] .oneq-ask{color:var(--df-ink-2);font-size:var(--df-fs-body);font-weight:var(--df-fw-body)}.df-html-learning .oneq[data-kind=s3] .oneq-en{margin-top:var(--df-s3);font-size:var(--df-fs-h2);font-weight:var(--df-fw-strong)}.df-html-learning .oneq-opts,.df-html-learning .oneq-tf{justify-content:center;gap:var(--df-s3);margin-top:var(--df-s5)}.df-html-learning .oneq-opts button,.df-html-learning .oneq-tf button{min-width:110px;padding:var(--df-s3) var(--df-s5);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);border-radius:var(--df-r-md)}.df-html-learning .oneq-opts button small{display:block;margin-top:var(--df-s1);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-body);opacity:.75}.df-html-learning .oneq-why{margin-top:var(--df-s4);text-align:left;line-height:var(--df-lh-body)}.df-html-learning .bar .go:disabled{opacity:.45;cursor:not-allowed;transform:none}.df-html-learning .oneq-back{margin-right:var(--df-s2)}@keyframes dfLearningdfDiscRight{0%{box-shadow:0 0 0 0 var(--df-good-line)}to{box-shadow:0 0 0 10px transparent}}@keyframes dfLearningdfDiscWrong{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.df-html-learning .oneq .right{animation:dfLearningdfDiscRight .38s var(--df-ease)}.df-html-learning .oneq .wrong{animation:dfLearningdfDiscWrong .22s var(--df-ease)}.df-html-learning .sp .oneq-head{margin-bottom:var(--df-s4)}.df-html-learning .sp-word{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:var(--df-s1);margin:0 auto}.df-html-learning .sp-fix,.df-html-learning .sp-in{font-size:var(--df-fs-word-sm);font-weight:var(--df-fw-word);line-height:1.4;text-align:center}.df-html-learning .sp-fix{color:var(--df-ink);padding:0 1px}.df-html-learning .sp-in{width:1.35em;padding:0 0 var(--df-s1);color:var(--df-brand-ink);background:var(--df-brand-soft);border:0;border-bottom:2px solid var(--df-brand-line);border-radius:var(--df-r-sm) var(--df-r-sm) 0 0;font-family:inherit;transition:background-color var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease)}.df-html-learning .sp-in:focus{outline:0;border-bottom-color:var(--df-brand);box-shadow:var(--df-sh-focus)}.df-html-learning .sp-in.bad{color:var(--df-bad-ink);background:var(--df-bad-bg);border-bottom-color:var(--df-bad)}.df-html-learning .sp-in.ok{color:var(--df-good-ink);background:var(--df-good-bg);border-bottom-color:var(--df-good-line)}.df-html-learning .sp-zh{margin-top:var(--df-s4);color:var(--df-ink-2);font-size:var(--df-fs-h3);text-align:center}.df-html-learning .sp-done{margin-top:var(--df-s2);text-align:center}.df-html-learning .sp-hint,.df-html-learning .sp-why{margin-top:var(--df-s4);text-align:center}.df-html-learning .sp-hint code,.df-html-learning .sp-why code{color:var(--df-ink-2);font-family:inherit;font-size:var(--df-fs-body)}.df-html-learning .sp-tools{display:flex;justify-content:center;gap:var(--df-s2);margin-top:var(--df-s4)}.df-html-learning .sp-tip{padding:var(--df-s2) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-small);cursor:pointer}.df-html-learning .sp-tip:hover{color:var(--df-ink);background:var(--df-surface-3)}.df-html-learning .sp-tip[disabled]{cursor:default;opacity:.7}.df-html-learning .rv-lead{max-width:var(--df-col);margin:var(--df-s4) auto 0;text-align:center}.df-html-learning .rv-lead h3{margin:0;color:var(--df-ink);font-size:var(--df-fs-h1);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight)}.df-html-learning .rv-lead p{margin:var(--df-s2) 0 0;font-size:var(--df-fs-body)}.df-html-learning .rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--df-s3);max-width:var(--df-col-wide);margin:var(--df-s5) auto 0}.df-html-learning .rv-card{position:relative;display:flex;align-items:flex-start;gap:var(--df-s2);padding:var(--df-s3) var(--df-s4);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);box-shadow:var(--df-sh-1);transition:border-color var(--df-fast) var(--df-ease),background-color var(--df-fast) var(--df-ease)}.df-html-learning .rv-card.on{border-color:var(--df-done-line);background:var(--df-done-bg)}.df-html-learning .rv-ck{flex:1 1 auto;display:flex;align-items:flex-start;gap:var(--df-s3);min-width:0;padding:0;color:inherit;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.df-html-learning .rv-box{flex:0 0 auto;width:22px;height:22px;margin-top:2px;background:var(--df-surface);border:2px solid var(--df-line-strong);border-radius:var(--df-r-xs);transition:background-color var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease)}.df-html-learning .rv-card.on .rv-box{background:var(--df-done);border-color:var(--df-done)}.df-html-learning .rv-card.on .rv-box:after{content:"";display:block;width:5px;height:10px;margin:2px auto 0;border:solid var(--df-ink-on-brand);border-width:0 2px 2px 0;transform:rotate(45deg)}.df-html-learning .rv-ck:focus-visible{outline:0}.df-html-learning .rv-ck:focus-visible .rv-box{box-shadow:var(--df-sh-focus)}.df-html-learning .rv-main{display:grid;gap:var(--df-s1);min-width:0}.df-html-learning .rv-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--df-s2)}.df-html-learning .rv-top b{color:var(--df-ink);font-size:var(--df-fs-word-sm);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .rv-top .word-ipa{font-size:var(--df-fs-ipa-sm);opacity:.55}.df-html-learning .rv-zh{color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .rv-bits code{color:var(--df-ink-3);font-family:inherit;font-size:var(--df-fs-tiny)}.df-html-learning .rv-marks{color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong)}.df-html-learning .rv-tools{flex:0 0 auto;display:grid;gap:var(--df-s1);justify-items:end}.df-html-learning .rv-again{padding:var(--df-s1) var(--df-s2);color:var(--df-ink-2);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-tiny);cursor:pointer;white-space:nowrap}.df-html-learning .rv-again:hover{color:var(--df-ink);background:var(--df-surface-3)}.df-html-learning .q-zh-wrap{margin-top:var(--df-s3);text-align:center}.df-html-learning.selftest .hero,.df-html-learning.selftest .picks{display:none}.df-html-learning.selftest .match{min-height:0}.df-html-learning .selfSteps{display:flex;gap:var(--df-s2);margin:0 0 var(--df-s4);font-size:var(--df-fs-small);color:var(--df-ink-3)}.df-html-learning .selfStep{display:inline-flex;align-items:center;gap:6px}.df-html-learning .selfStep+.selfStep:before{content:"›";color:var(--df-line-strong)}.df-html-learning .selfStep.on{color:var(--df-brand-ink);font-weight:var(--df-fw-strong)}.df-html-learning .selfStep.done{color:var(--df-ink-3)}.df-html-learning .selfRound{margin:0 0 var(--df-s3)}.df-html-learning .sp-recall .sp-zh{margin:0 0 var(--df-s4);color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong)}.df-html-learning .selfDone{text-align:center}.df-html-learning .selfScore{display:flex;justify-content:center;gap:var(--df-s5);margin:var(--df-s4) 0}.df-html-learning .selfScore span{display:inline-flex;flex-direction:column;gap:2px;color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-html-learning .selfScore b{color:var(--df-brand-ink);font-size:var(--df-fs-h2)}.df-html-learning .selfActs{display:flex;justify-content:center;gap:var(--df-s3);margin-top:var(--df-s5)}.df-html-learning .q-tools{display:inline-flex;align-items:center;gap:var(--df-s2)}.df-html-learning .q-tools .lk-sw{margin-left:0;width:26px;height:26px;padding:0;border-radius:50%;font-size:var(--df-fs-tiny);line-height:1}.df-html-learning .rv-slogan{margin:0 0 var(--df-s2);color:var(--df-brand-ink);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .q-zh-btn{width:26px;height:26px;padding:0;color:var(--df-ink-3);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:50%;font:inherit;font-size:var(--df-fs-tiny);line-height:1;cursor:pointer}.df-html-learning .q-zh-btn:hover{color:var(--df-brand-ink);border-color:var(--df-brand-line)}.df-html-learning .q-zh-wrap.on .q-zh-btn{color:var(--df-brand-ink);background:var(--df-brand-soft);border-color:var(--df-brand-line)}.df-html-learning .q-zh{padding:var(--df-s2) var(--df-s3);color:var(--df-ink-2);background:var(--df-surface-2);border-radius:var(--df-r-md);font-size:var(--df-fs-small);line-height:var(--df-lh-body);text-align:left}.df-html-learning .q-gp{display:inline-block;padding:1px var(--df-s2);color:var(--df-accent-ink);background:var(--df-accent-soft);border:1px solid var(--df-accent-line);border-radius:var(--df-r-pill);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);vertical-align:middle;white-space:nowrap}.df-html-learning .oneq-gp{margin-bottom:var(--df-s2)}.df-html-learning .cloze-body{display:grid;gap:var(--df-s4)}.df-html-learning .cloze-sent{display:grid;gap:0}.df-html-learning .cloze-sent .passage{margin:0}.df-html-learning .cloze-pager{display:flex;gap:var(--df-s2);align-items:center;justify-content:center;margin-bottom:var(--df-s4)}.df-html-learning .cloze-dot{width:2rem;height:2rem;color:var(--df-ink-2);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:var(--df-r-round);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .cloze-dot.done{color:var(--df-brand-ink);border-color:var(--df-brand-line)}.df-html-learning .cloze-dot.on{color:var(--df-ink-on-brand);background:var(--df-brand);border-color:var(--df-brand)}.df-html-learning .cloze-dot[disabled]{opacity:.45;cursor:default}.df-html-learning .cloze-pager-tip{margin-left:var(--df-s2);color:var(--df-ink-3);font-size:var(--df-fs-tiny)}.df-html-learning .cloze-scene{display:grid;gap:var(--df-s4)}.df-html-learning .cloze-scene+.cloze-scene{margin-top:var(--df-s2);padding-top:var(--df-s4);border-top:1px dashed var(--df-line)}.df-html-learning .cloze-scene-tag{color:var(--df-ink-3);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);letter-spacing:.04em}.df-html-learning .word-pos{display:inline-block;padding:0 var(--df-s1);color:var(--df-brand-ink);background:var(--df-brand-soft);border-radius:var(--df-r-xs);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong);vertical-align:middle;white-space:nowrap}.df-html-learning .dd-phrase{margin-top:var(--df-s4)}.df-html-learning .dd-phrase-list{display:grid;gap:var(--df-s1);margin-top:var(--df-s2)}.df-html-learning .dd-phrase-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--df-s2);font-style:normal}.df-html-learning .dd-phrase-item b{color:var(--df-ink);font-size:var(--df-fs-body);font-weight:var(--df-fw-strong)}.df-html-learning .dd-phrase-item em{color:var(--df-ink-3);font-size:var(--df-fs-small);font-style:normal}.df-html-learning .drill-head{max-width:var(--df-col);margin:var(--df-s4) auto 0;padding:var(--df-s4);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-lg)}.df-html-learning .drill-head .back{margin-bottom:var(--df-s3)}.df-html-learning .drill-none{max-width:var(--df-col);margin:var(--df-s4) auto 0;text-align:center}.df-html-learning .path button{line-height:var(--df-lh-tight);transition:color var(--df-fast) var(--df-ease),background-color var(--df-fast) var(--df-ease)}.df-html-learning .path button.done{color:var(--df-brand-ink);background:var(--df-brand-soft)}.df-html-learning .path button.done:hover{color:var(--df-brand-ink);background:var(--df-brand-line)}.df-html-learning .path button.soon{color:var(--df-todo-ink);background:var(--df-todo-bg);box-shadow:inset 0 0 0 1px var(--df-todo-line)}.df-html-learning .path button.soon:hover{color:var(--df-todo-ink);background:var(--df-todo-line)}.df-html-learning .path-tip{margin:calc(-1 * var(--df-s3)) 0 var(--df-s5);color:var(--df-ink-3);font-size:var(--df-fs-small);line-height:var(--df-lh-body);text-align:center}@media(max-width:560px){.df-html-learning .oneq{padding:var(--df-s4)}.df-html-learning .oneq-opts button,.df-html-learning .oneq-tf button{min-width:0;flex:1 1 40%;padding:var(--df-s3)}.df-html-learning .rv-list{grid-template-columns:minmax(0,1fr)}.df-html-learning .sp-fix,.df-html-learning .sp-in{font-size:var(--df-fs-h2)}.df-html-learning .path button{padding-left:var(--df-s1);padding-right:var(--df-s1)}.df-html-learning .q-tools .lk-sw,.df-html-learning .q-zh-wrap .q-zh-btn{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.df-html-learning .disc-node-in,.df-html-learning .oneq .right,.df-html-learning .oneq .wrong,.df-html-learning .disc-node,.df-html-learning .disc-detail.zoom .dd,.df-html-learning .path button{transition:none;animation:none}}.df-html-learning button,.df-html-learning .chip,.df-html-learning .opt,.df-html-learning [role=button]{transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease),box-shadow var(--df-fast) var(--df-ease)}.df-html-learning button:active:not(:disabled),.df-html-learning .chip:active,.df-html-learning .opt:active{transform:translateY(1px)}.df-html-learning button:focus-visible,.df-html-learning a:focus-visible,.df-html-learning select:focus-visible,.df-html-learning input:focus-visible,.df-html-learning .chip:focus-visible,.df-html-learning .opt:focus-visible,.df-html-learning [role=button]:focus-visible{outline:0;box-shadow:var(--df-sh-focus);border-radius:var(--df-r-sm)}.df-html-learning button:disabled,.df-html-learning .chip:disabled,.df-html-learning .opt:disabled{opacity:.45;cursor:not-allowed;transform:none!important}@keyframes dfLearningdfRight{0%{box-shadow:0 0 0 0 var(--df-good-line)}to{box-shadow:0 0 0 10px transparent}}@keyframes dfLearningdfWrong{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.df-html-learning .dfHitRight{animation:dfLearningdfRight .38s var(--df-ease)}.df-html-learning .dfHitWrong{animation:dfLearningdfWrong .22s var(--df-ease)}.df-html-learning .dfStreak{position:fixed;z-index:80;left:50%;top:22%;transform:translate(-50%);padding:var(--df-s2) var(--df-s4);border-radius:var(--df-r-pill);background:color-mix(in srgb,var(--df-surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--df-good-line);color:var(--df-good);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);pointer-events:none;animation:dfLearningdfFloatUp 1.15s var(--df-ease) forwards}@keyframes dfLearningdfFloatUp{0%{opacity:0;transform:translate(-50%,8px)}18%{opacity:1;transform:translate(-50%)}70%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-14px)}}.df-html-learning .dfEnter .dfBar i,.df-html-learning .dfTopStrip .dfExp i,.df-html-learning .bar>i,.df-html-learning .progress>i{transition:width .6s var(--df-ease-out)}@keyframes dfLearningdfSweep{0%{background-position:-180% 0}to{background-position:280% 0}}.df-html-learning .dfBarDone{background-image:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--df-surface) 70%,transparent) 50%,transparent 70%);background-size:180% 100%;animation:dfLearningdfSweep .9s var(--df-ease) 1}.df-html-learning .card,.df-html-learning .panel,.df-html-learning .dfRankRow{transition:box-shadow var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-learning .card[onclick]:hover,.df-html-learning .card.clickable:hover,.df-html-learning .dfRankRow:not(.right):not(.wrong):hover{border-color:var(--df-brand-line);box-shadow:var(--df-sh-2);transform:translateY(-1px)}.df-html-learning .dfDayNo,.df-html-learning .dfCoin,.df-html-learning .coin,.df-html-learning .num,.df-html-learning .score{font-variant-numeric:tabular-nums}.df-html-learning .dfRankSen,.df-html-learning .dfRwPassage,.df-html-learning .sen,.df-html-learning .qEn{overflow-wrap:break-word}.df-html-learning ::selection{background:var(--df-brand-soft);color:var(--df-brand-ink)}.df-html-learning *{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}.df-html-learning ::-webkit-scrollbar{width:8px;height:8px}.df-html-learning ::-webkit-scrollbar-thumb{background:var(--df-line-strong);border-radius:var(--df-r-pill)}.df-html-learning ::-webkit-scrollbar-thumb:hover{background:var(--df-ink-3)}.df-html-learning ::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){.df-html-learning *,.df-html-learning *:before,.df-html-learning *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.df-html-learning .lk-sw{margin-left:.5em;padding:1px 8px;font:inherit;font-size:.8em;line-height:1.6;color:var(--df-ink-3);background:var(--df-surface-2);border:1px solid var(--df-line);border-radius:999px;cursor:pointer}.df-html-learning .lk-sw:hover{color:var(--df-brand-ink);border-color:var(--df-brand-line)}.df-html-learning .lk-sw.on{color:var(--df-brand-ink);background:var(--df-brand-soft);border-color:var(--df-brand-line)}.df-html-learning .lk{padding:0;font:inherit;color:inherit;background:none;border:0;border-bottom:1px dashed var(--df-brand-line);cursor:pointer}.df-html-learning .lk:hover{border-bottom-color:var(--df-brand);background:var(--df-brand-soft)}.df-html-learning .lk-card{margin:10px 0 4px;padding:12px 14px;background:var(--df-surface);border:1px solid var(--df-brand-line);border-radius:12px}.df-html-learning .lk-head{display:flex;align-items:center;gap:8px}.df-html-learning .lk-head b{font-size:1.15em;color:var(--df-ink)}.df-html-learning .lk-x{margin-left:auto;width:24px;height:24px;font-size:16px;line-height:1;color:var(--df-ink-3);background:var(--df-surface-2);border:0;border-radius:50%;cursor:pointer}.df-html-learning .lk-kind{margin-top:6px;font-size:.85em;color:var(--df-ink-3)}.df-html-learning .lk-zh{margin-top:6px;color:var(--df-ink-2)}.df-html-learning .lk-add{margin-top:10px;padding:6px 14px;font:inherit;font-size:.9em;color:var(--df-brand-ink);background:var(--df-brand-soft);border:1px solid var(--df-brand-line);border-radius:999px;cursor:pointer}.df-html-learning .lk-add.done{color:var(--df-ink-3);background:var(--df-surface-2);border-color:var(--df-line);cursor:default}.df-html-learning .dayGrid .dayTile.cp,.df-html-learning .days .dayTile.cp{grid-column:span 1;font-size:var(--df-fs-h3)}.df-html-learning .dayGrid .dayTile b,.df-html-learning .days .dayTile b{line-height:var(--df-lh-tight)}.df-html-learning .dayTile.fin{grid-column:span 1;color:var(--df-ink-on-brand);background:var(--df-ink);border-color:var(--df-ink);font-size:var(--df-fs-h3);box-shadow:var(--df-sh-2)}.df-html-learning .dayTile.fin small{opacity:.72}.df-html-learning .dayTile.fin:after{content:none}.df-html-learning .dayTile.fin:hover:not([disabled]){background:var(--df-ink-hover)}.df-html-learning .dayTile.fin.lock{color:var(--df-ink-3);background:var(--df-surface-2);border-color:var(--df-line-soft);box-shadow:none;opacity:1;cursor:not-allowed}.df-html-learning .ckSkip{display:flex;align-items:center;gap:var(--df-s3);flex-wrap:wrap;margin:var(--df-s3) 0 var(--df-s4);padding:var(--df-s3) var(--df-s4);color:var(--df-ink-2);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md);font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-html-learning .ckSkip p{flex:1 1 220px;margin:0}.df-html-learning .ckSkip b{color:var(--df-ink);font-weight:var(--df-fw-strong)}.df-html-learning .ckSkip button{flex:0 0 auto;padding:var(--df-s2) var(--df-s4);color:var(--df-brand-ink);background:var(--df-surface);border:1px solid var(--df-brand-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);cursor:pointer;transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease)}.df-html-learning .ckSkip button:hover{background:var(--df-brand-soft);border-color:var(--df-brand)}.df-html-learning .finPanel .toprow{margin-bottom:var(--df-s4)}.df-html-learning .finLead{max-width:var(--df-col);margin:0 auto var(--df-s5);color:var(--df-ink-2);font-size:var(--df-fs-body);line-height:var(--df-lh-body)}.df-html-learning #finBox{max-width:var(--df-col);margin-inline:auto}.df-html-learning .finHead{margin-bottom:var(--df-s5)}.df-html-learning .finBar{height:4px;background:var(--df-surface-3);border-radius:var(--df-r-pill);overflow:hidden}.df-html-learning .finBar i{display:block;height:100%;background:var(--df-brand);border-radius:var(--df-r-pill);transition:width var(--df-slow) var(--df-ease-out)}.df-html-learning .finProg{margin-top:var(--df-s2);color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-variant-numeric:tabular-nums}.df-html-learning .finQ{text-align:center}.df-html-learning .finAsk{color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-html-learning .finWord{margin:var(--df-s2) 0 var(--df-s6);color:var(--df-ink);font-size:var(--df-fs-word);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);letter-spacing:-.01em;word-break:break-word;animation:dfLearningfinIn var(--df-slow) var(--df-ease-out)}.df-html-learning .finOpts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--df-s3)}.df-html-learning .finOpt{position:relative;min-height:56px;padding:var(--df-s3) var(--df-s4);color:var(--df-ink);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-md);font:inherit;font-size:var(--df-fs-body);line-height:var(--df-lh-tight);text-align:center;cursor:pointer;transition:background var(--df-fast) var(--df-ease),border-color var(--df-fast) var(--df-ease),transform var(--df-fast) var(--df-ease)}.df-html-learning .finOpt:hover:not([disabled]){border-color:var(--df-brand-line);background:var(--df-brand-soft);transform:translateY(-1px)}.df-html-learning .finOpt[disabled]{cursor:default;opacity:1}.df-html-learning .finOpt.good{color:var(--df-good);background:var(--df-good-bg);border-color:var(--df-good-line);font-weight:var(--df-fw-strong)}.df-html-learning .finOpt.bad{color:var(--df-bad);background:var(--df-bad-bg);border-color:var(--df-bad-line)}.df-html-learning .finPop{position:absolute;top:50%;right:var(--df-s3);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);pointer-events:none;animation:dfLearningfinPop .7s var(--df-ease-out) forwards}.df-html-learning .finPop.good{color:var(--df-good)}.df-html-learning .finPop.bad{color:var(--df-bad)}@keyframes dfLearningfinPop{0%{opacity:0;transform:translateY(0) scale(.7)}30%{opacity:1;transform:translateY(-10px) scale(1.15)}to{opacity:0;transform:translateY(-22px) scale(1)}}@keyframes dfLearningfinIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dfLearningfinRise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.df-html-learning .finDone{text-align:center;animation:dfLearningfinRise var(--df-slow) var(--df-ease-out)}.df-html-learning .finScore{display:inline-flex;align-items:baseline;gap:2px;color:var(--df-brand-ink)}.df-html-learning .finScore b{font-size:64px;font-weight:var(--df-fw-word);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.df-html-learning .finScore i{font-style:normal;font-size:var(--df-fs-h2);font-weight:var(--df-fw-strong)}.df-html-learning .finStat{margin-top:var(--df-s2);color:var(--df-ink-2);font-size:var(--df-fs-small);font-variant-numeric:tabular-nums}.df-html-learning .finBest{margin-left:var(--df-s2);padding:2px var(--df-s2);color:var(--df-ink-3);background:var(--df-surface-2);border-radius:var(--df-r-pill);font-size:var(--df-fs-tiny)}.df-html-learning .finSay{max-width:30em;margin:var(--df-s4) auto 0;color:var(--df-ink);font-size:var(--df-fs-body);line-height:var(--df-lh-body)}.df-html-learning .finMiss{margin:var(--df-s5) 0 0;padding:var(--df-s4);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md);text-align:left}.df-html-learning .finMissNone{color:var(--df-ink-2);font-size:var(--df-fs-small);text-align:center}.df-html-learning .finMissHead{margin-bottom:var(--df-s3);color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong)}.df-html-learning .finMissRow{display:flex;align-items:baseline;gap:var(--df-s3);padding:var(--df-s2) 0;border-top:1px solid var(--df-line-soft)}.df-html-learning .finMissRow:first-of-type{border-top:0}.df-html-learning .finMissRow b{min-width:8em;color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);word-break:break-word}.df-html-learning .finMissRow span{flex:1 1 auto;color:var(--df-ink-2);font-size:var(--df-fs-small)}.df-html-learning .finActs{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--df-s3);margin-top:var(--df-s5)}.df-html-learning .finActs .go{padding:var(--df-s3) var(--df-s5);color:var(--df-ink-on-brand);background:var(--df-brand);border:1px solid var(--df-brand);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-body);font-weight:var(--df-fw-strong);cursor:pointer}.df-html-learning .finActs .go:hover{background:var(--df-brand-hover)}.df-html-learning .finActs .side{padding:var(--df-s3) var(--df-s5);color:var(--df-ink-2);background:var(--df-surface);border:1px solid var(--df-line);border-radius:var(--df-r-pill);font:inherit;font-size:var(--df-fs-body);cursor:pointer}.df-html-learning .finActs .side:hover{border-color:var(--df-line-strong);color:var(--df-ink)}.df-html-learning .finToast{position:fixed;left:50%;bottom:var(--df-s7);transform:translate(-50%);padding:var(--df-s2) var(--df-s5);color:var(--df-ink-on-brand);background:var(--df-ink);border-radius:var(--df-r-pill);font-size:var(--df-fs-small);box-shadow:var(--df-sh-3);pointer-events:none;animation:dfLearningfinToast 1.6s var(--df-ease-out) forwards}@keyframes dfLearningfinToast{0%{opacity:0;transform:translate(-50%) translateY(8px)}16%{opacity:1;transform:translate(-50%) translateY(0)}78%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-4px)}}.df-html-learning .finEmpty{padding:var(--df-s5);background:var(--df-surface-2);border:1px solid var(--df-line-soft);border-radius:var(--df-r-md);color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:var(--df-lh-body)}.df-html-learning .finEmpty strong{display:block;margin-bottom:var(--df-s2);color:var(--df-ink);font-size:var(--df-fs-h3)}.df-html-learning .finEmpty p{margin:0}@media(prefers-reduced-motion:reduce){.df-html-learning .finWord,.df-html-learning .finDone,.df-html-learning .finPop,.df-html-learning .finToast{animation:none}.df-html-learning .finBar i{transition:none}}@media(max-width:560px){.df-html-learning .finOpts{grid-template-columns:1fr}.df-html-learning .finWord{font-size:var(--df-fs-word-sm);margin-bottom:var(--df-s5)}.df-html-learning .finScore b{font-size:52px}.df-html-learning .finMissRow{flex-wrap:wrap;gap:var(--df-s1) var(--df-s3)}.df-html-learning .finMissRow b{min-width:0}.df-html-learning .finActs{flex-direction:column}.df-html-learning .finActs .go,.df-html-learning .finActs .side{width:100%}.df-html-learning .ckSkip{flex-direction:column;align-items:stretch}.df-html-learning .ckSkip button{width:100%}}.df-html-learning .dfPopWrap{position:relative}@keyframes dfLearningdfPop{0%{transform:scale(1)}38%{transform:scale(1.055)}to{transform:scale(1)}}.df-html-learning .dfPop{animation:dfLearningdfPop .3s cubic-bezier(.22,1.2,.36,1)}.df-html-learning .dfRing{position:fixed;z-index:60;border-radius:var(--df-r-pill);border:2px solid var(--df-good);pointer-events:none;opacity:.55;animation:dfLearningdfRing .46s ease-out forwards}@keyframes dfLearningdfRing{0%{transform:scale(.72);opacity:.55}to{transform:scale(1.5);opacity:0}}.df-html-learning .dfCheer{position:fixed;left:50%;bottom:22px;pointer-events:none;z-index:70;transform:translate(-50%);max-width:min(92vw,420px);display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--df-r-lg, 14px);border:1px solid var(--df-line-2);background:var(--df-surface);box-shadow:var(--df-shadow-2);font-size:var(--df-fs-body);color:var(--df-ink-1);animation:dfLearningdfCheerIn .3s cubic-bezier(.22,1.1,.36,1)}.df-html-learning .dfCheer.out{animation:dfLearningdfCheerOut .26s ease-in forwards}.df-html-learning .dfCheer.big{border-color:var(--df-brand)}.df-html-learning .dfCheer b{font-weight:var(--df-fw-word);font-size:var(--df-fs-h3);color:var(--df-ink-1)}.df-html-learning .dfCheer i{font-style:normal;font-size:var(--df-fs-tiny);color:var(--df-ink-3)}.df-html-learning .dfCheer .dfCheerTxt{display:flex;flex-direction:column;gap:2px;line-height:1.35}.df-html-learning .dfCheer .dfCheerMark{flex:0 0 auto;width:26px;height:26px;border-radius:var(--df-r-pill);display:grid;place-items:center;background:var(--df-good-soft, var(--df-surface-2));color:var(--df-good);font-size:15px}.df-html-learning .dfCheer.big .dfCheerMark{background:var(--df-brand-soft, var(--df-surface-2));color:var(--df-brand)}@keyframes dfLearningdfCheerIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes dfLearningdfCheerOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)}}@media(max-width:520px){.df-html-learning .dfCheer{left:12px;right:12px;max-width:none;transform:none}.df-html-learning .dfCheer.out{animation:dfLearningdfCheerOutNarrow .26s ease-in forwards}@keyframes dfLearningdfCheerIn{0%{opacity:0}to{opacity:1}}@keyframes dfLearningdfCheerOutNarrow{0%{opacity:1}to{opacity:0}}}@media(prefers-reduced-motion:reduce){.df-html-learning .dfPop,.df-html-learning .dfRing,.df-html-learning .dfCheer,.df-html-learning .dfCheer.out{animation:none}.df-html-learning .dfRing{display:none}}.df-html-learning #df52GroupProgress[hidden]{display:none!important}.df-html-learning #df52GroupProgress{position:sticky;top:0;z-index:80;background:var(--df-surface,#fffdf9);border:1px solid var(--df-line,#d5e4dc);border-radius:16px;padding:12px 18px;margin:0 auto 16px;width:100%;box-shadow:0 5px 18px #1438270b;font-size:13px;line-height:1.5;color:var(--df-ink,#193e2c)}.df-html-learning .df52gpTop{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.df-html-learning .df52gpTop strong{font-size:14px;letter-spacing:.02em}.df-html-learning .df52gpTop span{color:var(--df-ink-2,#52705e)}.df-html-learning .df52gpTrack{height:5px;margin-top:9px;background:var(--df-line-soft,#e6efe9);border-radius:20px;overflow:hidden}.df-html-learning .df52gpTrack i{display:block;height:100%;width:0;background:var(--df-brand,#379e72);border-radius:20px;transition:width .28s ease}.df-html-learning .df52gpNow{margin-top:5px;font-size:11px;color:var(--df-ink-3,#6c8376)}@media(max-width:480px){.df-html-learning #df52GroupProgress{padding:6px 12px;margin-bottom:10px;border-radius:12px}.df-html-learning .df52gpTop{gap:8px;flex-wrap:nowrap}.df-html-learning .df52gpTop strong{font-size:13px;white-space:nowrap}.df-html-learning .df52gpTop span{font-size:11px;text-align:right}.df-html-learning .df52gpTrack{height:4px;margin-top:6px}.df-html-learning .df52gpNow{display:none}}@media(prefers-reduced-motion:reduce){.df-html-learning .df52gpTrack i{transition:none}}.df-html-learning{scroll-padding-top:100px}.df-html-learning #app button,.df-html-learning #app [role=button]{scroll-margin-top:100px}.df-html-learning #df52GroupProgress{pointer-events:none}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer utilities{.df-learning-main{margin:0;padding:0;max-width:none}.df-v2-main:has(.df-learning-route[data-appearance=html]){margin:0;padding:0;max-width:none}.df-learning-bar{display:flex;justify-content:space-between;align-items:center;height:58px;padding:0 20px;background:#fff;border-bottom:1px solid #d7e5da;color:#17281f}.df-learning-bar>div:last-child{display:flex;gap:6px}.df-learning-bar button{padding:8px 12px;border:1px solid #d7e5da;border-radius:999px;background:#f2f7f3;font:inherit;cursor:pointer}.df-learning-bar .df52ReadyToFinish{outline:2px solid #c6a15f;outline-offset:3px;background:#fff5db;color:#294a32}.df-learning-scroll{display:inline-block;width:100%;vertical-align:baseline;height:785px;overflow:auto;overflow-anchor:none;scroll-padding-top:100px;background:#f2f7f3}.df-learning-route[data-appearance=html],.df-learning-main{background:#fff}.html-learning-loading{padding:32px 16px;text-align:center}.html-learning-retry{padding:8px 12px;border:1px solid #d7e5da;border-radius:999px;background:#f2f7f3;color:#17281f;font:inherit;cursor:pointer}.html-learning-retry:focus-visible{outline:2px solid #26794f;outline-offset:3px}@media(max-width:420px){.df-learning-bar{height:auto;min-height:52px;flex-wrap:wrap;gap:8px;padding:8px 10px;overflow-x:hidden}.df-learning-bar>div:first-child{flex:1 1 100%;min-width:0}.df-learning-bar>div:first-child b{display:block;font-size:13px;line-height:1.35;word-break:break-word}.df-learning-bar>div:last-child{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-end}.df-learning-bar button{padding:6px 10px;font-size:12px;white-space:nowrap}}}@layer utilities{@media(max-width:720px),(max-height:800px){.df-learning-scroll{display:block;height:auto;min-height:calc(100dvh - 160px);overflow:visible;scroll-padding-top:0}}}@layer utilities{@media(max-width:720px){.df-family-study .panel>h2{margin-top:var(--df-s2)}.df-family-study .path{margin-block:var(--df-s4)}.df-family-study [data-learning-box]>.muted:first-child{margin:0 0 var(--df-s3)}.df-family-study .bar{gap:var(--df-s2);margin-top:var(--df-s5);padding-top:var(--df-s4)}.df-family-study .bar>.score:empty{display:none}}}@layer utilities{@media(max-width:720px){.df-html-learning .paceTab{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:8px 4px;font-size:13px}.df-html-learning .paceTab small{white-space:normal;font-size:12px;text-align:center}.df-html-learning .startTab{min-height:48px}.df-html-learning:not(.df-disc-study) .say{width:44px;height:44px;margin:0}}.df-html-learning .html-save-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.df-html-learning .html-save-notice{margin:12px 0;padding:12px;border:1px solid var(--df-bad);border-radius:var(--df-r-md)}.df-html-learning .html-save-notice p{margin:0 0 8px}.df-html-learning .html-save-notice button{padding:8px 12px;cursor:pointer;border:1px solid var(--df-line);border-radius:var(--df-r-md)}.df-html-learning{-webkit-font-smoothing:auto}.df-html-learning .df-learning-controls{display:contents;min-width:0;margin:0;border:0;padding:0}.df-html-learning .disc-flip{display:block;width:100%;padding:0;border:0;border-radius:var(--df-r-md);background:none;cursor:pointer}.df-html-learning [data-learning-box] button{scroll-margin-top:100px}.df-html-learning .disc-flip:focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}.df-html-learning :where(button,a,input):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}.df-html-learning .say svg{width:15px;height:15px}@media(max-width:1024px),(pointer:coarse){.df-html-learning .say{position:relative}.df-html-learning .disc-node>.say{position:absolute}.df-html-learning .say:before{content:"";position:absolute;width:44px;height:44px;left:50%;top:50%;transform:translate(-50%,-50%)}}.df-html-learning .match #lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}}@layer utilities{@media(max-width:520px){.df-html-learning .rwStrip .go{flex:0 0 auto;white-space:nowrap}}}@layer utilities{.df-family-study .df-family-day-progress{position:static;width:100%;margin:0 auto 10px;padding:9px 14px;border-radius:12px;box-shadow:none}.df-family-study .df-family-day-progress .df52gpTop{flex-wrap:nowrap}.df-family-study .df-family-core-words{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:14px 0 12px}.df-family-study .df-family-core-words>span{margin-right:2px;color:var(--df-ink-3);font-size:12px}.df-family-study .df-family-core-words b{padding:5px 9px;border:1px solid var(--df-line);border-radius:999px;background:var(--df-surface-2);color:var(--df-ink);font-size:14px;line-height:1.2}.df-html-learning .panel .bar{flex-wrap:wrap;align-items:center}.df-html-learning .bar>.score{flex:0 0 auto;max-width:100%;overflow-wrap:anywhere}.df-html-learning .bar>.back{flex:0 0 auto;min-height:44px;margin-right:0;white-space:nowrap}.df-family-study .bar .df-skip-action{flex:0 0 auto;min-height:42px;padding:9px 16px;border:1px solid var(--df-line);border-radius:var(--df-r-sm);background:var(--df-surface);color:var(--df-ink-2);font-size:13px;font-weight:var(--df-fw-strong)}.df-family-study .bar .df-skip-action:not(:disabled):hover{border-color:var(--df-brand-line);color:var(--df-brand-deep);background:var(--df-brand-soft)}@media(max-width:720px){.df-family-study .wrap{padding-top:12px}.df-family-study .toprow{gap:8px;flex-wrap:wrap}.df-family-study .toprow>.muted{margin-left:auto;font-size:12px}.df-family-study #df52GroupProgress{margin-bottom:9px;padding:8px 12px}.df-family-study .df52gpTop{gap:4px}.df-family-study .panel{padding:12px}.df-family-study .df-family-core-words{gap:5px;margin:11px 0}.df-family-study .df-family-core-words b{padding:4px 7px;font-size:13px}.df-family-study .path{margin-bottom:12px}.df-html-learning .panel .bar{gap:var(--df-s2)}.df-html-learning .bar>.back{margin-left:auto}.df-html-learning .bar>:is(.df-skip-action,.go){flex:1 0 100%;width:100%;min-width:0;min-height:44px;white-space:normal}.df-html-learning.df-family-study .bar .df-skip-action{padding-inline:13px}.df-family-study [data-learning-box] button{scroll-margin-top:16px}.df-family-study .bar{padding-bottom:max(12px,env(safe-area-inset-bottom))}}}@layer utilities{.df-disc-study .disc-front b{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:15px;letter-spacing:-.02em}@media(max-width:560px){.df-disc-study .disc-ring:not(.crowded) .disc-front b{font-size:clamp(10px,3.45cqw,15px)}}}@layer utilities{.df-html-learning .match-status{display:flex;align-items:center;gap:12px;margin:12px 0;min-height:44px}.df-html-learning .match-status p{margin:0;flex:1}.df-html-learning .match-status button{flex-shrink:0;min-height:44px;padding:6px 10px}.df-html-learning .match-status button:before{content:none}.df-html-learning .pair-marker{display:block;font-size:12px;line-height:1.2;margin-top:4px}@media(max-width:720px){.df-html-learning .match{column-gap:clamp(44px,20%,144px);padding:4px;min-height:0}.df-html-learning .col button{min-height:52px;padding:10px 8px;font-size:14px;line-height:1.5;white-space:normal}.df-html-learning .col button[data-side=L]{font-size:16px}.df-html-learning .col button:has(.pair-marker){padding-block:5px}.df-html-learning .col-head{font-size:12px;letter-spacing:.02em}.df-html-learning .match-status{gap:8px;font-size:14px;line-height:1.5}}}@layer utilities{@media(max-width:720px){.df-family-study .path{grid-template-columns:repeat(5,minmax(0,1fr))}.df-family-study .path button{min-height:44px;padding:8px 1px;font-size:14px;line-height:1.4}.df-family-study .toprow>.back,.df-learning-route[data-appearance=html] .df-learning-bar button{min-height:44px;font-size:14px;line-height:1.4}}}@layer utilities{.df-family-study :is(.chip.on,.opts button.on,.tf button.on):not(.good):not(.bad){color:var(--df-ink-on-brand);background:var(--df-brand-deep);border-color:var(--df-brand-deep)}}@layer utilities{@media(max-width:360px){.df-family-study .col button[data-side=L]{font-size:14px;padding-inline:var(--df-s1)}}}@layer utilities{@media(max-width:560px){.df-disc-study .disc-ring:not(.crowded){display:block;width:100%;aspect-ratio:1;container-type:inline-size}.df-disc-study .disc-ring:not(.crowded):before{content:"";position:absolute;inset:13%;border:1px dashed var(--df-line);border-radius:50%;pointer-events:none}.df-disc-study .disc-ring:not(.crowded) .disc-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:42%;aspect-ratio:1;padding:8px;border-radius:50%}.df-disc-study .disc-ring:not(.crowded) .disc-node{position:absolute;left:var(--dx);top:var(--dy);width:23%;transform:translate(-50%,-50%)}.df-disc-study .disc-ring:not(.crowded) .disc-node.open{transform:translate(-50%,-50%) scale(1.08)}.df-disc-study .disc-ring:not(.crowded) .disc-node-in{min-height:48px}.df-disc-study .disc-ring:not(.crowded) .disc-face{padding:6px 3px}.df-disc-study .disc-ring:not(.crowded) .disc-face b{font-size:clamp(11px,4cqw,16px)}.df-disc-study .disc-ring:not(.crowded) .disc-back b{font-size:clamp(10px,3.5cqw,13px)}.df-disc-study .disc-root{font-size:clamp(16px,6cqw,25px)}.df-disc-study .disc-sense{font-size:13px}.df-disc-study .disc-core .kind-tag{margin-top:0;font-size:10px}}}.df-html-learning .disc-detail.on{align-content:start;align-content:safe center}.df-html-learning .dfCheerPortrait{width:64px;height:64px;object-fit:contain;flex:0 0 64px}.df-html-learning .path.randomized-path{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px}.df-html-learning .path.randomized-path button{width:auto;padding:8px 12px;white-space:nowrap;word-break:normal}.df-html-learning .html-save-progress{display:block;margin:8px 0;color:var(--df-muted);font-size:14px}@layer utilities{.df-html-learning .cloze-selection{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:13px;color:var(--df-ink-2)}.df-html-learning .cloze-selection>span{flex:1}.df-html-learning .cloze-selection button{min-height:44px;padding:8px 10px}.df-html-learning .cloze-selection button:before{content:none}.df-html-learning .passage .blank.active-blank{outline:2px solid var(--df-brand-deep);outline-offset:2px}@media(max-width:720px){.df-family-study .passage{line-height:1.85}.df-family-study .cloze-selection{gap:var(--df-s2);margin-block:var(--df-s3)}.df-family-study .cloze-selection+.bank{margin-top:0}.df-html-learning .passage .blank,.df-html-learning .bank .chip{min-height:44px;font-size:14px}}@media(max-width:560px){.df-family-study .passage .blank{min-width:88px;margin-inline:2px;padding-inline:var(--df-s2)}}}@layer utilities{.df-v2 .df-html-learning .cloze-passage .blank{min-width:64px;max-width:100%;min-height:44px;margin:4px 3px;padding:6px 12px;gap:6px;border:1px solid var(--df-line-strong);border-bottom-width:2px;border-radius:10px;background:var(--df-surface-2);color:var(--df-ink-2);font-family:var(--df-font-ui);font-size:1rem;line-height:1.4;vertical-align:baseline;white-space:normal;overflow-wrap:anywhere}.df-v2 .df-html-learning .cloze-passage .blank.active-blank{border-color:var(--df-brand-deep);background:var(--df-brand-soft);color:var(--df-brand-ink);outline:none}.df-v2 .df-html-learning .cloze-passage .blank:focus-visible,.df-v2 .cloze-bank .chip:focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}.cloze-blank-number{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.cloze-remove{flex-shrink:0}.df-v2 .df-html-learning .cloze-passage .blank.good{background:var(--df-good-bg);border-color:var(--df-good-line);color:var(--df-good-ink);opacity:1}.df-v2 .df-html-learning .cloze-passage .blank.bad{background:var(--df-bad-bg);border-color:var(--df-bad-line);color:var(--df-bad-ink)}.df-v2 .cloze-bank.bank{gap:8px 10px}.df-v2 .cloze-bank.bank .chip{min-height:44px;padding:8px 14px;border:1px solid var(--df-line-strong);border-bottom-width:3px;border-radius:12px;color:var(--df-ink);background:var(--df-surface);font-size:1rem;line-height:1.4;transition:background-color .14s ease-out,transform .14s ease-out}@media(hover:hover){.df-v2 .cloze-bank.bank .chip:hover:not(:disabled){background:var(--df-brand-soft);border-color:var(--df-brand-deep)}}.df-v2 .cloze-bank.bank .chip:active:not(:disabled){transform:translateY(1px)}.df-v2 .cloze-bank.bank .chip:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.df-v2 .cloze-bank.bank .chip{transition:none}}}@layer utilities{.df-html-learning.df-family-study :is(.opts button,.tf button,.blank).good{color:var(--df-good-ink)}.df-html-learning.df-family-study :is(.opts button,.tf button,.blank).bad{color:var(--df-bad-ink)}.df-html-learning.df-family-study .oneq-opts button small{font-size:var(--df-fs-small);line-height:var(--df-lh-body);opacity:1}.df-html-learning.df-family-study .oneq-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,144px),1fr))}.df-html-learning.df-family-study .oneq-tf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.df-html-learning.df-family-study :is(.oneq-opts,.oneq-tf) button{min-width:0;min-height:48px;overflow-wrap:anywhere}@media(max-width:720px){.df-html-learning.df-family-study .oneq{margin-top:0;padding:var(--df-s3)}.df-html-learning.df-family-study .oneq-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--df-s2);margin-bottom:var(--df-s4);padding-bottom:var(--df-s3);text-align:left}.df-html-learning.df-family-study .q-prog{flex-shrink:0;font-size:12px;letter-spacing:0}.df-html-learning.df-family-study .q-word{justify-content:flex-start;text-align:left}.df-html-learning.df-family-study .oneq-ask{font-size:21px;line-height:1.45}.df-html-learning.df-family-study .oneq[data-kind=s3] .oneq-en{padding:var(--df-s3);font-size:20px;line-height:1.6;text-align:left}.df-html-learning.df-family-study :is(.oneq-opts,.oneq-tf){gap:var(--df-s2);margin-top:var(--df-s4)}.df-html-learning.df-family-study :is(.oneq-opts,.oneq-tf) button{padding:var(--df-s3);font-size:16px}.df-html-learning.df-family-study .oneq-why{margin-top:var(--df-s3)}}@media(max-width:560px){.df-html-learning.df-family-study .oneq-opts{grid-template-columns:minmax(0,1fr)}}}.df-html-learning .wp-card.rv-card{position:relative;display:flex;align-items:flex-start;gap:var(--df-s2);padding:var(--df-s3) var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface)}.df-html-learning .wp-card.rv-card.on{border-color:var(--df-done-line);background:var(--df-done-bg)}.df-html-learning .rv-ck{display:flex;align-items:flex-start;gap:var(--df-s2);flex:1 1 auto;min-width:0;padding:0;font:inherit;color:inherit;white-space:normal;text-align:left;background:none;border:0;cursor:pointer}.df-html-learning .rv-box{flex:0 0 auto;width:22px;height:22px;margin-top:2px;border:2px solid var(--df-line);border-radius:var(--df-r-sm);background:var(--df-surface)}.df-html-learning .wp-card.rv-card.on .rv-box{border-color:var(--df-done-line);background:var(--df-done)}.df-html-learning .wp-card.rv-card.on .rv-box:after{content:"";display:block;width:6px;height:11px;margin:1px auto 0;border:solid var(--df-surface);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.df-html-learning .rv-main{display:grid;justify-items:start;gap:var(--df-s1);min-width:0}.df-html-learning .rv-main b{font-size:var(--df-fs-word-sm);font-weight:var(--df-fw-word);line-height:var(--df-lh-tight);overflow-wrap:anywhere}.df-html-learning .rv-tools{flex:0 0 auto;display:grid;justify-items:end;gap:var(--df-s2);padding:0}.df-html-learning .rv-again{padding:var(--df-s1) var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface);color:var(--df-ink-2);font-size:var(--df-fs-tiny);cursor:pointer}.df-html-learning .wordpick.rv-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.df-html-learning .rv-again{white-space:nowrap}.df-html-learning .rv-main .wp-state{margin-top:0;padding:0;color:var(--df-ink-3);background:transparent;border-radius:0}.df-html-learning .wp-card.rv-card:hover{transform:none}@media(max-width:560px){.df-html-learning .wordpick.rv-list{grid-template-columns:minmax(0,1fr)}}@layer utilities{.df-html-learning .wb-add{padding:5px 12px;border:1px solid var(--df-brand-line);border-radius:var(--df-r-pill);color:var(--df-brand-ink);background:var(--df-brand-soft);font:inherit;font-size:var(--df-fs-small);line-height:1.3;cursor:pointer}.df-html-learning .wb-add:hover:not(:disabled){border-color:var(--df-brand)}.df-html-learning .wb-add:disabled,.df-html-learning .wb-add.done{border-color:var(--df-line);color:var(--df-ink-3);background:var(--df-surface-2);cursor:default}.df-html-learning .dd .wb-add{align-self:flex-start;margin-top:var(--df-s3)}}.df-html-learning .path{width:100%;min-width:0}.df-html-learning .path>button{min-width:0}@media(max-width:720px){.df-family-study .path{gap:4px}.df-family-study .path>button{padding-inline:4px;white-space:normal;line-height:1.35}.df-family-study .bar{position:sticky;bottom:0;z-index:8;background:var(--df-surface);padding-bottom:max(12px,env(safe-area-inset-bottom))}}.df-html-learning .match-groups{display:grid;gap:var(--df-s4);grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.df-html-learning .match-group{position:relative;min-height:0;padding:var(--df-s4) var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-lg);background:var(--df-surface);box-shadow:var(--df-sh-1)}.df-html-learning .match-group>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}@keyframes dfMatchRight{0%{box-shadow:0 0 0 0 var(--df-good)}to{box-shadow:0 0 0 14px transparent}}@keyframes dfMatchWrong{0%,to{transform:translate(0);color:inherit;border-color:var(--df-line);background:var(--df-surface)}10%,90%{color:var(--df-bad-ink);border-color:var(--df-bad);background:var(--df-surface-3)}25%{transform:translate(-6px)}55%{transform:translate(6px)}80%{transform:translate(-3px)}}.df-html-learning .match-group .col button.right{animation:dfMatchRight .5s var(--df-ease)}.df-html-learning .match-group .col button.wrong{animation:dfMatchWrong .42s var(--df-ease)}@keyframes dfSpellShake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}55%{transform:translate(7px)}80%{transform:translate(-3px)}}.df-html-learning .sp-word.sp-shake{animation:dfSpellShake .4s var(--df-ease)}@media(prefers-reduced-motion:reduce){.df-html-learning .match-group .col button.right,.df-html-learning .match-group .col button.wrong,.df-html-learning .sp-word.sp-shake{animation:none}}.df-html-learning .entryDeck{display:grid;gap:var(--df-s3);max-width:var(--df-col);margin:0 auto var(--df-s5);padding:var(--df-s4);border:1px solid var(--df-line-soft);border-radius:var(--df-r-lg);background:var(--df-surface-2)}.df-html-learning .entryDeck:not(.open){padding:var(--df-s2) var(--df-s3)}.df-html-learning .deckTop{display:flex;align-items:center;justify-content:space-between;gap:var(--df-s3)}.df-html-learning .deckTag{margin:0;color:var(--df-ink-3);font-size:var(--df-fs-tiny);letter-spacing:.08em}.df-html-learning .deckNow{margin-left:var(--df-s2);padding-left:var(--df-s2);border-left:1px solid var(--df-line);color:var(--df-ink-2);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);letter-spacing:0}.df-html-learning .deckToggle{flex:0 0 auto;padding:3px var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-pill);background:var(--df-surface);color:var(--df-ink-3);font:inherit;font-size:var(--df-fs-tiny)}.df-html-learning .deckToggle:hover{color:var(--df-brand-ink);border-color:var(--df-brand-line)}.df-html-learning .startBarLead small{display:block;margin-top:1px;color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:400;letter-spacing:0}.df-html-learning .startBarFoot{margin:var(--df-s1) 0 0;color:var(--df-ink-3);font-size:var(--df-fs-tiny);line-height:1.6}.df-html-learning .tierWrap{display:grid;gap:var(--df-s5);max-width:var(--df-col);margin-inline:auto}.df-html-learning .tierBlock{position:relative;padding:var(--df-s4);border:1px solid var(--tier-line);border-radius:var(--df-r-lg);background:linear-gradient(160deg,var(--tier-soft),transparent 70%)}.df-html-learning .tierBlock{border-left:3px solid var(--tier-ink)}.df-html-learning .tierHead{display:flex;align-items:center;gap:var(--df-s3);flex-wrap:wrap}.df-html-learning .tierIcon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:var(--df-r-sm);border:1px solid var(--tier-line);background:var(--df-surface);color:var(--tier-ink)}.df-html-learning .tierIcon svg{width:20px;height:20px}.df-html-learning .tierBadge{padding:3px var(--df-s3);border:1px solid var(--tier-ink);border-radius:var(--df-r-pill);background:var(--df-surface);color:var(--tier-ink);font-size:var(--df-fs-small);font-weight:var(--df-fw-strong);letter-spacing:.04em}.df-html-learning .tierWords{color:var(--tier-ink);font-size:var(--df-fs-h3);font-variant-numeric:tabular-nums}.df-html-learning .tierDrill{margin-left:auto;color:var(--df-ink-3);font-size:var(--df-fs-tiny)}.df-html-learning .tierBlurb{margin:var(--df-s2) 0 var(--df-s3);color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:1.6}.df-html-learning .tierBlock .days{max-width:none;margin:0}.df-html-learning .tone-jade{--tier-ink:#1f6b46;--tier-line:#a9dcbf;--tier-soft:#e3f4ea}.df-html-learning .tone-azure{--tier-ink:#2b6076;--tier-line:#a7c6d3;--tier-soft:#e6f1f5}.df-html-learning .tone-violet{--tier-ink:#5d4b7a;--tier-line:#bfb0d6;--tier-soft:#f2eef8}.df-html-learning .tone-bronze{--tier-ink:#7f4d3b;--tier-line:#dcbfb2;--tier-soft:#f6efec}.df-html-learning .tone-gold{--tier-ink:#a8761a;--tier-line:#e2c98f;--tier-soft:#fbf1dc}.df-html-learning .tierBlock.textured{isolation:isolate}.df-html-learning .tierBlock.textured:before,.df-html-learning .tierBlock.glowing:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit}.df-html-learning .tierBlock.textured:before{-webkit-mask-image:linear-gradient(#000 0 104px,#0000 232px);mask-image:linear-gradient(#000 0 104px,#0000 232px)}.df-html-learning .tierBlock{--tier-grain:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='90' height='90'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='90' height='90' filter='url(%23g)' opacity='.06'/></svg>")}.df-html-learning .tone-violet.textured:before{background-image:var(--tier-grain),radial-gradient(120% 76% at 14% -10%,color-mix(in srgb,var(--tier-ink) 6%,transparent),transparent 64%)}.df-html-learning .tone-bronze.textured:before{--tier-specks:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><defs><path id='s' d='M0-4Q0 0 4 0Q0 0 0 4Q0 0-4 0Q0 0 0-4z'/></defs><g fill='%237f4d3b'><use href='%23s' transform='translate(21 34) scale(.9)' opacity='.24'/><use href='%23s' transform='translate(58 16) scale(.55)' opacity='.16'/><use href='%23s' transform='translate(104 42) scale(.75)' opacity='.2'/><use href='%23s' transform='translate(34 108) scale(.65)' opacity='.19'/><use href='%23s' transform='translate(12 140) scale(.6)' opacity='.15'/><use href='%23s' transform='translate(140 118) scale(.5)' opacity='.14'/></g><g fill='%23a8761a'><use href='%23s' transform='translate(77 83)' opacity='.22'/><use href='%23s' transform='translate(122 144) scale(.8)' opacity='.2'/></g></svg>");background-image:var(--tier-specks),var(--tier-specks),var(--tier-grain);background-size:160px 160px,116px 116px,auto;background-position:0 0,46px 31px,0 0}.df-html-learning .tone-gold.textured:before{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='36' fill='none' stroke='%23a8761a' stroke-width='1.2' stroke-linecap='round' opacity='.1'><g id='w'><path d='M28 10v18'/><path d='M26 13C19 12 11 14 5 19'/><path d='M26 19C20 19 13 21 8 26'/><path d='M26 25C21 25 16 27 12 31'/></g><use href='%23w' transform='translate(56 0) scale(-1 1)'/></svg>"),var(--tier-grain),linear-gradient(148deg,#fffdf3a6,#0000 44%);background-repeat:no-repeat,repeat,no-repeat;background-position:right var(--df-s2) top var(--df-s1),0 0,0 0}.df-html-learning .tierBlock.tone-gold{box-shadow:inset 1px 1px #fffdf4,inset -1px -1px #d9b96e4d,inset 0 0 0 1px #e2c98f66,0 6px 20px #a8894612}.df-html-learning .tierBlock.glowing:after{background-image:linear-gradient(100deg,#0000 24%,#fff8e33d 40%,#fffdf47a,#fff8e33d 60%,#0000 76%);background-repeat:no-repeat;background-size:240% 100%;background-position:134% 0;animation:dfTierGilt 11s var(--df-ease) infinite}@keyframes dfTierGilt{0%,66%{background-position:134% 0}to{background-position:-42% 0}}@media(prefers-reduced-motion:reduce){.df-html-learning .tierBlock.glowing:after{animation:none;background-position:44% 0;opacity:.62}}.df-html-learning .tierWords{letter-spacing:.01em}.df-html-learning .textured .tierBadge{letter-spacing:.08em}.df-html-learning .tone-bronze .tierWords,.df-html-learning .tone-gold .tierWords{font-size:var(--df-fs-h2);font-weight:var(--df-fw-word)}.df-html-learning .tone-gold .tierWords{text-shadow:0 1px 0 #fffdf6,0 1px 4px #a889462e}.df-html-learning .tone-gold .tierBadge{background:linear-gradient(140deg,#fffdf3,var(--tier-soft));box-shadow:0 1px #fff inset,0 1px 6px #a889461f}.df-html-learning .tone-gold .tierIcon{background:linear-gradient(150deg,#fffdf4,var(--tier-soft));box-shadow:inset 0 1px #fff,0 1px 3px #a8894626}.df-html-learning .rvTier{padding:2px var(--df-s2);border:1px solid var(--tier-ink);border-radius:var(--df-r-pill);color:var(--tier-ink);font-size:var(--df-fs-tiny);font-weight:var(--df-fw-strong)}@media(max-width:560px){.df-html-learning .tierWrap{gap:var(--df-s4)}.df-html-learning .tierBlock{padding:var(--df-s3)}.df-html-learning .tierDrill{margin-left:0;flex-basis:100%}}.df-html-learning .modeBar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;margin:0;padding:3px;border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface)}.df-html-learning .modeTab{display:grid;gap:2px;justify-items:center;align-content:center;min-height:52px;padding:var(--df-s2) var(--df-s3);border:1px solid transparent;border-radius:calc(var(--df-r-md) - 4px);background:none;color:var(--df-ink-2);font-size:var(--df-fs-body);text-align:center}.df-html-learning .modeTab small{color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:400}.df-html-learning .modeTab:hover{background:var(--df-surface-2)}.df-html-learning .modeTab.on{color:var(--df-ink-on-brand);border-color:var(--df-brand-deep);background:var(--df-brand-deep);font-weight:var(--df-fw-strong);box-shadow:0 1px 4px #1d4d3326}.df-html-learning .modeTab.on:hover{background:var(--df-brand-deep)}.df-html-learning .modeTab.on small{color:var(--df-ink-on-brand);opacity:.82}.df-html-learning .startBar{display:grid;gap:var(--df-s2)}.df-html-learning .startBarLead{color:var(--df-ink-3);font-size:var(--df-fs-tiny);letter-spacing:.08em}.df-html-learning .startBarSwitch{justify-self:start;display:inline-flex;gap:2px;padding:2px;border:1px solid var(--df-line);border-radius:var(--df-r-pill);background:var(--df-surface)}.df-html-learning .startBarPick{padding:4px var(--df-s3);border:1px solid transparent;border-radius:var(--df-r-pill);background:none;color:var(--df-ink-3);font:inherit;font-size:var(--df-fs-small)}.df-html-learning .startBarPick.on{color:var(--df-brand-ink);border-color:var(--df-brand-line);background:var(--df-brand-soft);font-weight:var(--df-fw-strong)}.df-html-learning .startTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--df-s2)}.df-html-learning .startTab{display:grid;gap:3px;align-content:start;min-height:62px;padding:var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface);color:var(--df-ink);font:inherit;font-size:var(--df-fs-body);font-weight:var(--df-fw-strong);text-align:left}.df-html-learning .startTab small{color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:400;line-height:1.5}.df-html-learning .startTab:hover:not(:disabled){border-color:var(--df-brand-line)}.df-html-learning .startTab.on{border-color:var(--df-brand);background:var(--df-brand-soft);color:var(--df-brand-ink);box-shadow:inset 0 0 0 1px var(--df-brand)}.df-html-learning .startTab.on small{color:var(--df-brand-ink);opacity:.85}.df-html-learning .startTab:disabled{opacity:.55}.df-html-learning .dayPanel .days{margin-top:0}@media(max-width:560px){.df-html-learning .entryDeck{gap:var(--df-s3);padding:var(--df-s3);border-radius:var(--df-r-md)}.df-html-learning .modeBar{grid-auto-flow:row;grid-auto-columns:auto}.df-html-learning .modeTab{min-height:46px;justify-items:start;text-align:left}.df-html-learning .startTabs{grid-template-columns:1fr}.df-html-learning .startTab{min-height:0}.df-html-learning .dayPanel .days{grid-template-columns:repeat(3,1fr);gap:var(--df-s2)}.df-html-learning .dayPanel .dayTile{min-height:64px;padding:var(--df-s2) var(--df-s1);font-size:var(--df-fs-h3)}}.df-html-learning .finalCall{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--df-s4);align-items:center;margin-top:var(--df-s4);padding:var(--df-s4) var(--df-s5);border:1px solid var(--df-line);border-radius:var(--df-r-lg);background:var(--df-surface)}.df-html-learning .finalCall.on{border-color:var(--df-gold);background:linear-gradient(135deg,var(--df-gold-soft),var(--df-surface) 62%);box-shadow:0 6px 22px #a8894616}.df-html-learning .finalSeal{display:grid;place-content:center;gap:0;width:72px;height:72px;border-radius:50%;border:2px solid var(--df-line);color:var(--df-ink-3);text-align:center}.df-html-learning .finalSeal span{font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong);line-height:1.1;font-variant-numeric:tabular-nums}.df-html-learning .finalSeal small{font-size:var(--df-fs-tiny)}.df-html-learning .finalCall.on .finalSeal{border-color:var(--df-gold-ink);color:var(--df-gold-ink);box-shadow:inset 0 0 0 3px var(--df-surface),0 0 0 1px var(--df-gold)}.df-html-learning .finalBody{display:grid;gap:2px;min-width:0}.df-html-learning .finalKicker{color:var(--df-ink-3);font-size:var(--df-fs-tiny);letter-spacing:.08em}.df-html-learning .finalBody strong{font-size:var(--df-fs-h3);color:var(--df-ink)}.df-html-learning .finalCall.on .finalBody strong{color:var(--df-gold-ink)}.df-html-learning .finalBody p{margin:2px 0 0;color:var(--df-ink-2);font-size:var(--df-fs-small);line-height:1.6}.df-html-learning .finalFoot{display:flex;gap:var(--df-s3);align-items:center;flex-wrap:wrap;margin-top:var(--df-s3)}.df-html-learning .finalScore{color:var(--df-ink-3);font-size:var(--df-fs-small);font-variant-numeric:tabular-nums}@media(max-width:560px){.df-html-learning .finalCall{grid-template-columns:1fr;gap:var(--df-s3);justify-items:start}.df-html-learning .finalSeal{width:56px;height:56px}}.df-html-learning .q-lead{margin:0 auto var(--df-s3);max-width:var(--df-col);text-align:center}.df-html-learning .match-status{justify-content:center}.df-html-learning .settle{position:relative;display:grid;justify-items:center;gap:var(--df-s3);max-width:var(--df-col);margin:var(--df-s4) auto 0;padding:var(--df-s5) var(--df-s4);border:1px solid var(--df-line);border-radius:var(--df-r-lg);background:var(--df-surface);box-shadow:var(--df-sh-1);text-align:center}.df-html-learning .settle-word{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--df-s2)}.df-html-learning .settle-word b{font-size:var(--df-fs-word);font-weight:var(--df-fw-word);letter-spacing:-.01em}.df-html-learning .settle-zh{margin:0;color:var(--df-ink-2);font-size:var(--df-fs-body)}.df-html-learning .settle-state{margin:0}.df-html-learning .settle-acts{display:grid;width:100%;gap:var(--df-s2);grid-template-columns:repeat(3,1fr)}@media(max-width:520px){.df-html-learning .settle-acts{grid-template-columns:1fr}}.df-html-learning .settle-kill{width:100%}.df-html-learning .settle-kill.on{color:var(--df-brand-ink);background:var(--df-brand-soft);box-shadow:inset 0 0 0 1px var(--df-brand-line)}.df-html-learning .settle-book.done{opacity:.7}@keyframes dfSettleIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.df-html-learning .settle{animation:dfSettleIn .32s var(--df-ease)}@media(prefers-reduced-motion:reduce){.df-html-learning .settle{animation:none}}.df-html-learning .shatter{display:none;position:fixed;inset:0;z-index:30;pointer-events:none}@supports (width: calc(1px*sin(30deg))){.df-html-learning .shatter{display:block}}.df-html-learning .shatter i{position:absolute;inset:0;background:var(--df-surface);box-shadow:inset 0 0 0 2px var(--df-brand-line);--a:calc(var(--i) * 30deg);clip-path:polygon(50% 50%,calc(50% + 60%*cos(var(--a))) calc(50% + 60%*sin(var(--a))),calc(50% + 60%*cos(calc(var(--a) + 30deg))) calc(50% + 60%*sin(calc(var(--a) + 30deg))));animation:dfShatter .78s var(--df-ease) forwards;transform-origin:50% 50%}@keyframes dfShatter{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}18%{opacity:1;transform:translate(calc(cos(var(--a))*1.4vmax),calc(sin(var(--a))*1.4vmax)) rotate(-2deg) scale(1)}to{opacity:0;transform:translate(calc(cos(var(--a))*52vmax),calc(sin(var(--a))*52vmax)) rotate(22deg) scale(1.06)}}.df-html-learning .shatter:after{content:"";position:absolute;inset:0;background:var(--df-brand-soft);animation:dfShatterFlash .34s var(--df-ease) forwards}@keyframes dfShatterFlash{0%{opacity:.75}to{opacity:0}}@media(prefers-reduced-motion:reduce){.df-html-learning .shatter{display:none}}@keyframes dfSettleSlash{0%{transform:translate(-120%,-50%) rotate(-8deg);opacity:0}35%{opacity:1}to{transform:translate(120%,-50%) rotate(-8deg);opacity:0}}@keyframes dfSettleSink{40%{transform:scale(.97)}}.df-html-learning .settle.slain{animation:dfSettleSink .6s var(--df-ease)}.df-html-learning .settle.slain:after{content:"";position:absolute;top:38%;left:0;width:60%;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--df-brand),transparent);animation:dfSettleSlash .6s var(--df-ease);pointer-events:none}@media(prefers-reduced-motion:reduce){.df-html-learning .settle.slain{animation:none}.df-html-learning .settle.slain:after{display:none}}.df-html-learning .review-sheet{max-width:var(--df-col-wide)}.df-html-learning .review-picks{display:grid;gap:var(--df-s2)}.df-html-learning .review-picks button{display:grid;gap:2px;justify-items:start;padding:var(--df-s3);border-radius:var(--df-r-md);text-align:left}.df-html-learning .review-picks button small{color:var(--df-ink-3);font-size:var(--df-fs-tiny);font-weight:400}.df-html-learning .review-words{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--df-s2) var(--df-s4)}.df-html-learning .review-words span{display:inline-flex;align-items:center;gap:var(--df-s1)}.df-html-learning .review-words b{font-size:var(--df-fs-h2,var(--df-fs-body))}.df-html-learning .review-opts{display:grid;gap:var(--df-s2);grid-template-columns:1fr 1fr}@media(max-width:560px){.df-html-learning .review-opts{grid-template-columns:1fr}}.df-html-learning .review-opt{padding:var(--df-s3);border:1px solid var(--df-line);border-radius:var(--df-r-md);background:var(--df-surface);text-align:left}.df-html-learning .review-opt ol{margin:0;padding-left:1.2em;display:grid;gap:2px;font-size:var(--df-fs-small)}.df-html-learning .review-opt.good{border-color:var(--df-good);background:var(--df-surface-2)}.df-html-learning .review-opt.bad{border-color:var(--df-bad);color:var(--df-bad-ink)}.df-html-learning .review-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--df-s3)}.df-html-learning .settle-modal{position:fixed;inset:0;z-index:20;display:grid;align-items:center;justify-items:center;padding:var(--df-s4);overflow:auto;background:var(--df-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.df-html-learning .settle-sheet{display:grid;gap:var(--df-s3);width:100%;max-width:var(--df-col);padding:var(--df-s4);border:1px solid var(--df-brand-line);border-radius:var(--df-r-lg);background:var(--df-surface);box-shadow:var(--df-sh-3)}.df-html-learning .settle-sheet>.dd-close{position:sticky;top:0;z-index:2;justify-self:end;box-shadow:0 0 0 4px var(--df-surface)}.df-html-learning .settle-sheet-title{margin:0;color:var(--df-ink-2);font-size:var(--df-fs-small)}@layer utilities{.df-html-learning .sp .oneq-head{margin-bottom:var(--df-s4)}.df-html-learning .sp-word{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:var(--df-s1);margin:0 auto}.df-html-learning .sp-fix,.df-html-learning .sp-in{font-size:var(--df-fs-word-sm);font-weight:var(--df-fw-word);line-height:1.4;text-align:center}.df-html-learning .sp-fix{padding:0 1px;color:var(--df-ink)}.df-html-learning .sp-in{width:1.35em;padding:0 0 var(--df-s1);color:var(--df-brand-ink);background:var(--df-brand-soft);border:0;border-bottom:2px solid var(--df-brand-line);border-radius:var(--df-r-sm) var(--df-r-sm) 0 0;font-family:inherit}.df-html-learning .sp-in:focus{outline:0;border-bottom-color:var(--df-brand);box-shadow:var(--df-sh-focus)}.df-html-learning .sp-in.bad{color:var(--df-bad-ink);background:var(--df-bad-bg);border-bottom-color:var(--df-bad)}.df-html-learning .sp-in.ok{color:var(--df-good-ink);background:var(--df-good-bg);border-bottom-color:var(--df-good-line)}.df-html-learning .sp-zh{margin-top:var(--df-s4);color:var(--df-ink-2);font-size:var(--df-fs-h3);text-align:center}.df-html-learning .sp-recall .sp-zh{margin:0 0 var(--df-s4);color:var(--df-ink);font-size:var(--df-fs-h3);font-weight:var(--df-fw-strong)}.df-html-learning .sp-done{margin-top:var(--df-s2);text-align:center}.df-html-learning .sp-why{margin-top:var(--df-s4);text-align:center}.df-html-learning .sp-why code{color:var(--df-ink-2);font-family:inherit;font-size:var(--df-fs-body)}.df-html-learning .sp-tools{display:flex;justify-content:center;gap:var(--df-s2);margin-top:var(--df-s4)}.df-html-learning .sp-tip{font-size:var(--df-fs-small)}@media(max-width:520px){.df-html-learning .sp-in{min-height:40px}}}@layer utilities{.wordBook{margin-top:18px}.mistake-view-switch{display:inline-flex;gap:0}.mistake-view-switch button{min-height:34px;padding:7px 15px;border:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:11px;font-weight:850;cursor:pointer}.mistake-view-switch button+button{border-left:0}.mistake-view-switch button.active{border-color:var(--green-800);color:#fff1ce;background:var(--green-800)}.wordBook .bookCreed{margin:0 0 14px;padding:8px 0 8px 12px;border-left:3px solid var(--gold);color:var(--muted);font-size:13px;line-height:1.9}.wordBook .bookCreed b{color:var(--green-800);font-weight:700}.wordBook .bookScope{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.wordBook .bookScope .muted{color:var(--muted);font-size:12px}.wordBook .bookBar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px}.wordBook .bookFilter{display:inline-flex;flex-wrap:wrap;gap:6px}.wordBook .bookChip{padding:4px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:12px;cursor:pointer}.wordBook .bookChip:hover{border-color:var(--gold)}.wordBook .bookChip.on{border-color:var(--gold);color:var(--green-800);background:var(--green-100)}.wordBook .bookActs{display:inline-flex;align-items:center;gap:10px}.wordBook .bookLink{padding:0;border:0;color:var(--muted);background:none;font-size:12px;text-decoration:underline;cursor:pointer}.wordBook .bookLink:hover{color:var(--green-800)}.wordBook .bookGo{padding:6px 14px;font-size:13px}.wordBook .bookGo:disabled{opacity:.45;cursor:not-allowed}.wordBook .bookTip,.wordBook .bookWarn,.wordBook .bookCollecting{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.9}.wordBook .bookList{display:grid;gap:0}.wordBook .bookRow{display:grid;grid-template-columns:auto auto auto auto 1fr auto auto auto;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line)}.wordBook .bookRow:last-child{border-bottom:0}.wordBook .bookRow.pick{background:var(--green-100)}.wordBook .bookCk{display:inline-flex;align-items:center;cursor:pointer}.wordBook .bookW{color:var(--green-950);font:700 15px var(--serif)}.wordBook .bookIpa{color:var(--muted);font-size:12px}.wordBook .bookSay{display:inline-flex;align-items:center}.wordBook .bookSay .say{padding:0 2px;border:0;background:none;opacity:.55}.wordBook .bookSay .say:hover{opacity:1}.wordBook .bookSay .say svg{width:16px;height:16px}.wordBook .bookZh{min-width:0;overflow:hidden;color:#3f5346;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.wordBook .bookZh i{color:var(--muted);font-style:normal}.wordBook .bookTag{color:var(--muted);font-size:11px;white-space:nowrap}.wordBook .bookTag.hasTrack{max-width:26ch;overflow:hidden;text-overflow:ellipsis}.wordBook .starPick{display:inline-flex;gap:2px}.wordBook .starBtn{padding:0 1px;border:0;color:var(--line);background:none;font-size:15px;line-height:1;cursor:pointer}.wordBook .starBtn:hover,.wordBook .starBtn.on{color:var(--gold)}.wordBook .bookDrop{width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:50%;color:var(--muted);background:none;line-height:1;opacity:0;cursor:pointer}.wordBook .bookRow:hover .bookDrop,.wordBook .bookDrop:focus-visible{opacity:1}.wordBook .bookDrop:hover{border-color:var(--line);color:#b4433c}@media(max-width:720px){.wordBook .bookRow{display:flex;flex-wrap:wrap;row-gap:4px}.wordBook .bookZh{order:2;flex-basis:100%;white-space:normal}.wordBook .bookTag{display:none}.wordBook .bookTag.hasTrack{display:block;order:3;flex-basis:100%;max-width:none}.wordBook .bookRow .starPick{margin-left:auto}.wordBook .bookDrop{opacity:1}}@media(max-width:520px){.wordBook .bookRow{column-gap:8px}.wordBook .bookIpa{order:2}.wordBook .bookZh{flex-basis:55%}.wordBook .bookCk{min-width:34px;min-height:34px;justify-content:center}.wordBook .starPick{gap:0}.wordBook .starBtn{padding:7px 5px;font-size:18px}.wordBook .bookSay .say{min-width:32px;min-height:32px}.wordBook .bookLink{padding:8px 4px}}.df-word-book-selftest .selfSteps{display:flex;gap:var(--df-s2);margin:0 0 var(--df-s4);color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-word-book-selftest .selfStep{display:inline-flex;align-items:center;gap:6px}.df-word-book-selftest .selfStep+.selfStep:before{content:"›";color:var(--df-line-strong)}.df-word-book-selftest .selfStep.on{color:var(--df-brand-ink);font-weight:var(--df-fw-strong)}.df-word-book-selftest .selfStep.done{color:var(--df-ink-3)}.df-word-book-selftest .selfRound,.df-word-book-selftest .selfSkipped{margin:0 0 var(--df-s3)}.df-word-book-selftest .selfDone{text-align:center}.df-word-book-selftest .selfScore{display:flex;justify-content:center;gap:var(--df-s5);margin:var(--df-s4) 0}.df-word-book-selftest .selfScore span{display:inline-flex;flex-direction:column;gap:2px;color:var(--df-ink-3);font-size:var(--df-fs-small)}.df-word-book-selftest .selfScore b{color:var(--df-brand-ink);font-size:var(--df-fs-h2)}.df-word-book-selftest .selfActs{display:flex;justify-content:center;gap:var(--df-s3);margin-top:var(--df-s5)}}@layer reset,theme,components,pages,df-base,df-components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}html{min-width:1024px;color-scheme:light}body{margin:0;min-width:1024px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgb(198 161 95 / .52);outline-offset:3px}}@layer pages{.host-onboarding{min-height:calc(100vh - 126px)}.host-onboarding__top{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:32px;padding:17px 42px;border-bottom:1px solid var(--line);background:#fffdf9}.host-onboarding__top>div strong{display:block;margin-top:3px;color:var(--green-900);font:700 19px var(--serif)}.host-onboarding__top ol{display:flex;gap:22px;margin:0;padding:0;list-style:none}.host-onboarding__top li{display:flex;align-items:center;gap:7px;color:#969086;font-size:11px;font-weight:750}.host-onboarding__top li span{display:grid;width:24px;height:24px;place-items:center;border:1px solid #d8cdbd;border-radius:50%;background:#f6f1e8}.host-onboarding__top li.active,.host-onboarding__top li.completed{color:var(--green-800)}.host-onboarding__top li.active span,.host-onboarding__top li.completed span{border-color:var(--green-700);color:#fff0ca;background:var(--green-800)}.host-onboarding__body{display:grid;min-height:690px;align-content:start;padding:48px 70px 52px}.host-step-heading{text-align:center}.host-step-heading>.eyebrow{text-transform:none}.host-step-heading h1{margin:10px 0 8px;color:var(--green-950);font:700 46px/1.15 var(--serif)}.host-gender-grid{display:grid;width:min(930px,80%);grid-template-columns:1fr 1fr;gap:22px;margin:28px auto 0}.host-choice{position:relative;display:flex;min-height:205px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:1px solid var(--line);border-radius:24px;color:var(--ink);background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.host-choice:hover{transform:translateY(-3px);border-color:#ae9973;box-shadow:var(--shadow-md)}.host-choice.selected{border-color:var(--green-700);background:#fcfaf4;box-shadow:inset 0 0 0 2px var(--green-700),var(--shadow-md)}.host-choice>strong{color:var(--green-950);font:700 27px var(--serif)}.host-choice>span:not(.host-choice__check,.host-option-icon){color:var(--muted);font-size:12px}.host-choice>small{color:var(--muted);font-size:11px}.host-choice__check{position:absolute;top:15px;right:15px;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#fff0ca;background:var(--green-700)}.host-character-choice{min-height:415px;padding-bottom:22px}.host-character-choice img{width:210px;height:270px;object-fit:contain;object-position:center 30%}.host-option-grid{display:grid;gap:17px;margin:58px auto 0}.host-option-grid.four{width:min(1080px,92%);grid-template-columns:repeat(4,1fr)}.host-option-grid.five{width:min(1210px,96%);grid-template-columns:repeat(5,1fr)}.host-option-grid .host-choice{min-height:230px;padding-inline:14px}.host-option-icon{display:grid;width:76px;height:76px;place-items:center;border:1px solid #e2d3b8;border-radius:50%;color:var(--green-800);background:var(--gold-soft);font-size:32px}.host-option-icon.text{font-size:18px}.host-confirm-card{display:grid;width:min(830px,82%);grid-template-columns:300px 1fr;align-items:center;gap:42px;margin:35px auto 0;padding:28px 40px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow-md)}.host-confirm-avatar{display:grid;height:360px;place-items:center;border-radius:20px;background:#f3eee5}.host-confirm-avatar img{width:240px;height:330px;object-fit:contain}.host-confirm-card h2{margin:7px 0 20px;color:var(--green-900);font:700 32px var(--serif)}.host-confirm-card dl{margin:0}.host-confirm-card dl div{display:flex;justify-content:space-between;gap:25px;padding:12px 0;border-top:1px solid #eee6da}.host-confirm-card dt{color:var(--muted)}.host-confirm-card dd{margin:0;color:var(--green-800);font-weight:800}.host-onboarding__actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.host-onboarding__error{margin:20px 0 0;color:var(--danger);text-align:center}.quest-home{min-height:0;padding:40px 10% 48px}.skin-emerald img{filter:drop-shadow(0 0 18px rgb(101 211 151 / .58)) saturate(1.06)}.skin-starlight img{filter:drop-shadow(0 0 20px rgb(238 196 100 / .78)) saturate(1.12)}.main-quest-card{position:relative;display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;padding:30px 54px 22px;border:1px solid var(--line);border-radius:26px;background:#fff;text-align:center;box-shadow:var(--shadow-sm)}.main-quest-card.review{border-color:#cdb271;background:#fffaf0}.main-quest-card h2{margin:7px 0 10px;color:var(--green-950);font:700 36px/1.2 var(--serif)}.mission-corner-button{position:absolute;top:27px;z-index:2;display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:8px 15px;border:1px solid #d5bd91;border-radius:999px;color:var(--green-800);background:#fffdf8;font:800 12px/1 var(--sans);text-decoration:none;box-shadow:0 5px 14px #4f3a1912;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.mission-corner-button:hover{transform:translateY(-1px);border-color:#a9792b;box-shadow:0 8px 17px #4f3a191f}.mission-corner-button--left{left:25px}.mission-corner-button--right{right:25px}.mission-testing-actions{display:flex;width:100%;justify-content:flex-end;margin-top:12px;padding-top:11px;border-top:1px dashed #ded4c4}.mission-skip-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border:1px solid #d5bd91;border-radius:999px;color:#765c2c;background:#fffaf1;font:800 11px/1 var(--sans);cursor:pointer;box-shadow:0 4px 11px #4f3a190f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.mission-skip-button:hover:not(:disabled){transform:translateY(-1px);border-color:#a9792b;box-shadow:0 8px 17px #4f3a1921}.mission-skip-button:disabled{cursor:wait;opacity:.58}.quest-reward{display:inline-flex;align-items:center;gap:7px;margin:12px 0 4px;color:#8b672c;font-size:13px}.main-quest-card--summary{min-height:300px;padding:62px 10% 30px}.main-quest-card__heading{display:flex;align-items:center;justify-content:center;gap:12px}.main-quest-card__state{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;color:#6d716a;background:#efede8;font-size:10px;font-weight:850}.main-quest-card__state i{width:7px;height:7px;border-radius:50%;background:#aaa69d}.main-quest-card__state.in-progress{color:#845c1e;background:#fbedd0}.main-quest-card__state.in-progress i{background:#ca881d}.main-quest-card__state.completed{color:#2f6846;background:#e2f0e6}.main-quest-card__state.completed i{background:#3d8b5d}.main-quest-card__description{max-width:720px;margin:0;color:var(--muted);line-height:1.7}.main-quest-card__progress{display:flex;width:min(660px,84%);align-items:center;gap:14px;margin-top:15px;color:#77736b;font-size:11px}.main-quest-card__progress>span{flex:0 0 auto;white-space:nowrap}.main-quest-card__progress b{color:var(--green-800);font:700 20px var(--serif)}.main-quest-card__progress>i{display:block;height:8px;flex:1;overflow:hidden;border-radius:999px;background:#e8e1d6}.main-quest-card__progress>i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-700),#c99b49)}.main-quest-card__action{min-width:190px;min-height:46px;justify-content:center;margin-top:6px}.mission-detail-page{width:min(1320px,calc(100vw - 72px));min-height:0;overflow:visible;padding:24px 36px 36px;border-width:1px}.mission-detail-toolbar{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:20px}.mission-detail-toolbar>a{display:inline-flex;min-height:39px;align-items:center;gap:7px;padding:8px 14px;border:1px solid #ddcfb8;border-radius:999px;color:#655e52;background:#fffdfa;font-size:12px;font-weight:800;box-shadow:0 5px 14px #392d180d}.mission-detail-toolbar>a:hover{transform:translateY(-1px);border-color:#b99a60;box-shadow:0 7px 16px #382a1414}.mission-detail-toolbar>span{display:grid;width:66px;height:66px;place-items:center;border:1px solid #d9bd83;border-radius:50%;color:#765827;background:#f5e8ce;font:800 13px var(--sans);box-shadow:inset 0 0 0 5px #fffdf8b3}.mission-detail-course{padding:24px 28px 28px;border:1px solid var(--line);border-radius:22px;background:#fffdfa}.mission-detail-course>header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px}.mission-detail-course>header h2{margin:0;color:var(--green-950);font:700 29px/1.15 var(--serif)}.mission-detail-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mission-detail-unit-grid.review-only{grid-template-columns:1fr}.mission-detail-unit-card{display:flex;min-width:0;min-height:150px;flex-direction:column;padding:16px 18px;overflow:hidden;border:1px solid #ded3c1;border-radius:15px;color:var(--green-950);background:#fff;box-shadow:0 4px 12px #25302709;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}a.mission-detail-unit-card:hover{transform:translateY(-2px);border-color:#8ca28f;box-shadow:0 9px 20px #23443117}.mission-detail-unit-card.featured{grid-column:1 / -1;min-height:142px;border-color:#d6b36e;background:linear-gradient(135deg,#fff9eb,#fffdfa 62%)}.mission-detail-unit-card.completed{border-color:#79a187;background:linear-gradient(135deg,#eff7f1,#fff 72%)}.mission-detail-unit-card.in-progress{border-color:#c78a29;background:linear-gradient(135deg,#fff6e5,#fffdfa 72%);box-shadow:inset 4px 0 #c78a29,0 7px 18px #513b1814}.mission-detail-unit-card.locked{border-color:#dedad3;color:#85827b;background:#f5f3ef;box-shadow:none}.mission-detail-unit-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.mission-detail-unit-card__index,.mission-detail-unit-card__state{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850}.mission-detail-unit-card__index{color:#8b672c;letter-spacing:.04em}.mission-detail-unit-card__state{padding:5px 8px;border-radius:999px;color:#666b65;background:#eeece7}.mission-detail-unit-card__state svg{width:13px;height:13px}.mission-detail-unit-card.completed .mission-detail-unit-card__state{color:#2e6845;background:#dceddf}.mission-detail-unit-card.in-progress .mission-detail-unit-card__state{color:#865e20;background:#f5e3bc}.mission-detail-unit-card.locked .mission-detail-unit-card__index{color:#99958e}.mission-detail-unit-card h3{margin:12px 0 5px;color:inherit;font:700 24px/1.15 var(--serif)}.mission-detail-unit-card.featured h3{font-size:28px}.mission-detail-unit-card>p{margin:0;color:#6f6b63;font-size:11px;line-height:1.5}.mission-detail-unit-card.locked>p{color:#99958e}.mission-detail-unit-card__examples{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.mission-detail-unit-card__examples span{padding:4px 7px;border:1px solid #e4d9c8;border-radius:999px;color:#526358;background:#ffffffb3;font-size:9px}.mission-detail-unit-card.locked .mission-detail-unit-card__examples span{border-color:#e1ddd6;color:#99958e;background:#f0eee9}.side-quest-card{display:grid;grid-template-columns:64px minmax(0,1fr) 280px;align-items:center;gap:20px;margin-top:14px;padding:20px 24px;border:1px solid var(--line);border-radius:21px;background:#fffdf8;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.side-quest-card.completed{border-color:#83a68e;background:linear-gradient(90deg,#f4faf5,#fffdf8 52%);box-shadow:inset 4px 0 #3f7d59,0 7px 18px #23443112}.side-quest-card__icon{display:grid;width:60px;height:60px;place-items:center;border-radius:18px;color:var(--green-700);background:var(--green-100)}.side-quest-card.completed .side-quest-card__icon{color:#fff8df;background:var(--green-700)}.side-quest-card__copy{min-width:0}.side-quest-card__meta{display:flex;min-height:0;align-items:center;gap:10px}.side-quest-card__complete{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;color:#28613f;background:#e0f0e5;font-size:10px;font-weight:850;letter-spacing:.02em;white-space:nowrap}.side-quest-card__complete svg{stroke-width:3}.side-quest-card h2{margin:2px 0 0;color:var(--green-900);font:700 25px var(--serif)}.side-quest-card p{margin:0 0 5px;color:var(--muted)}.side-quest-card small{color:#8b6b38}.side-quest-card__reward{display:grid;width:100%;align-content:center;justify-items:end;gap:5px;color:#8b672c;font-size:12px;font-weight:800}.side-quest-card__reward>span{white-space:nowrap}.side-quest-card.completed .side-quest-card__reward>span{display:inline-flex;align-items:center;gap:5px;color:#34704b}.side-quest-card__reward .secondary-button{min-width:170px;min-height:42px;justify-content:center;margin-top:5px;padding:8px 16px}.side-quest-card__reward button.secondary-button{cursor:default}.game-side-quest-card__icon{flex:0 0 auto;font:900 17px Georgia,var(--serif)}.word-match-page{width:min(980px,calc(100% - 72px));min-height:calc(100vh - 126px);margin:0 auto;padding:38px 0 58px}.word-match-page__top{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.word-match-page__top a{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:9px 16px;border:1px solid #ddcfb8;border-radius:999px;color:#655e52;background:#fffdf8;font-size:12px;font-weight:800;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.word-match-page__top a:hover{transform:translateY(-1px);border-color:#b99a60;box-shadow:0 7px 16px #382a1414}.word-match-page__top>span{width:112px;flex:0 0 112px}.word-match-heading{margin:-28px auto 20px;text-align:center}.word-match-heading h1{margin:6px 0 5px;color:#17392b;font:700 39px/1.15 var(--serif)}.word-match-heading p{margin:0;color:#77746d;font-size:13px}.word-match-heading>small{display:block;margin-top:6px;color:#94733d}.word-match-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}.word-match-stats>span{padding:12px 14px;border:1px solid #e2d5c0;border-radius:16px;background:#fffaf3;text-align:center}.word-match-stats small{display:block;color:#8a7a60;font-size:10px;letter-spacing:.08em}.word-match-stats b{display:block;margin-top:3px;color:#17392b;font:700 21px var(--serif)}.word-match-board,.word-match-result{position:relative;overflow:hidden;padding:22px;border:1px solid #dfcfb4;border-radius:24px;background:#fffdfa;box-shadow:0 18px 44px #10281e14}.word-match-board.round-complete:after{position:absolute;z-index:8;display:grid;place-items:center;border-radius:24px;background:#fbf8f1db;color:#17392b;font:700 30px var(--serif);content:"本轮完成 ✦";inset:0;animation:word-match-round-flash .68s ease both;pointer-events:none}.word-match-notice{display:flex;min-height:28px;align-items:center;justify-content:center;gap:7px;margin-bottom:13px;color:#756d60;font-size:13px}.word-match-notice svg{color:#a67b32}.word-match-grid{display:grid;min-height:332px;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-content:stretch}.word-match-tile{position:relative;min-height:74px;overflow:hidden;padding:10px 9px;border:1px solid #dcccae;border-radius:13px;color:#24352d;background:linear-gradient(180deg,#fffdf8,#f7f0e4);box-shadow:0 4px 10px #2920120b;cursor:pointer;font:800 15px/1.25 var(--sans);word-break:break-word;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .25s ease,background .15s ease}.word-match-tile>span{display:grid;height:100%;place-items:center}.word-match-tile.en{color:#17392b;background:linear-gradient(180deg,#fffdf9,#f0eee5);font-family:var(--serif);font-size:17px}.word-match-tile.zh{color:#65583f;background:linear-gradient(180deg,#fff8e9,#f8edd9);font-size:14px}.word-match-tile:hover:not(:disabled,.matched){transform:translateY(-2px);border-color:#b99a60;box-shadow:0 8px 17px #382a1417}.word-match-tile.selected{transform:translateY(-2px) scale(1.018);border-color:#c6a15f;color:#fff1ca;background:linear-gradient(145deg,#224d39,#153428);box-shadow:0 8px 20px #10281e2e}.word-match-tile.good{animation:word-match-good .36s ease both}.word-match-tile.wrong{border-color:#c7867c;background:#f9e9e6;animation:word-match-wrong .34s ease both}.word-match-tile.matched{transform:scale(.72);opacity:0;pointer-events:none}.word-match-board__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid #e8ddcc;color:#7b7366;font-size:11px}.word-match-board__footer button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #dfd2bf;border-radius:999px;color:#655f55;background:#fffaf3;font-size:11px;font-weight:800;cursor:pointer}.word-match-result{display:grid;min-height:410px;place-items:center;align-content:center;padding:34px 18px;text-align:center}.word-match-result__icon{display:grid;width:76px;height:76px;margin-bottom:14px;place-items:center;border:2px solid #c6a15f;border-radius:24px;color:#ffe8b6;background:linear-gradient(145deg,#224d39,#113126);box-shadow:0 12px 25px #10281e26}.word-match-result__icon svg{width:35px;height:35px;stroke-width:2.5}.word-match-result h2{margin:6px 0 0;color:#17392b;font:700 32px var(--serif)}.word-match-result p{max-width:570px;margin:10px auto 15px;color:#746f66;line-height:1.75}.word-match-result>strong{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;color:#315745;background:#edf2ed;font-size:12px}.word-match-result>div{display:flex;gap:9px;margin-top:20px}.word-match-result .primary-button,.word-match-result .secondary-button{min-height:43px;padding:9px 17px}.word-match-error{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding:11px 14px;border:1px solid #e5bcb5;border-radius:13px;color:#9d4437;background:#fff4f2;font-size:11px}.word-match-error button{border:0;color:#773328;background:transparent;font-weight:850;text-decoration:underline;cursor:pointer}.word-game-center-page,.word-spelling-page{width:min(1120px,calc(100% - 72px));min-height:calc(100vh - 126px);margin:0 auto;padding:34px 0 58px}.word-game-center-page__top,.word-spelling-page>header,.word-block-page>header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:18px;color:#817768;font-size:11px}.word-game-center-page__top a,.word-spelling-page>header a,.word-block-page>header a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid #ddcfb8;border-radius:999px;color:#5f594f;background:#fffdf8;font-weight:800}.word-game-center-page__top svg,.word-spelling-page>header svg,.word-block-page>header svg{width:16px;height:16px}.word-game-center-page__heading{max-width:650px;margin:28px auto 25px;text-align:center}.word-game-center-page__heading>span,.word-spelling-heading>span{color:#a06e24;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.word-game-center-page__heading h1,.word-spelling-heading h1{margin:8px 0 5px;color:#11382a;font:700 43px/1.08 var(--serif)}.word-game-center-page__heading p,.word-spelling-heading p{color:var(--muted);font-size:13px}.word-game-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.word-game-choice{position:relative;display:flex;min-height:340px;flex-direction:column;padding:27px;overflow:hidden;border:1px solid #dccdb4;border-radius:24px;background:#fffdfa;box-shadow:0 18px 44px #11372a12;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.word-game-choice:hover{transform:translateY(-4px);border-color:#b99454;box-shadow:0 22px 48px #11372a1f}.word-game-choice.completed{border-color:#74a088;background:#f5faf6}.word-game-choice__icon{display:grid;width:60px;height:60px;place-items:center;border-radius:18px;color:#f7d98b;background:#174b38}.word-game-choice__icon svg{width:27px;height:27px}.word-game-choice>small{margin-top:32px;color:#a17735;font-size:9px;font-weight:900;letter-spacing:.12em}.word-game-choice h2{margin:7px 0 8px;color:#12392b;font:700 29px var(--serif)}.word-game-choice p{color:#756f65;font-size:12px;line-height:1.75}.word-game-choice footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:17px;border-top:1px solid #e7dccb;color:#817768;font-size:10px}.word-game-choice footer span,.word-game-choice footer b{display:inline-flex;align-items:center;gap:5px}.word-game-choice footer svg{width:15px;height:15px}.word-game-choice footer b{color:#184735;font-size:11px}.word-block-page{width:100%;min-height:calc(100vh - 64px);padding:10px 18px 18px;background:#0b2d22}.word-block-page>header{height:48px;color:#f1d78e}.word-block-page>header a{border-color:#ffffff2e;color:#fff3d5;background:#ffffff12}.word-block-page>header span{display:inline-flex;align-items:center;gap:6px;font-weight:800}.word-block-page iframe{display:block;width:100%;height:calc(100vh - 140px);min-height:680px;border:1px solid rgb(234 201 118 / .4);border-radius:20px;background:#08241b}.word-block-page>p{margin:8px 0 0;color:#ffd7cf;text-align:center}.word-spelling-card{min-height:560px;padding:48px;border:1px solid #dfcfb4;border-radius:28px;background:#fffdfa;box-shadow:0 20px 50px #10281e14}.word-spelling-heading{text-align:center}.word-spelling-start{min-width:180px;justify-content:center;margin:55px auto 0}.word-spelling-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:650px;margin:30px auto 18px}.word-spelling-hud span{display:flex;min-height:45px;align-items:center;justify-content:center;gap:7px;border:1px solid #e2d5c0;border-radius:14px;color:#174535;background:#f8f3e9;font-weight:850}.word-spelling-hud svg{width:17px}.word-spelling-round{max-width:760px;margin:0 auto;padding:36px;border:1px solid #ded0b9;border-radius:22px;text-align:center}.word-spelling-round>small{color:#6d675d;font-size:17px}.word-spelling-round>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.word-spelling-round button{min-height:72px;border:1px solid #d7c5a7;border-radius:16px;color:#153f30;background:#fff9ee;cursor:pointer;font:700 20px var(--serif)}.word-spelling-round button:hover:not(:disabled){border-color:#b58b43;background:#f4ead6}.word-spelling-round>p{display:inline-flex;align-items:center;gap:6px;margin:20px 0 0;color:#337052;font-weight:850}.word-spelling-round.wrong>p{color:#a84d42}.word-spelling-result{display:grid;min-height:330px;place-items:center;align-content:center;text-align:center}.word-spelling-result>span{color:#a17838;font-weight:850}.word-spelling-result h2{margin:8px 0 4px;color:#123b2c;font:700 64px var(--serif)}.word-spelling-result p{color:#777067}.word-spelling-result button{margin-top:15px}@keyframes word-match-good{0%{transform:scale(1)}40%{transform:scale(1.075);box-shadow:0 0 0 5px #c6a15f1f}to{transform:scale(.78);opacity:.04}}@keyframes word-match-wrong{0%,to{transform:translate(0)}20%{transform:translate(-7px) rotate(-.5deg)}40%{transform:translate(7px) rotate(.5deg)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}@keyframes word-match-round-flash{0%{opacity:0}25%,68%{opacity:1}to{opacity:0}}.review-video-teaser{display:flex;align-items:center;gap:14px;margin-top:18px;padding:18px 22px;border:1px dashed #c4a86e;border-radius:18px;color:#7a653f;background:#f8efdd}.review-video-teaser>:last-child{margin-left:auto}.review-video-teaser p,.quest-home__note{margin:3px 0 0}.quest-home__note{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:11px}.mission-page>[data-lesson-id]{padding:0 48px 48px}.mission-heading{padding-bottom:28px}.mission-map-heading{display:flex;min-height:108px;align-items:center;justify-content:space-between;gap:35px;margin-bottom:18px;padding:19px 24px;border:1px solid var(--line);border-radius:18px;background:#faf6ef}.mission-map-heading h2{margin:4px 0;color:var(--green-900);font:700 29px var(--serif)}.mission-map-heading p{margin:0;color:var(--muted)}.mission-map-progress{min-width:210px;text-align:right}.mission-map-progress>strong{color:var(--green-800);font:700 34px var(--serif)}.mission-map-progress>span{color:var(--muted)}.mission-map-progress>div{height:8px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e5ddd0}.mission-map-progress i{display:block;height:100%;border-radius:inherit;background:var(--green-700)}.mission-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mission-activity-card{position:relative;display:flex;min-height:260px;flex-direction:column;align-items:flex-start;padding:20px 21px 18px;overflow:hidden;border:1px solid var(--line);border-radius:19px;color:var(--ink);background:#fff;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.mission-activity-card:hover:not(:disabled){transform:translateY(-3px);border-color:#99aa9d;box-shadow:var(--shadow-md)}.mission-activity-card.writing{border-color:#dec18c;background:#fffaf0}.mission-activity-card.mission_test{border-color:#9cb4a3;background:#f4f9f5}.mission-activity-card.completed{border-color:#7fa28c;box-shadow:inset 0 0 0 1px #7fa28c}.mission-activity-card.locked{color:#9a958d;background:#f2eee7;cursor:not-allowed}.mission-activity-card__step{color:var(--gold-deep);font-size:9px;font-weight:850;letter-spacing:.14em}.mission-activity-card__icon{position:absolute;top:17px;right:17px;display:grid;width:43px;height:43px;place-items:center;border-radius:50%;color:var(--green-700);background:var(--green-100)}.mission-activity-card.locked .mission-activity-card__icon{color:#908a80;background:#e3ddd3}.mission-activity-card>small{margin-top:24px;color:#9a733b;font-weight:850}.mission-activity-card>strong{max-width:calc(100% - 35px);margin-top:6px;color:var(--green-900);font:700 24px/1.25 var(--serif)}.mission-activity-card.locked>strong{color:#77736c}.mission-activity-card>p{margin:7px 0;color:var(--muted);font-size:12px;line-height:1.55}.mission-activity-card>em{display:-webkit-box;overflow:hidden;color:#846c45;font-size:11px;font-style:normal;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mission-activity-card__action{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:13px;color:var(--green-700);font-size:11px;font-weight:850}.mission-claim-banner{display:flex;width:100%;align-items:center;gap:13px;margin-top:16px;padding:15px 18px;border:1px solid #c4a261;border-radius:16px;color:var(--green-800);background:#fff5df;cursor:pointer;text-align:left}.mission-claim-banner span{display:grid;margin-right:auto}.mission-claim-banner small{color:var(--muted)}.mission-side-section{scroll-margin-top:105px;margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:21px;background:#f8f3ea}.mission-side-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:18px}.mission-side-section h2{margin:4px 0;color:var(--green-900);font:700 28px var(--serif)}.mission-side-section header p{margin:0;color:var(--muted)}.mission-side-section>header>span{display:flex;align-items:center;gap:7px;color:#8a692f;font-size:11px;font-weight:800}.mission-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mission-side-column{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.mission-side-column>header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fbf8f2}.mission-side-column>header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--green-700);background:var(--green-100)}.mission-side-column header strong,.mission-side-column header small{display:block}.mission-side-column header small{color:var(--muted);font-size:10px}.mission-side-article{display:grid;min-height:128px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:15px 16px;border-top:1px solid #eee7dc}.mission-side-article:first-of-type{border-top:0}.mission-side-article>div>span{display:flex;align-items:center;gap:7px;color:#9b743a;font-size:9px;font-weight:850;letter-spacing:.1em}.mission-side-article span b{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:999px;color:#37664a;background:#e3efe6;letter-spacing:0}.mission-side-article strong{display:block;margin-top:6px;color:var(--green-900);font:700 18px var(--serif)}.mission-side-article p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.mission-side-article>a{display:inline-flex;align-items:center;gap:5px;min-width:max-content;padding:8px 12px;border:1px solid #c4ac7f;border-radius:999px;color:var(--green-800);font-size:10px;font-weight:850}.mission-side-empty,.mission-side-loading{display:grid;min-height:130px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.mission-side-empty p{margin:0}.side-article-picker-page{min-height:calc(100vh - 126px);padding-bottom:58px}.side-picker-topline{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:24px;padding:0 48px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.side-picker-topline a{display:inline-flex;align-items:center;gap:7px;color:var(--green-700);font-weight:800}.side-picker-hero{padding:34px 32px 14px;text-align:center}.side-picker-hero h1{margin:0;color:var(--green-950);font:700 49px/1.15 var(--serif)}.side-picker-hero p{margin:0;color:var(--muted)}.side-picker-tabs{display:flex;justify-content:center;gap:8px;margin:18px 0 28px}.side-picker-tabs button{display:inline-flex;min-height:44px;align-items:center;gap:7px;padding:9px 18px;border:1px solid #dbc69d;border-radius:999px;color:#8b672c;background:#fffaf1;font-weight:850;cursor:pointer}.side-picker-tabs button.active{border-color:var(--green-800);color:#fff0ca;background:var(--green-800);box-shadow:0 7px 18px #1843312b}.side-picker-panel{width:min(1040px,calc(100% - 96px));margin:0 auto;padding:28px 30px 24px;border:1px solid var(--line);border-radius:24px;background:#fffdf9;box-shadow:var(--shadow-md)}.side-picker-list{display:grid;gap:14px}.side-picker-article{display:grid;min-height:130px;grid-template-columns:126px minmax(0,1fr) auto;align-items:center;gap:20px;padding:15px;border:1px solid #e1d5c3;border-radius:18px;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.side-picker-article:hover{transform:translateY(-2px);border-color:#baa16f;box-shadow:var(--shadow-sm)}.side-picker-cover{display:grid;width:126px;height:96px;place-items:center;overflow:hidden;border-radius:15px;color:#fff7df;background:linear-gradient(145deg,#345e48,#88713d);text-align:center;white-space:pre-line;font:700 19px/1.05 var(--serif)}.side-picker-cover.cover-1{background:linear-gradient(145deg,#213f5b,#45688c)}.side-picker-cover.cover-2{background:linear-gradient(145deg,#684033,#a27453)}.side-picker-cover img{width:100%;height:100%;object-fit:cover}.side-picker-copy>span{display:flex;align-items:center;gap:8px;color:#98713a;font-size:10px;font-weight:850;letter-spacing:.08em}.side-picker-copy>span b{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;color:#326247;background:#e3efe6;letter-spacing:0}.side-picker-copy h2{margin:5px 0 3px;color:var(--green-950);font:700 23px/1.2 var(--serif)}.side-picker-copy small{display:block;margin-top:7px;color:#8f754e}.side-picker-article>.primary-button{min-width:118px;justify-content:center;padding-inline:17px}.side-picker-loading,.side-picker-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.side-picker-empty h2{margin:4px 0 0;color:var(--green-900);font:700 24px var(--serif)}.side-picker-empty p{margin:0}.side-picker-footer{display:grid;justify-items:center;gap:15px;margin-top:22px}.side-picker-footer p{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:11px}.side-picker-footer .secondary-button{min-height:42px;padding:8px 18px}.side-picker-stage{width:min(1040px,calc(100% - 96px));margin:0 auto}.stage-video{margin-top:24px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}.stage-video>header{display:flex;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid var(--line)}.stage-video h2{margin:3px 0 0;color:var(--green-900);font:700 24px var(--serif)}.stage-video header b{display:flex;align-items:center;gap:5px;margin-left:auto;color:var(--green-700)}.stage-video__locked{display:grid;min-height:230px;place-items:center;align-content:center;gap:10px;color:#87785f;background:#f2ede4}.stage-video__locked svg{width:54px;height:54px;padding:14px;border:1px solid #d7c7aa;border-radius:50%}.stage-video__player{padding:18px}.stage-video video{display:block;width:min(760px,100%);max-height:430px;margin:0 auto;border-radius:14px;background:var(--green-950)}.stage-video__player p{margin:10px 0 0;color:var(--muted);font-size:10px;text-align:center}.task-settlement{display:flex;min-height:calc(100vh - 126px);flex-direction:column;align-items:center;justify-content:center;padding:45px;text-align:center}.task-settlement__character{position:relative;width:215px;height:275px;margin-top:8px}.task-settlement__character img{width:100%;height:100%;object-fit:contain}.task-settlement__character>span{position:absolute;top:45px;right:-22px;display:grid;width:53px;height:53px;place-items:center;border-radius:50%;color:var(--green-900);background:#e4c470;font-weight:900}.task-settlement h1{margin:-5px 0 7px;color:var(--green-950);font:700 49px var(--serif)}.task-result-badge{padding:6px 13px;border-radius:999px;color:var(--green-800);background:var(--green-100);letter-spacing:.08em}.task-settlement>p{margin:15px 0;color:var(--muted)}.task-settlement>article{width:min(680px,74%);padding:18px 22px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left}.task-settlement>article>div:first-child{display:flex;align-items:center;justify-content:space-between}.task-settlement>article>div:first-child strong{color:var(--green-900);font:700 19px var(--serif)}.task-settlement>article>div:first-child b{color:var(--green-900);font:700 31px var(--serif)}.task-settlement>article>p{margin:3px 0 9px;color:var(--muted);font-size:11px}.task-reward-bar{height:9px;overflow:hidden;border-radius:999px;background:#e5ddd0}.task-reward-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-700),var(--gold))}.task-settlement article footer{display:flex;justify-content:space-between;margin-top:7px;color:#887454;font-size:10px}.task-reward-pills{display:flex;gap:8px;margin:14px 0 20px}.task-reward-pills span{padding:9px 14px;border:1px solid #d8c6a4;border-radius:999px;color:#896329;background:#fffaf0;font-size:11px;font-weight:800}.task-settlement__error{color:var(--danger)!important}.skin-wardrobe{margin-top:24px;overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#fffdf9eb;box-shadow:0 14px 38px #1a362b12}.skin-wardrobe>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:26px 28px 19px;border-bottom:1px solid #e4dac9}.skin-wardrobe h2{margin:5px 0 3px;color:var(--green-900);font:700 31px var(--serif)}.skin-wardrobe header p{max-width:720px;margin:0;color:var(--muted);font-size:11px}.skin-wardrobe__meta{display:flex;align-items:center;gap:8px}.skin-wardrobe__meta>span{display:flex;min-height:34px;align-items:center;gap:6px;padding:0 11px;border:1px solid #dac69f;border-radius:999px;color:#866126;background:#fffaf0;font-size:10px;white-space:nowrap}.skin-wardrobe__meta svg{width:14px}.skin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 18px 22px}.skin-card{position:relative;display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid #ded3c1;border-radius:19px;background:#fff;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.skin-card.unlocked:hover{border-color:#88a494;box-shadow:0 12px 26px #1345321f;transform:translateY(-2px)}.skin-card.active{border-color:#245f47;background:#fffaf3;box-shadow:inset 0 0 0 2px #245f47,0 10px 25px #193c2d1f}.skin-card__preview{position:relative;height:255px;overflow:hidden;border-bottom:1px solid #eadfce;background:linear-gradient(145deg,#f0e8da,#f8f3e9)}.skin-card__preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.03);transform-origin:50% 0}.skin-card.unlocked:hover .skin-card__preview img{animation:wardrobe-character-shake .62s cubic-bezier(.22,.72,.27,1) both}.skin-card.locked .skin-card__preview img{opacity:.5;filter:grayscale(.3) saturate(.72) blur(17px) brightness(1.05);transform:scale(1.15)}.skin-card.locked .skin-card__preview:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#ffffff0d,#eee7da2e);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.skin-card__lock{position:absolute;z-index:3;inset:50% auto auto 50%;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgb(138 105 46 / .28);border-radius:50%;color:#90703a;background:#fff9ecd1;box-shadow:0 8px 22px #42341c21;transform:translate(-50%,-50%)}.skin-card__lock svg{width:24px}.skin-card__copy{display:flex;min-height:120px;flex:1;flex-direction:column;padding:13px 14px 15px}.skin-card__copy strong{display:block;overflow:hidden;color:var(--green-900);font:700 17px var(--serif);text-overflow:ellipsis;white-space:nowrap}.skin-card.locked .skin-card__copy strong{color:#817a70}.skin-card__copy p{min-height:20px;margin:4px 0 0;color:#8a857b;font-size:10px}.skin-card__coin-progress{display:block;height:4px;overflow:hidden;margin-top:9px;border-radius:999px;background:#e7e0d5}.skin-card__coin-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b674e,var(--gold))}.skin-card__copy>button{display:flex;width:100%;min-height:34px;align-items:center;justify-content:center;margin-top:auto;padding:7px 10px;border:1px solid #dcccad;border-radius:999px;color:#6e5b39;background:#fffaf3;font-size:11px;font-weight:800;cursor:pointer}.skin-card.active .skin-card__copy>button{border-color:#c6a15f;color:#fff0cb;background:#17392b}.skin-card.locked .skin-card__copy>button{cursor:default;border-color:#e5ddd1;color:#9b958c;background:#f1ece4}.skin-card__copy>button:disabled{opacity:1}@keyframes wardrobe-character-shake{0%,to{transform:translateZ(0) rotate(0) scale(1.03)}18%{transform:translate3d(-8px,0,0) rotate(-.7deg) scale(1.034)}38%{transform:translate3d(8px,0,0) rotate(.7deg) scale(1.037)}58%{transform:translate3d(-5px,0,0) rotate(-.45deg) scale(1.036)}78%{transform:translate3d(3px,0,0) rotate(.25deg) scale(1.032)}}.skin-evolution{position:fixed;z-index:12000;inset:0;overflow:hidden;color:#fff;background:#05140ff0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.skin-evolution__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#174c36 0,#0b2c20 38%,#061a13 72%)}.skin-evolution__rays{position:absolute;inset:-40%;opacity:.24;background:repeating-conic-gradient(from 0deg,transparent 0deg 8deg,rgb(236 194 102 / .38) 9deg 10deg,transparent 11deg 18deg);animation:skin-rays-spin 18s linear infinite}.skin-evolution__skip{position:absolute;z-index:8;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:8px 14px;border:1px solid rgb(240 206 128 / .62);border-radius:999px;color:#fff3d3;background:#082a1dc2;font-size:12px;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.skin-evolution__skip:disabled{cursor:wait;opacity:.7}.skin-evolution__stage{position:relative;z-index:2;display:grid;width:min(1040px,92vw);height:100%;margin:auto;grid-template-rows:auto minmax(320px,1fr) auto;align-items:center;padding:34px 0 42px;text-align:center}.skin-evolution__stage>header{display:grid;gap:5px;justify-items:center;color:#f0ce80;letter-spacing:.17em}.skin-evolution__stage>header span{font-size:10px;font-weight:850}.skin-evolution__stage>header b{font:700 18px var(--serif);letter-spacing:.08em}.skin-evolution__core{position:relative;width:min(460px,58vh);aspect-ratio:1;margin:auto}.skin-evolution__ring{position:absolute;inset:8%;border:1px solid rgb(232 191 94 / .38);border-radius:50%;box-shadow:0 0 40px #dcaa4321;animation:skin-ring-pulse 1.15s ease-in-out infinite alternate}.skin-evolution__ring--two{inset:18%;animation-delay:-.3s}.skin-evolution__ring--three{inset:28%;animation-delay:-.6s}.skin-evolution__capsule{position:absolute;z-index:3;inset:27%;border:3px solid #c69b4c;border-radius:50% 50% 46% 46%;background:linear-gradient(145deg,#f7e5b7,#b58536);box-shadow:0 0 40px #f6ca6285,inset -16px -22px 34px #5b361442}.skin-evolution__capsule:before{position:absolute;inset:48% -3px auto;height:5px;content:"";background:#8b672f}.skin-evolution__capsule i{position:absolute;width:3px;height:0;background:#6e4a23;transform-origin:top;transition:height .22s ease}.skin-evolution__capsule i:nth-child(1){top:12%;left:48%;transform:rotate(20deg)}.skin-evolution__capsule i:nth-child(2){top:38%;left:28%;transform:rotate(-43deg)}.skin-evolution__capsule i:nth-child(3){top:56%;right:28%;transform:rotate(39deg)}.skin-evolution--charge .skin-evolution__capsule{animation:skin-capsule-charge .58s ease-in-out infinite alternate}.skin-evolution--crack .skin-evolution__capsule{animation:skin-capsule-shake .13s linear infinite}.skin-evolution--crack .skin-evolution__capsule i{height:38%}.skin-evolution__flash{position:absolute;z-index:4;inset:0;border-radius:50%;opacity:0;background:#fff6d7}.skin-evolution--burst .skin-evolution__flash,.skin-evolution--reveal .skin-evolution__flash{animation:skin-flash .52s ease-out both}.skin-evolution__core>img{position:absolute;z-index:5;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:drop-shadow(0 26px 28px rgb(0 0 0 / .34));transform:translateY(30px) scale(.56)}.skin-evolution--reveal .skin-evolution__capsule{opacity:0;transform:scale(1.65);transition:.38s ease}.skin-evolution--reveal .skin-evolution__core>img{animation:skin-reveal .72s cubic-bezier(.16,.82,.22,1) both}.skin-evolution__copy{z-index:5;min-height:178px;opacity:0;transform:translateY(18px)}.skin-evolution--reveal .skin-evolution__copy{opacity:1;transform:translateY(0);transition:opacity .45s .28s ease,transform .45s .28s ease}.skin-evolution__copy>span{display:flex;align-items:center;justify-content:center;gap:7px;color:#e8c675;font-size:10px;font-weight:850;letter-spacing:.17em}.skin-evolution__copy h1{margin:7px 0 0;color:#fff5da;font:700 clamp(30px,4vw,49px) var(--serif)}.skin-evolution__copy strong{display:block;margin-top:3px;color:#efcd82;font:700 22px var(--serif)}.skin-evolution__copy p{display:flex;align-items:center;justify-content:center;gap:6px;margin:9px 0 14px;color:#d9d8cd;font-size:11px}.skin-evolution__copy em{display:block;margin:-5px 0 8px;color:#ffb7a9;font-style:normal;font-size:11px}.skin-evolution__copy>div{display:flex;justify-content:center;gap:10px}.skin-evolution__copy button{min-width:158px;justify-content:center}.skin-evolution__particles{position:absolute;z-index:1;inset:50%}.skin-evolution__particles i{--angle: calc(var(--particle-index) * 16.36deg);position:absolute;width:5px;height:5px;border-radius:50%;opacity:0;background:#f3d080;box-shadow:0 0 8px #f3d080}.skin-evolution--burst .skin-evolution__particles i,.skin-evolution--reveal .skin-evolution__particles i{animation:skin-particle 1.2s calc(var(--particle-index) * 18ms) ease-out both}@keyframes skin-rays-spin{to{transform:rotate(360deg)}}@keyframes skin-ring-pulse{to{opacity:.35;transform:scale(1.06)}}@keyframes skin-capsule-charge{to{filter:brightness(1.18);transform:translateY(-5px) scale(1.025)}}@keyframes skin-capsule-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-10px) rotate(-3deg)}75%{transform:translate(10px) rotate(3deg)}}@keyframes skin-flash{0%{opacity:0;transform:scale(.3)}22%{opacity:1}to{opacity:0;transform:scale(1.7)}}@keyframes skin-reveal{0%{opacity:0;transform:translateY(30px) scale(.56)}70%{opacity:1;transform:translateY(-8px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skin-particle{0%{opacity:0;transform:rotate(var(--angle)) translateY(-80px) scale(.2)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-340px) scale(1.2)}}.reader-finish.quest>div{display:flex;gap:9px;margin-top:8px}.reader-quest-message{display:flex;align-items:center;gap:6px;margin:7px 0;color:#2d6746;font-size:12px}.reader-quest-message.error{color:var(--danger)}@media(max-width:1280px){.host-onboarding__body{padding-inline:38px}.host-option-grid.five{grid-template-columns:repeat(5,1fr)}.quest-home{padding-inline:5%}.mission-activity-grid{grid-template-columns:repeat(2,1fr)}.skin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}}@layer pages{.lesson-day-seal{display:grid;width:96px;height:96px;place-items:center;border:3px double var(--gold);border-radius:50%;color:var(--green-800);background:var(--gold-soft);transform:rotate(4deg)}.lesson-day-seal small,.lesson-day-seal strong{display:block;text-align:center}.lesson-day-seal small{align-self:end;font-size:10px;letter-spacing:.16em}.lesson-day-seal strong{align-self:start;font:700 30px var(--serif)}.lesson-overview{padding:0 48px 44px}.overview-heading{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:30px;margin-bottom:16px;padding:15px 21px;border:1px solid var(--line);border-radius:16px;background:#faf6ef}.overview-heading p{margin:0;color:var(--muted)}.overview-heading p strong{color:var(--green-800);font:700 17px var(--serif)}.overview-stat{display:flex;align-items:baseline;gap:6px;min-width:max-content;color:var(--muted)}.overview-stat strong{color:var(--green-700);font:700 30px var(--serif)}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.activity-card{position:relative;display:flex;min-height:178px;flex-direction:column;align-items:flex-start;padding:19px 21px;overflow:hidden;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:#fff;text-align:left;cursor:pointer;transition:transform .17s,border-color .17s,box-shadow .17s}.activity-card:hover{transform:translateY(-3px);border-color:#9fb8a8;box-shadow:var(--shadow-md)}.activity-card.writing{border-color:#dfc28e;background:linear-gradient(145deg,#fffbf2,#f7ead2)}.activity-card.checkpoint{border-color:#a8bbae;background:linear-gradient(145deg,#f7fbf8,#e9f1eb)}.activity-card.completed{border-color:#8eab98;box-shadow:inset 0 0 0 1px #8eab98}.activity-card__icon{position:absolute;top:16px;right:17px;display:grid;width:39px;height:39px;place-items:center;border-radius:50%;color:var(--green-700);background:var(--green-100)}.activity-card__label{color:var(--gold-deep);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.activity-card>strong{max-width:calc(100% - 42px);margin-top:13px;color:var(--green-900);font:700 24px/1.2 var(--serif)}.activity-card>p{margin:7px 0;color:var(--muted);font-size:13px;line-height:1.45}.activity-card>small{color:#806c4c;line-height:1.55}.light-families{margin-top:22px;padding:22px 25px;border:1px dashed #cfbea2;border-radius:19px;background:#f8f3ea}.light-families>header{display:flex;align-items:center;gap:13px}.light-families>header>span{display:grid;width:43px;height:43px;place-items:center;border-radius:50%;color:#8c6b34;background:var(--gold-soft)}.light-families h3{margin:0 0 3px;color:var(--green-900);font:700 22px var(--serif)}.light-families header p{margin:0;color:var(--muted);font-size:12px}.light-families>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.light-families article{padding:13px 15px;border:1px solid #e4d8c6;border-radius:13px;background:#ffffffb8}.light-families article>b{color:var(--green-700);font-family:var(--serif);text-transform:uppercase}.light-families article p{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 0}.light-families article p span{padding:5px 8px;border-radius:8px;color:#3f4943;background:#fff;font-size:12px}.light-families article p small{margin-left:5px;color:var(--muted)}.trainer{margin-bottom:0}.inline-back{display:flex;align-items:center;gap:6px;margin:0 0 14px;padding:0;border:0;color:var(--green-700);background:none;font-size:12px;font-weight:750;cursor:pointer}.root-seal small{display:block;font:700 11px var(--sans)}.training-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:25px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#f7f2e9}.training-steps button{display:grid;min-height:66px;grid-template:1fr 1fr / 35px 1fr;align-items:center;border:0;border-radius:12px;color:#6e706a;background:transparent;cursor:pointer;text-align:left}.training-steps button>span{display:grid;grid-row:1 / 3;width:30px;height:30px;place-items:center;border-radius:50%;background:#ece4d7}.training-steps small{align-self:end;font-size:9px;letter-spacing:.1em}.training-steps b{align-self:start;font-size:13px}.training-steps button.active{color:#fff1cc;background:var(--green-800);box-shadow:var(--shadow-sm)}.training-steps button.active>span{color:var(--green-800);background:#f3dfb8}.training-stage{min-height:420px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fbf8f2}.step-intro{margin-bottom:20px}.step-intro>span{color:var(--gold-deep);font-size:10px;font-weight:850;letter-spacing:.14em}.step-intro h3{margin:4px 0 5px;color:var(--green-900);font:700 29px var(--serif)}.step-intro p{margin:0;color:var(--muted)}.word-gallery.interactive .word-card{width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s}.word-gallery.interactive .word-card:hover,.word-gallery.interactive .word-card.open{border-color:#83a08c;box-shadow:var(--shadow-sm)}.word-gallery.interactive .word-card{position:relative;display:block;padding:0;cursor:default}.word-card__toggle{display:grid;width:100%;min-height:153px;grid-template-columns:58px 1fr;align-items:start;gap:14px;padding:17px 48px 17px 17px;border:0;border-radius:inherit;color:inherit;background:transparent;text-align:left;cursor:pointer}.word-card .pronunciation{position:absolute;top:15px;right:14px}.pronunciation{display:inline-flex;align-items:center;gap:9px}.pronunciation__phonetic{color:#80653a;font:600 14px/1.2 Georgia,Times New Roman,serif;letter-spacing:.01em}.pronunciation__button{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;padding:0;border:1px solid #d9c49d;border-radius:50%;color:var(--green-700);background:#fffaf0;cursor:pointer;transition:color .16s,background .16s,transform .16s}.pronunciation__button:hover{color:#fff2cf;background:var(--green-700);transform:translateY(-1px)}.pronunciation__button.playing{color:#fff2cf;background:var(--green-700)}.pronunciation__button.unsupported{color:var(--danger);border-color:#d8aaa2;background:#faece8}.pronunciation__button svg{width:17px;height:17px}@media(max-width:1024px),(pointer:coarse){.pronunciation__button{position:relative}.pronunciation__button:before{content:"";position:absolute;width:44px;height:44px;left:50%;top:50%;transform:translate(-50%,-50%)}}.pronunciation.compact .pronunciation__phonetic{position:absolute;top:39px;right:0;width:145px;color:#846f50;font-size:12px;text-align:right;white-space:nowrap}.gold-word-heading{display:flex;align-items:center;gap:16px}.gold-word-heading h2{margin-bottom:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.root-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.root-list button{display:grid;min-height:61px;grid-template-columns:125px 20px 90px 1fr;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.root-list button:hover,.root-list button.active{border-color:#9fb8a8;background:var(--green-100);box-shadow:var(--shadow-sm)}.root-list code{color:var(--green-700);font-weight:800}.root-list button span{color:var(--muted);font-size:12px}.match-board{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:20px 28px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle,rgb(49 87 69 / .07),transparent 32%),#f3efe7}.match-board>div{display:grid;align-content:start;gap:8px}.match-board>div>b{margin-bottom:5px;color:#8b7858;font-size:10px;letter-spacing:.12em}.match-board button{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;cursor:pointer}.match-board button small{color:var(--muted)}.match-board button.selected,.match-board button.paired{border-color:#9fb8a8;background:var(--green-100)}button.good:not(.df-html-learning button),.match-board button.good{border-color:#75a083!important;color:#1c6540!important;background:#e3f3e8!important}button.bad:not(.df-html-learning button),.match-board button.bad{border-color:#c9887f!important;color:#994137!important;background:#fae9e6!important}.question-list{display:grid;gap:13px}.question-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.question-card h3{margin:0 0 13px;color:#303a34;font:650 16px/1.5 var(--sans)}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.option-grid button{min-height:49px;padding:10px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;cursor:pointer}.option-grid button span,.option-grid button small{display:block}.option-grid button small{margin-top:4px;color:var(--muted)}.option-grid button.selected{border-color:#8eab98;color:var(--green-800);background:var(--green-100);box-shadow:inset 0 0 0 1px #8eab98}.true-false{display:grid;grid-template-columns:1fr 1fr;gap:9px}.true-false button{display:flex;min-height:46px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;cursor:pointer}.true-false button.selected{border-color:#8eab98;color:var(--green-800);background:var(--green-100)}.answer-feedback{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.55}.answer-feedback.good{color:#2c6644;background:#e6f2e9}.answer-feedback.review{color:#785729;background:#f7edd9}.answer-feedback svg{flex:0 0 auto;margin-top:2px}.cloze-passage{padding:23px;border:1px solid var(--line);border-left:4px solid var(--green-700);border-radius:14px;color:#27332d;background:#fff;font:19px/2.2 var(--serif)}.cloze-passage button{min-width:100px;margin:0 4px;padding:3px 9px;border:1px solid #9fb8a8;border-radius:8px;color:var(--green-800);background:var(--green-100);cursor:pointer}.translation-box{margin:13px 0;padding:12px 15px;border-radius:11px;color:#6b6254;background:#f2ede4;line-height:1.6}.word-bank{display:flex;flex-wrap:wrap;gap:8px;padding:13px;border:1px solid #cfded4;border-radius:13px;background:#edf3ef}.word-bank button{padding:8px 13px;border:1px solid rgb(255 255 255 / .18);border-radius:999px;color:#fff2cf;background:linear-gradient(145deg,var(--green-700),var(--green-900));cursor:pointer}.word-bank button.selected{box-shadow:0 0 0 3px #c6a15f73}.word-bank button:disabled{opacity:.28;cursor:default}.step-footer{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.step-footer>span{color:var(--green-700);font-weight:800}.gold-uses{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gold-uses article{padding:18px;border:1px solid #dfcba8;border-radius:15px;background:linear-gradient(145deg,#fffdf8,#f8edd8)}.gold-uses code{display:block;color:var(--green-800);font-size:14px;font-weight:850}.gold-uses b{display:block;margin:6px 0 12px;color:#80653a;font-size:13px}.gold-uses p{margin:0 0 7px;font:16px/1.55 var(--serif)}.gold-uses small{color:var(--muted)}.writing-practice{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fbf7ef}.writing-practice h3{margin:4px 0 16px;color:var(--green-900);font:700 24px var(--serif)}.checkpoint-note{padding:12px 15px;border:1px solid #cfded4;border-radius:12px;color:var(--green-700);background:var(--green-100)}.question-source{display:inline-flex;margin-bottom:9px;padding:4px 8px;border-radius:999px;color:#80653a;background:var(--gold-soft);font-size:10px;font-weight:800;letter-spacing:.08em}.step-footer.sticky{position:sticky;z-index:3;bottom:12px;margin-inline:-8px;padding:14px 12px;border:1px solid var(--line);border-radius:15px;background:#fbf8f1f0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(max-width:1280px){.activity-grid{grid-template-columns:repeat(2,1fr)}.training-steps button{grid-template-columns:30px 1fr}.root-list,.gold-uses{grid-template-columns:1fr}}}@layer theme{:root{--green-950: #0d281e;--green-900: #123226;--green-800: #173d2d;--green-700: #315745;--green-100: #eaf1ec;--paper: #fbf8f1;--surface: #fffdf9;--surface-soft: #f4efe6;--ink: #17231d;--muted: #6f6d66;--gold: #c6a15f;--gold-deep: #9b7338;--gold-soft: #f2e7d3;--line: #e3d8c7;--line-strong: #d8c39a;--danger: #a4473d;--serif: Georgia, "Noto Serif SC", "STSong", "Songti SC", serif;--sans: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--shadow-xl: 0 24px 60px rgb(16 40 30 / .12);--shadow-md: 0 12px 30px rgb(16 40 30 / .09);--shadow-sm: 0 5px 14px rgb(16 40 30 / .07)}body{color:var(--ink);font-family:var(--sans);background:radial-gradient(860px 480px at 6% -8%,rgb(49 87 69 / .1),transparent 70%),radial-gradient(680px 420px at 96% 6%,rgb(198 161 95 / .09),transparent 72%),linear-gradient(180deg,#f5f1e9,#eee9e1);background-attachment:fixed}::selection{color:var(--green-950);background:#ead7b3}}@layer components{.eyebrow{color:var(--gold-deep);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.gold-rule{display:block;width:min(420px,42%);height:2px;margin:15px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.brand{display:flex;align-items:center;gap:13px;width:max-content;color:#f3ddb1}.brand__mark{position:relative;display:grid;width:52px;height:58px;place-items:center;border:2px solid var(--gold);border-radius:13px 13px 18px 18px;font:700 21px var(--serif)}.brand__mark:before{position:absolute;top:-14px;content:"◆";color:var(--gold);font-size:10px}.brand__copy strong,.brand__copy small{display:block}.brand__copy strong{font:700 25px var(--serif);letter-spacing:.02em}.brand__copy small{margin-top:2px;color:#e2c58f;font-size:11px;letter-spacing:.08em}.primary-button,.secondary-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 25px;font-weight:820;cursor:pointer;transition:transform .16s,box-shadow .16s,opacity .16s}.primary-button{border:1px solid #b99657;color:#fff2cf;background:linear-gradient(145deg,var(--green-700),var(--green-900));box-shadow:0 9px 18px #10281e2e,inset 0 1px #ffffff26}.secondary-button{border:1px solid var(--line);color:var(--green-800);background:var(--surface)}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.paper-page{width:min(1640px,calc(100vw - 52px));min-height:calc(100vh - 142px);margin:0 auto;overflow:hidden;border:2px solid var(--line-strong);border-radius:28px;background:var(--paper);box-shadow:var(--shadow-xl)}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:38px 52px 28px;border-bottom:1px solid var(--line)}.page-heading h1,.page-hero h1,.lesson-heading h1{margin:5px 0 10px;color:var(--green-900);font:700 46px/1.15 var(--serif)}.page-heading p,.lesson-heading p{margin:0;color:var(--muted)}.content-version{padding:7px 12px;border:1px solid #dfceb1;border-radius:999px;color:#80683f;background:#fff9ef;font-size:12px;font-weight:700}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-state{--app-state-bg: #f1f7f2;--app-state-surface: #fff;--app-state-surface-soft: #edf4ee;--app-state-line: #d7e5da;--app-state-line-strong: #b9d0be;--app-state-ink: #17281f;--app-state-muted: #5a6a61;--app-state-brand: #26794f;--app-state-brand-deep: #1f6b46;--app-state-shadow: 0 16px 44px rgb(30 72 47 / 9%);display:grid;width:100%;place-items:center;padding:32px;color:var(--app-state-ink);font-family:var(--df-font-ui, var(--sans))}.app-state--page{min-height:calc(100dvh - 158px);background:radial-gradient(circle at 50% 44%,rgb(38 121 79 / 5%),transparent 32%),transparent}.app-state--screen,.app-state--overlay{min-height:100dvh;background:radial-gradient(720px 420px at 50% 42%,rgb(38 121 79 / 10%),transparent 72%),var(--app-state-bg)}.app-state--overlay{position:fixed;z-index:300;inset:0}.app-state--inline{min-height:180px;border:1px solid var(--app-state-line);border-radius:14px;background:var(--app-state-surface)}.membership-state{min-height:430px}.analytics-state{width:auto;min-height:260px;margin:18px 52px 0}.admin-state{width:auto;min-height:220px;margin:18px 52px 0}.app-state__card{display:flex;width:min(560px,100%);align-items:center;justify-content:center;gap:22px}.app-state--screen .app-state__card,.app-state--overlay .app-state__card,.app-state--page .app-state__card{justify-content:flex-start;padding:30px;border:1px solid var(--app-state-line-strong);border-radius:18px;background:var(--app-state-surface);box-shadow:var(--app-state-shadow)}.app-state__mark{display:grid;width:68px;height:68px;flex:0 0 68px;place-items:center;border-radius:16px;color:#fff;background:var(--app-state-brand-deep);font:750 24px/1 Georgia,serif}.app-state__body{width:min(390px,100%);min-width:0}.app-state__label{display:block;margin-bottom:6px;color:var(--app-state-brand-ink, var(--app-state-brand-deep));font-size:11px;font-weight:700;letter-spacing:.08em}.app-state__heading{display:flex;align-items:center;justify-content:center;gap:12px}.app-state--screen .app-state__heading,.app-state--overlay .app-state__heading{justify-content:flex-start}.app-state__icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;color:var(--app-state-brand);background:var(--app-state-surface-soft)}.app-state__icon svg{width:22px;height:22px}.app-state__spinner{animation:app-state-spin .9s linear infinite}.app-state h1{margin:0;color:var(--app-state-ink);font:700 clamp(25px,2.2vw,32px)/1.28 var(--df-font-ui, var(--sans));letter-spacing:-.02em}.app-state__detail{margin:10px 0 0;color:var(--app-state-ink);font-size:14px;font-weight:650}.app-state__note{margin:12px 0 0;color:var(--app-state-muted);font-size:13px;line-height:1.65}.app-state__progress{display:block;height:5px;margin-top:12px;overflow:hidden;border-radius:999px;background:var(--app-state-surface-soft)}.app-state__progress i{display:block;width:36%;height:100%;border-radius:inherit;background:var(--app-state-brand);animation:app-state-progress 1.2s ease-in-out infinite}.app-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.app-state--screen .app-state__actions,.app-state--overlay .app-state__actions{justify-content:flex-start}.app-state--error .app-state__icon{color:#a3352f;background:#fdeceb}.app-state--error .app-state__progress{display:none}@keyframes app-state-spin{to{transform:rotate(360deg)}}@keyframes app-state-progress{0%{transform:translate(-110%)}to{transform:translate(310%)}}@media(max-width:720px){.app-state{padding:18px}.app-state--page{min-height:calc(100svh - var(--mobile-appbar-height, 56px))}.app-state--screen .app-state__card,.app-state--overlay .app-state__card,.app-state--page .app-state__card{align-items:flex-start;gap:15px;padding:22px 18px;border-radius:16px}.app-state__mark{width:52px;height:52px;flex-basis:52px;border-radius:13px;font-size:19px}.app-state__icon{width:36px;height:36px;flex-basis:36px}.app-state__icon svg{width:19px;height:19px}.app-state h1{font-size:24px}.app-state__detail{font-size:13px}.app-state__note{font-size:12px}.membership-state{min-height:320px}.analytics-state{min-height:220px;margin:14px 16px 0}.admin-state{min-height:190px;margin:14px 16px 0}}@media(prefers-reduced-motion:reduce){.app-state__spinner{animation-duration:2s}.app-state__progress i{width:100%;animation:none}}}@layer pages{.topbar{position:sticky;z-index:50;top:0;display:grid;height:86px;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 34px;border-bottom:1px solid rgb(198 161 95 / .72);color:#f3ddb1;background:radial-gradient(circle at 20% 20%,#1d4a38,#143327,#0d281e 88%);box-shadow:0 8px 28px #10281e1f}.main-nav{display:flex;align-items:center;justify-content:center;gap:7px}.main-nav a{display:inline-flex;align-items:center;gap:7px;border-radius:12px;padding:10px 12px;color:#f0d59f;font-size:14px;font-weight:760;transition:color .16s,background .16s}.main-nav a:hover,.main-nav a.active{color:#fff6df;background:#c6a15f24}.user-menu{display:flex;align-items:center;gap:8px;font-size:13px}.user-menu__avatar{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgb(198 161 95 / .6);border-radius:50%;color:var(--green-800);background:#f7f0e5;font-weight:900}.user-menu__avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.user-menu button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:9px;color:#f0d59f;background:transparent;cursor:pointer}.user-menu button:hover{background:#ffffff14}.shell-content{min-height:calc(100vh - 86px);padding:28px 26px}.login-page{display:grid;min-height:100vh;place-items:center;padding:28px}.login-frame{position:relative;display:grid;width:min(1500px,96vw);min-height:790px;grid-template:1fr 86px / 1.02fr .98fr;overflow:hidden;border:2px solid #d9c49d;border-radius:30px;background:var(--paper);box-shadow:0 28px 80px #10281e29}.login-frame:before{position:absolute;z-index:2;inset:12px;border:1px solid rgb(198 161 95 / .18);border-radius:23px;content:"";pointer-events:none}.login-intro{position:relative;display:flex;overflow:hidden;flex-direction:column;padding:52px 58px 30px}.login-intro .brand{color:var(--green-800)}.login-intro .brand__copy small{color:#a47d3e}.login-intro__copy{position:relative;z-index:3;margin:70px auto 0;text-align:center}.login-intro__copy h1{margin:11px 0 17px;color:var(--green-800);font:700 48px/1.28 var(--serif);letter-spacing:.03em}.login-intro__copy p{color:#77654a;font-size:17px}.campus-art{position:relative;display:flex;height:290px;align-items:flex-end;justify-content:center;gap:8px;margin-top:auto}.campus-art img{position:relative;z-index:2;max-width:38%;max-height:275px;object-fit:contain;filter:drop-shadow(0 12px 18px rgb(16 40 30 / .1));mix-blend-mode:multiply}.campus-art__book{position:relative;z-index:2;display:grid;width:170px;height:210px;place-items:center;border:4px double var(--gold);border-radius:20px 20px 38px 38px;color:var(--green-800);background:linear-gradient(145deg,#fffaf1,#e9d4ad);box-shadow:0 18px 35px #10281e21;font:700 42px var(--serif);transform:rotate(-5deg)}.campus-art__path{position:absolute;bottom:8px;width:82%;height:150px;border-bottom:1px solid rgb(198 161 95 / .35);border-radius:50%;background:radial-gradient(ellipse at center bottom,rgb(49 87 69 / .09),transparent 68%)}.login-panel{display:grid;place-items:center;padding:50px 58px;border-left:1px solid #e5d7c1;background:linear-gradient(180deg,#fffdf9a6,#f6efe58f)}.login-card{position:relative;z-index:3;width:min(560px,100%);padding:42px;border:1px solid #dfceb1;border-radius:26px;background:var(--surface);box-shadow:0 14px 36px #10281e14}.login-card>.eyebrow{display:block;text-align:center}.login-card h2{margin:7px 0 8px;color:var(--green-800);text-align:center;font:700 36px var(--serif)}.login-card>p{margin-bottom:26px;color:#766d5d;text-align:center}.form-field{display:block;margin:16px 0;color:#4f554f;font-size:13px;font-weight:750}.form-field>span{display:block;margin:0 0 7px 3px}.form-field>div{display:flex;height:58px;align-items:center;gap:10px;padding:0 15px;border:1px solid #e2d6c4;border-radius:13px;color:#8a857c;background:#fffdfa}.form-field input{flex:1;min-width:0;border:0;outline:0;color:#26312b;background:transparent}.form-field button{display:grid;padding:6px;place-items:center;border:0;color:#777;background:transparent;cursor:pointer}.login-options{display:flex;align-items:center;justify-content:space-between;margin:16px 0 22px;color:#716b60;font-size:13px}.login-options label{display:flex;align-items:center;gap:6px}.login-options button{border:0;color:#9a7137;background:none;cursor:pointer}.login-card>.primary-button{width:100%;border-radius:14px;font-size:17px}.login-card .form-error{margin:-8px 0 15px;padding:10px 12px;border-radius:10px;color:var(--danger);background:#f9eae6;font-size:13px;text-align:left}.login-card .login-account-help{margin:-8px 0 16px;padding:10px 12px;border:1px solid #dfd2bd;border-radius:10px;color:#75684f;background:#fff8eb;font-size:12px;line-height:1.6;text-align:left}.login-card .login-help{margin:20px 0 0;font-size:13px}.login-benefits{z-index:3;display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 48px;border-top:1px solid rgb(198 161 95 / .58);color:#ecd5a5;background:var(--green-900)}.login-benefits span{border-right:1px solid rgb(198 161 95 / .14);text-align:center}.login-benefits span:last-child{border:0}.login-benefits b,.login-benefits small{display:block}.login-benefits b{font-size:15px}.login-benefits small{margin-top:3px;color:#cfb987;font-size:11px}.home-page{padding:34px 66px 42px}.page-hero{padding:3px 0 28px;text-align:center}.page-hero h1{margin-top:7px;font-size:58px}.page-hero p{margin:0;color:#756249;font-size:17px}.home-overview{display:flex;width:max-content;margin:-6px auto 28px;padding:10px 20px;border:1px solid var(--line);border-radius:17px;background:#fffaf3;box-shadow:var(--shadow-sm)}.home-overview span{display:grid;min-width:155px;grid-template:auto auto / 28px auto;align-items:center;padding:3px 20px;border-right:1px solid var(--line);text-align:left}.home-overview span:last-child{border-right:0}.home-overview svg{grid-row:1 / 3;width:19px;color:var(--gold-deep)}.home-overview b{color:var(--green-900);font:700 21px var(--serif)}.home-overview small{color:var(--muted);font-size:10px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.home-card{position:relative;display:grid;min-height:430px;grid-template-columns:230px 1fr;align-items:center;gap:26px;overflow:hidden;padding:30px 38px;border:1px solid #e3d2b5;border-radius:30px;background:linear-gradient(180deg,#fffaf3,#fbf7ef)}.home-card:after{position:absolute;inset:13px;border:1px solid rgb(198 161 95 / .22);border-radius:24px;content:"";pointer-events:none}.home-card--reading{grid-template-columns:1fr 230px}.home-card>div{position:relative;z-index:2}.home-card h2{margin:4px 0 18px;color:var(--green-900);font:700 44px var(--serif)}.home-card ul{display:grid;gap:12px;margin:0 0 26px;padding:0;list-style:none;color:#50534e}.home-card li{display:flex;align-items:center;gap:9px}.home-card li svg{width:17px;color:var(--gold-deep)}.home-illustration{display:flex;height:330px;align-items:flex-end;justify-content:center}.home-illustration img{max-width:100%;max-height:320px;object-fit:contain;filter:drop-shadow(0 14px 18px rgb(16 40 30 / .1));mix-blend-mode:multiply}.home-note{width:min(900px,80%);margin:24px auto 0;padding:14px 20px;border:1px solid var(--line);border-radius:16px;color:#645d51;background:#fffaf3;text-align:center}.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:28px 52px}.track-card{position:relative;display:grid;min-height:190px;place-items:center;gap:12px;padding:22px;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:var(--surface);cursor:pointer;transition:transform .17s,border-color .17s,box-shadow .17s}.track-card:hover{transform:translateY(-3px);border-color:#bba06f;box-shadow:var(--shadow-md)}.track-card.selected{border-color:var(--green-700);background:linear-gradient(180deg,#fffdfa,#f3eee5);box-shadow:inset 0 0 0 2px var(--green-700),var(--shadow-md)}.track-card__number{position:absolute;top:18px;left:20px;color:#bda77f;font:700 14px var(--serif)}.track-card__icon{display:grid;width:64px;height:64px;place-items:center;border:1px solid #e1d2b5;border-radius:50%;color:var(--green-700);background:var(--gold-soft)}.track-card>strong{color:var(--green-900);font:700 28px var(--serif)}.track-card__days{color:#896a38;font-size:11px;font-weight:850;letter-spacing:.15em}.track-card__check{position:absolute;top:16px;right:16px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff2cf;background:var(--green-700)}.schedule-panel{margin:0 52px 44px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fffdfa}.schedule-panel>header{padding:20px 25px;border-bottom:1px solid var(--line);background:#faf6ef}.schedule-panel h2{margin:3px 0 0;color:var(--green-900);font:700 30px var(--serif)}.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:11px;padding:20px}.day-card{display:flex;min-height:104px;flex-direction:column;justify-content:center;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .16s,transform .16s,box-shadow .16s}.day-card:not(.locked):hover{transform:translateY(-2px);border-color:#aabcaf;box-shadow:var(--shadow-sm)}.day-card__index{color:var(--green-800);font:700 20px/1.1 var(--serif);letter-spacing:.05em}.day-card__summary{margin-top:9px;color:var(--muted);font-size:11px;line-height:1.45}.day-card strong{margin:8px 0 4px;color:var(--green-900);font:700 18px/1.3 var(--serif)}.day-card small{color:var(--muted);line-height:1.5}.day-card--checkpoint{border-color:#a8bbae;background:linear-gradient(145deg,#f7fbf8,#e9f1eb)}.day-card--checkpoint .day-card__index{color:var(--gold-deep);font-size:11px;font-family:var(--sans);font-weight:850;letter-spacing:.12em}.day-card.locked{align-items:center;justify-content:center;color:#9d978c;background:#f3efe8;text-align:center}.lesson-page{padding-bottom:42px}.checkpoint-page .family-workspace{margin-top:28px}.lesson-topline{display:flex;align-items:center;justify-content:space-between;padding:15px 45px;border-bottom:1px solid var(--line);color:var(--muted);background:#f7f2e9;font-size:13px}.lesson-topline a{display:inline-flex;align-items:center;gap:7px;color:var(--green-700);font-weight:750}.lesson-heading{display:grid;grid-template-columns:1fr 260px;align-items:end;gap:40px;padding:30px 48px}.lesson-progress{height:9px;overflow:hidden;border-radius:999px;background:#ebe3d6}.lesson-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-700),#5f826d);transition:width .25s}.family-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 48px 24px}.family-tabs button{display:inline-flex;min-width:max-content;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#6b6b64;background:#fff;cursor:pointer}.family-tabs button.active{border-color:var(--green-700);color:#fff2cf;background:var(--green-800)}.family-workspace{margin:0 48px;padding:28px;border:1px solid #dccbad;border-radius:24px;background:var(--surface);box-shadow:var(--shadow-md)}.family-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:23px}.family-heading h2{margin:4px 0 7px;color:var(--green-900);font:700 38px var(--serif)}.family-heading p{margin:0;color:var(--muted)}.root-seal{display:grid;min-width:140px;min-height:82px;place-items:center;border:3px double var(--gold);border-radius:50%;color:var(--green-800);background:var(--gold-soft);font:700 19px var(--serif);transform:rotate(-4deg)}.word-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.word-card{display:grid;min-height:155px;grid-template-columns:58px 1fr;align-items:start;gap:14px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.word-card__letter{display:grid;width:52px;height:52px;place-items:center;border-radius:13px;color:#fff2cf;background:linear-gradient(145deg,var(--green-700),var(--green-900));font:700 24px var(--serif)}.word-card h3{margin:0;color:var(--green-900);font:700 23px var(--serif)}.word-card b{display:block;margin-top:3px;color:#80653a;font-size:14px}.word-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.word-card small{display:block;margin-top:8px;color:var(--green-700);font-size:11px}.root-board{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-top:24px;padding:22px;border:1px solid #cfded4;border-radius:18px;background:var(--green-100)}.root-board header>span{color:var(--gold-deep);font-size:11px;font-weight:850;letter-spacing:.14em}.root-board h3{margin:7px 0;color:var(--green-900);font:700 24px var(--serif)}.root-board p{color:var(--muted)}.root-board>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.root-board article{display:grid;grid-template-columns:110px 18px 80px 1fr;align-items:center;gap:6px;padding:10px 12px;border:1px solid #d5e0d8;border-radius:11px;background:#ffffffb8;font-size:12px}.root-board code{color:var(--green-800);font-weight:800}.root-board article span{color:var(--muted)}.lesson-actions{display:flex;justify-content:space-between;margin-top:24px}.reading-page{padding-bottom:45px}.reading-heading{align-items:center}.reading-mode-switch{display:grid;min-width:540px;grid-template-columns:1fr 1fr;gap:7px;padding:6px;border:1px solid var(--line);border-radius:18px;background:#f1ece3}.reading-mode-switch button{display:flex;min-height:70px;align-items:center;gap:11px;padding:10px 16px;border:1px solid transparent;border-radius:13px;color:#61655f;background:transparent;text-align:left;cursor:pointer}.reading-mode-switch button.active{border-color:#b9a475;color:#fff1ce;background:linear-gradient(145deg,var(--green-700),var(--green-900));box-shadow:var(--shadow-sm)}.reading-mode-switch b,.reading-mode-switch small{display:block}.reading-mode-switch b{margin-bottom:3px;font-size:14px}.reading-mode-switch small{color:inherit;font-size:11px;opacity:.78}.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 52px 16px}.reading-search{display:flex;width:min(430px,42%);height:48px;align-items:center;gap:9px;padding:0 15px;border:1px solid var(--line);border-radius:999px;color:#81796e;background:#fff}.reading-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.difficulty-filter{display:flex;gap:7px}.difficulty-filter button{padding:9px 15px;border:1px solid var(--line);border-radius:999px;color:#666b65;background:#fff;cursor:pointer}.difficulty-filter button.active{border-color:var(--green-700);color:#fff2cf;background:var(--green-800)}.reading-mode-note{display:flex;align-items:flex-start;gap:10px;margin:0 52px 24px;padding:12px 16px;border:1px solid #d6dfd8;border-radius:13px;color:#536358;background:var(--green-100)}.reading-mode-note svg{flex:0 0 auto;margin-top:2px;color:var(--gold-deep)}.reading-mode-note p{margin:0;font-size:13px;line-height:1.65}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px;padding:0 52px}.article-card{display:grid;min-height:285px;grid-template-columns:180px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .17s,box-shadow .17s}.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.article-card__cover{position:relative;display:grid;min-height:100%;place-items:center;overflow:hidden;border-right:1px solid #d3c19e;color:#f5dfb1;background:radial-gradient(circle at 30% 20%,#315b47,#163628 70%)}.article-card__cover:before,.article-card__cover:after{position:absolute;width:130px;height:200px;border:1px solid rgb(198 161 95 / .42);border-radius:50%;content:"";transform:rotate(32deg)}.article-card__cover:after{transform:rotate(-32deg)}.article-card__cover img{position:absolute;width:100%;height:100%;object-fit:cover}.article-card__cover>span{z-index:1;font:700 34px var(--serif);letter-spacing:.12em}.article-card__cover em{position:absolute;z-index:2;right:12px;bottom:12px;padding:5px 9px;border:1px solid rgb(255 238 200 / .4);border-radius:999px;color:#fff0cb;background:#0d281ec7;font-size:11px;font-style:normal;font-weight:800}.article-card__body{display:flex;min-width:0;flex-direction:column;padding:24px}.article-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#90703c;font-size:11px;font-weight:800;letter-spacing:.04em}.article-card h2{margin:12px 0 9px;color:var(--green-900);font:700 25px/1.35 var(--serif)}.article-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:3}.article-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}.article-card footer small{color:#8a857b}.article-card footer a{display:inline-flex;align-items:center;gap:5px;color:var(--green-700);font-size:13px;font-weight:850}.reading-status{display:grid;min-height:310px;place-items:center;align-content:center;padding:30px;color:#a7874f;text-align:center}.reading-status h2{margin:14px 0 7px;color:var(--green-900);font:700 28px var(--serif)}.reading-status p{margin:0;color:var(--muted)}.reading-level-page,.reading-library-page{width:min(1850px,calc(100vw - 70px));padding-bottom:42px}.reading-step-heading{padding:36px 54px 0}.reading-step-heading .eyebrow{display:inline-block;margin-bottom:8px;padding:6px 11px;border-radius:999px;background:#f2e8d5}.reading-step-heading h1{margin:0;color:var(--green-900);font:700 42px/1.2 var(--serif);letter-spacing:.01em}.reading-step-heading p{margin:8px 0 0;color:#757871;font:16px/1.5 var(--sans)}.reading-level-panel{margin:22px 54px 0;padding:24px;border:1px solid #e5d9c7;border-radius:22px;background:#fffdfa;box-shadow:0 10px 28px #10281e0d}.reading-level-panel__top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.reading-level-panel__top h2{margin:0;color:var(--green-950);font:700 28px/1.2 var(--serif)}.reading-level-panel__top p{margin:5px 0 0;color:#76776f;font:16px var(--sans)}.reading-level-tabs{display:inline-flex;width:auto;grid-template-columns:none;gap:3px;padding:3px;border:1px solid #decaa8;border-radius:999px;background:#fff9ef}.reading-level-tabs button{min-height:0;padding:10px 24px;border:0;border-radius:999px;color:#77613c;background:transparent;font-weight:800;cursor:pointer}.reading-level-tabs button.active{color:#fff0c9;background:var(--green-800);box-shadow:var(--shadow-sm)}.reading-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:18px}.reading-level-card{display:block;min-height:0;padding:22px 16px;border:1px solid #e3d6c3;border-radius:20px;color:var(--ink);background:#fff;text-align:center;cursor:pointer;transition:transform .17s,border-color .17s,box-shadow .17s,background .17s}.reading-level-card:hover{transform:translateY(-3px);border-color:#bb9a62;box-shadow:var(--shadow-md)}.reading-level-card.active{border-color:var(--green-700);background:#fbf8f0;box-shadow:inset 0 0 0 2px var(--green-700),var(--shadow-md)}.reading-level-card__icon{display:grid;width:64px;height:64px;place-items:center;margin:0 auto 12px;border-radius:50%;background:#f3ead8;font-size:28px;line-height:1}.reading-level-card__icon.text{font:500 21px var(--sans);letter-spacing:-.04em}.reading-level-card strong{display:block;color:var(--green-950);font:700 25px/1.2 var(--serif)}.reading-level-card small{display:block;margin-top:6px;color:#777970;font:14px var(--sans)}.reading-level-action{display:flex;min-height:0;align-items:center;justify-content:center;margin-top:22px;opacity:0}.reading-level-action.visible{opacity:1}.reading-level-action .primary-button{min-height:48px;padding-inline:22px}.reading-library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:42px 68px 25px}.reading-library-heading h1{margin:9px 0 8px;color:var(--green-900);font:700 48px/1.18 var(--serif)}.reading-library-heading p{margin:0;color:var(--muted)}.reading-restart{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--green-700);background:#fff;font-weight:800;cursor:pointer}.reading-library-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 68px 20px;padding:13px 15px;border:1px solid #dfceb1;border-radius:20px;background:#f7f1e7}.reading-mode-switch.compact{min-width:390px;border:0;padding:0;background:transparent}.reading-mode-switch.compact button{min-height:48px;justify-content:center;padding:8px 14px;border-color:#deceb3;background:#fff;text-align:center}.reading-mode-switch.compact button.active{border-color:#b9a475;background:var(--green-800)}.reading-recommendation{display:inline-flex;align-items:center;gap:7px;color:#735c35;font-size:13px;font-weight:800}.reading-recommendation svg{color:var(--gold-deep)}.reading-library-panel{margin:0 68px;overflow:hidden;border:1px solid #dfceb1;border-radius:24px;background:#fffdfa;box-shadow:var(--shadow-sm)}.reading-library-panel>header{padding:23px 28px 18px;border-bottom:1px solid var(--line)}.reading-library-panel>header h2{margin:0 0 5px;color:var(--green-900);font:700 31px var(--serif)}.reading-library-panel>header p{margin:0;color:var(--muted)}.reading-article-list{display:grid;gap:0}.reading-article-row{display:grid;min-height:150px;grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:22px;padding:19px 28px;border-bottom:1px solid #eee5d8}.reading-article-row:last-child{border-bottom:0}.reading-article-row__cover{display:grid;width:115px;height:108px;place-items:center;overflow:hidden;border-radius:16px;color:#f5dfb1;background:radial-gradient(circle at 30% 20%,#315b47,#163628 70%);font:700 24px var(--serif);letter-spacing:.1em}.reading-article-row__cover img{width:100%;height:100%;object-fit:cover}.reading-article-row__body{min-width:0}.reading-article-row__body>div{display:flex;gap:14px;color:#95723d;font-size:11px;font-weight:800}.reading-article-row h3{margin:7px 0 6px;color:var(--green-900);font:700 24px/1.3 var(--serif)}.reading-article-row p{overflow:hidden;margin:0 0 7px;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.reading-article-row small{color:#8a8377}.reading-article-row>a{display:inline-flex;align-items:center;gap:6px;padding:10px 15px;border:1px solid #cbb285;border-radius:999px;color:var(--green-800);font-size:13px;font-weight:850}.reader-page{position:relative;overflow:visible;--reader-font-size: 21px}.reader-toolbar{display:grid;min-height:66px;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 32px;border-bottom:1px solid var(--line);background:#fbf8f1}.reader-toolbar>a{display:inline-flex;align-items:center;gap:7px;color:var(--green-700);font-size:13px;font-weight:800}.reader-toolbar>div:nth-child(2){display:flex;align-items:center;gap:8px;color:#8b7e68;font-size:12px}.reader-mode-badge{padding:6px 10px;border:1px solid #c7ae7d;border-radius:999px;color:#fff0ca;background:var(--green-800);font-weight:800}.reader-tools{display:flex;align-items:center;justify-content:flex-end;gap:4px}.reader-tools button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;color:var(--green-700);background:#fff;cursor:pointer}.reader-tools span{min-width:24px;color:#756e63;font-size:12px;text-align:center}.reader-layout{display:grid;grid-template-columns:minmax(0,1060px);justify-content:center;padding:38px 48px 70px}.reader-sheet{overflow:hidden;border:1px solid #decdb0;border-radius:5px;background:#fffdfa;box-shadow:0 20px 45px #10281e14}.reader-sheet>header{padding:26px 78px 24px;border-bottom:1px solid #e6ddcf;text-align:center}.reader-sheet>header h1{margin:0 auto;color:var(--green-900);font:700 42px/1.25 var(--serif)}.reader-content{padding:42px 78px 60px;font-size:var(--reader-font-size)}.reader-content--mixed>p{margin:0 0 1.35em;color:#222a25;font-family:var(--serif);line-height:2.02;text-align:justify;text-indent:2em}.mixed-vocabulary-mark{position:relative;display:inline-block;margin-inline:.03em;padding:0 .16em;border-bottom:1px solid #ba8732;border-radius:.22em .22em .12em .12em;outline:0;color:var(--green-900);background:linear-gradient(180deg,transparent 48%,#f1ddb0 48%);font-weight:700;line-height:1.55;text-indent:0;cursor:help;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.mixed-vocabulary-mark:focus-visible{box-shadow:0 0 0 3px #b5843138}.mixed-vocabulary-tooltip{position:absolute;z-index:30;top:calc(100% + 10px);left:50%;display:flex;width:max-content;max-width:min(300px,82vw);min-width:220px;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid #cdb482;border-radius:13px;opacity:0;color:#39433d;background:#fffdf8;box-shadow:0 14px 35px #1230232e;font:400 14px/1.45 var(--sans);letter-spacing:normal;pointer-events:none;text-align:left;text-indent:0;transform:translate(-50%,-6px);transition:opacity .14s ease,transform .14s ease}.mixed-vocabulary-tooltip:after{position:absolute;bottom:100%;left:50%;width:10px;height:10px;border-top:1px solid #cdb482;border-left:1px solid #cdb482;background:#fffdf8;content:"";transform:translate(-50%,5px) rotate(45deg)}.mixed-vocabulary-tooltip:before{position:absolute;right:0;bottom:100%;left:0;height:12px;content:""}.mixed-vocabulary-mark.is-open .mixed-vocabulary-tooltip{opacity:1;pointer-events:auto;transform:translate(-50%)}.mixed-vocabulary-tooltip__heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.mixed-vocabulary-tooltip__heading strong{color:var(--green-900);font:700 21px/1.2 var(--serif)}.mixed-vocabulary-tooltip__phonetic{display:flex;align-items:center;gap:9px;color:#87652f;font:600 13px/1.35 Georgia,Times New Roman,serif}.mixed-vocabulary-tooltip__phonetic small{padding:2px 6px;border-radius:999px;color:#6d604c;background:#f2eadc;font:700 10px/1.3 var(--sans)}.mixed-vocabulary-tooltip__translation{padding-top:6px;border-top:1px solid #eee3d1;color:#3f4943;font-size:14px}.mixed-vocabulary-tooltip .pronunciation__button{width:31px;height:31px}.mixed-vocabulary-tooltip .pronunciation__button svg{width:15px;height:15px}@media(hover:hover)and (pointer:fine){.mixed-vocabulary-mark:hover{color:#0f4934;background:linear-gradient(180deg,transparent 38%,#ead09a 38%)}}.bilingual-sentence{position:relative;isolation:isolate;margin:0 0 1.8em;padding:0 0 1.25em;border-bottom:1px solid #eee6da;transition:color .2s ease,border-color .2s ease}.bilingual-sentence:before{position:absolute;z-index:-1;inset:-.65em -1em .45em;border:1px solid transparent;border-left-width:4px;border-radius:11px;background:transparent;content:"";transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.bilingual-sentence.is-audio-active{border-bottom-color:transparent}.bilingual-sentence.is-audio-active:before{border-color:#d9c28e;border-left-color:var(--gold-deep);background:#faf3e5;box-shadow:0 8px 22px #46351714}.bilingual-sentence p{margin:0}.bilingual-sentence p[lang=en]{color:#202823;font:400 1em/1.9 var(--serif)}.chapter-vocabulary-mark{color:var(--green-900);font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:.018em;text-decoration:underline;text-decoration-color:#b8842d80;text-decoration-thickness:1px;text-underline-offset:.19em}.bilingual-sentence p[lang=zh-CN]{margin-top:.45em;color:#777268;font-size:.72em;line-height:1.7}.bilingual-sentence.is-audio-active p[lang=en]{color:var(--green-900);font-weight:650}.bilingual-sentence.is-audio-active p[lang=zh-CN]{color:#6e5837}.reader-audio{display:flex;align-items:center;gap:12px;margin:24px 70px 0;padding:12px 15px;border:1px solid #d6dfd8;border-radius:12px;background:var(--green-100)}.reader-audio button{display:inline-flex;align-items:center;gap:7px;border:0;color:var(--green-700);background:transparent;font-weight:800;cursor:pointer}.reader-audio audio{width:100%;height:40px}.reader-audio small{color:var(--danger)}.article-audio-player{position:relative;margin:24px 70px 0;overflow:hidden;border:1px solid #d2c19f;border-radius:17px;background:linear-gradient(145deg,#faf4e7,#f0e7d7);box-shadow:inset 0 1px #ffffffb8,0 8px 20px #3d301912}.article-audio-player.is-ready{display:grid;min-height:108px;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.55fr) auto;align-items:center;gap:22px;padding:18px 20px}.article-audio-player audio{display:none}.article-audio-heading{display:flex;min-width:0;align-items:center;gap:13px}.article-audio-heading>div{min-width:0}.article-audio-icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:14px;color:#f6dca8;background:linear-gradient(145deg,var(--green-700),var(--green-900));box-shadow:0 7px 15px #0f31232e}.article-audio-icon svg{width:24px;height:24px}.article-audio-heading span{display:block;color:var(--gold-deep);font-size:10px;font-weight:900;letter-spacing:.12em}.article-audio-heading strong{display:block;overflow:hidden;margin-top:3px;color:var(--green-900);font:700 17px var(--serif);text-overflow:ellipsis;white-space:nowrap}.article-audio-main{display:grid;min-width:0;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px}.article-audio-play{display:grid;width:52px;height:52px;place-items:center;padding:0;border:1px solid #b69050;border-radius:50%;color:#fff0c9;background:var(--green-800);box-shadow:0 7px 14px #11352633;cursor:pointer}.article-audio-play:disabled{opacity:.55;cursor:wait}.article-audio-play svg{width:23px;height:23px}.article-audio-timeline input{width:100%;height:5px;margin:0;appearance:none;border-radius:999px;outline:0;background:linear-gradient(90deg,var(--green-700) var(--audio-progress),#d8cebd var(--audio-progress));cursor:pointer}.article-audio-timeline input::-webkit-slider-thumb{width:14px;height:14px;appearance:none;border:3px solid #fff8eb;border-radius:50%;background:var(--gold-deep);box-shadow:0 0 0 1px #a98343}.article-audio-timeline>div{display:flex;justify-content:space-between;margin-top:7px;color:#827967;font-size:10px;font-variant-numeric:tabular-nums}.article-audio-controls{display:flex;align-items:center;gap:8px;padding-left:18px;border-left:1px solid rgb(173 148 103 / .35)}.article-audio-controls>button{display:flex;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 0;border:1px solid rgb(204 187 156 / .65);border-radius:11px;color:var(--green-700);background:#ffffffb8;cursor:pointer}.article-audio-controls>button svg{width:18px;height:18px}.article-audio-controls>button small{font-size:8px;font-weight:900;line-height:1;letter-spacing:0}.article-audio-controls label{position:relative;display:flex;min-width:100px;height:46px;align-items:center;gap:7px;padding:0 28px 0 11px;border:1px solid rgb(204 187 156 / .65);border-radius:11px;color:var(--green-700);background:#ffffffb8}.article-audio-controls label:after{position:absolute;top:50%;right:12px;width:7px;height:7px;border-right:2px solid currentcolor;border-bottom:2px solid currentcolor;content:"";pointer-events:none;transform:translateY(-68%) rotate(45deg)}.article-audio-controls label svg{width:17px;height:17px;flex:0 0 auto}.article-audio-controls select{width:54px;padding:0;border:0;outline:0;color:var(--green-700);background:transparent;appearance:none;font-size:12px;font-weight:850;cursor:pointer}.article-audio-controls .article-audio-retry{width:auto;padding-inline:8px;border-radius:999px;color:var(--danger);font-size:9px}.article-audio-error{position:absolute;right:19px;bottom:5px;color:var(--danger);font-size:8px}.article-audio-player.is-generating,.article-audio-player.is-empty{display:grid;min-height:92px;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:17px 19px}.article-audio-player.is-generating strong,.article-audio-player.is-empty strong{display:block;color:var(--green-900);font:700 16px var(--serif)}.article-audio-player.is-generating p,.article-audio-player.is-empty p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.article-audio-player.is-generating>a,.article-audio-player.is-empty>button{display:inline-flex;min-height:36px;align-items:center;gap:6px;padding:7px 12px;border:1px solid #c8ae7a;border-radius:999px;color:var(--green-700);background:#fffaf0;font-size:10px;font-weight:850;cursor:pointer}.article-audio-player.is-empty>button svg{width:14px}.article-audio-player.is-empty>button:disabled{opacity:.5;cursor:wait}.article-audio-player.is-empty small{display:block;margin-top:5px;color:var(--danger);font-size:9px}.reader-finish{display:grid;place-items:center;padding:38px;border-top:1px solid var(--line);color:var(--gold-deep);background:#f7f2e9;text-align:center}.reader-finish strong{margin-top:8px;color:var(--green-900);font:700 22px var(--serif)}.reader-finish span{margin:5px 0 18px;color:var(--muted);font-size:13px}.reader-finish .primary-button{min-height:43px;padding:8px 20px;font-size:13px}.admin-page{padding-bottom:45px}.admin-overview{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 52px 0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.admin-overview span{padding:14px 20px;border-right:1px solid var(--line);text-align:center}.admin-overview span:last-child{border-right:0}.admin-overview b,.admin-overview small{display:block}.admin-overview b{color:var(--green-900);font:700 25px var(--serif)}.admin-overview small{margin-top:3px;color:var(--muted);font-size:10px}.admin-subnav{display:flex;align-items:center;justify-content:space-between;margin:12px 52px -8px;color:var(--muted);font-size:11px}.admin-subnav a{display:inline-flex;align-items:center;gap:7px;color:var(--green-700);font-size:12px;font-weight:800}.admin-subnav a svg{width:16px}.admin-tabs{display:flex;gap:7px;padding:22px 52px 0}.admin-tabs button{display:inline-flex;min-width:190px;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid var(--line);border-radius:12px 12px 0 0;color:#656a64;background:#f2ede5;cursor:pointer}.admin-tabs button svg{width:17px}.admin-tabs button span{display:grid;min-width:23px;height:23px;place-items:center;border-radius:50%;color:#7e755f;background:#e2d7c5;font-size:11px}.admin-tabs button.active{border-color:var(--green-700);border-bottom-color:var(--green-800);color:#fff1cc;background:var(--green-800)}.admin-tabs button.active span{color:var(--green-900);background:#e8d5ae}.admin-page>.feedback-alert,.admin-users-page>.feedback-alert,.admin-voice-page>.feedback-alert,.admin-tts-jobs-page>.feedback-alert{margin:15px 52px 0}.admin-workspace{display:grid;gap:22px;padding:22px 52px 0}.admin-workspace.with-editor{grid-template-columns:minmax(0,1fr) 500px;align-items:start}.admin-list,.admin-editor{border:1px solid var(--line);border-radius:20px;background:#fffdfa;box-shadow:var(--shadow-sm)}.admin-list>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:22px 25px;border-bottom:1px solid var(--line)}.admin-list h2,.admin-editor h2{margin:4px 0 0;color:var(--green-900);font:700 27px var(--serif)}.admin-list>header p{max-width:510px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.admin-table article{display:grid;min-height:76px;grid-template-columns:minmax(250px,1fr) 80px auto;align-items:center;gap:16px;padding:11px 20px;border-bottom:1px solid #eee6db}.admin-table article:last-child{border-bottom:0}.admin-item__title{display:flex;min-width:0;align-items:center;gap:12px}.admin-item__title>div{min-width:0}.admin-item__title strong,.admin-item__title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item__title strong{color:var(--green-900);font:700 16px var(--serif)}.admin-item__title small{margin-top:4px;color:var(--muted);font-size:11px}.publish-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#b8b1a6;box-shadow:0 0 0 4px #ece7df}.publish-dot.public{background:#4d7b60;box-shadow:0 0 0 4px #dfece3}.status-pill{width:max-content;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850}.status-pill.public{color:#3f674e;background:#e1eee5}.status-pill.draft{color:#766d60;background:#ece7df}.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.admin-row-actions button,.admin-editor>header button{display:inline-flex;min-height:33px;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--green-700);background:#fff;font-size:12px;font-weight:750;cursor:pointer}.admin-row-actions button svg,.admin-editor>header button svg{width:15px}.admin-row-actions button.danger{color:var(--danger)}.admin-row-actions button:disabled{cursor:wait;opacity:.5}.admin-empty{display:grid;min-height:280px;place-items:center;align-content:center;color:#a8864b}.admin-empty strong{margin-top:10px;color:var(--green-900);font:700 22px var(--serif)}.admin-empty span{margin-top:5px;color:var(--muted);font-size:12px}.admin-editor{position:sticky;top:114px;overflow:hidden}.admin-editor>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);background:#f8f3ea}.admin-editor>label,.admin-editor__row>label{display:block;padding:0 22px;color:#575c57;font-size:12px;font-weight:780}.admin-editor>label:first-of-type{padding-top:17px}.admin-editor input:not([type=checkbox]),.admin-editor select,.admin-editor textarea{display:block;width:100%;margin-top:7px;border:1px solid #ded2c1;border-radius:10px;outline:0;color:var(--ink);background:#fff;font:400 13px/1.6 var(--sans)}.admin-editor input:not([type=checkbox]),.admin-editor select{height:42px;padding:0 11px}.admin-editor textarea{min-height:100px;resize:vertical;padding:10px 11px}.admin-editor>label+label,.admin-editor__row,.admin-editor__row+label,.admin-editor>label+.admin-editor__row{margin-top:14px}.admin-editor__row{display:grid;grid-template-columns:1fr 1fr;align-items:start}.admin-editor__row>label:first-child{padding-right:6px}.admin-editor__row>label:last-child{padding-left:6px}.admin-editor label>small{float:right;color:#999084;font-weight:500}.admin-editor .admin-check{display:flex;align-items:center;gap:8px;margin-top:14px}.admin-editor .admin-check input{accent-color:var(--green-700)}.admin-editor .admin-check.publish{margin:18px 22px 0;padding:13px 14px;border:1px solid #cddccf;border-radius:11px;color:var(--green-700);background:var(--green-100)}.admin-editor>.primary-button{width:calc(100% - 44px);min-height:46px;margin:18px 22px 22px;border-radius:11px}.records-page{padding-bottom:50px}.records-hero{padding:42px 58px 30px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fbf8f1,#fffdf8 70%)}.records-hero>h1{margin:8px 0 10px;color:var(--green-950);font:700 50px/1.08 var(--serif)}.records-hero>p{margin:0;color:var(--muted);font-size:15px}.record-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}.record-stat-grid article{display:grid;min-height:148px;place-items:center;align-content:center;padding:20px;border:1px solid #dfcba8;border-radius:18px;background:#ffffffe0;box-shadow:0 9px 24px #3f36270d;text-align:center}.record-stat-grid strong{color:var(--green-800);font:700 46px/1 var(--serif);font-variant-numeric:tabular-nums}.record-stat-grid b{margin-top:10px;color:var(--green-950);font:700 17px var(--serif)}.record-stat-grid span{margin-top:5px;color:#898276;font-size:11px}.records-detail{padding:28px 58px 0}.records-detail>header{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line)}.records-detail>header h2{margin:4px 0 0;color:var(--green-900);font:700 29px var(--serif)}.records-detail>header>span{color:#8d857a;font-size:11px}.record-filters{display:flex;gap:7px;padding:18px 0 15px}.record-filters button{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;color:#656a64;background:#fff;cursor:pointer}.record-filters button svg{width:16px}.record-filters button.active{border-color:var(--green-700);color:#fff1cc;background:var(--green-800)}.record-timeline{display:grid;margin-top:4px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.record-row{display:grid;min-height:82px;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:28px;padding:15px 19px;background:#fff}.record-row+.record-row{border-top:1px solid #e9dfd0}.record-row h2{overflow:hidden;margin:0 0 5px;color:var(--green-900);font:700 18px/1.25 var(--serif);text-overflow:ellipsis;white-space:nowrap}.record-row p{margin:0;color:#777168;font-size:12px;line-height:1.45}.record-row__aside{display:grid;grid-template-columns:minmax(90px,auto) auto;align-items:center;justify-content:end;gap:22px}.record-row__aside time{color:#918a7f;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.record-row__aside>a,.record-row__aside>div{display:flex;align-items:center;gap:5px}.record-row__aside a{display:inline-flex;align-items:center;gap:5px;color:var(--green-700);font-size:12px;font-weight:800;white-space:nowrap}.record-row__aside a svg{width:15px}.record-row__aside button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:7px;color:#a06c63;background:transparent;cursor:pointer}.record-row__aside button:hover{color:var(--danger);background:#faf0ed}.record-row__aside button svg{width:14px}.record-missing{color:#928b80;font-size:11px}.record-empty{display:grid;min-height:340px;place-items:center;align-content:center;color:var(--gold-deep);text-align:center}.record-empty strong{margin-top:12px;color:var(--green-900);font:700 26px var(--serif)}.record-empty span{margin:6px 0 20px;color:var(--muted);font-size:13px}.infinite-scroll-sentinel{display:flex;min-height:58px;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.infinite-scroll-sentinel svg{width:17px;height:17px}.infinite-scroll-sentinel button{min-height:38px;padding:8px 16px;border:1px solid #cbb992;border-radius:999px;color:var(--green-800);background:#fffdfa;font:inherit;font-weight:850;cursor:pointer}.profile-page{width:min(1460px,100%);margin:0 auto;padding:10px 0 48px}.profile-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:20px}.profile-intro h1{margin:7px 0 4px;color:var(--green-950);font:700 42px/1.1 var(--serif);letter-spacing:.03em}.profile-intro p{margin:0;color:var(--muted);font-size:13px}.profile-quiet-actions{display:flex;gap:8px}.profile-quiet-actions button{display:inline-flex;height:38px;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:#52645b;background:#fffdf9c7;font-size:11px;font-weight:750;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.profile-quiet-actions button:hover{transform:translateY(-1px);border-color:#bba271;color:var(--green-800);background:#fff}.profile-quiet-actions .profile-logout-action{color:#8b3f37;border-color:#dfc8c2;background:#fffaf8}.profile-quiet-actions .profile-logout-action:hover{color:#722d27;border-color:#c99e96;background:#fff5f2}.profile-quiet-actions svg{width:15px}.profile-alert{display:flex;align-items:center;gap:8px;margin:-7px 0 14px;padding:10px 13px;border-radius:10px;font-size:12px}.profile-alert svg{width:16px}.profile-alert.success{border:1px solid #c7d9cc;color:#41604e;background:#ecf4ee}.profile-alert.error{border:1px solid #e2c1bb;color:var(--danger);background:#faece8}.profile-identity-stage{display:grid;height:350px;grid-template-columns:263px minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid #cdb582;border-radius:30px;background:var(--surface);box-shadow:0 20px 48px #1431251c}.profile-host-portrait{display:grid;height:350px;place-items:stretch;overflow:hidden;background:#f8f5ee}.profile-host-portrait img{display:block;width:100%;height:100%;max-width:none;border:0;border-radius:0;object-fit:contain;object-position:center bottom;box-shadow:none}.profile-identity-panel{display:grid;min-width:0;grid-template-rows:auto auto 1fr;padding:22px 30px 20px}.profile-identity-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.profile-identity-copy{min-width:0}.profile-name-row{display:flex;min-width:0;align-items:center;gap:10px}.profile-name-row h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-identity-heading h2{margin:5px 0 2px;color:var(--green-950);font:700 34px/1.1 var(--serif)}.profile-identity-heading p{margin:0;color:var(--muted);font-size:12px}.profile-role-pill{display:inline-flex;min-height:26px;flex:0 0 auto;align-items:center;padding:0 9px;border:1px solid #dac89f;border-radius:999px;color:var(--gold-deep);background:#fff9ed;font-size:9px;font-weight:800;white-space:nowrap}.profile-host-stats{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px}.profile-host-stats>span{min-height:62px;padding:9px 11px;border:1px solid #e0d4c0;border-radius:13px;background:#faf8f2}.profile-host-stats small{display:flex;align-items:center;gap:5px;color:#777468;font-size:9px;font-style:normal;white-space:nowrap}.profile-host-stats small svg{width:13px;height:13px;color:var(--gold-deep)}.profile-host-stats b{display:block;margin-top:3px;color:var(--green-950);font:700 21px/1 var(--serif)}.profile-host-stats em{color:var(--muted);font:500 9px var(--sans)}.profile-learning-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.profile-learning-badges>span{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 11px;border:1px solid #d8dcd4;border-radius:10px;color:#476153;background:#f7faf7;font-size:11px;font-weight:700}.profile-learning-badges svg{width:14px}.profile-learning-badges b{color:var(--green-800)}.profile-course-icon{color:#476153;font-size:15px;font-weight:500}.profile-reselect-difficulty{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 12px;border:1px solid #d9c39a;border-radius:10px;color:#795a29;background:#fffaf0;font-size:11px;font-weight:800;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.profile-reselect-difficulty:hover:not(:disabled),.profile-reselect-difficulty:focus-visible{transform:translateY(-1px);border-color:#b4873d;color:#fff4d9;background:var(--green-800)}.profile-reselect-difficulty:focus-visible{outline:3px solid rgb(197 156 82 / .24);outline-offset:2px}.profile-reselect-difficulty:disabled{cursor:wait;opacity:.65}.profile-growth{align-self:end;padding-top:6px}.profile-growth__head{display:flex;align-items:flex-end;justify-content:space-between}.profile-growth__head>span{color:#5c635e;font-size:11px;font-weight:700}.profile-growth__head b{color:var(--green-950);font:700 21px var(--serif)}.profile-growth__head small{color:var(--muted);font:500 10px var(--sans)}.profile-growth__bar{height:8px;margin-top:9px;overflow:hidden;border-radius:999px;background:#e8e1d5}.profile-growth__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d694f,var(--gold))}.profile-growth__note{display:flex;justify-content:space-between;margin-top:7px;color:#8c887f;font-size:9px}.profile-modal-backdrop{position:fixed;z-index:12000;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#061e1694;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-modal{width:min(520px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid #d4bd8f;border-radius:22px;background:#fffcf7;box-shadow:0 30px 90px #041b1352}.profile-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 19px;border-bottom:1px solid #e3d8c6;background:#f7f1e7}.profile-modal h2{margin:5px 0 0;color:var(--green-950);font:700 28px var(--serif)}.profile-modal>header button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d9cbb6;border-radius:10px;color:var(--green-800);background:#fff;cursor:pointer}.profile-modal>header button:disabled{cursor:wait;opacity:.5}.profile-modal>header svg{width:17px}.profile-modal form{padding:22px 26px 26px}.profile-avatar-editor{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:18px;padding:11px;border:1px solid #e5dac9;border-radius:13px;background:#faf7f0}.profile-avatar-editor>span{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid #d6c39e;border-radius:50%;color:#fff1cb;background:var(--green-800);font-weight:850}.profile-avatar-editor>span img{width:100%;height:100%;object-fit:cover}.profile-avatar-editor strong,.profile-avatar-editor small{display:block}.profile-avatar-editor strong{color:var(--green-900);font-size:12px}.profile-avatar-editor small{margin-top:3px;color:#868075;font-size:9px}.profile-avatar-upload{display:inline-flex!important;min-height:34px;align-items:center;gap:5px;margin:0!important;padding:0 10px;border:1px solid #d4c5ad;border-radius:9px;color:var(--green-700)!important;background:#fff;cursor:pointer;white-space:nowrap}.profile-avatar-upload svg{width:14px}.profile-modal .profile-avatar-upload input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.profile-modal label{display:block;margin-top:15px;color:#58615b;font-size:11px;font-weight:750}.profile-modal label:first-child{margin-top:0}.profile-modal input{width:100%;height:45px;margin-top:7px;padding:0 12px;border:1px solid #ddd1bf;border-radius:10px;outline:none;color:var(--ink);background:#fff}.profile-modal input:focus{border-color:#769887;box-shadow:0 0 0 3px #285f491a}.profile-account-display{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin-top:15px;padding:12px 13px;border:1px solid #e2d8c8;border-radius:10px;background:#f7f3ec}.profile-account-display>span{color:#58615b;font-size:11px;font-weight:750}.profile-account-display>strong{grid-column:2;grid-row:1 / 3;color:var(--green-900);font:700 15px var(--serif)}.profile-account-display>small{color:#8a8479;font-size:9px;line-height:1.45}.profile-password-hint{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:#817c72;font-size:10px;line-height:1.55}.profile-password-hint svg{width:14px;flex:0 0 auto;color:var(--gold-deep)}.profile-modal__error{margin:12px 0 0;color:var(--danger);font-size:10px}.profile-modal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.profile-modal__actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 18px;border:1px solid #d9cdbb;border-radius:10px;background:#fff;font-size:11px;font-weight:800;cursor:pointer}.profile-modal__actions button.confirm{border-color:#b98731;color:#fff4d5;background:var(--green-800);box-shadow:0 7px 16px #14433126}.profile-modal__actions button:disabled{cursor:wait;opacity:.5}.profile-modal__actions svg{width:15px}.admin-users-page{padding-bottom:44px}.admin-users-page .lesson-topline svg{width:16px}.admin-user-count{display:grid;min-width:145px;grid-template:1fr 1fr / 48px 1fr;align-items:center;padding:12px 18px;border:1px solid var(--line);border-radius:15px;background:#fff}.admin-user-count svg{grid-row:1 / 3;color:var(--gold-deep)}.admin-user-count strong{color:var(--green-900);font:700 24px var(--serif)}.admin-user-count span{color:var(--muted);font-size:10px}.admin-membership-setting{display:flex;align-items:center;gap:14px;margin:18px 52px 0;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.admin-membership-setting__icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;color:var(--green-700);background:var(--gold-soft)}.admin-membership-setting__icon svg{width:19px}.admin-membership-setting>div{min-width:0;flex:1}.admin-membership-setting h2{margin:0;color:var(--green-900);font:700 18px var(--serif)}.admin-membership-setting p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.admin-membership-setting>label{display:flex;min-height:44px;align-items:center;gap:10px;color:var(--green-800);font-size:12px;font-weight:800;cursor:pointer}.admin-membership-setting>button{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;color:var(--green-800);background:#fff;font-size:11px;font-weight:800;cursor:pointer}.admin-registration-access{margin:14px 52px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.admin-registration-access>header{display:flex;align-items:center;gap:14px}.admin-registration-access>header>div{min-width:0;flex:1}.admin-registration-access>header h2{margin:0;color:var(--green-900);font:700 18px var(--serif)}.admin-registration-access>header p{margin:4px 0 0;color:var(--muted);font-size:11px}.admin-registration-access>header>button,.admin-registration-access>header>button[role=combobox]{width:150px;min-height:42px}.admin-registration-access__icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;color:var(--green-700);background:var(--green-100)}.admin-registration-access__icon svg{width:20px}.admin-invitation-summary{display:flex;gap:8px;margin-top:16px}.admin-invitation-summary span{display:flex;min-width:94px;align-items:baseline;gap:6px;padding:8px 11px;border-radius:10px;color:var(--muted);background:#f5f1e9;font-size:10px}.admin-invitation-summary strong{color:var(--green-900);font:700 18px var(--serif)}.admin-invitation-create{display:grid;grid-template-columns:minmax(180px,1fr) 105px 135px auto;align-items:end;gap:10px;margin-top:14px}.admin-invitation-create label{display:grid;gap:6px;color:#5d625d;font-size:11px;font-weight:780}.admin-invitation-create input,.admin-invitation-create button[role=combobox]{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-invitation-create input{padding:0 12px;color:var(--green-900)}.admin-invitation-create>button{min-height:42px;white-space:nowrap}.admin-invitation-list{margin-top:16px;border-top:1px solid var(--line)}.admin-list-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 5px}.admin-list-section-heading>div{display:flex;align-items:baseline;gap:9px}.admin-list-section-heading h3{margin:0;color:var(--green-900);font-size:13px}.admin-list-section-heading small,.admin-users-list>header small{color:var(--muted);font-size:10px}.admin-list-toggle{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border:1px solid var(--line);border-radius:9px;color:var(--green-700);background:#fff;font-size:10px;font-weight:800;cursor:pointer}.admin-list-toggle svg{width:13px;height:13px}.admin-list-toggle:hover{border-color:#b89459;background:#fffaf0}.admin-invitation-list__body>p{color:var(--muted);font-size:11px}.admin-invitation-list article{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(130px,.7fr) auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #eee7dc}.admin-invitation-list article>div{display:grid;gap:2px}.admin-invitation-list article strong{color:var(--green-900);font-size:12px;letter-spacing:.04em}.admin-invitation-list article small{color:var(--muted);font-size:10px}.admin-invitation-list article>button{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;color:var(--danger);background:#fff;cursor:pointer}.admin-invitation-list article>button svg{width:13px}.status-pill.invitation-active{color:#18704a;background:#e4f3e9}.status-pill.invitation-used{color:#825c1a;background:#fff1cf}.status-pill.invitation-revoked,.status-pill.invitation-expired{color:#756f65;background:#ece9e3}.admin-invitation-loading{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:11px}.admin-invitation-codes{display:grid;gap:14px}.admin-invitation-codes textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--green-900);background:#faf8f3;font:700 13px/1.8 ui-monospace,monospace;resize:vertical}.admin-list-pagination{display:grid;grid-template-columns:auto minmax(130px,1fr) auto;align-items:center;gap:10px;padding:12px 0 3px;border-top:1px solid #eee7dc}.admin-list-pagination span{color:var(--muted);font-size:10px;text-align:center}.admin-list-pagination strong{color:var(--green-900)}.admin-list-pagination button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border:1px solid var(--line);border-radius:9px;color:var(--green-700);background:#fff;font-size:10px;font-weight:800;cursor:pointer}.admin-list-pagination button svg{width:13px;height:13px}.admin-list-pagination button:disabled{cursor:not-allowed;opacity:.4}.admin-account-details{display:grid;gap:16px}.admin-account-details__identity{display:flex;align-items:center;gap:11px}.admin-account-details__identity>div{display:grid;gap:3px}.admin-account-details__identity small{color:var(--muted)}.admin-account-details dl{display:grid;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-account-details dl>div{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:11px 13px;border-top:1px solid var(--line)}.admin-account-details dl>div:first-child{border-top:0}.admin-account-details dt{color:var(--muted);font-size:11px}.admin-account-details dd{margin:0;color:var(--green-900);font-size:12px;overflow-wrap:anywhere}.admin-users-grid{display:grid;grid-template-columns:340px minmax(0,1fr);align-items:start;gap:22px;padding:24px 52px 0}.admin-user-create,.admin-users-list{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.admin-user-create{padding:23px}.admin-user-create>header{display:flex;align-items:center;gap:11px;margin-bottom:18px}.admin-user-create>header>svg{width:42px;height:42px;padding:10px;border-radius:12px;color:var(--green-700);background:var(--gold-soft)}.admin-user-create h2,.admin-users-list h2{margin:3px 0 0;color:var(--green-900);font:700 24px var(--serif)}.admin-user-create>label,.admin-user-create__field{display:block;margin-top:13px;color:#5d625d;font-size:12px;font-weight:780}.admin-user-create input{display:block;width:100%;height:43px;margin-top:7px;padding:0 11px;border:1px solid #ded2c1;border-radius:9px;outline:0;background:#fffdfa}.admin-user-role-trigger{width:100%;height:43px;margin-top:7px;border-color:#ded2c1;border-radius:9px;background:#fffdfa}.admin-user-create .primary-button{width:100%;min-height:44px;margin-top:20px;border-radius:10px}.admin-users-list{overflow:hidden}.admin-users-list>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border-bottom:1px solid var(--line);background:#f9f5ee}.admin-users-list>header>div:first-child{display:grid;gap:3px}.admin-users-list__controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-users-list>header label{display:flex;width:280px;height:40px;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:#847d71;background:#fff}.admin-users-list>header label svg{width:15px}.admin-users-list>header input{width:100%;border:0;outline:0;background:transparent}.admin-users-list>article{display:grid;min-height:70px;grid-template-columns:42px minmax(150px,1fr) minmax(84px,auto) auto;align-items:center;gap:12px;padding:10px 17px;border-bottom:1px solid #eee6db}.admin-users-list>article:last-child{border:0}.user-list-avatar{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border-radius:50%;color:#fff0cd;background:var(--green-800);font-weight:850}.user-list-avatar img{width:100%;height:100%;object-fit:cover}.admin-users-list article strong,.admin-users-list article small{display:block}.admin-users-list article strong{color:var(--green-900);font:700 15px var(--serif)}.admin-users-list article small{margin-top:3px;color:var(--muted);font-size:10px}.admin-user-statuses{display:grid;justify-items:start;gap:5px}.status-pill.membership{border:1px solid transparent}.status-pill.membership.active{border-color:#dec58f;color:#815b1c;background:#fff4d8}.status-pill.membership.inactive{color:#80796e;background:#f0ede7}.admin-user-actions{display:flex;gap:5px}.admin-users-list article button{display:inline-flex;min-height:32px;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;color:var(--green-700);background:#fff;font-size:11px;cursor:pointer}.admin-users-list article button svg{width:13px}.admin-users-list article button.danger{border-color:#e8c4bd;color:var(--danger);background:#fffaf9}.admin-users-list article button.danger:hover{border-color:#d69b90;background:#fcedea}.admin-users-list article button.membership-action{border-color:#d7bf8d;color:#805b20;background:#fffaf0}.admin-users-list article button.membership-action:hover{border-color:#b98b34;background:#fff2cf}.admin-users-list article button:disabled{cursor:not-allowed;opacity:.45}.admin-users-list>.admin-list-pagination{padding:12px 17px;border-top:0;background:#f9f5ee}.admin-users-note{display:flex;align-items:center;gap:8px;margin:20px 52px 0;padding:12px 15px;border:1px solid #cedbd1;border-radius:12px;color:#526559;background:var(--green-100);font-size:12px}.admin-users-note svg{width:17px;color:var(--gold-deep)}.admin-tool-nav{display:flex;gap:7px;margin:14px 52px 0;padding:6px;border:1px solid var(--line);border-radius:14px;background:#f3ede3}.admin-tool-nav a{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:8px 15px;border-radius:9px;color:#6e6e66;font-size:12px;font-weight:800}.admin-tool-nav a svg{width:16px}.admin-tool-nav a:hover{color:var(--green-800);background:#ffffffa6}.admin-tool-nav a.active{color:#fff2cf;background:var(--green-800);box-shadow:var(--shadow-sm)}.admin-analytics-page{padding-bottom:52px}.analytics-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:28px 52px 8px}.analytics-heading>div>span{color:var(--gold-deep);font-size:11px;font-weight:900;letter-spacing:.2em}.analytics-heading h1{margin:4px 0 2px;color:var(--green-900);font:700 42px var(--serif)}.analytics-heading p{margin:0;color:var(--muted);font-size:13px}.analytics-heading button,.analytics-filters button,.analytics-section>header button,.analytics-pagination button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border:1px solid var(--line);border-radius:10px;color:var(--green-800);background:#fff;font-weight:800;cursor:pointer}.analytics-heading button svg,.analytics-filters button svg,.analytics-section>header button svg{width:15px}.analytics-filters{display:flex;align-items:end;gap:12px;margin:14px 52px 0;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.analytics-filters>div{display:flex;gap:5px}.analytics-filters button.active{color:#fff4d6;background:var(--green-800)}.analytics-filters label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800}.analytics-filters select,.analytics-filters input,.analytics-user-search,.analytics-user-status{min-width:135px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;outline:0;background:#fff}.analytics-loading{display:flex;min-height:260px;align-items:center;justify-content:center;gap:9px;color:var(--muted)}.analytics-range-note{margin:14px 52px -4px;color:var(--muted);font-size:11px}.analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 52px}.analytics-kpi{position:relative;min-height:126px;padding:17px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.analytics-kpi>svg{position:absolute;top:16px;right:14px;width:21px;color:var(--gold-deep);opacity:.7}.analytics-kpi small,.analytics-kpi span{display:block;color:var(--muted)}.analytics-kpi small{padding-right:25px;font-size:11px;font-weight:800}.analytics-kpi strong{display:block;margin:12px 0 5px;color:var(--green-900);font:700 28px var(--serif)}.analytics-kpi span{font-size:10px;line-height:1.5}.analytics-section{margin:18px 52px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.analytics-section>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.analytics-section>header>div:last-child{display:flex;align-items:center;gap:8px}.analytics-section h2{margin:0;color:var(--green-900);font:700 24px var(--serif)}.analytics-section>header p{margin:3px 0 0;color:var(--muted);font-size:11px}.analytics-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.analytics-chart{padding:14px;border:1px solid #e8dfd1;border-radius:14px;background:#fbf9f4}.analytics-chart h3{margin:0 0 8px;color:var(--green-800);font-size:13px}.analytics-chart svg{display:block;width:100%;height:150px;overflow:visible}.analytics-chart svg line{stroke:#d8d0c3;stroke-width:1}.analytics-chart svg polyline{fill:none;stroke:var(--green-700);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.analytics-chart-table{display:flex;gap:5px;padding-top:8px;overflow-x:auto}.analytics-chart-table span{display:grid;min-width:38px;gap:2px;text-align:center}.analytics-chart-table time{color:var(--muted);font-size:8px}.analytics-chart-table b{color:var(--green-800);font-size:10px}.analytics-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 52px 0}.analytics-two-column .analytics-section{margin:0}.analytics-share-bars{display:grid;gap:12px}.analytics-share-bars>div{display:grid;grid-template-columns:150px minmax(100px,1fr) 130px;align-items:center;gap:12px}.analytics-share-bars span b,.analytics-share-bars span small{display:block}.analytics-share-bars span b{color:var(--green-900);font-size:12px}.analytics-share-bars span small{margin-top:2px;color:var(--muted);font-size:9px}.analytics-share-bars i{height:8px;overflow:hidden;border-radius:99px;background:#ece7de}.analytics-share-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-700),var(--gold))}.analytics-share-bars strong{color:var(--green-800);font-size:11px;text-align:right}.analytics-funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.analytics-funnel>div{position:relative;display:grid;min-height:112px;align-content:start;gap:5px;padding:14px;overflow:hidden;border:1px solid #e5dccf;border-radius:13px;background:#fbf8f2}.analytics-funnel span{color:var(--gold-deep);font-size:10px;font-weight:900}.analytics-funnel strong{color:var(--green-900);font-size:12px}.analytics-funnel b{color:var(--green-800);font:700 24px var(--serif)}.analytics-funnel i{position:absolute;bottom:0;left:0;height:5px;background:var(--green-600)}.analytics-table-wrap{width:100%;overflow:auto;border:1px solid #e7dfd3;border-radius:12px}.analytics-table-wrap table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.analytics-table-wrap th{padding:10px 12px;color:#6c6458;background:#f4efe7;text-align:left}.analytics-table-wrap td{padding:10px 12px;border-top:1px solid #eee7dd;color:var(--green-900)}.analytics-user-link{padding:0;border:0;color:var(--green-700);background:transparent;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.analytics-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px}.analytics-feature-grid article{padding:14px;border:1px solid #e5dccf;border-radius:13px;background:#fbf8f2}.analytics-feature-grid h3{margin:0 0 10px;color:var(--green-900);font:700 17px var(--serif)}.analytics-feature-grid p{display:flex;justify-content:space-between;gap:8px;margin:7px 0;font-size:10px}.analytics-feature-grid p span{color:var(--muted);text-align:right}.analytics-feature-grid p span small{display:block;margin-top:3px;font-size:9px}.analytics-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;color:var(--muted);font-size:11px}.analytics-pagination button:disabled,.analytics-section button:disabled{opacity:.45;cursor:not-allowed}.analytics-health{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.analytics-health span{padding:13px;border-radius:11px;background:#f5f0e8}.analytics-health small,.analytics-health b{display:block}.analytics-health small{color:var(--muted);font-size:9px}.analytics-health b{margin-top:5px;color:var(--green-900);font-size:15px}.analytics-health-note{margin:13px 0 0;color:var(--muted);font-size:10px}.analytics-user-detail{margin-top:16px;padding:16px;border:1px solid #c9d9cf;border-radius:14px;background:var(--green-100)}.analytics-user-detail>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.analytics-user-detail h3{margin:2px 0 0;color:var(--green-900);font:700 20px var(--serif)}.analytics-user-detail>p{color:var(--muted);font-size:11px}.analytics-user-detail h4{margin:14px 0 7px;color:var(--green-900)}.analytics-user-detail ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.analytics-user-detail li{display:grid;grid-template-columns:110px minmax(180px,1fr) auto;gap:10px;padding:7px 9px;border-radius:7px;background:#ffffffa6;color:var(--muted);font-size:10px}.analytics-user-detail li span{color:var(--green-800)}.admin-voice-page,.admin-tts-jobs-page{padding-bottom:48px}.voice-page-seal{display:grid;width:108px;height:108px;grid-template:1fr 1fr / 42px 1fr;align-items:center;padding:17px;border:3px double var(--gold);border-radius:50%;color:var(--green-800);background:var(--gold-soft);transform:rotate(3deg)}.voice-page-seal svg{grid-row:1 / 3;width:33px}.voice-page-seal strong{align-self:end;font:800 18px var(--serif)}.voice-page-seal small{align-self:start;font-size:8px;font-weight:850;letter-spacing:.08em}.admin-loading-panel{display:flex;min-height:170px;align-items:center;justify-content:center;gap:10px;margin:22px 52px 0;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#faf6ef}.voice-config-form{padding:22px 52px 0}.voice-config-form>.feedback-alert{margin:0 0 16px}.voice-routing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.voice-route-card,.voice-config-section{border:1px solid var(--line);border-radius:19px;background:#fffdfa;box-shadow:var(--shadow-sm)}.voice-route-card{overflow:hidden;padding-bottom:20px}.voice-route-card>header{display:flex;min-height:126px;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 23px;border-bottom:1px solid #e8ddcd;background:linear-gradient(145deg,#fbf7ef,#f3eadb)}.voice-route-card h2,.voice-config-section h2{margin:4px 0 5px;color:var(--green-900);font:700 27px var(--serif)}.voice-route-card header p,.voice-config-section header p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.voice-provider-mark{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:2px solid #cfb16f;border-radius:50%;color:var(--green-800);background:#fff7e7;font:800 13px var(--serif)}.voice-provider-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:17px 21px;padding:4px;border:1px solid #deceb4;border-radius:999px;background:#f7f0e4}.voice-provider-toggle button{min-height:38px;border:0;border-radius:999px;color:#7c6a4c;background:transparent;font-size:12px;font-weight:850;cursor:pointer}.voice-provider-toggle button.active{color:#fff1ce;background:var(--green-800);box-shadow:0 4px 10px #1135262e}.voice-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.voice-field-grid.profile{padding:0 22px}.voice-field-grid label{color:#5f625d;font-size:11px;font-weight:800}.voice-field-grid input,.voice-field-grid select{display:block;width:100%;height:42px;margin-top:6px;padding:0 11px;border:1px solid #ded2c1;border-radius:9px;outline:0;color:var(--ink);background:#fff;font-size:12px}.voice-field-grid input:focus,.voice-field-grid select:focus{border-color:#8faa96;box-shadow:0 0 0 3px #3c644d1a}.voice-test-button{min-height:42px;margin:18px 22px 0;padding:8px 18px}.voice-config-section{margin-top:19px;overflow:hidden}.voice-config-section>header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 23px;border-bottom:1px solid #e8ddcd;background:#f8f3ea}.voice-config-section>header>p{max-width:520px;text-align:right}.voice-service-grid{display:grid;grid-template-columns:1.25fr .75fr}.voice-service-grid>article{padding:22px 23px}.voice-service-grid>article+article{border-left:1px solid #e8ddcd}.voice-service-grid h3{margin:0 0 16px;color:var(--green-800);font:700 19px var(--serif)}.voice-field-note{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.voice-output-section .voice-field-grid.output{grid-template-columns:2fr .7fr .7fr;padding:21px 23px 23px}.voice-config-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:19px;padding:17px 20px;border:1px solid #cdd9cf;border-radius:15px;color:#677068;background:var(--green-100);font-size:11px}.voice-config-actions .primary-button{min-height:46px}.admin-tts-jobs-page .page-heading>.secondary-button{min-height:46px}.tts-jobs-summary{display:grid;grid-template-columns:190px 190px 1fr;align-items:stretch;gap:12px;margin:20px 52px 0}.tts-jobs-summary article{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.tts-jobs-summary article>svg{width:38px;height:38px;padding:9px;border-radius:11px;color:var(--green-700);background:var(--gold-soft)}.tts-jobs-summary strong,.tts-jobs-summary span{display:block}.tts-jobs-summary strong{color:var(--green-900);font:700 26px var(--serif)}.tts-jobs-summary span{color:var(--muted);font-size:10px}.tts-jobs-summary>p{display:flex;align-items:center;margin:0;padding:13px 17px;border:1px dashed #cbb78f;border-radius:15px;color:#75684f;background:#faf4e8;font-size:11px;line-height:1.6}.tts-jobs-tabs{display:flex;gap:6px;margin:18px 52px 0;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f3ede3}.tts-jobs-tabs button{display:inline-flex;min-width:150px;min-height:39px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;color:#696e68;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.tts-jobs-tabs button[aria-selected=true]{color:#fff2cf;background:var(--green-800)}.tts-jobs-tabs button span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;color:var(--green-800);background:#ead9b7;font-size:10px}.tts-job-list{display:grid;gap:13px;margin:16px 52px 0}.tts-job-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.tts-job-main{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:19px 20px 12px}.tts-job-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:15px;color:var(--green-700);background:var(--green-100)}.tts-job-icon.fun{color:#8b662c;background:var(--gold-soft)}.tts-job-copy>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.tts-job-copy h2{margin:0;color:var(--green-900);font:700 20px var(--serif)}.tts-job-copy header p{margin:3px 0 0;color:var(--muted);font-size:11px}.tts-job-status{padding:5px 10px;border-radius:999px;color:#7a642f;background:#f5e8cb;font-size:10px;font-weight:850}.tts-job-status.completed{color:#346448;background:#e4f1e7}.tts-job-status.failed{color:var(--danger);background:#fae9e6}.tts-job-status.stopped{color:#686966;background:#eceae6}.tts-job-progress-copy{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:var(--muted);font-size:10px}.tts-job-progress-copy strong{color:var(--green-700);font-size:12px}.tts-job-progress{height:8px;margin-top:6px;overflow:hidden;border-radius:999px;background:#e9e5dc}.tts-job-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-700),#bf9854);transition:width .25s}.tts-job-meta{display:flex;justify-content:space-between;margin-top:8px;color:#8b867c;font-size:10px}.tts-job-meta span{display:inline-flex;align-items:center;gap:5px}.tts-job-meta svg{width:12px}.tts-job-actions{display:flex;justify-content:flex-end;gap:6px;padding:0 20px 15px}.tts-job-actions button{display:inline-flex;min-height:34px;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--green-700);background:#fff;font-size:11px;font-weight:780;cursor:pointer}.tts-job-actions button.danger{color:var(--danger)}.tts-job-actions button:disabled{opacity:.45;cursor:not-allowed}.tts-job-actions svg{width:14px}.tts-job-actions svg.expanded{transform:rotate(180deg)}.tts-job-details{padding:15px 20px 18px 94px;border-top:1px solid #eee6da;background:#faf7f1}.tts-job-details dl{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;margin:0}.tts-job-details dl div{display:grid;grid-template-columns:85px 1fr;gap:8px;font-size:10px}.tts-job-details dt{color:var(--muted)}.tts-job-details dd{margin:0;overflow-wrap:anywhere;color:#4d554f}.tts-job-details details{margin-top:13px;color:#6b604e;font-size:10px}.tts-job-details details summary{cursor:pointer;font-weight:800}.tts-job-details details div{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px;margin-top:9px;padding:10px;border-radius:9px;background:#f0e9dc}.job-error{margin:12px 0 0;padding:10px;border-radius:8px;color:var(--danger);background:#fae9e6;font-size:11px}.tts-jobs-empty{display:grid;min-height:220px;place-items:center;align-content:center;gap:7px;margin:16px 52px 0;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#faf7f1;text-align:center}.tts-jobs-empty svg{width:40px;height:40px;color:#b39868}.tts-jobs-empty strong{color:var(--green-800);font:700 20px var(--serif)}.tts-jobs-empty span{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.host-route-panel__map{display:inline-flex;min-height:36px;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgb(236 210 158 / .32);border-radius:999px;color:#f3dcae;background:#ffffff0f;font-size:11px;font-weight:800}.host-route-panel__map:hover{border-color:#e1bd75;background:#ffffff1f}.lesson-topline>div{display:flex;align-items:center;gap:17px}.lesson-topline>div a+a{padding-left:17px;border-left:1px solid #d8cdbd}.task-map-page,.mistake-book-page{padding:38px 52px 52px}.task-map-heading,.mistake-book-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.task-map-heading h1,.mistake-book-heading h1{margin:7px 0 6px;color:var(--green-950);font:700 44px/1.1 var(--serif)}.task-map-heading p,.mistake-book-heading p{margin:0;color:var(--muted)}.task-map-heading .primary-button{flex:0 0 auto;min-height:45px}.task-map-overview{display:grid;grid-template-columns:auto minmax(300px,1fr) minmax(300px,430px);align-items:center;gap:28px;margin-top:25px;padding:17px 20px;border:1px solid var(--line);background:#fffdfa}.task-map-metrics,.mistake-metrics{display:flex;align-items:stretch}.task-map-metrics>span,.mistake-metrics>span{display:grid;min-width:112px;grid-template:auto auto / 27px auto;align-items:center;padding:2px 17px;border-right:1px solid #e7ddcf}.task-map-metrics>span:first-child,.mistake-metrics>span:first-child{padding-left:5px}.task-map-metrics svg,.mistake-metrics svg{grid-row:1 / 3;color:#a5762e}.task-map-metrics small,.mistake-metrics small{color:var(--muted);font-size:10px}.task-map-metrics b,.mistake-metrics b{color:var(--green-900);font:700 24px var(--serif)}.task-map-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#5f665f;font-size:11px}.task-map-progress strong{color:var(--green-800);font:700 20px var(--serif)}.task-map-progress__track{height:8px;margin:7px 0;overflow:hidden;border-radius:999px;background:#e6ded1}.task-map-progress__track span{display:block;height:100%;border-radius:inherit;background:var(--green-700)}.task-map-progress small{color:var(--muted);font-size:10px}.task-map-search,.mistake-search{display:flex;min-height:44px;align-items:center;gap:8px;padding:0 13px;border:1px solid #d9c9ae;color:#8e816c;background:#fff}.task-map-search:focus-within,.mistake-search:focus-within{border-color:#6c8c77;box-shadow:0 0 0 3px #305b4117}.task-map-search input,.mistake-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.task-map-toolbar,.mistake-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 14px}.task-map-filters,.mistake-toolbar>div{display:flex;flex-wrap:wrap;gap:7px}.task-map-filters button,.mistake-toolbar button{min-height:35px;padding:7px 14px;border:1px solid #d8cbb8;border-radius:8px;color:#645f55;background:#fffdfa;font-size:11px;font-weight:800;cursor:pointer}.task-map-filters button.active,.mistake-toolbar button.active{border-color:var(--green-800);color:#fff0c9;background:var(--green-800)}.task-map-toolbar>span,.mistake-toolbar>span{color:var(--muted);font-size:11px}.mission-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.mission-map-card{position:relative;display:flex;min-height:316px;flex-direction:column;padding:17px 18px 15px;border:1px solid var(--line);background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}.mission-map-card:hover{transform:translateY(-2px);border-color:#a99167;box-shadow:var(--shadow-md)}.mission-map-card.current{border-color:var(--green-700);box-shadow:inset 0 0 0 2px var(--green-700),var(--shadow-sm)}.mission-map-card.completed{background:#f7faf6}.mission-map-card.locked{color:#928d84;background:#f1ede6}.mission-map-card>header{display:flex;align-items:center;justify-content:space-between}.mission-map-card__number{color:#a1722e;font:800 12px var(--sans);letter-spacing:.1em}.mission-map-card__status{display:inline-flex;align-items:center;gap:5px;color:#64736a;font-size:10px;font-weight:800}.mission-map-card.locked .mission-map-card__status{color:#8e8980}.mission-map-card__title{min-height:59px;margin-top:10px}.mission-map-card__title small{color:#9b712f;font-size:9px;font-weight:850;letter-spacing:.08em}.mission-map-card__title h2{margin:3px 0 0;color:var(--green-950);font:700 22px/1.2 var(--serif)}.mission-map-card.locked .mission-map-card__title h2{color:#6f716d}.mission-map-card__gold{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:7px;min-height:42px;padding:8px 10px;border:1px solid #e5d5b8;background:#fff8e9}.mission-map-card__gold span{color:#94703b;font-size:9px;font-weight:850}.mission-map-card__gold b{color:var(--green-900);font:700 17px var(--serif)}.mission-map-card__gold small{overflow:hidden;color:#766d60;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.mission-map-card__families{margin-top:10px}.mission-map-card__families>span{display:block;margin-bottom:6px;color:#8d672b;font-size:9px;font-weight:850}.mission-map-card__families>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mission-map-card__families small{min-width:0;min-height:28px;padding:4px 6px;border-left:2px solid #b8c9bb;color:#4f5c53;background:#f1f5f1;font-size:9px;line-height:1.25;overflow-wrap:anywhere}.mission-map-card__review{display:grid;min-height:142px;place-items:center;align-content:center;margin-top:10px;padding:20px;border:1px solid #ceb77e;color:#715928;background:#fbf2df;text-align:center}.mission-map-card__review b{color:var(--green-900);font:700 22px var(--serif)}.mission-map-card__review p{margin:7px 0 0;font-size:11px;line-height:1.6}.mission-map-card>a,.mission-map-card__locked{display:inline-flex;min-height:35px;align-items:center;justify-content:center;gap:6px;margin-top:auto;padding:7px 10px;border:1px solid #bfa774;color:var(--green-800);background:#fffdfa;font-size:11px;font-weight:850}.mission-map-card>a:hover{color:#fff1ce;background:var(--green-800)}.mission-map-card__locked{border-style:dashed;color:#8d8982;background:transparent}.task-map-empty,.mistake-empty{display:grid;min-height:250px;place-items:center;align-content:center;gap:7px;border:1px dashed var(--line);color:var(--muted);background:#faf7f1;text-align:center}.task-map-empty h2,.mistake-empty h2{margin:3px 0;color:var(--green-900);font:700 23px var(--serif)}.mistake-overview{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:24px;padding:17px 20px;border:1px solid var(--line);background:#fffdfa}.mistake-search{width:min(460px,42%)}.mistake-table{overflow:hidden;border:1px solid var(--line);background:#fff}.mistake-table__head,.mistake-row{display:grid;grid-template-columns:66px 190px minmax(0,1fr) 135px 150px}.mistake-table__head{min-height:46px;align-items:center;color:#f5dfb3;background:var(--green-800);font-size:11px;font-weight:850}.mistake-table__head>span{padding:0 15px}.mistake-row{min-height:180px;border-bottom:1px solid #e9dfd1}.mistake-row:last-child{border-bottom:0}.mistake-row>div{min-width:0;padding:16px 15px;border-right:1px solid #eee4d6}.mistake-row>div:last-child{border-right:0}.mistake-row__number{display:grid;place-items:center;color:#9a743a;font:700 16px var(--serif);font-variant-numeric:tabular-nums}.mistake-row__source{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.mistake-row__source>span{padding:4px 8px;border:1px solid #d9c9aa;color:#775f36;background:#fbf6ec;font-size:9px;font-weight:850}.mistake-row__source b{color:var(--green-900);font:700 16px var(--serif)}.mistake-row__source small{color:var(--muted);font-size:10px;line-height:1.45}.mistake-row__question h2{margin:0 0 10px;color:#263c31;font:700 17px/1.45 var(--serif)}.mistake-row__question p{margin:0;padding:5px 8px;font-size:11px;line-height:1.45}.mistake-row__question p b{margin-right:6px}.mistake-options{margin:0 0 10px;padding:9px;border:1px solid #e7ddcf;border-radius:10px;background:#fcfaf6}.mistake-options ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.mistake-options li{position:relative;display:grid;min-width:0;min-height:38px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;border:1px solid #e5ddd1;border-radius:8px;color:#536057;background:#fff}.mistake-options li>span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#756448;background:#f2ece2;font-size:9px;font-weight:850}.mistake-options li div{min-width:0}.mistake-options li b,.mistake-options li small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mistake-options li b{font-size:11px}.mistake-options li small{margin-top:1px;color:var(--muted);font-size:9px}.mistake-options li em{color:inherit;font-size:8px;font-style:normal;font-weight:850}.mistake-options li.correct{border-color:#a7cbb5;color:#245d3d;background:#eff8f1}.mistake-options li.chosen-wrong{border-color:#e2aaa2;color:#9d4036;background:#fff1ee}.mistake-options.matching{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:stretch;gap:9px}.mistake-options.matching ol{grid-template-columns:repeat(2,minmax(0,1fr))}.mistake-match-source{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:9px;color:#f8e6bd;background:var(--green-800);font:700 14px var(--serif)}.mistake-row__question.review-focus,.question-card.review-focus,.match-board button.review-focus,.writing-practice.review-focus,.cloze-passage.review-focus{animation:review-focus 1.8s ease-out}@keyframes review-focus{0%,35%{box-shadow:0 0 0 4px #c6a15f59}to{box-shadow:0 0 0 0 transparent}}.wrong-answer{color:#a74436;background:#fff1ee}.correct-answer{color:#265c40;background:#eef7f0}.mistake-explanation{color:#746e64;background:#faf7f1}.mistake-row__history,.mistake-row__action{display:grid;place-items:center;align-content:center;gap:7px;text-align:center}.mistake-row__history b{color:var(--green-900);font:700 20px var(--serif)}.mistake-row__history span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.mistake-row__action a,.mistake-row__action button{display:inline-flex;width:122px;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid #bca77d;color:var(--green-800);background:#fffdfa;font-size:10px;font-weight:850;cursor:pointer}.mistake-row__action a:hover,.mistake-row__action button:hover{color:#fff1ce;background:var(--green-800)}.mistake-row__action .mistake-answer-toggle{border-color:#8aaa94;background:#f2f7f2}.mistake-row__action .mistake-answer-toggle[aria-expanded=true]{color:#fff1ce;background:var(--green-800)}.mistake-load-more{display:block;min-width:230px;min-height:40px;margin:18px auto 0;border:1px solid #cbb992;color:var(--green-800);background:#fffdfa;font-size:11px;font-weight:850;cursor:pointer}.task-map-page--compact{width:100%;max-width:1440px;margin:0 auto;padding:0}.app-shell:has(.task-map-page--compact) .topbar{position:relative;top:auto;height:86px;gap:28px;padding-inline:34px}.app-shell:has(.task-map-page--compact) .brand{gap:13px}.app-shell:has(.task-map-page--compact) .brand__mark{width:52px;height:58px;border-radius:13px 13px 18px 18px;font-size:21px}.app-shell:has(.task-map-page--compact) .brand__mark:before{top:-14px;font-size:10px}.app-shell:has(.task-map-page--compact) .brand__copy strong{font-size:25px}.app-shell:has(.task-map-page--compact) .brand__copy small{font-size:11px}.app-shell:has(.task-map-page--compact) .main-nav a{gap:7px;padding:10px 12px;font-size:14px}.app-shell:has(.task-map-page--compact) .user-menu{font-size:13px}.app-shell:has(.task-map-page--compact) .user-menu__avatar{width:34px;height:34px}.app-shell:has(.task-map-page--compact) .shell-content{min-height:calc(100vh - 86px);padding:28px 48px 72px;background:transparent}.task-map-title h1{margin:0;color:var(--green-950);font:700 44px/1.08 var(--serif);letter-spacing:.01em}.task-map-title--minimal{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.task-map-title--minimal .eyebrow{display:block;margin-bottom:5px;font-size:10px}.task-map-title--minimal p{margin:5px 0 0;color:var(--muted);font-size:11px}.task-map-title--minimal>span{display:inline-flex;align-items:center;gap:6px;margin-bottom:3px;color:#827a6e;font-size:10px}.task-map-title--minimal>span svg{width:14px;height:14px}.task-map-route-panel{position:relative;min-height:356px;margin-top:20px;padding:25px 28px 19px;overflow:visible;border:1px solid #dfd0b7;border-radius:22px;background:#fffdf9f0;box-shadow:0 18px 48px #12352b17}.task-map-route-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,460px);align-items:center;gap:30px;margin-bottom:18px}.task-map-route-identity{display:flex;min-width:0;align-items:center;gap:12px}.task-map-route-identity>span{display:grid;min-width:38px;height:38px;place-items:center;padding-inline:7px;border-radius:11px;color:#f7e5b8;background:var(--green-850);font:800 11px var(--sans)}.task-map-route-identity strong{display:block;color:var(--green-950);font:700 20px var(--serif);white-space:nowrap}.task-map-route-identity small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.task-map-desktop-search{display:flex;width:100%;min-height:42px;align-items:center;gap:9px;margin:0;padding:0 12px;border:1px solid #d9c9ae;border-radius:11px;color:#8e816c;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.task-map-desktop-search:focus-within{border-color:#6c8c77;box-shadow:0 0 0 3px #305b4117}.task-map-desktop-search>svg{width:16px;height:16px;flex:0 0 auto}.task-map-desktop-search input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font:500 12px var(--sans)}.task-map-desktop-search button{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;padding:0;border:0;border-radius:8px;color:#6d756f;background:#f1eee8;cursor:pointer}.task-map-desktop-search button svg{width:13px;height:13px}.mission-day-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:11px}.task-map-empty--missions{grid-column:1 / -1;min-height:230px}.mission-day-slot{position:relative;min-width:0}.mission-day-slot.selected{z-index:20}.mission-tab{font-family:inherit}.mission-day-tab{display:grid;width:100%;height:76px;place-items:center;align-content:center;gap:7px;overflow:hidden;padding:0;border:1px solid #e3dbcf;border-radius:14px;outline:none;color:#6d706b;background:#fbfaf7;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.mission-day-tab:hover,.mission-day-tab:focus-visible{transform:translateY(-2px);border-color:#8faa98;box-shadow:0 8px 18px #12352b17}.mission-day-tab__icon{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#34785b;background:#e5f1e9}.mission-day-tab__icon svg{width:13px;height:13px;stroke-width:2.2}.mission-day-tab strong{font-size:14px;line-height:1}.mission-day-tab.completed{border-color:#bfd5c6;color:#28664d;background:#f6fbf8}.mission-day-tab.current,.mission-day-tab.expanded{transform:translateY(-1px);border-color:#d6b46f;color:var(--green-850);background:#fffaf0;box-shadow:0 7px 16px #5644231a,inset 0 0 0 1px #cda4541a}.mission-day-tab.current .mission-day-tab__icon,.mission-day-tab.expanded .mission-day-tab__icon{color:#9c6b18;background:#f5e8ca}.mission-day-tab.locked{border-color:#e8e1d6;color:#aaa69e;background:#f4f1eb;cursor:not-allowed}.mission-day-tab.locked .mission-day-tab__icon{color:#97968f;background:#e7e4de}.mission-day-tab.locked:hover{transform:none;border-color:#e8e1d6;box-shadow:none}.mission-detail-popover{position:absolute;z-index:30;top:-12px;left:calc(100% + 14px);width:390px;min-height:312px;padding:17px 18px 16px;border:1.5px solid #cc8b20;border-radius:15px;color:var(--ink);background:linear-gradient(145deg,#fffaf0,#fffefb);box-shadow:0 22px 50px #45321233;animation:mission-popover-in .18s ease both}.mission-day-slot:nth-child(9n+7) .mission-detail-popover,.mission-day-slot:nth-child(9n+8) .mission-detail-popover,.mission-day-slot:nth-child(9n+9) .mission-detail-popover{right:calc(100% + 14px);left:auto}.mission-detail-popover.completed{border-color:#438064;background:linear-gradient(145deg,#f2f8f4,#fffefb)}.mission-detail-popover:before{position:absolute;top:46px;left:-8px;width:14px;height:14px;border-bottom:1.5px solid #cc8b20;border-left:1.5px solid #cc8b20;background:#fffaf0;content:"";transform:rotate(45deg)}.mission-day-slot:nth-child(9n+7) .mission-detail-popover:before,.mission-day-slot:nth-child(9n+8) .mission-detail-popover:before,.mission-day-slot:nth-child(9n+9) .mission-detail-popover:before{right:-8px;left:auto;border:0;border-top:1.5px solid #cc8b20;border-right:1.5px solid #cc8b20}.mission-detail-popover.completed:before{border-color:#438064;background:#f2f8f4}@keyframes mission-popover-in{0%{opacity:0;transform:translate(-6px) scale(.985)}}.mission-detail-popover__close{position:absolute;top:12px;right:12px;display:grid;width:27px;height:27px;place-items:center;padding:0;border:1px solid #dfd2bf;border-radius:8px;color:#64736b;background:#ffffffc2;cursor:pointer}.mission-detail-popover__close svg{width:13px;height:13px}.mission-detail-popover>header{display:flex;align-items:center;gap:7px;padding-right:34px}.mission-detail-popover>header span{display:inline-flex;color:#c88418}.mission-detail-popover>header svg{width:18px;height:18px}.mission-detail-popover.completed>header span{color:#2f815b}.mission-detail-popover>header b{color:var(--green-950);font-size:15px}.mission-detail-popover>header em{margin-left:auto;color:#a86c0f;font:850 9px var(--sans)}.mission-detail-popover.completed>header em{color:#26734f}.mission-detail-popover h2{margin:7px 32px 9px;color:var(--green-950);font:700 19px/1.25 var(--serif)}.mission-detail-popover__gold{display:flex;align-items:center;gap:7px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e5d9c8;color:#6e706b;font-size:10px}.mission-detail-popover__gold svg{width:14px;height:14px;color:#d28b17;fill:#d28b17}.mission-detail-popover__gold strong{color:#435e50;font-size:11px}.mission-detail-popover__families>span{color:#4f5f56;font-size:9px;font-weight:850}.mission-detail-popover__families>div{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:6px}.mission-detail-popover__families i{min-width:0;padding:5px 0 4px;overflow-wrap:anywhere;border-bottom:1px dotted #d9d3c9;color:#496052;font-size:9px;font-style:normal}.mission-detail-popover__review{position:relative;display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #ded4c4;border-radius:10px;background:#f8f5ee}.mission-detail-popover__review>svg{position:absolute;top:10px;right:10px;width:17px;color:#6a806f}.mission-detail-popover__review p,.mission-detail-popover__review small{margin:0;font-size:9px;line-height:1.45}.mission-detail-popover__review p+p,.mission-detail-popover__review small{padding-top:7px;border-top:1px dotted #d7d0c5}.mission-detail-sidequests{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #e5d9c8}.mission-detail-sidequests>header{display:flex;align-items:center}.mission-detail-sidequests>header span{color:#4f5f56;font-size:10px;font-weight:850}.mission-detail-sidequest-row{display:grid;min-width:0;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;padding:8px;border:1px solid #e7dfd3;border-radius:9px;background:#ffffff9e}.mission-detail-sidequest-row>span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;color:#3c7158;background:#eaf2ed}.mission-detail-sidequest-row>span svg{width:14px;height:14px}.mission-detail-sidequest-row>b{color:var(--green-900);font-size:11px}.mission-detail-popover>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.mission-detail-popover>footer small{color:#858078;font-size:8px}.mission-detail-popover>footer .primary-button{min-height:37px;padding:8px 15px;font-size:10px}.mission-detail-popover>footer svg{width:14px;height:14px}.task-map-route-foot{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:#8c867d;font-size:9px}.task-map-route-foot>div{display:flex;align-items:center;gap:14px}.task-map-route-foot span{display:flex;align-items:center;gap:5px}.task-map-route-foot i{width:7px;height:7px;border-radius:50%;background:#37785b}.task-map-route-foot span:nth-child(2) i{background:#cd8420}.task-map-route-foot span:nth-child(3) i{background:#c8c4bb}.task-map-primary-dock{position:fixed;z-index:65;display:flex}.task-map-primary-dock--desktop{right:max(30px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom))}.task-map-primary-action{display:grid;min-width:238px;min-height:58px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 16px 10px 21px;border:1px solid #d5ad60;border-radius:16px;color:#fff5d8;background:linear-gradient(135deg,#226b4c,#0c4432);box-shadow:0 16px 34px #0f3b2a40,inset 0 1px #ffffff29;font-family:var(--sans);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.task-map-primary-action:hover,.task-map-primary-action:focus-visible{transform:translateY(-2px);box-shadow:0 20px 40px #0f3b2a4d,0 0 0 3px #c99c4a2e;filter:brightness(1.04)}.task-map-primary-action span{font-size:15px;font-weight:900;letter-spacing:.02em;text-align:left}.task-map-primary-action small{padding:4px 7px;border:1px solid rgb(255 239 194 / .28);border-radius:999px;color:#f2dba4;font-size:9px;font-weight:800}.task-map-primary-action svg{width:19px;height:19px}.article-file-import{position:relative;float:right;display:inline-flex;align-items:center;gap:4px;color:var(--green-700);font-size:10px;font-weight:800;cursor:pointer}.article-file-import svg{width:14px;height:14px}.article-file-import input{position:absolute;width:1px!important;height:1px!important;opacity:0}.article-assignment-picker{margin:18px 22px 0;padding:0;border:1px solid #ded2c1;border-radius:13px;overflow:hidden}.article-assignment-picker legend{display:flex;width:100%;align-items:center;gap:7px;padding:13px 14px 9px;color:var(--green-900);font:800 14px var(--sans)}.article-assignment-picker legend svg{width:16px}.article-assignment-picker legend small{margin-left:auto;color:#988d7c;font-size:10px;font-weight:600}.article-assignment-picker__routes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:0 12px 11px}.article-assignment-picker__routes button{min-width:0;padding:8px 3px;border:1px solid #e5dac9;border-radius:8px;color:#776f63;background:#fff;cursor:pointer}.article-assignment-picker__routes button b,.article-assignment-picker__routes button span{display:block}.article-assignment-picker__routes button b{font-size:11px}.article-assignment-picker__routes button span{margin-top:2px;font-size:8px}.article-assignment-picker__routes button.active{border-color:#c89d4e;color:#fff0c8;background:var(--green-800)}.article-assignment-picker__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-block:1px solid #e8decf;background:#faf6ef;color:#716b60;font-size:10px}.article-assignment-picker__toolbar div{display:flex;gap:5px}.article-assignment-picker__toolbar button{padding:3px 7px;border:0;color:var(--green-700);background:transparent;font-size:10px;font-weight:800;cursor:pointer}.article-assignment-picker__missions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-height:176px;overflow-y:auto;padding:11px 12px}.article-assignment-picker__missions button{display:flex;min-width:0;min-height:32px;align-items:center;justify-content:center;gap:3px;padding:5px 2px;border:1px solid #e5ddd1;border-radius:7px;color:#7a746a;background:#fffdfa;font-size:9px;cursor:pointer}.article-assignment-picker__missions button span{display:grid;width:11px;height:11px;place-items:center;border:1px solid #cfc4b3;border-radius:3px}.article-assignment-picker__missions button svg{width:9px;height:9px}.article-assignment-picker__missions button.selected{border-color:#6f927a;color:#285e43;background:#edf5ef}.article-assignment-picker__missions button.selected span{border-color:#2d6c4b;color:#fff;background:#2d6c4b}.article-assignment-picker>p{margin:0;padding:9px 12px 11px;border-top:1px solid #eee5d9;color:#8d8578;font-size:9px;line-height:1.5}.article-assignment-picker>p strong{color:var(--green-800);font-weight:800}.admin-skin-workspace{display:grid;gap:22px;padding:22px 52px 40px}.admin-skin-workspace.with-editor{grid-template-columns:minmax(0,1fr) 410px;align-items:start}.admin-skin-library,.admin-skin-editor{border:1px solid var(--line);border-radius:20px;background:#fffdfa;box-shadow:var(--shadow-sm)}.admin-skin-library>header{display:flex;align-items:end;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--line)}.admin-skin-library h2,.admin-skin-editor h2{margin:4px 0 0;color:var(--green-900);font:700 27px var(--serif)}.admin-skin-library>header p{margin:0;color:var(--muted);font-size:11px}.admin-skin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}.admin-skin-card{overflow:hidden;border:1px solid #e3d8c8;border-radius:15px;background:#fff}.admin-skin-card__preview{position:relative;height:210px;overflow:hidden;background:linear-gradient(145deg,#f1ece2,#faf7f0)}.admin-skin-card__preview img{width:100%;height:100%;object-fit:contain}.admin-skin-card__preview b{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:999px;color:#fff3d3;background:var(--green-800);font-size:9px}.admin-skin-card__copy{padding:13px 14px 11px}.admin-skin-card__copy>span{color:var(--gold-deep);font-size:9px;font-weight:850;letter-spacing:.08em}.admin-skin-card__copy h2{margin:3px 0 6px;color:var(--green-900);font:700 19px var(--serif)}.admin-skin-card__copy p{display:flex;align-items:center;gap:5px;margin:0;color:#6e716c;font-size:10px}.admin-skin-card__copy svg{width:13px;color:#b37b20}.admin-skin-card__actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #eee5d9}.admin-skin-card__actions button{display:flex;min-height:39px;align-items:center;justify-content:center;gap:5px;border:0;color:var(--green-700);background:#fffdfa;font-size:10px;font-weight:800;cursor:pointer}.admin-skin-card__actions button+button{border-left:1px solid #eee5d9}.admin-skin-card__actions button.danger{color:#a34234}.admin-skin-card__actions svg{width:14px}.admin-skin-editor{position:sticky;top:114px;overflow:hidden}.admin-skin-editor>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8f3ea}.admin-skin-editor>header button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #ddd0bc;border-radius:9px;color:var(--green-700);background:#fff;cursor:pointer}.admin-skin-editor__preview{position:relative;height:255px;margin:18px 20px;overflow:hidden;border:1px solid #e1d5c5;border-radius:14px;background:linear-gradient(145deg,#ebe5da,#faf7f1)}.admin-skin-editor__preview img{width:100%;height:100%;object-fit:contain}.admin-skin-editor__preview label{position:absolute;right:12px;bottom:12px;display:flex;min-height:34px;align-items:center;gap:5px;padding:7px 11px;border-radius:8px;color:#fff4d1;background:#124731eb;font-size:10px;font-weight:800;cursor:pointer}.admin-skin-editor__preview label svg{width:15px}.admin-skin-editor__preview input{position:absolute;width:1px;height:1px;opacity:0}.admin-skin-editor>label,.admin-skin-editor .admin-editor__row>label{display:block;padding-inline:20px;color:#575c57;font-size:11px;font-weight:780}.admin-skin-editor>label+.admin-editor__row,.admin-skin-editor .admin-editor__row+label{margin-top:13px}.admin-skin-editor input,.admin-skin-editor select{display:block;width:100%;height:41px;margin-top:6px;padding:0 10px;border:1px solid #ded2c1;border-radius:9px;outline:0;color:var(--ink);background:#fff}.admin-skin-editor>p{margin:14px 20px 0;color:#8b8377;font-size:9px;line-height:1.5}.admin-skin-editor>.primary-button{width:calc(100% - 40px);min-height:44px;margin:16px 20px 20px;justify-content:center}@media(max-width:1280px){.topbar{gap:14px;padding-inline:24px}.brand__copy{display:none}.home-page{padding-inline:36px}.home-grid{gap:24px}.home-card{grid-template-columns:180px 1fr;padding-inline:28px}.home-card--reading{grid-template-columns:1fr 180px}.day-grid{grid-template-columns:repeat(4,1fr)}.word-gallery{grid-template-columns:repeat(2,1fr)}.root-board{grid-template-columns:230px 1fr}.root-board>div{grid-template-columns:1fr}.reading-heading{align-items:flex-start}.reading-mode-switch{min-width:460px}.article-card{grid-template-columns:145px 1fr}.reader-layout{grid-template-columns:minmax(0,920px);padding-inline:28px}.reader-sheet>header,.reader-content{padding-inline:50px}.admin-workspace.with-editor{grid-template-columns:minmax(0,1fr) 420px}.admin-skin-workspace.with-editor{grid-template-columns:minmax(0,1fr) 380px}.admin-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table article{grid-template-columns:minmax(180px,1fr) 70px auto;padding-inline:14px}.voice-field-grid.profile,.voice-service-grid{grid-template-columns:1fr}.voice-service-grid>article+article{border-top:1px solid #e8ddcd;border-left:0}.voice-output-section .voice-field-grid.output{grid-template-columns:1fr 1fr}.record-summary span{min-width:100px;padding-inline:12px}.profile-identity-stage{grid-template-columns:263px minmax(0,1fr)}.profile-identity-panel{padding-inline:24px}.task-map-page,.mistake-book-page{padding-inline:32px}.task-map-overview{grid-template-columns:auto 1fr}.task-map-search{grid-column:1 / -1}.mission-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mistake-table__head,.mistake-row{grid-template-columns:54px 160px minmax(0,1fr) 115px 125px}.mistake-row>div{padding-inline:11px}.app-shell:has(.task-map-page--compact) .shell-content{padding-inline:24px}.task-map-page--compact{padding-inline:0}.app-shell:has(.task-map-page--compact) .brand__copy{display:block}.task-map-route-head{grid-template-columns:minmax(230px,1fr) minmax(210px,420px);gap:18px}.mission-day-grid{gap:8px}.mission-detail-popover{width:360px}}@media(max-width:1120px){.profile-page{padding-top:4px}.profile-identity-stage{height:360px;grid-template-columns:270px minmax(0,1fr)}.profile-host-portrait{height:360px}.profile-host-portrait img{height:100%}.profile-identity-panel{padding:20px 22px 18px}.profile-identity-heading h2{font-size:30px}.profile-learning-badges{gap:6px}.profile-learning-badges>span,.profile-reselect-difficulty{padding-inline:8px;font-size:10px}.profile-host-stats{grid-template-columns:repeat(2,minmax(82px,1fr))}.skin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px),(hover:none),(pointer:coarse){.mixed-vocabulary-mark{cursor:pointer}.reader-content .mixed-vocabulary-tooltip{position:fixed;z-index:120;inset:auto 16px 18px;width:auto;max-width:none;min-width:0;padding:16px 17px;border-radius:15px;opacity:0;transform:translateY(12px);transition:opacity .14s ease}.reader-content .mixed-vocabulary-mark.is-open .mixed-vocabulary-tooltip{opacity:1;transform:translateY(0)}.mixed-vocabulary-tooltip:before,.mixed-vocabulary-tooltip:after{display:none}.mixed-vocabulary-tooltip__heading strong{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}.mobile-appbar,.mobile-bottom-nav{display:none}@media(max-width:720px){:root{--mobile-appbar-height: 56px;--mobile-bottom-nav-height: 70px;--mobile-gutter: 14px;--mobile-radius-sm: 10px;--mobile-radius: 14px;--mobile-radius-lg: 18px;--mobile-shadow: 0 5px 16px rgb(16 40 30 / .06)}html,body,#root{width:100%;min-width:0;min-height:100%}html{overflow-x:hidden;color-scheme:light}body{min-width:0;overflow-x:hidden;background:var(--paper);background-attachment:initial;-webkit-text-size-adjust:100%;text-size-adjust:100%}button:where(:not(.df-html-learning *,.df-html-day-ready *)),a:where(:not(.df-html-learning *)),input:where(:not(.df-html-learning *)),select:where(:not(.df-html-learning *)),textarea:where(:not(.df-html-learning *)){min-width:0}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:2px;outline-offset:2px}.primary-button,.secondary-button{min-height:44px;padding:10px 15px;border-radius:11px;font-size:12px;line-height:1.2}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:none;box-shadow:none}.eyebrow{font-size:9px;letter-spacing:.14em}.paper-page{width:100%;min-height:calc(100svh - var(--mobile-appbar-height));margin:0;overflow:visible;border:0;border-radius:0;background:var(--paper);box-shadow:none}.page-heading,.reading-step-heading,.reading-library-heading,.records-hero,.mistake-book-heading{padding-right:var(--mobile-gutter);padding-left:var(--mobile-gutter)}.page-heading h1,.page-hero h1,.lesson-heading h1,.reading-step-heading h1,.reading-library-heading h1,.records-hero h1,.mistake-book-heading h1{font-size:28px;line-height:1.18}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@media(max-width:720px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}:root{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px)}.df-prototype button,.df-html-learning button,.df-html-games button,.wordTile,.block,.disc-node,.disc-flip,.opts button,.tf button,.blank,.chip,.dfChip,.dfBlank,.touchControls button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.df-prototype-header{padding-top:max(12px,env(safe-area-inset-top,0px))!important}.df-learning-bar{padding-top:max(8px,env(safe-area-inset-top,0px))!important}.reader-toolbar{padding-top:max(6px,env(safe-area-inset-top,0px))!important}.wordBlockBar{padding-top:max(8px,env(safe-area-inset-top,0px))!important;height:calc(52px + env(safe-area-inset-top,0px))!important;flex-basis:calc(52px + env(safe-area-inset-top,0px))!important}.reader-content .mixed-vocabulary-tooltip{bottom:calc(18px + env(safe-area-inset-bottom,0px))!important}}@media(max-width:720px){.wordGameScreen{padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px))!important;max-width:100vw;box-sizing:border-box}.df-mobile-match-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0 10px;border-bottom:1px solid var(--df-line-soft, #e6ede8);margin-bottom:8px}.df-mobile-match-stats-row{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.df-mobile-match-stat-pill{background:#f1f5f9;padding:4px 8px;border-radius:8px;font-size:12px;color:#334155}.df-mobile-match-stat-pill.time{background:#fef3c7;color:#92400e}.wordMatchGrid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;min-height:auto!important;margin:8px 0!important}.wordTile{min-height:48px!important;height:auto!important;padding:4px 6px!important;font-size:12px!important;border-radius:10px!important;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25}.wordTile.en{font-size:13px!important;font-weight:700}.wordGameCard{padding:10px!important;border-radius:16px!important}.wordGameNotice{font-size:12px!important;padding:4px 0!important}.wordGameFooter{font-size:12px;margin-top:6px}}.df-mobile-gamepad{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:480px;margin:12px auto 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));user-select:none;-webkit-user-select:none;touch-action:manipulation}.df-mobile-gamepad-left{display:flex;gap:12px}.df-mobile-gamepad-right{display:flex;gap:8px}.df-mobile-pad-btn{width:58px;height:58px;border-radius:16px;background:#fff;border:1.5px solid #cbd5e1;box-shadow:0 4px 8px #00000014,0 1px 3px #0000000d;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1e293b;cursor:pointer;transition:transform .08s ease,background .08s ease;padding:0;touch-action:none}.df-mobile-pad-btn:active{transform:scale(.92);background:#f1f5f9;border-color:#94a3b8}.df-mobile-pad-btn:disabled{opacity:.35;cursor:not-allowed}.df-mobile-pad-btn.action-rotate{background:#f0fdf4;border-color:#a7f3d0}.df-mobile-pad-btn.action-drop{background:#fffbeb;border-color:#fde68a}@media(max-width:720px){.df-block-frame .shell{flex-direction:column!important}.df-block-frame .card.left,.df-block-frame .card.right,.df-block-frame .controls .keyHelp,.df-block-frame .controls .touchControls{display:none!important}.railBox small{font-size:11px!important}.targetPair div{font-size:13px!important}.preview{font-size:11px!important}.dfIsleTop{flex-wrap:wrap!important;gap:8px!important;margin-bottom:12px!important}.dfIsleTitle h1{font-size:var(--df-study-title, 1.5rem)!important;margin-bottom:4px!important}.dfIsleTitle p{font-size:12px!important;line-height:1.4!important;color:#64748b!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.dfIsleSea{display:flex!important;overflow-x:auto!important;scrollbar-width:none!important;gap:10px!important;padding:6px 0 14px!important;margin-bottom:8px!important;-webkit-overflow-scrolling:touch!important}.dfIsleSea::-webkit-scrollbar{display:none}.dfIsle{flex:0 0 auto!important;min-width:82px!important;padding:8px 6px!important;border-radius:14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}.dfIsleBlob{width:46px!important;height:46px!important;margin:0 auto 6px!important}.dfIsle b{font-size:12px!important}.dfIsle small{font-size:10px!important}.dfGameGrid{display:flex!important;flex-direction:column!important;gap:10px!important}.dfGame{min-height:auto!important;padding:14px 16px!important;border-radius:16px!important}.df-mobile-gamepad{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;margin-bottom:6px!important}}@media(max-width:720px){.app-shell{width:100%;min-height:100svh;background:var(--paper)}.topbar{display:none}.mobile-appbar{position:sticky;z-index:80;top:0;display:grid;height:var(--mobile-appbar-height);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:0 8px;border-bottom:1px solid rgb(198 161 95 / .5);color:#f6e3bb;background:radial-gradient(circle at 18% 10%,#1d4a38,#143327 48%,#0d281e);box-shadow:0 6px 18px #10281e1f}.mobile-appbar--brand{grid-template-columns:minmax(0,1fr) 44px}.mobile-appbar--brand .brand{gap:9px;width:min-content;min-width:0}.mobile-appbar--brand .brand__copy{display:block}.mobile-appbar--brand .brand__mark{width:32px;height:36px;border-width:1px;border-radius:8px 8px 11px 11px;font-size:13px}.mobile-appbar--brand .brand__mark:before{top:-8px;font-size:6px}.mobile-appbar--brand .brand__copy strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.mobile-appbar--brand .brand__copy small{display:none}.mobile-appbar__title{overflow:hidden;font:700 16px/1.2 var(--serif);text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-appbar__back,.mobile-appbar__menu{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:10px;color:inherit;background:transparent;font-size:27px;cursor:pointer}.mobile-appbar__menu{grid-column:-2 / -1}.mobile-appbar__menu svg{width:20px;height:20px}.mobile-appbar__avatar,.mobile-account-menu__avatar{display:grid;place-items:center;overflow:hidden;border:1px solid rgb(198 161 95 / .72);border-radius:50%;color:var(--green-900);background:#f8f1e5;font-size:12px;font-weight:900}.mobile-appbar__avatar{width:30px;height:30px}.mobile-appbar__avatar img,.mobile-account-menu__avatar img{width:100%;height:100%;object-fit:cover}.mobile-account-menu{position:absolute;z-index:2;top:calc(100% + 8px);right:10px;display:grid;width:min(260px,calc(100vw - 20px));overflow:hidden;border:1px solid #d6c39e;border-radius:15px;color:var(--ink);background:var(--surface);box-shadow:0 18px 44px #0d281e33}.mobile-account-menu>header{display:flex;align-items:center;gap:10px;padding:13px;border-bottom:1px solid var(--line);background:#faf6ef}.mobile-account-menu__avatar{width:38px;height:38px;flex:0 0 38px}.mobile-account-menu header strong,.mobile-account-menu header small{display:block}.mobile-account-menu header strong{font-size:12px}.mobile-account-menu header small{margin-top:2px;color:var(--muted);font-size:9px}.mobile-account-menu>a,.mobile-account-menu>button{display:flex;min-height:46px;align-items:center;gap:9px;padding:10px 13px;border:0;border-bottom:1px solid #eee6da;color:var(--green-800);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.mobile-account-menu>:last-child{border-bottom:0;color:var(--danger)}.mobile-account-menu svg{width:17px;height:17px}.shell-content,.app-shell:has(.task-map-page--compact) .shell-content{min-height:calc(100svh - var(--mobile-appbar-height));padding:0;background:var(--paper)}.mobile-has-bottom-nav .shell-content{padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;z-index:70;right:0;bottom:0;left:0;display:grid;min-height:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;column-gap:0;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fffdf9f5;box-shadow:0 -8px 24px #10281e12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav a{position:relative;display:grid;min-width:0;min-height:68px;place-items:center;align-content:center;gap:2px;color:#6f716c;font-size:12px;line-height:1}.mobile-bottom-nav a:before{position:absolute;top:0;width:30px;height:2px;border-radius:0 0 2px 2px;background:transparent;content:""}.mobile-bottom-nav a.active{color:var(--green-800);font-weight:850}.mobile-bottom-nav a.active:before{background:var(--green-700)}.mobile-bottom-nav svg{width:24px;height:24px;stroke-width:2}.feedback-toast-viewport{top:auto;right:12px;bottom:calc(var(--mobile-bottom-nav-height) + 10px + env(safe-area-inset-bottom));left:12px;width:auto;transform:none}.mobile-is-immersive .feedback-toast-viewport{bottom:calc(12px + env(safe-area-inset-bottom))}.feedback-dialog-backdrop{padding:14px}.feedback-dialog{width:100%;max-height:calc(100svh - 28px);overflow-y:auto;border-radius:18px}}@media(max-width:720px){.login-page{display:block;min-height:100svh;padding:0;background:radial-gradient(circle at 50% 9%,rgb(49 87 69 / .1),transparent 32%),linear-gradient(180deg,#fffdf9 0%,var(--paper) 58%,#f1e8db 100%)}.login-frame{display:flex;width:100%;min-height:100svh;flex-direction:column;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.login-frame:before{display:none}.login-intro{display:grid;flex:0 0 auto;justify-items:center;overflow:visible;padding:34px 20px 8px}.login-intro .brand{gap:10px}.login-intro .brand__copy{display:block}.login-intro .brand__mark{width:48px;height:53px;border-width:1px;border-radius:12px 12px 16px 16px;font-size:19px}.login-intro .brand__mark:before{top:-11px;font-size:8px}.login-intro .brand__copy strong{font-size:24px}.login-intro .brand__copy small{font-size:9px}.login-intro__copy{margin:23px auto 0}.login-intro__copy .eyebrow{display:none}.login-intro__copy h1{margin:0 0 6px;font-size:27px;line-height:1.25}.login-intro__copy h1 br{display:none}.login-intro__copy p{margin:0;font-size:11px}.campus-art,.login-benefits{display:none}.login-panel{display:block;flex:1 1 auto;padding:14px 16px max(28px,env(safe-area-inset-bottom));border:0;background:transparent}.login-card{width:100%;max-width:430px;margin:0 auto;padding:20px 16px;border-radius:18px;box-shadow:0 12px 34px #10281e14}.login-card h2{margin:5px 0 4px;font-size:24px}.login-card>p{margin-bottom:17px;font-size:11px}.login-card .form-field{margin:12px 0;font-size:11px}.login-card .form-field>div{height:52px;border-radius:11px}.login-page .form-field input{font-size:16px}.login-page .form-field button{width:44px;min-width:44px;height:44px;padding:0;margin-right:-7px;touch-action:manipulation}.login-page .login-options label,.login-page .login-options>button,.login-page .login-options>a,.login-page .login-help a{display:inline-flex;min-height:44px;align-items:center}.login-options{margin:12px 0 16px;font-size:10px}.login-card>.primary-button{min-height:48px;border-radius:11px;font-size:13px}.login-card .form-error,.login-card .login-account-help,.login-card .login-help{font-size:10px}.host-onboarding{min-height:calc(100svh - var(--mobile-appbar-height));padding-bottom:82px}.host-onboarding__top{display:block;min-height:54px;padding:10px 14px;background:#fffdfa}.host-onboarding__top>div{display:none}.host-onboarding__top ol{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%}.host-onboarding__top ol:before{position:absolute;top:12px;right:12.5%;left:12.5%;height:1px;background:#d9d0c3;content:""}.host-onboarding__top li{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;font-size:8px;text-align:center}.host-onboarding__top li span{width:25px;height:25px;background:#f7f2e9}.host-onboarding__top li.active span,.host-onboarding__top li.completed span{color:#fff0ca;background:var(--green-800)}.host-onboarding__body{display:block;min-height:0;padding:10px var(--mobile-gutter) 30px}.host-step-heading{text-align:left}.host-step-heading h1{margin:7px 0 6px;font-size:28px;line-height:1.18}.host-gender-grid{width:100%;grid-template-columns:1fr 1fr;gap:10px;margin:16px auto 0}.host-choice{min-height:136px;gap:5px;padding:13px 9px;border-radius:16px}.host-choice:hover{transform:none;box-shadow:none}.host-choice.selected{box-shadow:inset 0 0 0 2px var(--green-700),var(--mobile-shadow)}.host-choice>strong{font-size:16px}.host-choice>span:not(.host-choice__check,.host-option-icon),.host-choice>small{font-size:9px;line-height:1.4}.host-choice__check{top:9px;right:9px;width:22px;height:22px}.host-character-choice{min-height:258px;padding-bottom:14px}.host-character-choice img{width:118px;height:166px;object-position:center 30%}.host-option-grid,.host-option-grid.four,.host-option-grid.five{width:100%;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px auto 0}.host-option-grid .host-choice{min-height:146px;padding:12px 8px}.host-option-icon{width:52px;height:52px;font-size:22px}.host-option-icon.text{font-size:13px}.host-confirm-card{display:grid;width:100%;grid-template-columns:1fr;gap:13px;margin:16px auto 0;padding:12px;border-radius:17px;box-shadow:var(--mobile-shadow)}.host-confirm-avatar{height:235px;border-radius:13px}.host-confirm-avatar img{width:175px;height:225px}.host-confirm-card h2{margin:4px 0 10px;font-size:23px}.host-confirm-card dl div{padding:9px 0;font-size:11px}.host-onboarding__actions{position:fixed;z-index:65;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8px;margin:0;padding:9px 12px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fbf8f1f5;box-shadow:0 -8px 22px #10281e14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.host-onboarding__actions>:only-child{grid-column:1 / -1}.host-onboarding__actions .primary-button,.host-onboarding__actions .secondary-button{width:100%;padding-inline:10px}.host-onboarding__error{margin:14px 0 0;font-size:10px}}@media(max-width:720px){.task-map-page--mobile{width:100%;max-width:none;padding:15px 14px 100px}.task-map-page--mobile .task-map-title .eyebrow{display:block;margin-bottom:4px;font-size:9px}.task-map-page--mobile .task-map-title h1{margin:0;font-size:29px;line-height:1.1}.task-map-page--mobile .task-map-title p{margin:5px 0 0;color:var(--muted);font-size:10px}.task-map-mobile-search{display:flex;height:42px;align-items:center;gap:8px;margin-top:13px;padding:0 12px;overflow:hidden;border:1px solid #ddd0bc;border-radius:11px;color:#968b7b;background:#fffdfa;box-shadow:0 5px 14px #12352b0a}.task-map-mobile-search svg{width:15px;height:15px;flex:0 0 auto}.task-map-mobile-search input{width:133.333%;min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font-size:16px;transform:scale(.75);transform-origin:left center}.task-map-mobile-filters{display:flex;gap:6px;margin:12px -14px 10px;padding:0 14px 3px;overflow-x:auto;scrollbar-width:none}.task-map-mobile-filters::-webkit-scrollbar,.training-steps::-webkit-scrollbar{display:none}.task-map-mobile-filters button{min-width:max-content;flex:0 0 auto;padding:7px 10px;border:1px solid #e2d8ca;border-radius:999px;color:#79756e;background:#fffdfa;font-size:9px;font-weight:800;cursor:pointer}.task-map-mobile-filters button.active{border-color:#d7ac5b;color:#7f591c;background:#fff7e5}.mission-mobile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px 6px}.mission-mobile-grid>.task-map-empty{grid-column:1 / -1;min-height:210px}.mission-mobile-tile{display:grid;min-width:0;min-height:73px;place-items:center;align-content:center;gap:7px;padding:7px 2px;border:1px solid #d8e2da;border-radius:12px;outline:0;color:var(--green-800);background:#edf5f0;box-shadow:0 4px 10px #17412c0b;cursor:pointer}.mission-mobile-tile__icon{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#2f7658;background:#ffffffb8}.mission-mobile-tile__icon svg{width:14px;height:14px;stroke-width:2.3}.mission-mobile-tile strong{min-width:0;font-size:9px;line-height:1;white-space:nowrap}.mission-mobile-tile.completed{border-color:#34785b;color:#fff7df;background:linear-gradient(145deg,#337b5c,#1e5e43)}.mission-mobile-tile.completed .mission-mobile-tile__icon{color:#1f6749;background:#fffaf0}.mission-mobile-tile.current{border-color:#c99030;color:#704c13;background:linear-gradient(145deg,#fff8e7,#f1dfb7);box-shadow:0 0 0 2px #c68b2933,0 7px 15px #533d181a}.mission-mobile-tile.current .mission-mobile-tile__icon{color:#9b6714;background:#fffaf0}.mission-mobile-tile.locked{border-color:#dedbd4;color:#999892;background:#efede8;box-shadow:none;cursor:not-allowed}.mission-mobile-tile.locked .mission-mobile-tile__icon{color:#999791;background:#e4e1db}.mission-mobile-tile:focus-visible{box-shadow:0 0 0 3px #33785b33}.task-map-primary-dock--mobile{right:12px;bottom:calc(var(--mobile-bottom-nav-height) + 9px + env(safe-area-inset-bottom));left:12px}.task-map-primary-dock--mobile .task-map-primary-action{width:100%;min-height:52px;border-radius:14px}.quest-home{padding:14px 14px 104px}.main-quest-card{align-items:stretch;margin-top:0;padding:58px 14px 18px;border-radius:18px;text-align:left}.main-quest-card h2{margin:7px 0 8px;font-size:27px}.main-quest-card__heading{justify-content:flex-start}.main-quest-card__description{font-size:11px;line-height:1.55}.main-quest-card__progress{width:100%;gap:9px;margin-top:13px}.main-quest-card__progress b{font-size:17px}.quest-reward{align-items:flex-start;margin-block:11px 4px;font-size:10px;line-height:1.5}.main-quest-card__action{width:100%;min-height:42px;justify-content:center;margin-top:7px}.mission-corner-button{top:12px;min-height:36px;padding:7px 10px}.mission-corner-button--left{left:12px}.mission-corner-button--right{right:12px}.mission-testing-actions{justify-content:stretch}.mission-testing-actions>*{flex:1;justify-content:center}.mission-detail-page{padding:12px 14px 28px}.mission-detail-toolbar{min-height:60px;justify-content:flex-end}.mission-detail-toolbar>a{display:none}.mission-detail-toolbar>span{width:52px;height:52px;font-size:10px}.mission-detail-course{padding:15px 12px 14px;border-radius:16px}.mission-detail-course>header{margin-bottom:12px}.mission-detail-course>header h2{font-size:23px}.mission-detail-unit-grid{grid-template-columns:1fr;gap:8px}.mission-detail-unit-card,.mission-detail-unit-card.featured{grid-column:auto;min-height:0;padding:12px;border-radius:12px}a.mission-detail-unit-card:hover{transform:none}.mission-detail-unit-card>header{gap:8px}.mission-detail-unit-card__index,.mission-detail-unit-card__state{font-size:8px}.mission-detail-unit-card__state{padding:4px 6px}.mission-detail-unit-card h3,.mission-detail-unit-card.featured h3{margin:12px 0 6px;font-size:21px}.mission-detail-unit-card>p{min-height:0;font-size:9px;line-height:1.5}.mission-detail-unit-card__examples{gap:4px;margin-top:8px}.mission-detail-unit-card__examples span{padding:4px 6px;font-size:8px}.side-quest-card{grid-template-columns:50px minmax(0,1fr);gap:11px;margin-top:10px;padding:14px;border-radius:17px}.side-quest-card__icon,.game-side-quest-card__icon{width:48px;height:48px}.side-quest-card h2{font-size:21px}.side-quest-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.side-quest-card__meta{align-items:flex-start;flex-direction:column;gap:5px}.side-quest-card__complete{padding:2px 7px;font-size:9px}.side-quest-card__reward{grid-column:1 / -1;width:100%;align-items:stretch;padding-top:10px;border-top:1px solid #e3d8c7}.side-quest-card__reward .secondary-button,.side-quest-card__reward button{width:100%;justify-content:center}.review-video-teaser{align-items:flex-start;padding:13px}.quest-home__note{align-items:flex-start;text-align:left}.lesson-page{padding-bottom:24px}.lesson-topline{display:none}.mission-page>[data-lesson-id]{padding:0}.family-workspace,.checkpoint-page .family-workspace{margin:0;padding:14px;border:0;border-radius:0;box-shadow:none}.family-heading{align-items:flex-start;gap:10px;margin-bottom:14px}.family-heading h2{margin-top:2px;font-size:27px}.family-heading p{font-size:12px;line-height:1.5}.root-seal{min-width:86px;min-height:58px;border-width:2px;font-size:14px}.training-steps{display:flex;gap:6px;margin:0 -14px 14px;overflow-x:auto;padding:6px 14px;border-inline:0;border-radius:0;scrollbar-width:none}.training-steps button{min-width:96px;min-height:54px;flex:0 0 96px;grid-template:1fr 1fr / 28px 1fr;padding:5px}.training-steps button>span{width:26px;height:26px}.training-steps small{font-size:8px}.training-steps b{font-size:11px}.training-stage{min-height:0;padding:13px;border-radius:16px}.step-intro{margin-bottom:14px}.step-intro h3{font-size:24px}.step-intro p{font-size:12px;line-height:1.55}.word-gallery{grid-template-columns:1fr;gap:9px}.word-card{min-height:0}.word-card__toggle{min-height:128px;grid-template-columns:48px 1fr;gap:11px;padding:14px 44px 14px 12px}.word-card__letter{width:46px;height:46px;font-size:21px}.word-card h3{font-size:21px}.word-card .pronunciation{top:11px;right:10px}.pronunciation__button{width:34px;height:34px}.pronunciation.compact .pronunciation__phonetic{top:37px;width:118px;font-size:10px}.root-list{grid-template-columns:1fr}.root-list button{min-height:58px;grid-template-columns:minmax(64px,1fr) 14px minmax(56px,.8fr) 1.2fr;gap:5px;padding:9px}.root-list button span{font-size:10px}.match-board{grid-template-columns:1fr 1fr;gap:8px;padding:11px}.match-board button{min-height:56px;padding:8px;font-size:12px}.question-list{gap:9px}.question-card{padding:12px;border-radius:13px}.question-card h3{font-size:14px}.option-grid{grid-template-columns:1fr;gap:7px}.option-grid button{min-height:48px;text-align:left}.true-false{gap:7px}.cloze-passage{padding:14px;font-size:17px;line-height:2}.cloze-passage button{min-width:82px;margin-inline:2px}.word-bank{padding:10px}.word-bank button{min-height:42px}.gold-uses{grid-template-columns:1fr;gap:9px}.writing-practice{margin-top:14px;padding:13px}.step-footer,.step-footer.sticky{position:sticky;z-index:20;bottom:8px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:60px;margin:14px -5px 0;padding:8px;border:1px solid #d9ccb9;border-radius:14px;background:#fffdf8f5;box-shadow:0 10px 28px #17302424;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.step-footer>span{grid-column:1 / -1;font-size:11px}.step-footer>button,.step-footer>a{min-height:45px;justify-content:center}.side-article-picker-page{padding-bottom:26px}.side-picker-topline{display:none}.side-picker-hero{padding:14px 14px 9px;text-align:left}.side-picker-hero h1{margin:0;font-size:30px}.side-picker-hero p{font-size:12px;line-height:1.55}.side-picker-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 14px 14px}.side-picker-tabs button{min-height:44px;justify-content:center;padding:8px}.side-picker-panel{width:auto;margin:0 14px;padding:10px;border-radius:17px}.side-picker-list{gap:8px}.side-picker-article{grid-template-columns:76px minmax(0,1fr);gap:10px;min-height:0;padding:9px;border-radius:13px}.side-picker-article:hover{transform:none}.side-picker-cover{width:76px;height:68px;border-radius:11px;font-size:14px}.side-picker-copy h2{margin-block:3px;font-size:18px}.side-picker-copy small{margin-top:4px;font-size:10px}.side-picker-article>.primary-button{grid-column:1 / -1;width:100%;min-height:43px;justify-content:center}.side-picker-footer{gap:10px;margin-top:14px}.side-picker-footer p{text-align:center}.side-picker-footer .secondary-button{width:100%;justify-content:center}.side-picker-stage{width:auto;margin:14px}.task-settlement{min-height:calc(100svh - var(--mobile-appbar-height));justify-content:flex-start;padding:20px 14px 30px}.task-settlement__character{width:134px;height:172px;margin-top:2px}.task-settlement__character>span{top:25px;right:-14px;width:43px;height:43px}.task-settlement h1{margin-top:-2px;font-size:36px}.task-settlement>p{margin:10px 0}.task-settlement>article{width:100%;padding:14px}.task-settlement>article>div:first-child strong{font-size:17px}.task-settlement>article>div:first-child b{font-size:27px}.task-settlement article footer{gap:6px;font-size:9px}.task-reward-pills{flex-wrap:wrap;justify-content:center}.task-settlement>.primary-button{width:100%;min-height:50px;justify-content:center}.word-match-page{width:100%;min-height:calc(100svh - var(--mobile-appbar-height));padding:12px 14px 24px}.word-match-page__top{display:none}.word-match-heading{margin:0 auto 12px}.word-match-heading h1{margin:4px 0;font-size:29px}.word-match-heading p{font-size:11px}.word-match-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:9px}.word-match-stats>span{min-width:0;padding:8px 3px;border-radius:11px}.word-match-stats small{font-size:8px}.word-match-stats b{font-size:17px}.word-match-board,.word-match-result{padding:12px;border-radius:17px}.word-match-notice{margin-bottom:9px;font-size:11px}.word-match-grid{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.word-match-tile{min-height:65px;padding:7px 5px;border-radius:11px;font-size:13px}.word-match-tile.en{font-size:15px}.word-match-tile.zh{font-size:12px}.word-match-board__footer{align-items:flex-start;gap:8px;margin-top:11px;padding-top:10px}.word-match-board__footer>span{line-height:1.45}.word-match-result{min-height:390px}.word-match-result h2{font-size:28px}.word-match-result p{line-height:1.55}.word-match-result>div{width:100%;flex-direction:column}.word-match-result .primary-button,.word-match-result .secondary-button{width:100%;justify-content:center}.word-game-center-page,.word-spelling-page{width:100%;min-height:calc(100svh - var(--mobile-appbar-height));padding:14px 14px 26px}.word-game-center-page__top,.word-spelling-page>header,.word-block-page>header{display:none}.word-game-center-page__heading{margin:4px auto 16px}.word-game-center-page__heading h1,.word-spelling-heading h1{font-size:31px}.word-game-center-page__heading p,.word-spelling-heading p{margin-bottom:0;font-size:11px}.word-game-center-grid{grid-template-columns:1fr;gap:10px}.word-game-choice{min-height:188px;padding:17px 18px;border-radius:18px}.word-game-choice__icon{width:45px;height:45px;border-radius:13px}.word-game-choice__icon svg{width:21px}.word-game-choice>small{position:absolute;top:20px;right:18px;margin:0}.word-game-choice h2{margin:15px 0 5px;font-size:24px}.word-game-choice p{margin-bottom:12px;line-height:1.5}.word-game-choice footer{padding-top:10px}.word-block-page{min-height:calc(100svh - var(--mobile-appbar-height));padding:0}.word-block-page iframe{height:calc(100svh - var(--mobile-appbar-height));min-height:0;border:0;border-radius:0}.word-spelling-card{min-height:calc(100svh - var(--mobile-appbar-height) - 28px);padding:25px 14px;border-radius:19px}.word-spelling-start{width:100%;margin-top:42px}.word-spelling-hud{gap:6px;margin:23px auto 10px}.word-spelling-hud span{min-height:40px;font-size:11px}.word-spelling-round{padding:24px 12px;border-radius:17px}.word-spelling-round>small{font-size:15px}.word-spelling-round>div{grid-template-columns:1fr;gap:8px;margin-top:20px}.word-spelling-round button{min-height:55px;font-size:18px}.skin-evolution{overflow-y:auto;overscroll-behavior:contain}.skin-evolution__skip{min-height:36px;padding:7px 12px}.skin-evolution__skip svg{display:none}.skin-evolution__stage{display:flex;width:100%;min-height:620px;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}.skin-evolution__stage>header{gap:3px}.skin-evolution__core{width:min(76vw,40svh,320px)}.skin-evolution__copy{min-height:0}.skin-evolution__copy h1{font-size:clamp(28px,8.5vw,36px)}.skin-evolution__copy strong{font-size:20px}.skin-evolution__copy p{margin:7px 0 12px;line-height:1.45}.skin-evolution__copy>div{display:grid;width:min(100%,340px);grid-template-columns:1fr 1fr;gap:8px;margin-inline:auto}.skin-evolution__copy button{min-width:0;width:100%;justify-content:center;padding-inline:10px}}@media(max-width:720px){.reading-level-page,.reading-library-page{width:100%;padding-bottom:96px}.reading-step-heading{padding:20px 14px 0}.reading-step-heading .eyebrow{margin-bottom:7px;padding:5px 9px}.reading-step-heading h1{font-size:30px}.reading-step-heading p{margin-top:6px;font-size:12px;line-height:1.55}.reading-level-panel{margin:14px;padding:13px;border-radius:17px}.reading-level-panel__top{align-items:stretch;flex-direction:column;gap:11px;margin-bottom:12px}.reading-level-panel__top h2{font-size:23px}.reading-level-panel__top p{margin-top:3px;font-size:12px}.reading-level-tabs{display:grid;width:100%;grid-template-columns:1fr 1fr}.reading-level-tabs button{min-height:42px;padding:8px 12px}.reading-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.reading-level-card{min-height:138px;padding:14px 9px;border-radius:15px}.reading-level-card:hover{transform:none}.reading-level-card__icon{width:48px;height:48px;margin-bottom:8px;font-size:21px}.reading-level-card__icon.text{font-size:16px}.reading-level-card strong{font-size:20px}.reading-level-card small{margin-top:4px;font-size:11px}.reading-level-action{position:fixed;z-index:66;right:0;bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));left:0;min-height:65px;margin:0;padding:9px 14px;border-top:1px solid var(--line);background:#fffdf9f5;box-shadow:0 -8px 22px #1d352814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.reading-level-action:not(.visible){pointer-events:none}.reading-level-action .primary-button{width:100%;min-height:48px;justify-content:center}.reading-library-heading{align-items:flex-start;padding:20px 14px 13px}.reading-library-heading h1{margin:5px 0 4px;font-size:30px}.reading-library-heading p{font-size:12px;line-height:1.5}.reading-restart{min-height:40px;flex:0 0 auto;padding:8px 10px;font-size:10px}.reading-library-controls{align-items:stretch;flex-direction:column;gap:9px;margin:0 14px 11px;padding:9px;border-radius:15px}.reading-mode-switch.compact{display:grid;width:100%;min-width:0;grid-template-columns:1fr 1fr;gap:5px}.reading-mode-switch.compact button{min-height:45px;justify-content:center;padding:8px;border-radius:11px}.reading-recommendation{justify-content:center;font-size:11px}.reading-library-panel{margin:0 14px;border-radius:17px}.reading-library-panel>header{padding:15px 13px 12px}.reading-library-panel>header h2{font-size:24px}.reading-library-panel>header p{font-size:11px;line-height:1.5}.reading-article-row{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;min-height:0;padding:12px}.reading-article-row__cover{width:82px;height:84px;border-radius:12px;font-size:17px}.reading-article-row__body>div{flex-wrap:wrap;gap:4px 9px;font-size:9px}.reading-article-row h3{margin:4px 0 3px;font-size:19px}.reading-article-row p{display:none}.reading-article-row small{font-size:10px}.reading-article-row>a{grid-column:1 / -1;min-height:43px;justify-content:center;padding:8px 12px;border-radius:11px}.reading-status{min-height:230px;padding:20px 14px}.reading-status h2{font-size:23px}.mobile-page-reader .mobile-appbar{display:none}.mobile-page-reader .shell-content{min-height:100svh}.reader-page{min-height:100svh;background:#f4efe6}.reader-toolbar{position:sticky;z-index:82;top:0;display:grid;min-height:58px;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;padding:6px 8px;background:#fbf8f1f5;box-shadow:0 5px 14px #1b2f2512;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.reader-toolbar>a{width:42px;height:42px;justify-content:center;overflow:hidden;border-radius:10px;font-size:0}.reader-toolbar>div:nth-child(2){min-width:0;justify-content:center;gap:6px;overflow:hidden;font-size:12px;white-space:nowrap}.reader-mode-badge{flex:0 0 auto;padding:4px 6px}.reader-tools{min-width:0;gap:3px}.reader-tools .reader-translation-toggle{width:auto;min-height:38px;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.reader-tools .reader-translation-toggle svg{width:17px;height:17px;flex:0 0 auto}.reader-layout{display:block;padding:8px 0 36px}.reader-sheet{overflow:visible;border-inline:0;border-radius:0;box-shadow:none}.reader-sheet>header{padding:22px 18px 18px}.reader-sheet>header h1{font-size:31px;line-height:1.28}.article-audio-player,.article-audio-player.is-ready{margin:12px 14px 0;border-radius:15px}.article-audio-player.is-ready{grid-template-columns:1fr;gap:11px;padding:12px}.article-audio-heading{display:none}.article-audio-main{grid-template-columns:48px minmax(0,1fr);gap:12px}.article-audio-play{width:48px;height:48px}.article-audio-controls{justify-content:center;gap:8px;padding:9px 0 0;border-top:1px solid rgb(173 148 103 / .35);border-left:0}.article-audio-controls>button{width:48px;height:46px}.article-audio-controls label{min-width:104px;height:46px}.article-audio-player.is-generating,.article-audio-player.is-empty{grid-template-columns:42px minmax(0,1fr);gap:10px;min-height:0;padding:12px}.article-audio-player.is-generating>a,.article-audio-player.is-empty>button{grid-column:1 / -1;justify-content:center}.reader-content{padding:28px 18px 42px;font-size:clamp(17px,var(--reader-font-size),25px)}.reader-content--mixed>p{line-height:1.9;text-align:left;text-indent:1.6em}.bilingual-sentence{margin-bottom:1.45em;padding-bottom:1em}.bilingual-sentence:before{inset:-.5em -.55em .35em}.reader-finish{padding:30px 14px calc(30px + env(safe-area-inset-bottom))}.reader-finish strong{font-size:20px}.reader-finish span{font-size:11px}.reader-finish.quest>div{width:100%;flex-direction:column}.reader-finish.quest>div>*{width:100%;justify-content:center}.reader-content .mixed-vocabulary-tooltip{bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 10px 30px #0000002e!important}.article-audio-timeline input{height:8px!important;padding:12px 0!important;margin:-8px 0!important;touch-action:none!important}.article-audio-timeline input::-webkit-slider-thumb{width:20px!important;height:20px!important}}@media(max-width:720px){.mistake-book-page{padding:18px 14px 98px}.mistake-book-heading{align-items:flex-start;flex-direction:column;gap:7px}.mistake-book-heading h1{margin:4px 0;font-size:30px}.mistake-book-heading p{font-size:12px;line-height:1.5}.mistake-overview{align-items:stretch;flex-direction:column;gap:10px;margin-top:14px;padding:12px;border-radius:15px}.mistake-metrics{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.mistake-metrics>span{min-width:0;grid-template:"icon label" auto "icon value" auto / 23px auto;place-content:center;justify-content:center;padding:2px 8px}.mistake-metrics>span:first-child{padding-left:8px}.mistake-metrics svg{grid-area:icon;width:17px;justify-self:center}.mistake-metrics small{grid-area:label;font-size:10px;white-space:nowrap}.mistake-metrics b{grid-area:value;font-size:19px}.mistake-search{width:100%;min-height:42px;padding-inline:12px;overflow:hidden;border-radius:10px;display:flex;align-items:center}.mistake-search input{width:100%;flex:1;font-size:15px;border:none;outline:none;background:transparent}.mistake-toolbar{align-items:stretch;flex-direction:column;gap:8px;margin:11px 0}.mistake-toolbar>div{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.mistake-toolbar>div::-webkit-scrollbar{display:none}.mistake-toolbar button{min-width:max-content;min-height:38px}.mistake-toolbar>span{font-size:10px}.mistake-table{overflow:visible;border:0;background:transparent}.mistake-table__head{display:none}.mistake-row{display:grid;min-height:0;grid-template-columns:42px minmax(0,1fr);grid-template-areas:"number source" "question question" "history history" "action action";margin-bottom:10px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--mobile-shadow)}.mistake-row>div{padding:11px;border:0}.mistake-row__number{grid-area:number;border-right:1px solid #eee4d6!important;background:#faf6ee}.mistake-row__source{grid-area:source;flex-flow:row wrap;align-items:center;gap:5px 8px;border-bottom:1px solid #eee4d6!important}.mistake-row__source>span,.mistake-row__source b{white-space:nowrap}.mistake-row__source b{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis}.mistake-row__source small{width:100%}.mistake-row__question{grid-area:question;border-bottom:1px solid #eee4d6!important}.mistake-row__question h2{font-size:16px}.mistake-options ol,.mistake-options.matching,.mistake-options.matching ol{grid-template-columns:1fr}.mistake-row__history{grid-area:history;grid-template-columns:auto auto;justify-content:space-between;justify-items:start;padding:9px 12px;border-bottom:1px solid #eee4d6!important;text-align:left}.mistake-row__history b{font-size:17px}.mistake-row__action{grid-area:action;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-items:stretch;padding:9px}.mistake-row__action a,.mistake-row__action button{width:100%;min-height:39px;border-radius:9px}.mistake-load-more{width:100%;min-width:0;min-height:45px;margin-top:10px;border-radius:11px}.mistake-empty{min-height:240px;border-radius:15px}.records-page{padding-bottom:96px}.records-hero{padding:20px 14px 16px}.records-hero>h1{margin:4px 0 6px;font-size:31px}.records-hero>p{font-size:12px}.record-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.record-stat-grid article{min-height:104px;padding:12px 7px;border-radius:14px}.record-stat-grid strong{font-size:32px}.record-stat-grid b{margin-top:6px;font-size:15px}.record-stat-grid span{margin-top:3px;font-size:9px}.records-detail{padding:17px 14px 0}.records-detail>header{align-items:flex-start}.records-detail>header h2{font-size:24px}.records-detail>header>span{display:none}.record-filters{gap:6px;overflow-x:auto;padding:12px 0 10px;scrollbar-width:none}.record-filters::-webkit-scrollbar{display:none}.record-filters button{min-width:max-content;min-height:39px;padding:8px 12px}.record-timeline{gap:8px;overflow:visible;border:0;background:transparent}.record-row{grid-template-columns:1fr;gap:12px;min-height:0;padding:13px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--mobile-shadow)}.record-row+.record-row{border-top:1px solid var(--line)}.record-row h2{font-size:17px;white-space:normal}.record-row p{font-size:11px}.record-row__aside{grid-template-columns:1fr auto;justify-content:stretch;gap:9px;padding-top:10px;border-top:1px solid #eee5d8}.record-row__aside>a,.record-row__aside>div{justify-content:flex-end}.record-row__aside a{min-height:38px;padding:7px 10px;border:1px solid #d5c49f;border-radius:9px}.record-row__aside button{width:38px;height:38px;border:1px solid #eadbd7}.record-empty{min-height:250px;padding:20px}.record-empty strong{font-size:22px}.record-empty span{font-size:11px;line-height:1.6}.infinite-scroll-sentinel{min-height:52px;font-size:11px}.profile-page{width:100%;padding:16px 14px 102px}.profile-intro{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:13px}.profile-intro h1{margin:4px 0;font-size:30px}.profile-intro p{font-size:11px}.profile-quiet-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.profile-quiet-actions button{height:42px;justify-content:center;border-radius:11px}.profile-quiet-actions .profile-logout-action{grid-column:1 / -1}.profile-quiet-actions button:hover{transform:none}.profile-alert{margin:0 0 10px}.profile-identity-stage{display:grid;height:auto;grid-template-columns:111px minmax(0,1fr);align-items:start;overflow:visible;border-radius:20px}.profile-host-portrait{height:148px;padding:0;border-radius:19px 0 0}.profile-host-portrait img{width:100%;height:100%;border:0;border-radius:0;object-fit:contain;object-position:center bottom}.profile-identity-panel{display:contents}.profile-identity-heading{min-width:0;min-height:148px;align-content:center;flex-direction:column;justify-content:center;gap:8px;padding:13px 11px}.profile-name-row{gap:6px}.profile-identity-heading h2{font-size:26px}.profile-identity-heading p{font-size:10px}.profile-role-pill{min-height:22px;padding:0 7px;font-size:8px}.profile-host-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.profile-host-stats>span{min-width:0;min-height:39px;padding:5px 7px;border-radius:9px}.profile-host-stats small{gap:3px;font-size:7px}.profile-host-stats small svg{width:10px;height:10px}.profile-host-stats b{margin-top:2px;font-size:15px}.profile-host-stats em{font-size:7px}.profile-learning-badges{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:10px;border-top:1px solid #e4d9c6}.profile-learning-badges>span,.profile-reselect-difficulty{min-width:0;min-height:38px;justify-content:center;padding:0 8px;font-size:9px}.profile-growth{grid-column:1 / -1;padding:10px 12px 13px;border-top:1px solid #e4d9c6}.profile-growth__note{gap:8px}.skin-wardrobe{margin-top:13px;border-radius:18px}.skin-wardrobe>header{align-items:flex-start;flex-direction:column;gap:10px;padding:15px 13px 12px}.skin-wardrobe h2{font-size:25px}.skin-wardrobe header p{font-size:10px;line-height:1.5}.skin-wardrobe__meta{width:100%;overflow-x:auto}.skin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.skin-card{width:auto;min-width:0;border-radius:15px}.skin-card.unlocked:hover{transform:none}.skin-card__preview{height:188px}.skin-card__copy{min-height:104px;padding:11px}.profile-modal-backdrop{align-items:flex-end;padding:0}.profile-modal{width:100%;max-height:calc(100svh - 16px);overflow-y:auto;border-inline:0;border-bottom:0;border-radius:22px 22px 0 0}.profile-modal>header{position:sticky;z-index:2;top:0;padding:16px 14px 13px}.profile-modal h2{font-size:24px}.profile-modal form{padding:16px 14px calc(18px + env(safe-area-inset-bottom))}.profile-modal input{height:48px}.profile-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.profile-modal__actions button{min-height:45px;padding-inline:9px}}@media(max-width:720px){.admin-analytics-page{padding-bottom:28px}.analytics-heading{align-items:start;padding:18px 14px 4px}.analytics-heading h1{font-size:32px}.analytics-heading p{font-size:11px}.analytics-heading button{padding:6px 9px;font-size:0}.analytics-filters{align-items:stretch;flex-wrap:wrap;margin:10px 14px 0;padding:10px}.analytics-filters>div{width:100%;overflow-x:auto}.analytics-filters label{flex:1 1 42%}.analytics-filters select,.analytics-filters input{min-width:0;width:100%}.analytics-range-note{margin:10px 14px 0;line-height:1.55}.analytics-kpis{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 14px}.analytics-kpi{min-height:110px;padding:13px}.analytics-kpi strong{font-size:23px}.analytics-section{margin:12px 14px 0;padding:14px;border-radius:14px}.analytics-section>header{align-items:flex-start;flex-direction:column;gap:9px}.analytics-section h2{font-size:21px}.analytics-trend-grid,.analytics-two-column,.analytics-feature-grid{grid-template-columns:1fr}.analytics-two-column{gap:12px;margin:12px 14px 0}.analytics-chart svg{height:120px}.analytics-funnel{grid-template-columns:1fr}.analytics-funnel>div{min-height:78px}.analytics-share-bars>div{grid-template-columns:88px minmax(60px,1fr) 98px;gap:7px}.analytics-health{grid-template-columns:repeat(2,1fr)}.analytics-section>header>div:last-child{width:100%;flex-wrap:wrap}.analytics-user-search{width:100%}.analytics-user-detail li{grid-template-columns:82px 1fr}.analytics-user-detail li b{grid-column:2}.admin-page,.admin-users-page,.admin-voice-page,.admin-tts-jobs-page{padding-bottom:28px}.admin-page>.page-heading,.admin-users-page>.page-heading,.admin-voice-page>.page-heading,.admin-tts-jobs-page>.page-heading{align-items:flex-start;gap:12px;padding:18px 14px 13px}.admin-page>.page-heading h1,.admin-users-page>.page-heading h1,.admin-voice-page>.page-heading h1,.admin-tts-jobs-page>.page-heading h1{font-size:29px}.admin-page>.page-heading p,.admin-users-page>.page-heading p,.admin-voice-page>.page-heading p,.admin-tts-jobs-page>.page-heading p{font-size:11px;line-height:1.55}.admin-page>.page-heading>.primary-button,.admin-tts-jobs-page .page-heading>.secondary-button{min-height:42px;flex:0 0 auto;padding-inline:10px;font-size:10px}.admin-users-page .lesson-topline,.admin-voice-page .lesson-topline,.admin-tts-jobs-page .lesson-topline{display:none}.admin-tool-nav{gap:5px;margin:0 14px 10px;overflow-x:auto;padding:5px;border-radius:12px;scroll-snap-type:x proximity;scrollbar-width:none}.admin-tool-nav::-webkit-scrollbar{display:none}.admin-tool-nav a{min-width:max-content;min-height:39px;flex:0 0 auto;scroll-snap-align:start;padding:7px 11px;font-size:10px}.admin-tool-nav a svg{width:15px}.admin-page>.feedback-alert,.admin-users-page>.feedback-alert,.admin-voice-page>.feedback-alert,.admin-tts-jobs-page>.feedback-alert{margin:10px 14px 0}.admin-overview{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 14px;border-radius:13px}.admin-overview span{min-width:0;padding:10px 3px}.admin-overview b{font-size:20px}.admin-overview small{font-size:8px}.admin-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px 14px 0}.admin-tabs button{min-width:0;min-height:44px;padding:8px 7px;border-radius:11px 11px 0 0;font-size:11px}.admin-workspace,.admin-workspace.with-editor{display:block;padding:10px 14px 0}.admin-list{border-radius:15px}.admin-list>header{align-items:flex-start;flex-direction:column;gap:7px;padding:14px}.admin-list h2,.admin-editor h2{font-size:24px}.admin-list>header p{font-size:10px;line-height:1.55}.admin-table{display:grid;gap:8px;padding:9px}.admin-table article{grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:0;padding:11px;border:1px solid #e8ded0;border-radius:12px}.admin-table article:last-child{border-bottom:1px solid #e8ded0}.admin-item__title{min-width:0}.admin-item__title strong{white-space:normal}.admin-table article>.status-pill{align-self:start}.admin-row-actions{grid-column:1 / -1;justify-content:flex-end;padding-top:8px;border-top:1px solid #eee5d9}.admin-row-actions button{min-height:38px}.admin-editor{position:fixed;z-index:76;top:var(--mobile-appbar-height);right:0;bottom:0;left:0;overflow-y:auto;border:0;border-radius:0;background:var(--surface);box-shadow:0 -10px 35px #0a22182e}.admin-editor>header{position:sticky;z-index:4;top:0;padding:13px 14px;box-shadow:0 4px 12px #142a1f0f}.admin-editor>header button{width:40px;min-height:40px}.admin-editor>label,.admin-editor__row>label{padding-inline:14px}.admin-editor>label:first-of-type{padding-top:14px}.admin-editor input:not([type=checkbox]),.admin-editor select{height:47px}.admin-editor textarea{min-height:130px}.admin-editor__row{grid-template-columns:1fr;gap:14px}.admin-editor__row>label:first-child,.admin-editor__row>label:last-child{padding-inline:14px}.admin-editor__row>label:last-child{margin-top:0}.admin-editor .admin-check{min-height:44px}.admin-editor .admin-check.publish{margin:14px 14px 0}.admin-editor>.primary-button{position:sticky;bottom:0;width:calc(100% - 28px);min-height:50px;margin:16px 14px calc(14px + env(safe-area-inset-bottom));justify-content:center;box-shadow:0 8px 22px #153e2c2e}.article-file-import{float:none;margin-top:7px}.article-assignment-picker{margin:14px 14px 0}.article-assignment-picker legend{align-items:flex-start;flex-wrap:wrap}.article-assignment-picker legend small{width:100%;margin-left:23px}.article-assignment-picker__routes{grid-template-columns:repeat(2,1fr)}.article-assignment-picker__missions{grid-template-columns:repeat(4,minmax(0,1fr));max-height:210px}.admin-skin-workspace,.admin-skin-workspace.with-editor{display:block;padding:0 14px 24px}.admin-skin-library{border-radius:15px}.admin-skin-library>header{align-items:flex-start;flex-direction:column;gap:5px;padding:14px}.admin-skin-library h2,.admin-skin-editor h2{font-size:24px}.admin-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.admin-skin-card{border-radius:12px}.admin-skin-card__preview{height:150px}.admin-skin-card__copy{padding:10px}.admin-skin-card__copy h2{font-size:17px}.admin-skin-card__actions button{min-height:42px}.admin-skin-editor{position:fixed;z-index:76;top:var(--mobile-appbar-height);right:0;bottom:0;left:0;overflow-y:auto;border:0;border-radius:0;background:var(--surface)}.admin-skin-editor>header{position:sticky;z-index:3;top:0;padding:13px 14px;box-shadow:0 4px 12px #142a1f0f}.admin-skin-editor>header button{width:40px;height:40px}.admin-skin-editor__preview{height:220px;margin:14px}.admin-skin-editor>label,.admin-skin-editor .admin-editor__row>label{padding-inline:14px}.admin-skin-editor input,.admin-skin-editor select{height:47px}.admin-skin-editor>p{margin-inline:14px}.admin-skin-editor>.primary-button{position:sticky;bottom:0;width:calc(100% - 28px);min-height:50px;margin:16px 14px calc(14px + env(safe-area-inset-bottom))}.admin-user-count{min-width:92px;grid-template:1fr 1fr / 30px 1fr;padding:8px}.admin-user-count svg{width:24px}.admin-user-count strong{font-size:20px}.admin-user-count span{font-size:8px}.admin-users-grid{grid-template-columns:1fr;gap:10px;padding:0 14px}.admin-registration-access{margin:10px 14px 0;padding:14px}.admin-registration-access>header{align-items:flex-start;flex-wrap:wrap}.admin-registration-access>header>div{flex:1 1 calc(100% - 58px)}.admin-registration-access>header>button,.admin-registration-access>header>button[role=combobox]{width:100%}.admin-invitation-summary{display:grid;grid-template-columns:repeat(3,1fr)}.admin-invitation-summary span{min-width:0;flex-direction:column;gap:2px}.admin-invitation-create{grid-template-columns:1fr 1fr}.admin-invitation-create label:first-child{grid-column:1 / -1}.admin-invitation-create>button{grid-column:1 / -1}.admin-invitation-list article{grid-template-columns:minmax(0,1fr) auto}.admin-invitation-list article>small{grid-column:1}.admin-invitation-list article>button{grid-column:2;grid-row:2}.admin-list-section-heading{margin-top:10px}.admin-list-toggle{min-height:44px}.admin-list-pagination{grid-template-columns:1fr auto 1fr;gap:6px}.admin-list-pagination button{min-height:44px;padding-inline:7px}.admin-user-create,.admin-users-list{border-radius:15px}.admin-user-create{padding:14px}.admin-user-create input{height:47px}.admin-users-list>header{align-items:stretch;flex-direction:column;gap:10px;padding:14px}.admin-users-list__controls{width:100%}.admin-users-list>header label{width:auto;height:45px;flex:1;border-radius:11px}.admin-users-list>header .admin-list-toggle{min-width:68px}.admin-users-list>article{grid-template-columns:40px minmax(0,1fr) auto;gap:8px;padding:11px}.admin-users-list article>.admin-user-statuses{grid-column:3;grid-row:1;justify-items:end}.admin-users-list article>.admin-user-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));padding-top:8px;border-top:1px solid #eee5d9}.admin-users-list article button{min-height:39px;justify-content:center}.admin-users-note{align-items:flex-start;margin:12px 14px 0;font-size:10px;line-height:1.55}.voice-page-seal{width:70px;height:70px;grid-template:1fr 1fr / 27px 1fr;padding:10px;border-width:2px}.voice-page-seal svg{width:24px}.voice-page-seal strong{font-size:14px}.voice-config-form{padding:0 14px}.voice-routing-grid{grid-template-columns:1fr;gap:10px}.voice-route-card,.voice-config-section{border-radius:15px}.voice-route-card{padding-bottom:14px}.voice-route-card>header{min-height:0;padding:15px}.voice-route-card h2,.voice-config-section h2{font-size:23px}.voice-route-card header p,.voice-config-section header p{font-size:10px}.voice-provider-toggle{margin:13px}.voice-field-grid,.voice-field-grid.profile,.voice-output-section .voice-field-grid.output{grid-template-columns:1fr;gap:11px;padding-inline:14px}.voice-field-grid input,.voice-field-grid select{height:47px}.voice-test-button{width:calc(100% - 28px);justify-content:center;margin:14px 14px 0}.voice-config-section{margin-top:10px}.voice-config-section>header{align-items:flex-start;flex-direction:column;gap:5px;padding:14px}.voice-config-section>header>p{text-align:left}.voice-service-grid{grid-template-columns:1fr}.voice-service-grid>article{padding:14px}.voice-service-grid>article+article{border-top:1px solid #e8ddcd;border-left:0}.voice-service-grid .voice-field-grid{padding:0}.voice-config-actions{align-items:stretch;flex-direction:column;gap:10px;padding:13px;font-size:9px;overflow-wrap:anywhere}.voice-config-actions .primary-button{width:100%;justify-content:center}.tts-jobs-summary{grid-template-columns:1fr 1fr;gap:7px;margin:0 14px}.tts-jobs-summary article{gap:8px;padding:10px;border-radius:12px}.tts-jobs-summary article>svg{width:32px;height:32px}.tts-jobs-summary strong{font-size:21px}.tts-jobs-summary>p{grid-column:1 / -1;padding:10px;border-radius:12px;font-size:9px}.tts-jobs-tabs{display:grid;grid-template-columns:1fr 1fr;margin:11px 14px 0}.tts-jobs-tabs button{min-width:0}.tts-job-list{gap:9px;margin:10px 14px 0}.tts-job-card{border-radius:14px}.tts-job-main{grid-template-columns:42px minmax(0,1fr);gap:9px;padding:13px 12px 10px}.tts-job-icon{width:42px;height:42px;border-radius:11px}.tts-job-copy>header{gap:8px}.tts-job-copy h2{font-size:17px}.tts-job-status{padding:4px 6px;font-size:8px}.tts-job-meta{align-items:flex-start;flex-direction:column;gap:4px}.tts-job-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 12px 12px}.tts-job-actions button{min-height:39px;justify-content:center;padding:6px 4px;font-size:9px}.tts-job-details{padding:12px}.tts-job-details dl{grid-template-columns:1fr;gap:6px}.tts-job-details details div{grid-template-columns:1fr}.tts-jobs-empty{min-height:210px;margin:10px 14px 0;padding:20px 12px}}.df-mobile-appbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:16px;padding-right:16px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--df-line-soft, #e6ede8);box-shadow:0 1px 3px #00000008}.df-mobile-appbar-left{display:flex;align-items:center;min-width:80px}.df-mobile-back-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--df-brand-ink, #1f5f3a);font-size:15px;font-weight:500;padding:8px 4px;cursor:pointer}.df-mobile-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.df-mobile-logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--df-brand, #2e7d47);color:#fff;font-size:13px;font-weight:800;border-radius:6px;letter-spacing:-.5px}.df-mobile-brand-text{font-size:16px;font-weight:700;color:var(--df-ink, #1f2937);letter-spacing:-.2px}.df-mobile-appbar-center{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}.df-mobile-title{font-size:16px;font-weight:600;color:var(--df-ink, #1f2937)}.df-mobile-appbar-right{display:flex;align-items:center;gap:8px;min-width:80px;justify-content:flex-end}.df-mobile-wallet{display:inline-flex;align-items:center;gap:4px;background:#fdf6ec;border:1px solid #faecd8;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#855015}.df-mobile-coin-icon{font-size:12px}.df-mobile-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;color:var(--df-ink-muted, var(--df-ink-2))}.df-mobile-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--df-line-soft, #e6ede8);box-shadow:0 -2px 10px #0000000a}.df-mobile-tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 0;text-decoration:none;color:var(--df-ink-2);transition:color .15s ease;user-select:none;-webkit-user-select:none}.df-mobile-tab-item.active{color:var(--df-brand, #2e7d47)}.df-mobile-tab-icon-wrapper{display:flex;align-items:center;justify-content:center;height:24px}.df-mobile-tab-icon{width:20px;height:20px}.df-mobile-tab-item.active .df-mobile-tab-icon{stroke-width:2.3}.df-mobile-tab-label{font-size:11px;font-weight:500;line-height:1}.df-mobile-tab-item.active .df-mobile-tab-label{font-weight:700}.df-mobile-main-padded{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.df-mobile-home{display:flex;flex-direction:column;gap:var(--df-study-section-gap);max-width:600px;margin:0 auto;padding:var(--df-study-gutter);font-family:var(--df-font-ui);color:var(--df-ink)}.df-mobile-user-card{display:flex;align-items:center;gap:var(--df-study-gap);min-width:0}.df-mobile-user-avatar-wrap{width:64px;height:80px;flex-shrink:0;overflow:hidden;border-radius:var(--df-study-control-radius);background:var(--df-brand-soft)}.df-mobile-user-avatar-wrap .df-home-portrait{width:100%;height:100%;min-height:0;margin:0;display:block}.df-mobile-user-avatar-wrap .df-home-portrait img{width:100%;height:100%;max-height:none;margin:0;object-fit:contain;object-position:center}.df-mobile-user-info{flex:1;min-width:0}.df-mobile-user-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.df-mobile-user-name{font-size:var(--df-study-body);font-weight:700}.df-mobile-user-level{padding:2px 6px;border-radius:6px;background:var(--df-brand-soft);color:var(--df-brand-ink);font-size:var(--df-study-caption);font-weight:600}.df-mobile-user-greeting{margin:4px 0 8px;font-size:var(--df-study-support);line-height:1.5;color:var(--df-ink-2)}.df-mobile-user-stats{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap}.df-mobile-stat-badge{display:inline-flex;align-items:center;gap:4px;color:var(--df-ink-2);font-size:var(--df-study-caption);line-height:1.5}.df-mobile-stat-badge svg{width:14px;height:14px;margin:0;color:var(--df-brand-ink)}.df-mobile-stat-badge:first-child svg{color:var(--df-gold-ink)}.df-mobile-wardrobe-link{display:grid;place-items:center;flex-shrink:0;width:var(--df-study-target);height:var(--df-study-target);border-radius:var(--df-study-control-radius);color:var(--df-ink-2)}.df-v2 .df-mobile-task-card{display:flex;flex-direction:column;gap:var(--df-study-gap);padding:24px;border:0;border-radius:var(--df-study-card-radius);background:var(--df-brand-deep);color:var(--df-surface);box-shadow:none}.df-mobile-task-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.df-mobile-route-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--df-study-support);font-weight:600;color:var(--df-brand-soft)}.df-mobile-route-tag svg{color:inherit;margin:0}.df-mobile-day-pill{font-size:var(--df-study-caption);color:var(--df-brand-soft);font-variant-numeric:tabular-nums}.df-mobile-day-pill strong{font-weight:700;color:var(--df-surface)}.df-v2 .df-mobile-task-title{margin:0;color:inherit;font-size:var(--df-study-title);font-weight:700;line-height:1.4}.df-mobile-task-summary{margin:0;color:var(--df-brand-soft);font-size:var(--df-study-support);line-height:1.6}.df-mobile-progress-section{display:flex;align-items:center;gap:var(--df-study-gap)}.df-mobile-progress-bar{flex:1;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.df-mobile-progress-fill{width:100%;height:100%;background:var(--df-brand-soft);border-radius:inherit;transform-origin:left;transition:transform .24s ease-out}.df-mobile-progress-text{color:var(--df-brand-soft);font-size:var(--df-study-caption);font-weight:600;min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.df-mobile-course-progress{margin:0;color:var(--df-brand-soft);font-size:var(--df-study-caption);line-height:1.5}.df-mobile-task-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--df-study-gap);margin-top:8px}.df-v2 .df-mobile-start-btn{display:flex;flex:1 1 10rem;min-width:0;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px;border:0;border-radius:var(--df-study-control-radius);background:var(--df-surface);color:var(--df-brand-ink);font-size:var(--df-study-body);font-weight:700;line-height:1.5;text-decoration:none;transition:transform .12s ease-out}.df-mobile-start-btn svg{flex-shrink:0;margin:0}.df-mobile-start-btn:active{transform:translateY(1px)}.df-v2 .df-mobile-switch-book-btn{flex-shrink:0;min-height:56px;padding:8px 12px;border:1px solid var(--df-brand-soft);border-radius:var(--df-study-control-radius);background:transparent;color:var(--df-surface);font-size:var(--df-study-support);font-weight:600;line-height:1.5}.df-mobile-dock-section{display:flex;flex-direction:column;gap:var(--df-study-gap)}.df-mobile-section-header{padding:0}.df-v2 .df-mobile-section-title{margin:0;font-size:var(--df-study-heading);font-weight:700;line-height:1.5}.df-mobile-dock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:var(--df-study-gap)}.df-mobile-dock-card{display:flex;align-items:flex-start;gap:var(--df-study-gap);min-width:0;padding:16px 12px;border:1px solid var(--df-line);border-radius:var(--df-study-control-radius);background:var(--df-surface);color:var(--df-ink);text-align:left;line-height:1.5}.df-mobile-dock-card:active{background:var(--df-brand-soft)}.df-mobile-dock-card:disabled{opacity:.6;cursor:default}.df-mobile-dock-icon-wrap{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;margin-top:2px;color:var(--df-brand-ink);background:transparent}.df-mobile-dock-icon-wrap svg{width:22px;height:22px}.df-mobile-dock-content{min-width:0;display:flex;flex-direction:column;gap:4px}.df-mobile-dock-title{font-size:var(--df-study-body);font-weight:600;color:var(--df-ink)}.df-mobile-dock-desc{font-size:var(--df-study-caption);color:var(--df-ink-2);white-space:normal}@media(max-width:720px){.df-v2.df-prototype:has(.df-mobile-home){padding:0;background:var(--df-bg)}.df-v2:has(.df-mobile-home) .df-prototype-frame{margin:0;border:0;border-radius:0;background:var(--df-bg);box-shadow:none;overflow:visible}.df-v2:has(.df-mobile-home) .df-mobile-appbar{padding-inline:var(--df-study-gutter);background:var(--df-bg)}.df-mobile-home :is(button,a):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}.df-mobile-task-card :is(button,a):focus-visible{outline-color:var(--df-surface)}}@media(max-width:360px){.df-v2 .df-mobile-task-card{padding:16px}.df-mobile-task-actions{gap:8px}.df-mobile-user-avatar-wrap{width:52px;height:72px}.df-mobile-user-card{gap:8px}.df-mobile-dock-card{flex-direction:column}}@media(prefers-reduced-motion:reduce){.df-mobile-progress-fill,.df-mobile-start-btn{transition:none}}.df-mobile-icon-btn,.df-mobile-wardrobe-link,.df-mobile-back-btn{min-width:44px;min-height:44px}.df-mobile-wallet{color:#855015}.df-mobile-task-actions--three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.df-mobile-task-actions--three>.df-mobile-start-btn{grid-column:1/-1}.df-v2 .df-mobile-task-actions--three :is(.df-mobile-today-btn,.df-mobile-switch-book-btn){display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:10px 8px;border:1px solid var(--df-brand-soft);border-radius:var(--df-study-control-radius);background:transparent;color:var(--df-surface);font-size:var(--df-study-support);font-weight:600;line-height:1.5;text-decoration:none;text-align:center}.df-mobile-task-actions--three>.df-mobile-today-btn:hover{background:#ffffff1a}.df-v2 .df-html-learning.df-mobile-learning-shell{width:100%;min-width:0;background:var(--df-surface, #fff);color:var(--df-ink);font-family:var(--df-font-ui)}.df-mobile-learning-hud{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 8px;position:sticky;top:0;z-index:20;padding:8px var(--df-study-gutter);background:var(--df-surface, #fff);border-bottom:1px solid var(--df-line)}.df-mobile-learning-hud button,.df-mobile-step-review summary{min-height:44px;min-width:44px;border:0;border-radius:10px;cursor:pointer}.df-mobile-hud-close{display:grid;place-items:center;padding:0;background:transparent;color:var(--df-ink-2)}.df-mobile-hud-center{align-self:center;min-width:0}.df-mobile-hud-title{margin:0 0 7px;font-size:var(--df-study-body);line-height:1.5;font-weight:700}.df-mobile-hud-title span{font-size:var(--df-study-caption);font-weight:400;color:var(--df-ink-2)}.df-mobile-hud-track{display:flex;gap:4px}.df-mobile-hud-track i{flex:1;height:6px;border-radius:4px;background:var(--df-line)}.df-mobile-hud-track i[data-state=done]{background:var(--df-brand-deep)}.df-mobile-hud-track i[data-state=skipped]{background:var(--df-line-strong)}.df-mobile-hud-track i[data-current]{outline:2px solid var(--df-brand-deep);outline-offset:2px}.df-mobile-hud-skip{padding:8px;align-self:center;color:var(--df-ink-2);background:var(--df-surface-2, #edf4ee);font-size:13px}.df-mobile-hud-skip:disabled{opacity:.6;cursor:default}.df-mobile-hud-context{grid-column:1 / -1;margin:6px 0 0;font-size:12px;color:var(--df-ink-2)}.df-mobile-step-review{grid-column:1 / -1}.df-mobile-step-review summary{display:flex;align-items:center;font-size:13px;color:var(--df-brand-ink);width:fit-content;padding:0 8px}.df-mobile-step-review summary svg{margin-inline-start:6px}.df-mobile-step-review nav{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:8px}.df-mobile-step-review nav button{padding:8px 10px;display:flex;gap:8px;align-items:center;border:1px solid var(--df-line);color:var(--df-ink);background:var(--df-surface, #fff)}.df-mobile-step-review nav button span{font-size:12px;color:var(--df-ink-2)}.df-mobile-step-review nav button[aria-current]{border-color:var(--df-brand-deep);background:var(--df-brand-soft)}.df-mobile-learning-notice{padding:8px 16px;font-size:14px;background:var(--df-surface-2, #edf4ee);color:var(--df-ink-2)}.df-mobile-learning-notice p{margin:0}.df-mobile-learning-notice:has(>.html-save-progress:only-child){padding:0;position:relative}.df-mobile-learning-notice>.html-save-progress:only-child{position:absolute;right:12px;top:0;z-index:2;padding:2px 6px;border-radius:4px;background:var(--df-surface-2, #edf4ee);font-size:12px}.df-mobile-learning-body{padding:20px 16px 0;min-width:0}.df-mobile-deck-theme{margin:0 0 16px;font-size:14px;color:var(--df-ink-2);text-align:left}.df-mobile-deck-theme b{margin:0 6px;color:var(--df-brand-ink)}.df-mobile-deck-card-wrap{position:relative}.df-html-learning .df-mobile-deck-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-height:clamp(220px,34svh,300px);padding:24px 16px 72px;border:1px solid var(--df-line-strong);border-radius:16px;background:var(--df-surface, #fff);color:var(--df-ink);cursor:pointer}.df-html-learning .df-mobile-deck-card[aria-pressed=true]{background:var(--df-brand-soft)}.df-mobile-card-hint{font-size:14px;color:var(--df-ink-2)}.df-mobile-card-word{font-size:clamp(24px,7vw,36px);line-height:1.3;max-width:100%}.df-mobile-card-zh{font-size:24px;line-height:1.6}.df-mobile-card-ipa{color:var(--df-ink-2);font-size:16px}.df-mobile-card-bits{font-size:16px;line-height:1.6}.df-mobile-card-speech{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.df-v2 .df-mobile-learning-shell .say,.df-v2 .df-mobile-word-detail .say{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;flex-shrink:0;color:var(--df-brand-ink);background:var(--df-brand-soft);border:0;border-radius:50%;opacity:1}.df-v2 .df-mobile-learning-shell .say svg,.df-v2 .df-mobile-word-detail .say svg{display:block;width:22px;height:22px}.df-mobile-deck-navigation{display:flex;justify-content:center;align-items:center;gap:24px;padding:8px 0}.df-mobile-deck-navigation button{display:grid;place-items:center;min-height:44px;min-width:44px;padding:0;border:1px solid var(--df-line);border-radius:10px;background:var(--df-surface-2, #edf4ee);color:var(--df-brand-ink)}.df-mobile-deck-navigation button:disabled{opacity:.4}.df-mobile-deck-navigation span{color:var(--df-ink-2);font-size:14px;font-variant-numeric:tabular-nums}.df-mobile-sheet-trigger{min-height:44px;width:100%;gap:8px;color:var(--df-brand-ink);font-size:14px}.df-v2.df-mobile-word-sheet{display:block;position:fixed;inset:auto 0 0;margin:0 auto;transform:none;translate:none;width:min(100%,680px);max-width:none;max-height:88dvh;padding:16px 20px max(20px,env(safe-area-inset-bottom));overflow-y:auto;border-radius:16px 16px 0 0;background:var(--df-surface, #fff);color:var(--df-ink)}.df-mobile-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.df-mobile-sheet-header h2{font-size:20px;line-height:1.4;min-width:0}.df-mobile-sheet-header button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:0;color:var(--df-ink-2);background:var(--df-surface-2, #edf4ee);border-radius:10px}.df-v2 .df-mobile-word-detail{min-height:0;background:transparent}.df-v2 .df-mobile-word-detail .dd{display:block;position:static;width:auto;max-height:none;padding:0;background:transparent;border:0;box-shadow:none}.df-v2 .df-mobile-word-detail .dd-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.df-v2 .df-mobile-word-detail .dd-zh{flex-basis:100%;font-size:18px;line-height:1.6}.df-v2 .df-mobile-word-detail .dd-bits{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.df-v2 .df-mobile-word-detail .dd-line{line-height:1.7;margin:16px 0}.df-v2 .df-mobile-word-detail .dd-block-head{display:block;margin:20px 0 8px}.df-v2 .df-mobile-word-detail .dd-form-item,.df-v2 .df-mobile-word-detail .dd-deriv-item,.df-v2 .df-mobile-word-detail .dd-phrase-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}@media(max-width:720px){.df-learning-route:has(.df-mobile-learning-shell)>.df-learning-bar{display:none}.df-learning-route:has(.df-mobile-learning-shell) .df-learning-scroll{padding:0}.df-v2 .df-mobile-learning-shell .oneq-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.df-v2 .df-mobile-learning-shell .q-word{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;line-height:1.6;font-size:15px}.df-v2 .df-mobile-learning-shell .q-word-zh{flex-basis:100%}.df-v2 .df-mobile-learning-shell .oneq-opts{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.df-v2 .df-mobile-learning-shell .opts button{min-height:52px;min-width:0;padding:12px 16px;line-height:1.6;font-size:16px}.df-v2 .df-mobile-learning-shell .opts button small{display:block}.df-v2 .df-mobile-learning-shell .match-groups{grid-template-columns:minmax(0,1fr);min-width:0}.df-v2 .df-mobile-learning-shell .match-group{min-width:0;padding:12px 8px;box-shadow:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}.df-v2 .df-mobile-learning-shell .match-group .col{min-width:0}.df-v2 .df-mobile-learning-shell .match-group button{min-height:52px;height:auto;min-width:0;width:100%;padding:10px 8px;font-size:15px;line-height:1.5;white-space:normal}.df-v2 .df-mobile-learning-shell .match-group button span{min-width:0;overflow:visible;text-overflow:clip;white-space:normal}.df-v2 .df-mobile-learning-shell .match-group button.used:disabled{opacity:1;color:var(--df-good-ink);background:var(--df-good-bg)}.df-v2 .df-mobile-learning-shell .bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.df-v2 .df-mobile-learning-shell .bank button,.df-v2 .df-mobile-learning-shell .blank{min-height:44px;min-width:44px;padding:8px 12px;font-size:16px;line-height:1.5}.df-v2 .df-mobile-learning-shell :is(.opts button.good,.tf button.good,.blank.good,.col-fix,.cloze-explain-item .answer){color:var(--df-good-ink)}.df-v2 .df-mobile-learning-shell :is(.opts button.bad,.tf button.bad,.blank.bad,.cloze-feedback-title){color:var(--df-bad-ink)}.df-v2 .df-mobile-learning-shell .q-lead,.df-v2 .df-mobile-learning-shell .muted{color:var(--df-ink-2);font-size:14px;line-height:1.6}.df-v2 .df-mobile-learning-shell .settle-acts{display:flex;flex-wrap:wrap;gap:8px}.df-v2 .df-mobile-learning-shell .settle-acts button{min-height:44px;white-space:normal}.df-v2 .df-html-settlement .settle{padding:20px 16px 0}.df-v2 .df-html-settlement .settleChar{width:160px;height:190px;margin:0 auto 12px}.df-v2 .df-html-settlement .settleChar img{width:100%;height:100%;object-fit:contain}.df-v2 .df-html-settlement .levelBadge{top:auto;bottom:0;right:-12px}.df-v2 .df-html-settlement .complete{font-size:clamp(28px,8vw,38px);line-height:1.3;margin-top:12px}.df-v2 .df-html-settlement .actions{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--df-surface, #fff)}.df-v2 .df-html-settlement .actions button{width:100%;min-height:48px}.df-v2 .df-html-settlement #df52SettleSummary{line-height:1.6}}@media(max-width:360px){.df-mobile-hud-title span{display:inline}.df-mobile-deck-card{min-height:220px}.df-v2 .df-html-settlement .settleChar{width:110px;height:135px}}.df-answer-feedback{display:flex;align-items:center;gap:12px;grid-column:1/-1;padding:12px 0;color:var(--df-good-ink, #216344)}.df-answer-feedback svg{flex-shrink:0}.df-answer-feedback strong,.df-answer-feedback span{display:block}.df-answer-feedback strong{font-size:17px}.df-answer-feedback span{font-size:14px;line-height:1.5}.bar[data-answer-tone=correct]{background:var(--df-good-bg, #e8f5ec)}.bar[data-answer-tone=hint] .df-answer-feedback{color:var(--df-ink-2, #42574b)}.df-answer-feedback svg{animation:dfAnswerCheck .18s ease-out}@keyframes dfAnswerCheck{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}.df-sheet-handle{width:36px;height:4px;margin:0 auto 16px;border-radius:4px;background:var(--df-line-strong, #b9d0be)}.df-v2.df-mobile-word-sheet[data-state=open]{animation:dfSheetUp .3s cubic-bezier(.16,1,.3,1)}.df-v2.df-mobile-word-sheet[data-state=closed]{animation:dfSheetDown .18s ease-in}@keyframes dfSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dfSheetDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.df-mobile-review-trigger{display:block;width:100%;padding:6px 8px;text-align:left;color:var(--df-ink);background:transparent}.df-mobile-review-trigger .df-mobile-hud-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.df-mobile-review-trigger .df-mobile-hud-title>span{flex:0 0 auto;margin-left:auto;font-variant-numeric:tabular-nums}.df-learning-step-sheet>p{color:var(--df-ink-2);font-size:14px;margin-bottom:16px}.df-learning-step-sheet nav{display:grid}.df-learning-step-sheet nav button{display:grid;grid-template-columns:36px minmax(0,1fr) 64px;align-items:center;gap:12px;min-height:60px;padding:10px 12px;border:0;border-bottom:1px solid var(--df-line);border-radius:0;text-align:left;background:transparent;color:var(--df-ink);font-size:16px}.df-learning-step-sheet nav button[aria-current=step]{background:var(--df-brand-soft);color:var(--df-brand-ink)}.df-learning-step-sheet nav button:disabled{color:var(--df-ink-2);opacity:.6}.df-learning-step-sheet nav small{text-align:right;font-size:13px}.df-step-number{display:grid;place-items:center;font-variant-numeric:tabular-nums}.df-v2 .df-html-learning .df-group-review{display:block;width:100%;margin:0;text-align:left;padding:8px 0 16px;background:transparent;border:0;box-shadow:none;animation:none}.df-v2 .df-html-learning .df-group-review h2{margin:0 0 12px;font-size:23px;line-height:1.4}.df-review-description{color:var(--df-ink-2);font-size:15px;line-height:1.7;margin:0 0 24px}.df-review-words{width:100%}.df-review-words details{border-bottom:1px solid var(--df-line)}.df-review-words summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer;list-style:none;min-height:64px}.df-review-words summary::-webkit-details-marker{display:none}.df-review-words summary>span:first-child{min-width:0}.df-review-words summary b{display:block;font-size:22px;line-height:1.35;overflow-wrap:normal}.df-review-words summary span span{display:block;font-size:15px;color:var(--df-ink-2);margin-top:4px}.df-review-more{flex-shrink:0;font-size:14px;color:var(--df-brand-ink)}.df-review-word-details{padding:0 0 20px}.df-review-word-details .dd-top,.df-review-word-details .settle-acts{display:flex;flex-wrap:wrap;gap:8px}.df-review-word-details .settle-acts button{min-height:44px}.df-html-learning .sp-correction{color:var(--df-ink-2);font-size:15px;line-height:1.6}@media(max-width:720px){html.df-ui-v2:has(.df-mobile-learning-shell){overflow:hidden}.df-v2.df-prototype:has(.df-mobile-learning-shell){padding:0}.df-v2:has(.df-mobile-learning-shell) .df-prototype-frame{margin:0;border:0;border-radius:0}.df-v2:has(.df-mobile-learning-shell) .df-v2-main{padding:0}.df-v2 .df-html-learning.df-mobile-learning-shell{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}.df-mobile-learning-hud{position:relative;flex-shrink:0}.df-mobile-learning-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--df-study-gutter);scroll-padding-block:16px}.df-mobile-learning-notice{flex-shrink:0;max-height:22dvh;overflow:auto}.df-mobile-learning-notice:empty{display:none}.df-mobile-learning-footer{flex-shrink:0}.df-v2 .df-mobile-learning-body .bar{margin-inline:0}.df-v2 .df-mobile-learning-shell .df-mobile-deck-card{height:clamp(220px,35dvh,300px);min-height:0;overflow-y:auto}.df-mobile-hud-context{margin:4px 8px}}@media(prefers-reduced-motion:reduce){.df-v2.df-mobile-word-sheet[data-state]{animation:none}.df-answer-feedback svg{animation:none}}@media(max-width:720px){.df-mobile-cloze .df-mobile-learning-hud{position:static;margin:calc(-1 * var(--df-study-gutter)) calc(-1 * var(--df-study-gutter)) 16px}.df-mobile-cloze-tools{flex-shrink:0;padding:0 16px 8px;border-top:1px solid var(--df-line);background:var(--df-surface)}.df-mobile-cloze-tools:empty{display:none}.df-v2 .df-mobile-cloze-tools .cloze-selection{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0;font-size:13px}.df-v2 .df-mobile-cloze-tools .cloze-selection button{flex-shrink:0;min-height:44px;padding:6px 8px;font-size:13px}.df-v2 .df-mobile-cloze-tools .bank{margin:0;padding:0 2px 2px;max-height:148px;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:0;background:transparent;scrollbar-width:thin;scrollbar-color:var(--df-brand-deep) var(--df-surface-2)}.df-v2 .df-mobile-cloze-tools .bank button{flex-shrink:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}}@media(max-width:360px){.df-mobile-cloze .df-mobile-learning-hud{margin-inline:calc(-1 * var(--df-study-gutter))}}@media(max-width:720px)and (max-height:640px){.df-v2 .df-mobile-cloze-tools .bank{max-height:98px}}@media(max-width:720px){.df-v2 .df-html-learning.df-mobile-learning-shell{background:var(--df-bg)}.df-mobile-learning-hud{gap:4px 8px}.df-mobile-review-trigger{padding:6px 0}.df-mobile-review-trigger .df-mobile-hud-title{flex-wrap:nowrap}.df-mobile-hud-title>svg{flex-shrink:0}.df-mobile-hud-context{margin:4px 0;font-size:var(--df-study-caption);line-height:1.5}.df-mobile-hud-skip{font-size:var(--df-study-caption);background:transparent;padding-inline:4px}.df-mobile-learning-hud button{border-radius:var(--df-study-control-radius)}.df-mobile-learning-body{scrollbar-width:thin;scrollbar-color:var(--df-line-strong) transparent}.df-v2 .df-html-learning.df-mobile-learning-shell .oneq{margin:0 auto;padding:16px;border:1px solid var(--df-line);border-radius:var(--df-study-card-radius);background:var(--df-surface);box-shadow:none}.df-v2 .df-html-learning.df-mobile-learning-shell .oneq-head{gap:8px;padding-bottom:12px;margin-bottom:16px}.df-v2 .df-html-learning.df-mobile-learning-shell .q-prog{display:block;width:fit-content;padding:0;border:0;background:transparent;color:var(--df-ink-2);font-size:var(--df-study-caption);font-weight:500;line-height:1.5}.df-v2 .df-html-learning.df-mobile-learning-shell .q-word{font-size:var(--df-study-support);gap:8px;line-height:1.6}.df-v2 .df-html-learning.df-mobile-learning-shell .q-word>b{font-size:var(--df-study-heading)}.df-v2 .df-html-learning.df-mobile-learning-shell .q-word-zh{color:var(--df-ink-2);font-weight:400}.df-v2 .df-html-learning.df-mobile-learning-shell .word-ipa{font-size:var(--df-study-support);color:var(--df-ink-2);opacity:1}.df-v2 .df-html-learning.df-mobile-learning-shell .blank{font-family:var(--df-font-ui)}.df-v2 .df-html-learning.df-mobile-learning-shell .oneq-ask{font-size:var(--df-study-body);line-height:1.6;text-align:left;margin-bottom:12px}.df-v2 .df-html-learning.df-mobile-learning-shell .oneq-en{padding:0;margin-bottom:16px;background:transparent;border:0;border-radius:0;font-family:var(--df-font-ui);font-size:var(--df-study-heading);font-weight:500;line-height:1.8}.df-v2 .df-html-learning.df-mobile-learning-shell .oneq-why{margin-top:12px;padding:12px;border-radius:var(--df-study-control-radius);font-size:var(--df-study-support);line-height:1.7}.df-v2 .df-html-learning.df-mobile-learning-shell :is(.tf button,.opts button,.bank button){border-radius:var(--df-study-control-radius);font-family:var(--df-font-ui);font-size:var(--df-study-body)}.df-v2 .df-html-learning.df-mobile-learning-shell .tf{gap:12px}.df-v2 .df-html-learning.df-mobile-learning-shell .tf button{min-height:52px}.df-v2 .df-html-learning.df-mobile-learning-shell .q-lead{text-align:left;font-size:var(--df-study-support);margin:0 0 12px}.df-v2 .df-html-learning.df-mobile-learning-shell .match-status{margin:0 0 16px;min-height:0}.df-v2 .df-html-learning.df-mobile-learning-shell .match-status .q-lead{margin:0}.df-v2 .df-html-learning.df-mobile-learning-shell .match-group{padding:12px 8px;border-radius:var(--df-study-card-radius)}.df-v2 .df-html-learning.df-mobile-learning-shell .match-group button{border-radius:var(--df-study-control-radius);font-family:var(--df-font-ui);font-size:var(--df-study-support)}.df-v2 .df-html-learning.df-mobile-learning-shell .match-group .col:first-of-type button{font-size:var(--df-study-body)}.df-mobile-deck-theme{text-align:left;font-size:var(--df-study-support);line-height:1.6}.df-v2 .df-html-learning.df-mobile-learning-shell .df-mobile-deck-card{border-color:var(--df-line);border-radius:var(--df-study-card-radius);background:var(--df-surface);gap:16px}.df-v2 .df-html-learning.df-mobile-learning-shell .df-mobile-deck-card[aria-pressed=true]{background:var(--df-brand-soft);border-color:var(--df-brand-deep)}.df-mobile-card-word{font-size:clamp(1.5rem,7vw,2.25rem);line-height:1.3;font-weight:700}.df-mobile-card-zh{font-size:var(--df-study-title)}.df-mobile-card-hint,.df-mobile-deck-navigation span{font-size:var(--df-study-support)}.df-mobile-card-ipa{font-size:var(--df-study-body)}.df-v2 .df-mobile-sheet-trigger{display:flex;justify-content:center;align-items:center;border:1px solid var(--df-line);border-radius:var(--df-study-control-radius);background:var(--df-surface);font-size:var(--df-study-support);font-family:var(--df-font-ui)}.df-mobile-deck-navigation{gap:24px;padding:12px 0}.df-mobile-deck-navigation button{border-radius:var(--df-study-control-radius);background:var(--df-surface)}.df-v2 .df-html-learning.df-mobile-learning-shell .sp-zh{font-family:var(--df-font-ui);font-size:var(--df-study-heading);line-height:1.6}.df-v2 .df-html-learning.df-mobile-learning-shell .sp-tip{min-height:var(--df-study-target);border-radius:var(--df-study-control-radius);font-size:var(--df-study-support)}.df-v2 .df-html-learning.df-mobile-learning-shell .passage{margin-top:0;padding:16px;border:1px solid var(--df-line);border-radius:var(--df-study-card-radius);background:var(--df-surface);font-family:var(--df-font-ui);font-size:var(--df-study-heading);line-height:1.8;box-shadow:none}.df-v2 .df-html-learning.df-mobile-learning-shell :is(.q-zh-btn,.lk-sw){min-width:var(--df-study-target);min-height:var(--df-study-target);font-size:var(--df-study-support)}.df-v2 :is(.df-mobile-learning-shell,.df-mobile-word-detail) :is(.wb-add,.lk-add){min-height:var(--df-study-target);padding:8px 12px;border-radius:var(--df-study-control-radius);font-size:var(--df-study-support)}.df-v2 .df-html-learning.df-mobile-learning-shell .df-group-review{padding:0}.df-v2 .df-html-learning.df-mobile-learning-shell .df-group-review h2{font-size:var(--df-study-title);margin-bottom:8px}.df-review-description{font-size:var(--df-study-support);margin-bottom:24px}.df-review-words summary b{font-size:var(--df-study-heading)}.df-review-words summary span span{font-size:var(--df-study-support);line-height:1.6}.df-review-words summary{padding:16px 0}.df-review-more{font-size:var(--df-study-support)}.df-v2.df-mobile-word-sheet{font-family:var(--df-font-ui);padding-inline:var(--df-study-gutter)}.df-mobile-sheet-header h2{font-size:var(--df-study-heading)}.df-mobile-learning-shell ::selection{background:var(--df-brand-soft);color:var(--df-brand-ink)}.df-mobile-learning-shell :is(button,input,summary):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}}.df-mobile-deck-card-wrap .df-mobile-deck-navigation{position:absolute;inset:auto 16px 16px;display:flex;justify-content:space-between;padding:0;pointer-events:none}.df-mobile-deck-card-wrap .df-mobile-deck-navigation button{pointer-events:auto;width:48px;height:48px;border:2px solid var(--df-brand-deep);background:var(--df-brand-soft);color:var(--df-brand-ink);box-shadow:0 2px 0 var(--df-line)}.df-mobile-deck-card-wrap .df-mobile-deck-navigation button:disabled{opacity:.35;box-shadow:none}.df-mobile-deck-position{margin:12px 0;text-align:center;color:var(--df-ink-2);font-size:var(--df-study-support,14px)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-content:"";--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer reset;@layer theme{:root,:host{--tw-color-amber-50:oklch(98.7% .022 95.277);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-emerald-500:oklch(69.6% .17 162.48);--tw-color-emerald-600:oklch(59.6% .145 163.225);--tw-color-emerald-700:oklch(50.8% .118 165.612);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-600:oklch(55.8% .288 302.321);--tw-color-rose-50:oklch(96.9% .015 12.422);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-black:#000;--tw-color-white:#fff;--tw-spacing:.25rem;--tw-container-xs:20rem;--tw-container-lg:32rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height: 1.5 ;--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-tracking-widest:.1em;--tw-radius-xs:.125rem;--tw-ease-out:cubic-bezier(0, 0, .2, 1);--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer components,pages;@layer df-base{.df-v2 :is(.paper-page,.profile-page,.profile-modal) :where(*){border:revert-layer}.df-v2 :is(.paper-page,.profile-page,.profile-modal) :where(button,input,select,textarea){font:revert-layer;color:revert-layer;background:revert-layer}.df-v2 :is(.paper-page,.profile-page,.profile-modal) :where(h1,h2,h3,p,ul,ol){margin:revert-layer}html.df-ui-v2,html.df-ui-v2 body{width:100%;min-width:0}.df-v2{--df-font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--df-bg:#f1f7f2;--df-surface:#fff;--df-surface-2:#edf4ee;--df-surface-3:#e3ede5;--df-ink:#17281f;--df-ink-2:#42574b;--df-ink-3:#5a6a61;--df-brand-deep:#26794f;--df-brand-ink:#1f6b46;--df-brand-soft:#e3f4ea;--df-line:#d7e5da;--df-line-strong:#b9d0be;--df-bad-ink:#a3352f;--df-bad-bg:#fdeceb;--df-good-ink:#1c7a49;--df-good-bg:#e7f6ee;--df-gold-ink:#81631d;--df-gold-bg:#faf5e7;--df-radius-card:18px;--df-study-gutter:16px;--df-study-gap:12px;--df-study-section-gap:24px;--df-study-card-radius:16px;--df-study-control-radius:12px;--df-study-title:1.5rem;--df-study-heading:1.125rem;--df-study-body:1rem;--df-study-support:.875rem;--df-study-caption:.8125rem;--df-study-target:44px;--df-study-action:48px;--df-shadow:0 8px 28px #1e482f0d;color:var(--df-ink);font-family:var(--df-font-ui);text-align:start;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7}.df-v2 :where(*),.df-v2:before,.df-v2:after{box-sizing:border-box;border:0 solid var(--df-line)}.df-v2 :where(h1,h2,h3,p,ul,ol){margin:0}.df-v2 :where(h1,h2,h3){font-weight:700;line-height:1.3}.df-v2 :where(h1){font-size:25px}.df-v2 :where(h2){font-size:21px}.df-v2 :where(h3){font-size:18px}.df-v2 :where(button,input,select,textarea){font:inherit;color:inherit;background:0 0}.df-v2 :where(button){cursor:pointer}.df-v2 :where(button:disabled){cursor:not-allowed}.df-v2 :where(a){color:inherit;text-decoration:none}.df-v2 :where(img,svg){display:block}.df-v2 :where(img){max-width:100%}.df-v2 :where(button,a,input,[tabindex]):focus-visible{outline:2px solid var(--df-brand-deep);outline-offset:3px}.df-v2 :where([data-slot=button],[data-slot=tabs-trigger]){font-weight:600}.df-v2 :where([data-slot=dialog-content],[data-slot=alert-dialog-content]){max-height:calc(100dvh - 32px);overflow-y:auto}.df-v2 :where([data-slot=dialog-close]){place-items:center;min-width:44px;min-height:44px;display:grid}@media(prefers-reduced-motion:reduce){.df-v2,.df-v2 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}@layer df-components{.df-v2-main{max-width:1136px;margin:auto;padding:36px 28px 48px}.df-v2-muted{color:var(--df-ink-3);font-size:13px}.df-v2-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.df-v2-word-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.df-v2-word{border:1px solid var(--df-line);background:var(--df-surface);color:var(--df-ink-2);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:15px;font-weight:600}.df-v2-status{gap:16px;max-width:680px;margin:auto;padding:40px;display:grid}.df-v2-footer{color:var(--df-ink-3);flex-wrap:wrap;gap:8px 20px;margin-top:28px;font-size:13px;display:flex}.df-v2-footer a{text-underline-offset:4px;text-decoration:underline}.df-v2-showcase{gap:24px;display:grid}.df-v2-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.df-v2-showcase-section{gap:16px;display:grid}.df-v2-swatch{border:1px solid var(--df-line);border-radius:8px;padding:12px}.df-v2-feedback{background:var(--df-bad-bg);color:var(--df-bad-ink);border-radius:11px;gap:10px;padding:16px;display:flex}.df-v2-feedback svg{flex-shrink:0;margin-top:3px}.df-v2-feedback p{margin-top:4px}@media(max-width:720px){.df-v2-main{padding:24px 16px calc(32px + env(safe-area-inset-bottom))}.df-v2-word{padding:5px 8px;font-size:14px}.df-v2-status{padding:24px 8px}}.df-v2 .df-learning{max-width:1136px;margin:auto}.df-v2 .df-learning-topline{color:var(--df-ink-2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.df-v2 .df-learning-layout{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:28px;display:grid}.df-v2 .df-learning-outline{gap:16px;display:grid;position:sticky;top:24px}.df-v2 .df-learning-outline h1{font-size:21px}.df-v2 .df-learning-outline p{color:var(--df-ink-2);font-size:13px}.df-v2 .df-learning-content{gap:20px;min-width:0;display:grid}.df-v2 .df-learning-word,.df-v2 .df-learning-practice{background:var(--df-surface);border-radius:var(--df-radius-card);border:1px solid var(--df-line);box-shadow:var(--df-shadow);gap:20px;padding:28px}.df-v2 .df-learning-word-title{flex-wrap:wrap;align-items:baseline;gap:12px 20px;display:flex}.df-v2 .df-learning-word-title h2{letter-spacing:-.025em;word-break:normal;overflow-wrap:normal;font-size:clamp(23px,4vw,32px)}.df-v2 .df-learning-word .pronunciation{color:var(--df-ink-2);gap:10px}.df-v2 .df-learning-word .pronunciation__phonetic{color:var(--df-ink-3);font-family:var(--df-font-ui);font-size:15px}.df-v2 .df-learning-word .pronunciation__button{border:1px solid var(--df-line);background:var(--df-brand-soft);width:44px;min-width:44px;height:44px;color:var(--df-brand-ink);border-radius:8px}.df-v2 .df-learning-meaning{font-size:18px;font-weight:600}.df-v2 .df-learning-uses{border-top:1px solid var(--df-line);gap:24px;padding-top:24px;display:grid}.df-v2 .df-learning-uses article{gap:8px;display:grid}.df-v2 .df-learning-uses blockquote{border-left:3px solid var(--df-line-strong);background:var(--df-surface-2);margin:4px 0 0;padding:12px 16px;font-size:16px}.df-v2 .df-learning-muted{color:var(--df-ink-3);font-size:13px}.df-v2 .df-learning-practice header{gap:12px;display:grid}.df-v2 .df-learning-practice header p{color:var(--df-ink-2)}.df-v2 .df-learning-passage{word-break:normal;overflow-wrap:normal;font-size:18px;line-height:2.6}.df-v2 .df-learning-passage button{vertical-align:baseline;color:var(--df-brand-ink);margin:0 4px;display:inline-flex}.df-v2 .df-learning-translation{background:var(--df-surface-2);color:var(--df-ink-2);border-radius:8px;padding:14px 16px}.df-v2 .df-learning-bank{flex-wrap:wrap;gap:10px;display:flex}.df-v2 .df-learning-feedback{border-radius:11px;gap:12px;padding:16px;display:flex}.df-v2 .df-learning-feedback svg{flex-shrink:0;margin-top:4px}.df-v2 .df-learning .is-correct{color:var(--df-good-ink);background:var(--df-good-bg)}.df-v2 .df-learning .is-incorrect{color:var(--df-bad-ink);background:var(--df-bad-bg)}.df-v2 .df-learning-passage button:disabled{opacity:1}.df-v2 .df-learning-actions{justify-content:space-between;align-items:center;gap:16px;padding:4px 0 20px;display:flex}.df-v2 .df-learning-actions p{color:var(--df-ink-3);font-size:13px}.df-v2 .df-learning-save-error{color:var(--df-bad-ink);background:var(--df-bad-bg);border-radius:11px;gap:12px;padding:16px;display:grid}.df-v2 .df-learning-save-error p{color:var(--df-bad-ink)}@media(max-width:800px){.df-v2 .df-learning-layout{grid-template-columns:minmax(0,1fr);gap:20px}.df-v2 .df-learning-outline{gap:10px;position:static}.df-v2 .df-learning-outline h1{font-size:21px}.df-v2 .df-learning-word,.df-v2 .df-learning-practice{padding:20px}.df-v2 .df-learning-actions{flex-direction:column;align-items:stretch}.df-v2 .df-learning-actions button{width:100%}.df-v2 .df-learning-topline{margin-bottom:16px;font-size:13px}.df-v2 .df-learning-passage{font-size:17px}}}@layer utilities{.tw\:\@container\/card-header{container:card-header/inline-size}.tw\:pointer-events-none{pointer-events:none}.tw\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\:absolute{position:absolute}.tw\:fixed{position:fixed}.tw\:relative{position:relative}.tw\:inset-0{inset:0}.tw\:top-4{top:calc(var(--tw-spacing) * 4)}.tw\:top-\[50\%\]{top:50%}.tw\:right-2{right:calc(var(--tw-spacing) * 2)}.tw\:right-4{right:calc(var(--tw-spacing) * 4)}.tw\:left-2{left:calc(var(--tw-spacing) * 2)}.tw\:left-\[50\%\]{left:50%}.tw\:z-50{z-index:50}.tw\:col-start-2{grid-column-start:2}.tw\:row-span-2{grid-row:span 2/span 2}.tw\:row-start-1{grid-row-start:1}.tw\:-mx-1{margin-inline:calc(var(--tw-spacing) * -1)}.tw\:my-1{margin-block:var(--tw-spacing)}.tw\:my-3{margin-block:calc(var(--tw-spacing) * 3)}.tw\:mt-2{margin-top:calc(var(--tw-spacing) * 2)}.tw\:mt-3{margin-top:calc(var(--tw-spacing) * 3)}.tw\:mr-1{margin-right:var(--tw-spacing)}.tw\:mb-2{margin-bottom:calc(var(--tw-spacing) * 2)}.tw\:ml-1{margin-left:var(--tw-spacing)}.tw\:ml-auto{margin-left:auto}.tw\:block{display:block}.tw\:flex{display:flex}.tw\:grid{display:grid}.tw\:inline{display:inline}.tw\:inline-flex{display:inline-flex}.tw\:size-2{width:calc(var(--tw-spacing) * 2);height:calc(var(--tw-spacing) * 2)}.tw\:size-2\.5{width:calc(var(--tw-spacing) * 2.5);height:calc(var(--tw-spacing) * 2.5)}.tw\:size-3\.5{width:calc(var(--tw-spacing) * 3.5);height:calc(var(--tw-spacing) * 3.5)}.tw\:size-4{width:calc(var(--tw-spacing) * 4);height:calc(var(--tw-spacing) * 4)}.tw\:size-6{width:calc(var(--tw-spacing) * 6);height:calc(var(--tw-spacing) * 6)}.tw\:size-8{width:calc(var(--tw-spacing) * 8);height:calc(var(--tw-spacing) * 8)}.tw\:size-10{width:calc(var(--tw-spacing) * 10);height:calc(var(--tw-spacing) * 10)}.tw\:size-11{width:calc(var(--tw-spacing) * 11);height:calc(var(--tw-spacing) * 11)}.tw\:size-16{width:calc(var(--tw-spacing) * 16);height:calc(var(--tw-spacing) * 16)}.tw\:h-2{height:calc(var(--tw-spacing) * 2)}.tw\:h-3\.5{height:calc(var(--tw-spacing) * 3.5)}.tw\:h-4{height:calc(var(--tw-spacing) * 4)}.tw\:h-5{height:calc(var(--tw-spacing) * 5)}.tw\:h-6{height:calc(var(--tw-spacing) * 6)}.tw\:h-8{height:calc(var(--tw-spacing) * 8)}.tw\:h-11{height:calc(var(--tw-spacing) * 11)}.tw\:h-12{height:calc(var(--tw-spacing) * 12)}.tw\:h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.tw\:h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.tw\:h-full{height:100%}.tw\:h-px{height:1px}.tw\:max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\:max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.tw\:min-h-11{min-height:calc(var(--tw-spacing) * 11)}.tw\:w-3\.5{width:calc(var(--tw-spacing) * 3.5)}.tw\:w-4{width:calc(var(--tw-spacing) * 4)}.tw\:w-5{width:calc(var(--tw-spacing) * 5)}.tw\:w-6{width:calc(var(--tw-spacing) * 6)}.tw\:w-fit{width:fit-content}.tw\:w-full{width:100%}.tw\:max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.tw\:min-w-0{min-width:0}.tw\:min-w-\[8rem\]{min-width:8rem}.tw\:min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.tw\:flex-1{flex:1}.tw\:shrink-0{flex-shrink:0}.tw\:origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\:origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.tw\:origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\:translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:rotate-45{rotate:45deg}.tw\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\:cursor-default{cursor:default}.tw\:scroll-my-1{scroll-margin-block:var(--tw-spacing)}.tw\:auto-rows-min{grid-auto-rows:min-content}.tw\:grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.tw\:grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.tw\:flex-col{flex-direction:column}.tw\:flex-col-reverse{flex-direction:column-reverse}.tw\:place-items-center{place-items:center}.tw\:items-center{align-items:center}.tw\:items-start{align-items:flex-start}.tw\:justify-between{justify-content:space-between}.tw\:justify-center{justify-content:center}.tw\:justify-start{justify-content:flex-start}.tw\:gap-1{gap:var(--tw-spacing)}.tw\:gap-1\.5{gap:calc(var(--tw-spacing) * 1.5)}.tw\:gap-2{gap:calc(var(--tw-spacing) * 2)}.tw\:gap-4{gap:calc(var(--tw-spacing) * 4)}.tw\:gap-6{gap:calc(var(--tw-spacing) * 6)}.tw\:self-start{align-self:flex-start}.tw\:justify-self-end{justify-self:flex-end}.tw\:overflow-hidden{overflow:hidden}.tw\:overflow-x-hidden{overflow-x:hidden}.tw\:overflow-y-auto{overflow-y:auto}.tw\:rounded-\[2px\]{border-radius:2px}.tw\:rounded-full{border-radius:3.40282e38px}.tw\:rounded-lg{border-radius:11px}.tw\:rounded-md{border-radius:8px}.tw\:rounded-sm{border-radius:5px}.tw\:rounded-xl{border-radius:18px}.tw\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\:border{border-style:var(--tw-border-style);border-width:1px}.tw\:border-border{border-color:var(--df-line)}.tw\:border-input{border-color:var(--df-line-strong)}.tw\:border-transparent{border-color:#0000}.tw\:bg-accent{background-color:var(--df-brand-soft)}.tw\:bg-amber-50{background-color:var(--tw-color-amber-50)}.tw\:bg-background{background-color:var(--df-bg)}.tw\:bg-black\/50{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab,red,red)){.tw\:bg-black\/50{background-color:color-mix(in oklab,var(--tw-color-black) 50%,transparent)}}.tw\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\:bg-border{background-color:var(--df-line)}.tw\:bg-card{background-color:var(--df-surface)}.tw\:bg-destructive{background-color:var(--df-bad-ink)}.tw\:bg-foreground{background-color:var(--df-ink)}.tw\:bg-muted{background-color:var(--df-surface-2)}.tw\:bg-popover{background-color:var(--df-surface)}.tw\:bg-primary,.tw\:bg-primary\/20{background-color:var(--df-brand-deep)}@supports (color:color-mix(in lab,red,red)){.tw\:bg-primary\/20{background-color:color-mix(in oklab,var(--df-brand-deep) 20%,transparent)}}.tw\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\:bg-rose-50{background-color:var(--tw-color-rose-50)}.tw\:bg-secondary{background-color:var(--df-brand-soft)}.tw\:bg-transparent{background-color:#0000}.tw\:fill-current{fill:currentColor}.tw\:fill-foreground{fill:var(--df-ink)}.tw\:p-1{padding:var(--tw-spacing)}.tw\:p-6{padding:calc(var(--tw-spacing) * 6)}.tw\:p-\[3px\]{padding:3px}.tw\:px-2{padding-inline:calc(var(--tw-spacing) * 2)}.tw\:px-3{padding-inline:calc(var(--tw-spacing) * 3)}.tw\:px-4{padding-inline:calc(var(--tw-spacing) * 4)}.tw\:px-6{padding-inline:calc(var(--tw-spacing) * 6)}.tw\:py-0\.5{padding-block:calc(var(--tw-spacing) * .5)}.tw\:py-1{padding-block:var(--tw-spacing)}.tw\:py-1\.5{padding-block:calc(var(--tw-spacing) * 1.5)}.tw\:py-2{padding-block:calc(var(--tw-spacing) * 2)}.tw\:py-6{padding-block:calc(var(--tw-spacing) * 6)}.tw\:pr-2{padding-right:calc(var(--tw-spacing) * 2)}.tw\:pr-8{padding-right:calc(var(--tw-spacing) * 8)}.tw\:pl-2{padding-left:calc(var(--tw-spacing) * 2)}.tw\:pl-8{padding-left:calc(var(--tw-spacing) * 8)}.tw\:text-center{text-align:center}.tw\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\:text-sm{font-size:.9375rem;line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\:text-xs{font-size:.8125rem;line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\:leading-none{--tw-leading:1;line-height:1}.tw\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\:text-balance{text-wrap:balance}.tw\:whitespace-nowrap{white-space:nowrap}.tw\:text-amber-500{color:var(--tw-color-amber-500)}.tw\:text-amber-600{color:var(--tw-color-amber-600)}.tw\:text-background{color:var(--df-bg)}.tw\:text-blue-600{color:var(--tw-color-blue-600)}.tw\:text-card-foreground{color:var(--df-ink)}.tw\:text-emerald-500{color:var(--tw-color-emerald-500)}.tw\:text-emerald-600{color:var(--tw-color-emerald-600)}.tw\:text-emerald-700{color:var(--tw-color-emerald-700)}.tw\:text-foreground,.tw\:text-foreground\/60{color:var(--df-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:text-foreground\/60{color:color-mix(in oklab,var(--df-ink) 60%,transparent)}}.tw\:text-muted-foreground{color:var(--df-ink-3)}.tw\:text-popover-foreground{color:var(--df-ink)}.tw\:text-primary{color:var(--df-brand-deep)}.tw\:text-primary-foreground{color:#fff}.tw\:text-purple-600{color:var(--tw-color-purple-600)}.tw\:text-rose-600{color:var(--tw-color-rose-600)}.tw\:text-secondary-foreground{color:var(--df-brand-ink)}.tw\:text-white{color:var(--tw-color-white)}.tw\:underline-offset-4{text-underline-offset:4px}.tw\:opacity-50{opacity:.5}.tw\:opacity-70{opacity:.7}.tw\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:ring-offset-background{--tw-ring-offset-color:var(--df-bg)}.tw\:outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.tw\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\:transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\:fade-in-0{--tw-enter-opacity:0}.tw\:outline-none{--tw-outline-style:none;outline-style:none}.tw\:select-none{-webkit-user-select:none;user-select:none}.tw\:zoom-in-95{--tw-enter-scale:.95}.tw\:group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.tw\:group)[data-disabled=true] *){pointer-events:none}.tw\:group-data-\[disabled\=true\]\:opacity-50:is(:where(.tw\:group)[data-disabled=true] *){opacity:.5}.tw\:group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.tw\:group\/tabs)[data-orientation=horizontal] *){height:calc(var(--tw-spacing) * 9)}.tw\:group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *){height:fit-content}.tw\:group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *){width:100%}.tw\:group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *){flex-direction:column}.tw\:group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.tw\:group-data-\[size\=default\]\/switch\:size-4:is(:where(.tw\:group\/switch)[data-size=default] *){width:calc(var(--tw-spacing) * 4);height:calc(var(--tw-spacing) * 4)}.tw\:group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.tw\:group\/alert-dialog-content)[data-size=sm] *){display:grid}.tw\:group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.tw\:group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.tw\:group-data-\[size\=sm\]\/switch\:size-3:is(:where(.tw\:group\/switch)[data-size=sm] *){width:calc(var(--tw-spacing) * 3);height:calc(var(--tw-spacing) * 3)}.tw\:group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.tw\:group\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\:peer-disabled\:cursor-not-allowed:is(:where(.tw\:peer):disabled~*){cursor:not-allowed}.tw\:peer-disabled\:opacity-50:is(:where(.tw\:peer):disabled~*){opacity:.5}.tw\:selection\:bg-primary ::selection{background-color:var(--df-brand-deep)}.tw\:selection\:bg-primary::selection{background-color:var(--df-brand-deep)}.tw\:selection\:text-primary-foreground ::selection{color:#fff}.tw\:selection\:text-primary-foreground::selection{color:#fff}.tw\:file\:inline-flex::file-selector-button{display:inline-flex}.tw\:file\:h-7::file-selector-button{height:calc(var(--tw-spacing) * 7)}.tw\:file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\:file\:bg-transparent::file-selector-button{background-color:#0000}.tw\:file\:text-sm::file-selector-button{font-size:.9375rem;line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\:file\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\:file\:text-foreground::file-selector-button{color:var(--df-ink)}.tw\:placeholder\:text-muted-foreground::placeholder{color:var(--df-ink-3)}.tw\:after\:absolute:after{content:var(--tw-content);position:absolute}.tw\:after\:bg-foreground:after{content:var(--tw-content);background-color:var(--df-ink)}.tw\:after\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\:after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\:group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.tw\:group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:0}.tw\:group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.tw\:group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.tw\:group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.tw\:group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--tw-spacing) * .5)}.tw\:group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:0}.tw\:group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--tw-spacing) * -1)}.tw\:group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.tw\:group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--tw-spacing) * .5)}@media(hover:hover){.tw\:hover\:bg-accent:hover{background-color:var(--df-brand-soft)}.tw\:hover\:bg-destructive\/90:hover{background-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--df-bad-ink) 90%,transparent)}}.tw\:hover\:bg-primary\/90:hover{background-color:var(--df-brand-deep)}@supports (color:color-mix(in lab,red,red)){.tw\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--df-brand-deep) 90%,transparent)}}.tw\:hover\:bg-secondary\/80:hover{background-color:var(--df-brand-soft)}@supports (color:color-mix(in lab,red,red)){.tw\:hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--df-brand-soft) 80%,transparent)}}.tw\:hover\:text-accent-foreground:hover{color:var(--df-brand-ink)}.tw\:hover\:text-foreground:hover{color:var(--df-ink)}.tw\:hover\:underline:hover{text-decoration-line:underline}.tw\:hover\:opacity-100:hover{opacity:1}}.tw\:focus\:bg-accent:focus{background-color:var(--df-brand-soft)}.tw\:focus\:text-accent-foreground:focus{color:var(--df-brand-ink)}.tw\:focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:focus\:ring-ring:focus{--tw-ring-color:var(--df-brand-deep)}.tw\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\:focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.tw\:focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.tw\:focus-visible\:border-ring:focus-visible{border-color:var(--df-brand-deep)}.tw\:focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--df-bad-ink) 20%, transparent)}}.tw\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--df-brand-deep)}@supports (color:color-mix(in lab,red,red)){.tw\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--df-brand-deep) 50%, transparent)}}.tw\:focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\:focus-visible\:outline-ring:focus-visible{outline-color:var(--df-brand-deep)}.tw\:disabled\:pointer-events-none:disabled{pointer-events:none}.tw\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\:disabled\:opacity-50:disabled{opacity:.5}.tw\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.tw\:has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--tw-spacing) * 6)}.tw\:has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\:has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--tw-spacing) * 1.5)}.tw\:has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--tw-spacing) * 2.5)}.tw\:has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--tw-spacing) * 3)}.tw\:has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--tw-spacing) * 4)}.tw\:aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--df-bad-ink)}.tw\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--df-bad-ink) 20%, transparent)}}.tw\:data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.tw\:data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.tw\:data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--tw-spacing) * 8)}.tw\:data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.tw\:data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--df-ink-3)}.tw\:data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--tw-spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\:data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--tw-spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\:data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--tw-spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\:data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--tw-spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\:data-\[size\=default\]\:h-11[data-size=default]{height:calc(var(--tw-spacing) * 11)}.tw\:data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.tw\:data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--tw-spacing) * 8)}.tw\:data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--tw-spacing) * 3.5)}.tw\:data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--tw-spacing) * 8)}.tw\:data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--tw-spacing) * 6)}.tw\:data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--tw-container-xs)}:is(.tw\:\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\:\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\:\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\:\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--tw-spacing) * 2)}.tw\:data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--df-bg)}.tw\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--df-ink)}.tw\:group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.tw\:group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.tw\:group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.tw\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.tw\:group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.tw\:group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.tw\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--df-brand-deep)}.tw\:data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\:data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.tw\:data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.tw\:data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\:data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--df-brand-soft)}.tw\:data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--df-brand-ink)}.tw\:data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--df-ink-3)}.tw\:data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.tw\:data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.tw\:data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\:data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--df-line-strong)}.tw\:data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--df-bad-ink)}.tw\:data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--df-bad-ink) 10%,transparent)}}.tw\:data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--df-bad-ink)}.tw\:data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media(min-width:40rem){.tw\:sm\:max-w-lg{max-width:var(--tw-container-lg)}.tw\:sm\:flex-row{flex-direction:row}.tw\:sm\:justify-end{justify-content:flex-end}.tw\:sm\:text-left{text-align:left}.tw\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.tw\:group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.tw\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.tw\:group\/alert-dialog-content)[data-size=default] *){place-items:start}.tw\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.tw\:group\/alert-dialog-content)[data-size=default] *){text-align:left}.tw\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.tw\:group\/alert-dialog-content)[data-size=default] *):is(:where(.tw\:group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.tw\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.tw\:group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.tw\:data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--tw-container-lg)}}@media(min-width:48rem){.tw\:md\:col-span-2{grid-column:span 2/span 2}.tw\:md\:text-sm{font-size:.9375rem;line-height:var(--tw-leading,var(--tw-text-sm--line-height))}}@media(prefers-color-scheme:dark){.tw\:dark\:border-input{border-color:var(--df-line-strong)}.tw\:dark\:bg-destructive\/60{background-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--df-bad-ink) 60%,transparent)}}.tw\:dark\:bg-input\/30{background-color:var(--df-line-strong)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:bg-input\/30{background-color:color-mix(in oklab,var(--df-line-strong) 30%,transparent)}}.tw\:dark\:text-muted-foreground{color:var(--df-ink-3)}@media(hover:hover){.tw\:dark\:hover\:bg-accent\/50:hover{background-color:var(--df-brand-soft)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--df-brand-soft) 50%,transparent)}}.tw\:dark\:hover\:bg-input\/50:hover{background-color:var(--df-line-strong)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--df-line-strong) 50%,transparent)}}.tw\:dark\:hover\:text-foreground:hover{color:var(--df-ink)}}.tw\:dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--df-bad-ink) 40%, transparent)}}.tw\:dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--df-bad-ink) 40%, transparent)}}.tw\:dark\:data-\[state\=active\]\:border-input[data-state=active]{border-color:var(--df-line-strong)}.tw\:dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:var(--df-line-strong)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:color-mix(in oklab,var(--df-line-strong) 30%,transparent)}}.tw\:dark\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--df-ink)}.tw\:dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.tw\:group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.tw\:dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.tw\:group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.tw\:dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:#fff}.tw\:dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]{background-color:var(--df-ink)}.tw\:dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:var(--df-line-strong)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:color-mix(in oklab,var(--df-line-strong) 80%,transparent)}}.tw\:dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){.tw\:dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--df-bad-ink) 20%,transparent)}}}.tw\:\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.tw\:\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.tw\:\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--tw-spacing) * 3);height:calc(var(--tw-spacing) * 3)}.tw\:\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--tw-spacing) * 4);height:calc(var(--tw-spacing) * 4)}.tw\:\[\&_svg\:not\(\[class\*\=text-\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--df-ink-3)}.tw\:\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--tw-spacing) * 6)}.tw\:\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--tw-spacing) * 6)}:is(.tw\:\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.tw\:\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.tw\:\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--tw-spacing) * 2)}:is(.tw\:data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--df-bad-ink)!important}:is(.tw\:\*\:\[svg\:not\(\[class\*\=size-\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--tw-spacing) * 8);height:calc(var(--tw-spacing) * 8)}.tw\:\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.tw\:\[\&\>svg\]\:size-3>svg{width:calc(var(--tw-spacing) * 3);height:calc(var(--tw-spacing) * 3)}@media(hover:hover){a.tw\:\[a\&\]\:hover\:bg-accent:hover{background-color:var(--df-brand-soft)}a.tw\:\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--df-bad-ink)}@supports (color:color-mix(in lab,red,red)){a.tw\:\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--df-bad-ink) 90%,transparent)}}a.tw\:\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--df-brand-deep)}@supports (color:color-mix(in lab,red,red)){a.tw\:\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--df-brand-deep) 90%,transparent)}}a.tw\:\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--df-brand-soft)}@supports (color:color-mix(in lab,red,red)){a.tw\:\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--df-brand-soft) 90%,transparent)}}a.tw\:\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--df-brand-ink)}a.tw\:\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}.df-prototype{--df-font-ui:"PingFang SC","Microsoft YaHei",Inter,system-ui,sans-serif;color:#16231c;background:#f2f7f3;min-height:100dvh;padding:18px;font-size:16px;line-height:normal}.df-prototype-frame{background:#fbf8f1;border:1px solid #b9d0be;border-radius:18px;overflow:hidden;box-shadow:0 28px 86px #00000021}.df-prototype-header{color:#17281f;background:#ffffffd1;border-bottom:1px solid #e6eee8;justify-content:space-between;align-items:center;height:82px;padding:0 30px;display:flex}.df-prototype-brand{flex-shrink:0;align-items:center;gap:13px;display:flex}.df-prototype-logo{color:#fff;background:#3aa26c;border-radius:8px;place-items:center;width:48px;height:54px;font:400 23px Georgia,serif;display:grid;position:relative}.df-prototype-logo:before{content:"♛";color:#c6a15f;font-size:15px;position:absolute;top:-15px}.df-prototype-brand b{font:700 24px Georgia,serif}.df-prototype-brand small{color:#5a6a61;margin-top:3px;font-size:13.333px;display:block}.df-prototype-header-actions{align-items:center;gap:14px;display:flex}.df-prototype [data-variant=prototype]{height:auto;font-family:var(--df-font-ui);letter-spacing:normal;box-shadow:none;font-weight:400;line-height:normal}.df-prototype [data-variant=prototype]:focus-visible{outline-offset:3px;outline:2px solid #26794f}.df-prototype .df-prototype-sound{color:#42574b;background:#fff;border:1px solid #d7e5da;border-radius:99px;gap:5px;padding:8px 11px;font-size:12px}.df-prototype .df-prototype-sound svg{width:15px;height:15px}.df-prototype .df-prototype-profile{color:#1f6b46;letter-spacing:.03em;background:#e3f4ea;border:1px solid #a9dcbf;border-radius:999px;gap:6px;padding:8px 15px;font-size:13px;font-weight:600}.df-prototype-wallet{color:#81631d;white-space:nowrap;background:#fff5d814;border:1px solid #c6a15f94;border-radius:999px;align-items:center;gap:7px;height:38px;padding:0 13px;font-size:13px;font-weight:700;display:flex}.df-prototype-coin{background:radial-gradient(circle at 32% 26%,#fbf1dc 0 9%,#ffe27a 18%,#c8993c 39% 72%,#9c6210);border:1px solid #ffe69b;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:inline-grid;position:relative;box-shadow:inset 0 0 0 2px #74430538,inset -2px -3px 5px #6b3d043d,0 2px 5px #7e4c0e33}.df-prototype-coin:before{content:"¥";color:#81510b;text-shadow:0 1px #fff6b98c;border-radius:50%;place-items:center;width:11px;height:11px;font:900 9px/1 Georgia,Times New Roman,serif;display:grid}.df-prototype-wallet b{font:700 15px Georgia,serif}.df-prototype-home-main{margin:0;padding:0}.df-home{background:#f2f7f3;flex-direction:column;min-height:600px;display:flex;position:relative}.df-home-world{pointer-events:none;position:absolute;inset:0;overflow:hidden}.df-home-world:before,.df-home-world:after{content:"";filter:blur(60px);opacity:.5;border-radius:50%;position:absolute}.df-home-world:before{background:#e3f4ea;width:46vw;height:46vw;top:-10vw;left:-12vw}.df-home-world:after{background:#edf4ee;width:38vw;height:38vw;bottom:-8vw;right:-10vw}.df-home-stage{flex-direction:column;align-items:center;gap:22px;padding:34px 38px 32px;display:flex;position:relative}.df-home-hero{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);align-items:center;gap:38px;width:min(1080px,100%);margin:0 auto;display:grid}.df-home-task{-webkit-backdrop-filter:blur(26px)saturate(1.2);backdrop-filter:blur(26px)saturate(1.2);background:#ffffffa8;border:1px solid #eff5f0;border-radius:14px;width:100%;min-width:0;padding:28px 32px;box-shadow:0 14px 42px #1e513a0f}.df-home .df-home-hello{letter-spacing:.02em;color:#5a6a61;margin:0 0 6px;font-size:13px}.df-home .df-home-slogan{letter-spacing:.01em;color:#1f6b46;margin:0 0 6px;font-size:15px;font-weight:600}.df-home .df-home-slogan-why{color:#5a6a61;max-width:44ch;margin:0 0 18px;font-size:12px;line-height:1.8}.df-home-next{background:#fffffff2;border:1px solid #e3ede5;border-radius:12px;padding:18px;box-shadow:0 2px 10px #1e513a08}.df-home-next-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.df-home-route{color:#1f6b46;background:#e3f4ea;border:1px solid #a9dcbf;border-radius:999px;align-items:center;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.df-home-day{letter-spacing:-.02em;color:#17281f;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.df-home-day small{letter-spacing:0;color:#5a6a61;margin-left:4px;font-size:13px;font-weight:400}.df-home .df-home-meta{color:#42574b;margin-top:8px;font-size:13px}.df-home-progress{background:#e3ede5;border-radius:999px;height:6px;margin:12px 0 16px;overflow:hidden}.df-home-progress i{border-radius:inherit;background:#3aa26c;height:100%;display:block}.df-prototype .df-home-go{color:#fff;white-space:normal;text-align:center;background:#26794f;border:0;border-radius:11px;width:100%;min-height:58px;padding:15px 24px;font-size:18px;font-weight:600;display:flex;box-shadow:0 4px 14px #17281f12}.df-prototype .df-home-go:hover{background:#1f6b46;transform:translateY(-1px)}.df-home-more{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.df-prototype .df-home-more>[data-slot]{color:#42574b;white-space:normal;background:#ffffffb3;border:1px solid #d7e5da;border-radius:8px;min-width:0;padding:9px 8px;font-size:13px}.df-prototype .df-home-more>[data-slot]:hover{background:#e3f4ea;border-color:#a9dcbf}.df-home-companion{text-align:center;flex-direction:column;align-items:center;min-width:0;padding:12px 12px 18px;display:flex}.df-home-portrait{background:linear-gradient(165deg,#fffef9,#f4eee4);border:1px solid #b8a2712e;border-radius:26px;width:100%;max-width:320px;height:330px;padding:8px;display:block;box-shadow:0 14px 34px #1e3d290e}.df-home-portrait img{object-fit:contain;border-radius:19px;width:100%;min-width:0;height:100%;min-height:0}.df-home-portrait:focus-visible{outline:3px solid var(--df-brand,#389e71);outline-offset:6px}.df-home-portrait img.df-home-portrait-sway{transform-origin:50% 65%;animation:.65s cubic-bezier(.22,.72,.27,1) df-home-portrait-sway}@keyframes df-home-portrait-sway{0%,3%,93%,to{transform:translate(0)rotate(0)scale(1)}17%{transform:translate(-11px)rotate(-.85deg)scale(1.004)}32%{transform:translate(11px)rotate(.85deg)scale(1.008)}47%{transform:translate(-8px)rotate(-.6deg)scale(1.009)}62%{transform:translate(6px)rotate(.42deg)scale(1.006)}78%{transform:translate(-2px)rotate(-.12deg)scale(1.002)}}@media(prefers-reduced-motion:reduce){.df-home-portrait img.df-home-portrait-sway{animation:none}}.df-home-level{color:#1f6b46;letter-spacing:.04em;margin:16px 0 5px;font:700 23px Georgia,serif}.df-home-word-count{color:#42574b;font-size:14px;line-height:1.7}.df-home-word-count strong{color:#17281f;font-variant-numeric:tabular-nums;margin:0 4px;font-size:20px}.df-home-dock{grid-template-columns:1fr 1fr;align-items:stretch;gap:14px;width:min(1080px,100%);display:grid}.df-home-dock-tag{color:#5a6a61;letter-spacing:.08em;grid-column:1/-1;padding:0 2px;font-size:12px}.df-prototype .df-home-entry{text-align:left;white-space:normal;background:#ffffffd9;border:1px solid #d7e5da;border-radius:20px;grid-template-columns:48px 1fr 22px;align-content:center;align-items:center;gap:0 16px;width:100%;min-width:0;min-height:112px;padding:22px;display:grid;box-shadow:0 6px 24px #1d4d3309}.df-prototype .df-home-entry:hover{border-color:#3aa26c;transform:translateY(-2px)}.df-home-entry>b{color:#17281f;grid-area:1/2;font-size:20px;font-weight:600;line-height:1.4}.df-home-entry-description{color:#42574b;grid-area:2/2;margin-top:6px;font-size:13px;line-height:1.5}.df-home-entry-icon{color:#5a6a61;background:#e3f4ea;border-radius:15px;grid-area:1/1/3;place-items:center;width:48px;height:48px;display:grid}.df-prototype .df-home-entry-icon svg{width:28px;height:28px}.df-home-entry-arrow{color:#5a6a61;grid-area:1/3/3;font-size:11px}.df-home-energy{color:#5a6a61;grid-area:3/2;margin-top:5px;font-size:12px;line-height:1.4}.df-home-dock-side{grid-template-rows:1fr 1fr;align-self:stretch;gap:14px;min-width:0;display:grid}.df-prototype .df-home-entry-compact{border-radius:17px;align-self:stretch;min-height:0;padding:16px 18px}.df-home-entry-compact>b{font-size:17px}.df-home-entry-compact .df-home-entry-description{margin-top:3px;font-size:12px}.df-prototype .df-home-entry-compact .df-home-entry-icon{border-radius:12px;width:38px;height:38px}.df-prototype .df-home-entry-compact .df-home-entry-icon svg{width:22px;height:22px}.df-prototype .df-home-entry-wide{grid-column:1/-1;min-height:0;padding:16px 22px}.df-home-entry-wide>b{font-size:18px}.df-prototype .df-home-entry-wide .df-home-entry-icon{border-radius:13px;width:40px;height:40px}.df-prototype .df-home-entry-wide .df-home-entry-icon svg{width:23px;height:23px}.df-prototype .df-home-writing:hover{color:#1f6b46;background:#fff;border-color:#a9dcbf;transform:translateY(-1px)}.df-home-writing b{font-size:13px;font-weight:600}.df-home-writing span{font-size:12px}@media(max-width:900px){.df-home-stage{padding:25px 22px}.df-home-hero{grid-template-columns:minmax(0,1.45fr) minmax(190px,1fr);gap:24px}.df-home-task{padding:24px}.df-home-portrait{height:285px}.df-home-level{font-size:21px}}@media(max-width:640px){.df-home-stage{gap:17px;padding:18px 14px}.df-home-hero{grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr);align-items:start;gap:12px}.df-home-task{border-radius:18px;padding:17px 14px}.df-home .df-home-hello{margin-bottom:5px;font-size:11px}.df-home .df-home-slogan{margin-bottom:5px;font-size:13px}.df-home .df-home-slogan-why{margin-bottom:14px;font-size:11px;line-height:1.7}.df-home-next-top{flex-wrap:wrap;gap:8px}.df-home-day{font-size:23px}.df-home-day small{font-size:11px}.df-home .df-home-meta{font-size:11px;line-height:1.6}.df-prototype .df-home-go{background:#26794f;min-height:48px;padding:12px 8px;font-size:14px}.df-home-more{gap:6px}.df-prototype .df-home-more>[data-slot]{width:100%;font-size:11px}.df-home-companion{padding:15px 0}.df-home-portrait{border-radius:18px;height:212px;padding:4px}.df-home-level{margin:12px 0 3px;font-size:19px}.df-home-word-count{font-size:11px}.df-home-word-count strong{margin:0 2px;font-size:16px}.df-home-dock,.df-home-dock-side{gap:10px}.df-prototype .df-home-entry{border-radius:17px;grid-template-columns:minmax(0,1fr) 16px;align-content:start;align-self:stretch;gap:8px;min-height:138px;padding:16px}.df-home-entry-icon{border-radius:10px;grid-area:1/1;width:34px;height:34px}.df-prototype .df-home-entry-icon svg{width:21px;height:21px}.df-home-entry>b{grid-area:2/1;font-size:17px}.df-home-entry-description{grid-area:3/1/auto/-1;margin-top:0;font-size:11px}.df-home-entry-arrow{grid-area:2/2}.df-home-energy{overflow-wrap:anywhere;grid-area:4/1/auto/-1;margin-top:0;font-size:11px}.df-prototype .df-home-writing{min-height:40px}.df-prototype .df-prototype-sound{padding:6px 7px;font-size:10px}.df-prototype-wallet{height:34px;padding:7px;font-size:11px}.df-prototype-header-actions{gap:6px}}@media(max-width:560px){.df-home-hero{grid-template-columns:1fr;gap:14px}.df-home-next{padding:14px}.df-home-companion{text-align:left;background:#ffffffa8;border:1px solid #e3ede5;border-radius:14px;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:12px 14px}.df-home-portrait{border-radius:14px;flex:none;width:78px;height:78px;padding:3px}.df-home-level{margin:0;font-size:18px}.df-home-dock{grid-template-columns:1fr}.df-home-dock-tag{grid-column:auto}.df-home-dock-side{grid-template-rows:auto auto}.df-prototype .df-home-entry{min-height:0;padding:14px}.df-prototype .df-home-entry-compact,.df-prototype .df-home-entry-wide{padding:14px}}@media(max-width:480px){.df-prototype{padding:10px}.df-prototype-header{flex-wrap:wrap;gap:10px;height:auto;padding:12px 14px}.df-prototype-brand{gap:10px;width:100%}.df-prototype-brand b{white-space:nowrap;font-size:19px}.df-prototype-brand small{font-size:10px}.df-prototype-logo{flex-shrink:0;width:34px;height:40px;font-size:19px}.df-prototype-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%}.df-prototype .df-prototype-profile{height:33px;padding:7px 10px;font-size:12px}}@media(max-width:640px){.df-home .df-home-hello,.df-home-day small,.df-home .df-home-meta,.df-home-entry-description,.df-home-energy{font-size:12px}.df-home-entry-description{line-height:1.6}.df-prototype .df-home-more>[data-slot]{white-space:nowrap;min-height:44px}.df-prototype .df-home-writing{min-width:200px;min-height:44px}.df-prototype .df-prototype-sound,.df-prototype .df-prototype-profile{min-width:44px;height:44px;min-height:44px;font-size:12px}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.auth-access-page{--auth-bg:#f2f7f3;--auth-surface:#fff;--auth-surface-soft:#edf4ee;--auth-ink:#17281f;--auth-copy:#42574b;--auth-muted:#5a6a61;--auth-brand:#26794f;--auth-brand-ink:#1f6b46;--auth-brand-soft:#e3f4ea;--auth-line:#d7e5da;--auth-line-strong:#b9d0be;min-height:100svh;color:var(--auth-ink);background:var(--auth-bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.auth-access-page .brand{color:var(--auth-ink);align-items:center;gap:12px;display:inline-flex}.auth-access-page .brand__mark{color:#fff;background:#3aa26c;border:0;border-radius:8px;place-items:center;width:48px;height:54px;font:400 23px/1 Georgia,serif;display:grid}.auth-access-page .brand__mark:before{color:#c6a15f}.auth-access-page .brand__copy strong{color:var(--auth-ink);font:700 24px/1.1 Georgia,serif}.auth-access-page .brand__copy small{color:var(--auth-muted);letter-spacing:.02em;margin-top:4px;font-size:12px}.login-page.auth-access-page{place-items:center;padding:18px;display:grid}.auth-access-page .login-frame{border:1px solid var(--auth-line-strong);background:var(--auth-surface);border-radius:18px;grid-template:minmax(0,1fr) 82px/minmax(430px,.92fr) minmax(460px,1.08fr);width:min(1180px,100vw - 36px);min-height:min(760px,100svh - 36px);display:grid;overflow:hidden;box-shadow:0 28px 86px #18422b1a}.auth-access-page .login-frame:before{display:none}.auth-access-page .login-intro{background:var(--auth-surface-soft);flex-direction:column;min-width:0;padding:38px 42px 22px;display:flex;position:relative;overflow:hidden}.auth-access-page .login-intro:after{content:"";pointer-events:none;border:1px solid #26794f1a;border-radius:50%;width:380px;height:380px;position:absolute;bottom:-130px;right:-110px}.auth-access-page .login-intro__copy{z-index:2;text-align:left;margin:58px 0 0}.auth-access-page .login-intro__copy h1{color:var(--auth-ink);letter-spacing:-.02em;margin:0 0 15px;font:700 clamp(38px,3.4vw,48px)/1.25 Georgia,Noto Serif SC,Songti SC,serif}.auth-access-page .login-intro__copy p{color:var(--auth-copy);margin:0;font-size:16px;line-height:1.7}.auth-access-page .campus-art{justify-content:center;align-items:flex-end;height:335px;margin-top:auto;display:flex;position:relative}.auth-access-page .campus-art img{z-index:2;object-fit:contain;filter:drop-shadow(0 16px 24px #17281f1a);mix-blend-mode:normal;width:auto;max-width:74%;max-height:330px}.auth-access-page .campus-art__path{background:radial-gradient(#26794f1f,#0000 68%);border:0;width:75%;height:60px;bottom:4px}.auth-access-page .login-panel{border:0;border-left:1px solid var(--auth-line);background:var(--auth-surface);place-items:center;min-width:0;padding:54px 66px;display:grid}.auth-access-page .login-card{width:min(430px,100%);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.auth-access-page .login-card h2{color:var(--auth-ink);text-align:left;letter-spacing:-.02em;margin:0 0 7px;font:700 30px/1.3 inherit}.auth-access-page .login-card>p{color:var(--auth-muted);text-align:left;margin:0 0 30px;font-size:14px;line-height:1.6}.auth-access-page .form-field{color:var(--auth-copy);margin:17px 0;font-size:13px;font-weight:650;display:block}.auth-access-page .form-field>span{margin:0 0 7px 1px;display:block}.auth-access-page .form-field>div{border:1px solid var(--auth-line-strong);min-width:0;height:54px;color:var(--auth-muted);background:var(--auth-surface);border-radius:10px;align-items:center;gap:10px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:flex}.auth-access-page .form-field>div:focus-within{border-color:var(--auth-brand);box-shadow:0 0 0 3px #26794f1a}.auth-access-page .form-field input{min-width:0;color:var(--auth-ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.auth-access-page .form-field input::placeholder{color:#87948c}.auth-access-page .form-field button{color:var(--auth-muted)}.auth-access-page .login-options{color:var(--auth-muted);margin:14px 0 22px;font-size:12px}.auth-access-page .login-options input,.auth-access-page .phone-auth-consent input{accent-color:var(--auth-brand)}.auth-access-page :is(.login-options,.login-help) a,.auth-access-page .login-options button{color:var(--auth-brand-ink);font-weight:650;text-decoration:none}.auth-access-page :is(.login-options,.login-help) a:hover,.auth-access-page .login-options button:hover{text-underline-offset:3px;text-decoration:underline}.auth-access-page .login-card>.primary-button,.auth-access-page .phone-auth-card .primary-button{border:1px solid var(--auth-brand);color:#fff;background:var(--auth-brand);border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:52px;font-size:15px;font-weight:650;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 6px 18px #26794f24}.auth-access-page :is(.login-card,.phone-auth-card) .primary-button:hover:not(:disabled){background:var(--auth-brand-ink);transform:translateY(-1px);box-shadow:0 9px 22px #26794f2e}.auth-access-page :is(.login-card,.phone-auth-card) .primary-button:disabled{cursor:not-allowed;opacity:.58}.auth-access-page .login-card .form-error{color:#a3352f;text-align:left;background:#fdeceb;border:1px solid #f0cbc7;border-radius:9px;margin:-6px 0 15px;padding:10px 12px}.auth-access-page .login-card .login-account-help{color:#6f5b28;background:#faf5e7;border-color:#eadcb5;margin:-6px 0 15px}.auth-access-page .login-card .login-help{color:var(--auth-muted);text-align:center;margin:19px 0 0;font-size:12px}.auth-access-page .login-card .login-help a{margin-left:5px}.auth-access-page .login-benefits{z-index:3;border-top:1px solid var(--auth-line);color:var(--auth-ink);background:var(--auth-surface-soft);grid-column:1/-1;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 28px;display:grid}.auth-access-page .login-benefits span{border-color:var(--auth-line)}.auth-access-page .login-benefits b{color:var(--auth-ink);font-size:13px;font-weight:650}.auth-access-page .login-benefits small{color:var(--auth-muted);margin-top:4px;font-size:10px}.phone-auth-page.auth-access-page{background:var(--auth-bg);place-items:center;padding:18px;display:grid}.auth-access-page .phone-auth-frame{border:1px solid var(--auth-line-strong);background:var(--auth-surface);border-radius:18px;width:min(620px,100vw - 36px);overflow:hidden;box-shadow:0 24px 72px #18422b1a}.auth-access-page .phone-auth-brand{border-bottom:1px solid var(--auth-line);background:var(--auth-surface-soft);width:auto;margin:0;padding:24px 30px}.auth-access-page .phone-auth-card{background:var(--auth-surface);width:auto;box-shadow:none;border:0;border-radius:0;margin:0;padding:28px 40px 38px}.auth-access-page .phone-auth-back{min-height:36px;color:var(--auth-brand-ink);align-items:center;gap:6px;margin:0 0 23px;font-size:13px;font-weight:650;display:inline-flex}.auth-access-page .phone-auth-back svg{width:16px;height:16px}.auth-access-page .phone-auth-card h1{color:var(--auth-ink);letter-spacing:-.02em;margin:0 0 8px;font:700 clamp(26px,4vw,32px)/1.3 inherit}.auth-access-page .phone-auth-card>p{color:var(--auth-muted);margin:0;font-size:13px;line-height:1.65}.auth-access-page .auth-channel-switch{border:1px solid var(--auth-line);background:var(--auth-surface-soft);border-radius:11px;gap:4px;margin-top:24px;padding:4px;display:flex}.auth-access-page .auth-channel-switch button{min-height:42px;color:var(--auth-muted);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.auth-access-page .auth-channel-switch button[aria-pressed=true]{color:#fff;background:var(--auth-brand);box-shadow:none}.auth-access-page .auth-channel-switch button:disabled{cursor:not-allowed;opacity:.42}.auth-access-page .phone-auth-steps{color:var(--auth-muted);grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 0 18px;padding:0;font-size:12px;display:grid}.auth-access-page .phone-auth-steps li{border:1px solid var(--auth-line);background:var(--auth-surface);border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:7px 10px;display:flex}.auth-access-page .phone-auth-steps b{width:25px;height:25px;color:var(--auth-muted);background:var(--auth-surface-soft)}.auth-access-page .phone-auth-steps [aria-current]{color:var(--auth-brand-ink);background:var(--auth-brand-soft);border-color:#a9dcbf}.auth-access-page .phone-auth-steps [aria-current] b{color:#fff;background:var(--auth-brand)}.auth-access-page .phone-auth-card .form-field{margin:16px 0}.auth-access-page .phone-auth-card .form-field>div{min-height:52px}.auth-access-page .phone-auth-card .form-field input{height:50px}.auth-access-page .auth-field-rule{color:var(--auth-muted);margin:7px 2px 0;font-size:12px;font-weight:400;line-height:1.55;display:block}.auth-access-page .phone-auth-code-row{gap:10px;margin-bottom:18px}.auth-access-page .phone-auth-code-row>button{border:1px solid var(--auth-line-strong);height:52px;color:var(--auth-brand-ink);background:var(--auth-surface);border-radius:10px;padding:0 15px;font-size:13px;font-weight:650}.auth-access-page .phone-auth-code-row>button:hover:not(:disabled){border-color:var(--auth-brand);background:var(--auth-brand-soft)}.auth-access-page .phone-auth-consent{color:var(--auth-muted);align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;display:flex}.auth-access-page .phone-auth-consent input{flex:none;width:16px;height:16px;margin-top:3px}.auth-access-page .phone-auth-card>.primary-button{margin-top:20px}.auth-access-page .phone-auth-hint{color:var(--auth-muted)}.auth-access-page .phone-auth-verified{color:var(--auth-brand-ink);background:var(--auth-brand-soft);border:1px solid #a9dcbf}.auth-access-page .phone-auth-verified button{color:var(--auth-brand-ink)}.auth-access-page .phone-auth-card .feedback-alert{border-radius:10px}.auth-access-page :where(button,a,input):focus-visible{outline:2px solid var(--auth-brand);outline-offset:3px}@media(max-width:820px){.auth-access-page .login-frame{grid-template-columns:minmax(330px,.85fr) minmax(400px,1.15fr)}.auth-access-page .login-intro{padding-inline:30px}.auth-access-page .login-panel{padding-inline:42px}}@media(max-width:720px){.login-page.auth-access-page,.phone-auth-page.auth-access-page{background:var(--auth-bg);padding:0;display:block}.auth-access-page .login-frame,.auth-access-page .phone-auth-frame{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex}.auth-access-page .login-intro{background:var(--auth-surface-soft);flex:none;justify-items:start;padding:24px 20px 20px;display:grid;overflow:hidden}.auth-access-page .login-intro:after{bottom:-230px;right:-170px}.auth-access-page .brand__mark{width:40px;height:46px;font-size:20px}.auth-access-page .brand__copy{display:block}.auth-access-page .brand__copy strong{font-size:21px}.auth-access-page .brand__copy small{font-size:10px}.auth-access-page .login-intro__copy{text-align:left;margin:23px 0 0}.auth-access-page .login-intro__copy h1{margin-bottom:7px;font-size:27px;line-height:1.25}.auth-access-page .login-intro__copy h1 br{display:none}.auth-access-page .login-intro__copy p{font-size:12px}.auth-access-page .campus-art,.auth-access-page .login-benefits{display:none}.auth-access-page .login-panel{padding:28px 20px max(30px,env(safe-area-inset-bottom));background:var(--auth-surface);border:0;flex:auto;display:block}.auth-access-page .login-card{width:100%;max-width:430px;margin:0 auto}.auth-access-page .login-card h2{font-size:25px}.auth-access-page .login-card>p{margin-bottom:24px;font-size:12px}.auth-access-page .form-field>div{height:52px}.auth-access-page .form-field input{font-size:16px}.auth-access-page .login-options{margin-block:10px 17px}.auth-access-page .login-options label,.auth-access-page .login-options>button,.auth-access-page .login-options>a,.auth-access-page .login-help a{min-height:44px}.auth-access-page .login-card>.primary-button{min-height:50px}.auth-access-page .phone-auth-brand{padding:20px}.auth-access-page .phone-auth-card{padding:24px 20px max(32px,env(safe-area-inset-bottom));flex:auto}.auth-access-page .phone-auth-back{margin-bottom:20px}.auth-access-page .phone-auth-card h1{font-size:27px}.auth-access-page .auth-channel-switch{margin-top:21px}.auth-access-page .phone-auth-code-row>button{padding-inline:10px;font-size:12px}}@media(max-width:380px){.auth-access-page .login-options{flex-direction:column;align-items:flex-start;gap:0}.auth-access-page .phone-auth-code-row{flex-direction:column;align-items:stretch}.auth-access-page .phone-auth-code-row>button{width:100%}}@media(prefers-reduced-motion:reduce){.auth-access-page *,.auth-access-page :before,.auth-access-page :after{scroll-behavior:auto!important;transition:none!important}}.df-v2 :is(.paper-page,.df-account-settings),.df-account-dialog{--ink:var(--df-ink);--muted:var(--df-ink-3);--paper:var(--df-surface);--line:var(--df-line);--line-strong:var(--df-line-strong);--green-950:var(--df-ink);--green-900:var(--df-brand-ink);--green-800:var(--df-brand-deep);--green-700:var(--df-brand-ink);--danger:var(--df-bad-ink)}.df-v2 .paper-page{border:1px solid var(--df-line);background:var(--df-surface);width:100%;min-height:0;box-shadow:none;border-radius:14px;margin:0}.df-v2 :is(.paper-page,.df-account-settings) h1{font:700 25px/1.25 var(--df-font-ui);color:var(--df-ink)}.df-v2 :is(.paper-page,.df-account-settings) h2{font:600 21px/1.4 var(--df-font-ui);color:var(--df-ink)}.df-v2 .record-stat-grid article{border-color:var(--df-line);background:var(--df-surface);box-shadow:none}.df-v2 .record-stat-grid span{color:var(--df-ink-3);font-size:13px}.df-v2 .record-stat-grid strong{font-family:var(--df-font-ui);font-size:30px}.df-v2 .record-stat-grid b{font-family:var(--df-font-ui)}.df-history-scope{flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;font-size:14px;line-height:1.7;display:flex}.df-history-scope a{color:var(--df-brand-ink);text-underline-offset:5px;padding:8px 0}.df-history-scope a[aria-current]{font-weight:600;text-decoration:underline}.df-history-note{border:1px solid var(--df-line);background:var(--df-surface-2);border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.7}.df-v2 .df-current-history{padding:24px;line-height:1.7}.df-current-history .df-history-navigation{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.df-current-history .record-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 32px}.df-current-history .record-row{flex-wrap:wrap;gap:16px}.df-current-history .record-row h2{font-size:18px}.df-history-count strong{font-variant-numeric:tabular-nums;font-size:38px}.df-v2 .df-account-settings{width:100%;padding:0}.df-account-summary{border:1px solid var(--df-line);background:var(--df-surface);border-radius:14px;padding:24px;line-height:1.7}.df-account-summary a{color:var(--df-brand-ink);text-underline-offset:4px;text-decoration:underline}.df-account-settings .profile-quiet-actions button{border-color:var(--df-line);color:var(--df-brand-ink);font-size:14px}.df-account-dialog .profile-modal{border-color:var(--df-line);background:var(--df-surface);max-height:calc(100dvh - 32px);overflow:auto}.df-account-dialog .profile-modal header{background:var(--df-surface-2)}.df-account-dialog .profile-modal h2{font:600 21px/1.4 var(--df-font-ui)}.df-account-dialog .profile-modal label{color:var(--df-ink-2);font-size:14px;font-weight:600}.df-account-dialog .profile-modal input{border-color:var(--df-line-strong);font-size:16px}.df-account-dialog .profile-modal :is(.profile-modal__error,.profile-password-hint){font-size:13px;line-height:1.7}.df-account-dialog .profile-modal__actions button{border-color:var(--df-line);min-height:44px;font-size:14px}.df-account-dialog .profile-modal__actions button.confirm{color:#fff;border-color:var(--df-brand-deep);background:var(--df-brand-deep)}.df-home :is(.df-home-entry,.df-home-writing):disabled{opacity:1;cursor:not-allowed;transform:none}.df-home :is(.df-home-entry,.df-home-writing):disabled .df-home-entry-arrow{visibility:hidden}@media(max-width:720px){.df-v2-main:has(.df-course-history,.df-account-settings,.reading-library-page,.reading-entry-page,.reader-page){padding:20px 12px 32px}.df-v2 .df-current-history{padding:20px 16px}.df-current-history .record-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.df-current-history .record-stat-grid article{min-height:120px;padding:12px 4px}.df-current-history .record-stat-grid strong{font-size:26px}.df-current-history .record-stat-grid b{font-size:14px}.df-current-history .record-stat-grid span{font-size:12px}.df-v2 .df-account-settings .profile-intro{flex-direction:column;align-items:stretch;gap:16px}.df-account-dialog{padding:16px}}.df-v2-main:has(.df-course-history,.df-account-settings,.reading-level-page,.reading-library-page,.reader-page){background:var(--df-bg)}.df-v2 .df-current-history>.page-heading{margin:0 0 24px;padding:0}.df-v2 .df-current-history>.page-heading h1{margin:0 0 8px}.df-v2 .df-current-history>.page-heading p{color:var(--df-ink-2);margin:0}.df-current-history .record-row__aside a{color:var(--df-brand-ink);font-size:14px}.df-v2 .df-history-action{color:#fff;background:var(--df-brand-deep);min-height:44px;font:600 15px/1.5 var(--df-font-ui);border-radius:11px;align-items:center;margin-top:16px;padding:10px 20px;display:inline-flex}.df-account-settings .profile-quiet-actions button{border:1px solid var(--df-line);background:var(--df-surface);border-radius:11px;min-height:44px;padding:10px 16px}.df-account-settings .profile-intro{margin-bottom:24px}.df-account-settings .profile-intro p{font-size:15px;line-height:1.7}.df-account-dialog .profile-modal input{border:1px solid var(--df-line-strong);background:#fff}.df-account-dialog :is(.profile-avatar-editor,.profile-account-display){background:var(--df-surface-2)}.df-account-dialog .profile-modal :is(small,.profile-password-hint){color:var(--df-ink-3);font-size:13px;line-height:1.5}.df-v2 .paper-page :is(.primary-button,.reading-level-tabs button.active,.reading-mode-switch button.active){background:var(--df-brand-deep);color:#fff;border-color:var(--df-brand-deep)}.df-v2 .paper-page :is(.reading-level-panel,.reading-library-controls,.reading-level-tabs){border-color:var(--df-line);background:var(--df-surface-2);box-shadow:none}.df-v2 .paper-page .reading-level-card{border:1px solid var(--df-line);background:var(--df-surface);border-radius:14px}.df-v2 .paper-page .reading-level-card.active{border-color:var(--df-brand-ink);background:var(--df-brand-soft);box-shadow:inset 0 0 0 1px var(--df-brand-ink)}.df-v2 .paper-page .reading-level-card__icon{background:var(--df-surface-2)}.df-v2 .paper-page .reading-level-card strong{font:600 21px/1.4 var(--df-font-ui)}@media(max-width:720px){.df-v2-main:has(.reading-level-page){padding:20px 12px 32px}.df-v2 .df-current-history .record-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.df-v2 .df-current-history .record-stat-grid span{font-size:12px}.df-v2 .df-current-history .record-stat-grid article{min-height:120px;padding:12px 4px}.df-v2 :is(.mistake-toolbar button,.mistake-row__action a,.mistake-row__action button,.record-filters button,.record-row__aside a){min-height:44px;font-size:14px;line-height:1.4}.df-v2 :is(.mistake-row__question p,.mistake-options li b,.record-row p,.record-empty span){font-size:14px;line-height:1.6}.df-v2 :is(.mistake-options li small,.mistake-options li em,.mistake-row__source small,.mistake-row__history span,.record-row__aside time){font-size:12px;line-height:1.5}.df-v2 .mistake-options li :is(b,small){white-space:normal;text-overflow:clip;overflow:visible}.df-v2 .mistake-options li em{max-width:2em}.df-v2 .mistake-row__action :is(a,button){gap:4px;padding-inline:6px}.df-v2 .mistake-search{min-height:44px}.df-v2 .mistake-search input{font-size:16px}.df-v2 .records-page .record-stat-grid span{font-size:12px;line-height:1.5}.df-v2 .records-page .record-row__aside button{flex-shrink:0;width:44px;height:44px}.df-v2.df-prototype{background:var(--df-bg);padding:0}.df-v2 .df-prototype-frame{width:100%;min-height:100dvh;box-shadow:none;background:var(--df-bg);border:0;border-radius:0;margin:0}.df-v2 .df-v2-main{background:var(--df-bg);width:100%;max-width:none;padding:0}.df-v2 .df-mobile-main-padded{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.df-v2 .df-mobile-appbar{height:auto;min-height:calc(56px + env(safe-area-inset-top,0px));background:var(--df-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.df-v2 .df-mobile-appbar-left,.df-v2 .df-mobile-appbar-right{min-width:0}.df-v2 .df-mobile-appbar-right{gap:4px}.df-v2 .df-mobile-appbar:not([data-home]) .df-mobile-brand-text{display:none}.df-v2 .df-mobile-back-btn,.df-v2 .df-mobile-icon-btn{min-width:44px;min-height:44px}.df-v2 .df-mobile-appbar-center{text-align:left;white-space:normal;line-height:1.4;overflow:visible}.df-v2 .df-mobile-tabbar{background:var(--df-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.df-v2 :is(.df-html-choice,.df-html-avatar,.df-html-onboarding,.df-html-profile) .screen{min-height:0;padding:24px var(--df-study-gutter);background:var(--df-bg)}.df-v2 :is(.df-html-choice,.df-html-avatar,.df-html-onboarding) .center,.df-v2 .df-html-profile .mineCenter{width:100%;max-width:600px;margin:auto;padding:0}.df-v2 :is(.df-html-choice,.df-html-avatar,.df-html-onboarding) .title,.df-v2 .df-html-profile .mineTitle,.df-v2 :is(.paper-page,.df-account-settings,.membership-page) h1{color:var(--df-ink);font:700 var(--df-study-title)/1.35 var(--df-font-ui);letter-spacing:-.02em;text-align:left;margin:0 0 8px}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .sub{font:400 var(--df-study-support)/1.65 var(--df-font-ui);text-align:left;color:var(--df-ink-2);margin:0 0 24px}.df-v2 :is(.paper-page,.df-account-settings,.membership-page) h2{font:700 var(--df-study-heading)/1.4 var(--df-font-ui)}.df-v2 :is(.paper-page,.df-account-settings,.membership-page) :is(input,select,textarea){min-height:48px;font-size:var(--df-study-body)}.df-v2 :is(.paper-page,.df-account-settings,.membership-page) input:is([type=checkbox],[type=radio]){min-height:0}.df-v2 :is(.paper-page,.df-account-settings,.membership-page) .eyebrow{display:none}.df-v2 :is(.paper-page,.df-account-settings){background:var(--df-bg);box-shadow:none;border:0;border-radius:0}.df-v2 :is(.paper-page,.df-account-settings) :is(.primary-button,.secondary-button){border-radius:var(--df-study-control-radius);min-height:48px;font:600 var(--df-study-support)/1.5 var(--df-font-ui);white-space:normal}.df-choice-navigation{background:var(--df-surface);border-bottom:1px solid var(--df-line);padding:4px 12px}.df-choice-navigation button{min-height:48px;color:var(--df-brand-ink);font-size:var(--df-study-body);background:0 0;border:0;align-items:center;gap:8px;padding:8px 4px;display:inline-flex}.df-v2 .df-html-choice:has(>.df-choice-navigation){padding-bottom:calc(var(--choice-dock-height,124px) + 24px)}.df-v2 .df-html-choice #route .title{margin:0 0 24px}.df-v2 .df-html-choice .routeGroup{margin-top:24px}.df-v2 .df-html-choice .routeGroupName{font-size:var(--df-study-heading);margin-bottom:12px}.df-v2 .df-html-choice #route .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:12px}.df-v2 .df-html-choice #route .card.mini{border:1px solid var(--df-line);box-shadow:none;background:var(--df-surface);border-radius:16px;padding:16px 12px}.df-v2 .df-html-choice #route .card.mini.selected{border-color:var(--df-brand-deep);background:var(--df-brand-soft);box-shadow:inset 0 0 0 1px var(--df-brand-deep)}.df-v2 .df-html-choice #route .card.mini h3{font:700 var(--df-study-heading)/1.4 var(--df-font-ui)}.df-v2 .df-html-choice #route .card.mini p{max-width:none;font-size:var(--df-study-support);color:var(--df-ink-2)}.df-v2 .df-html-choice #route :is(.routeStat,.probeLink){font-size:var(--df-study-caption)}.df-v2 .df-html-choice #route button.probeLink{width:100%;min-height:44px;margin-top:8px;padding:8px;position:relative;inset:auto}.df-v2 .df-html-choice .coursePace{background:0 0;border:0;margin-top:24px;padding:0}.df-v2 .df-html-choice .coursePaceChoices{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:8px}.df-v2 .df-html-choice .coursePace :is(small,.coursePaceHint){font-size:var(--df-study-caption);line-height:1.6}.df-mobile-choice-bar{z-index:90;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--df-line);background:var(--df-surface);gap:8px;display:grid;position:fixed;inset:auto 0 0}.df-mobile-choice-info{font-size:var(--df-study-support);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;display:flex}.df-mobile-choice-label{color:var(--df-ink-2)}.df-mobile-choice-name{font-weight:700}.df-mobile-choice-submit-btn{color:#fff;background:var(--df-brand-deep);width:100%;height:auto;min-height:48px;font:700 var(--df-study-body)/1.5 var(--df-font-ui);border:0;border-radius:12px;padding:12px 16px}.df-mobile-choice-submit-btn:disabled{opacity:.5;cursor:not-allowed}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .choice2{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px;margin:24px 0;display:grid}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .charCard{border:1px solid var(--df-line);background:var(--df-surface);min-width:0;box-shadow:none;border-radius:16px;padding:12px}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .charCard.selected{border-color:var(--df-brand-deep);background:var(--df-brand-soft);box-shadow:inset 0 0 0 1px var(--df-brand-deep)}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .charWrap{height:180px;min-height:0}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .charWrap img{object-fit:contain;max-width:100%;height:100%}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .charCard h2{font:700 var(--df-study-heading)/1.4 var(--df-font-ui)}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .actions{flex-direction:column;gap:8px;margin-top:24px;display:flex}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .actions button{width:100%;min-height:48px;font-size:var(--df-study-body);border-radius:12px}.df-v2 :is(.df-html-avatar,.df-html-onboarding) .primary{background:var(--df-brand-deep);color:#fff;box-shadow:none;border:0}.df-v2 .df-html-profile .mineHead{flex-direction:row;align-items:center;gap:12px;margin-bottom:24px;display:flex}.df-v2 .df-html-profile .mineHeadActions{flex-direction:row;flex:none;justify-content:space-between;gap:12px;width:auto;margin-top:8px;display:flex}.df-v2 .df-html-profile .mineHeadActions button{min-height:44px;box-shadow:none;font-size:var(--df-study-support);background:0 0;border:0;border-radius:0;padding:8px 0}.df-v2 .df-html-profile :is(.card,.mineSection){border:1px solid var(--df-line);box-shadow:none;background:var(--df-surface);border-radius:16px}.df-v2 .df-html-profile .mineProfile{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:16px;display:grid}.df-v2 .df-html-profile .minePortrait{border:0;border-radius:12px;align-self:start;width:88px;height:140px}.df-v2 .df-html-profile .mineCopy{min-width:0}.df-v2 .df-html-profile .mineCopy h2{font:700 var(--df-study-heading)/1.4 var(--df-font-ui);margin:0 0 8px}.df-v2 .df-html-profile :is(.mineMeta,.mineHint,.mineXpTop,.mineSkinName,.mineStat span,.skinInfo small,.walletStrip small,.walletStrip>span){font-size:var(--df-study-caption);color:var(--df-ink-2);line-height:1.6}.df-v2 .df-html-profile .mineMeta{flex-wrap:wrap;gap:4px 8px;display:flex}.df-v2 .df-html-profile .mineStats{gap:8px}.df-v2 .df-html-profile .mineStat{background:0 0;border:0;padding:8px 0}.df-v2 .df-html-profile .mineStat strong{font:700 1.25rem/1.4 var(--df-font-ui)}.df-v2 .df-html-profile :is(.mineSwitchRow,.mineAccountForms){margin-top:24px;padding:16px}.df-v2 .df-html-profile :is(.mineSwitchCopy>b,.mineSection summary b,.wardrobeTop h2){font:700 var(--df-study-heading)/1.4 var(--df-font-ui)}.df-v2 .df-html-profile :is(.mineSwitchCopy>span,.mineSection summary span,.wardrobeTop p,.mineAccountForms p){font-size:var(--df-study-support);color:var(--df-ink-2);line-height:1.6}.df-v2 .df-html-profile :is(.mineSwitchBtns,.mineAccountForms) button{white-space:normal;min-height:44px;font-size:var(--df-study-support);border-radius:12px}.df-v2 .df-html-profile .mineModules{gap:12px;margin-top:24px}.df-v2 .df-html-profile .mineSection summary{gap:12px;padding:16px}.df-v2 .df-html-profile .mineSectionBody{padding:16px}.df-v2 .df-html-profile .wardrobeTop{flex-wrap:wrap;align-items:start;gap:8px}.df-v2 .df-html-profile .wardrobeBody .skinGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px;padding:0;display:grid;overflow:visible}.df-v2 .df-html-profile .skinCard{border-radius:16px;min-width:0}.df-v2 .df-html-profile .skinVisual{height:160px}.df-v2 .df-html-profile .skinInfo{padding:12px}.df-v2 .df-html-profile .skinInfo b{font-size:var(--df-study-body)}.df-v2 .df-html-profile .skinAction{width:100%;height:auto;min-height:44px;font-size:var(--df-study-caption);white-space:normal;border-radius:12px;margin-top:12px;padding:8px}.df-v2 :is(.df-current-history,.df-account-settings){padding:24px 16px}.df-v2 .df-history-navigation{gap:8px 16px;margin-bottom:16px}.df-v2 .df-history-navigation .secondary-button{min-height:44px;box-shadow:none;background:0 0;border:0;padding:8px 0}.df-v2 .df-current-history .record-stat-grid{border-block:1px solid var(--df-line);gap:0;margin:24px 0;padding-block:16px}.df-v2 .df-current-history .record-stat-grid article{border:0;border-right:1px solid var(--df-line);background:0 0;border-radius:0;min-height:0;padding:0 8px}.df-v2 .df-current-history .record-stat-grid article:last-child{border-right:0}.df-v2 .df-current-history .record-stat-grid strong{font-size:var(--df-study-title)}.df-v2 .df-current-history .record-stat-grid b{font-size:var(--df-study-caption)}.df-v2 .df-current-history .record-row{border-radius:16px;padding:16px}.df-v2 .df-current-history .record-row p{font-size:var(--df-study-support);line-height:1.6}.df-v2 .df-account-summary{padding:16px}.df-account-dialog .profile-modal{border-radius:20px 20px 0 0}.df-account-dialog .profile-modal :is(h2){font-size:1.125rem}.df-account-dialog .profile-modal>header button,.df-account-dialog .profile-avatar-upload{min-width:44px;min-height:44px}.df-account-dialog .profile-modal__actions{grid-template-columns:1fr;gap:8px}.df-account-dialog .profile-modal__actions button{border-radius:12px;width:100%;min-height:48px}.df-v2 :is(.reading-step-heading,.reading-library-heading){flex-wrap:wrap;gap:16px;padding:24px 16px 0}.df-v2 :is(.reading-step-heading,.reading-library-heading) p{font-size:var(--df-study-support);line-height:1.6}.df-v2 :is(.reading-level-panel,.reading-library-controls,.reading-library-panel){background:var(--df-surface);border-radius:16px;margin:24px 16px 0;padding:16px}.df-v2 .reading-library-panel{padding:0}.df-v2 .reading-library-panel>header{padding:16px}.df-v2 .reading-level-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px}.df-v2 .reading-level-card{min-height:120px;padding:16px 12px}.df-v2 .reading-level-card strong{font-size:var(--df-study-heading)}.df-v2 :is(.reading-level-card small,.reading-level-panel__top p,.reading-library-panel>header p,.reading-article-row__body>div,.reading-article-row small,.reading-recommendation){font-size:var(--df-study-caption);color:var(--df-ink-2);line-height:1.6}.df-v2 :is(.reading-restart,.reading-level-tabs button,.reading-mode-switch button){height:auto;min-height:44px;font-size:var(--df-study-support)}.df-v2 .reading-level-action{bottom:calc(56px + env(safe-area-inset-bottom,0px));background:var(--df-surface);box-shadow:none;padding:12px 16px}.df-v2 .reading-article-row{gap:12px;padding:16px}.df-v2 .reading-article-row h3{font:700 var(--df-study-heading)/1.5 var(--df-font-ui)}.df-v2 .reader-page{background:var(--df-surface);min-height:100dvh}.df-v2 .reader-toolbar{padding:calc(4px + env(safe-area-inset-top,0px)) 12px 4px;background:var(--df-surface);border-bottom:1px solid var(--df-line);box-shadow:none;grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.df-v2 .reader-toolbar>a{width:44px;height:44px}.df-v2 .reader-toolbar>div:nth-child(2){white-space:normal;font-size:var(--df-study-caption);flex-wrap:wrap;justify-content:flex-start}.df-v2 .reader-tools .reader-translation-toggle{min-height:44px;font-size:var(--df-study-caption);padding-inline:8px}.df-v2 .reader-sheet{background:var(--df-surface);border:0}.df-v2 .reader-sheet>header{padding:24px 16px 12px}.df-v2 .reader-sheet>header h1{font:700 var(--df-study-title)/1.45 var(--df-font-ui)}.df-v2 .reader-content{max-width:70ch;margin:auto;padding:24px 16px}.df-v2 .reader-finish{padding:24px 16px}.df-v2 .reader-finish>span{font-size:var(--df-study-support)}.df-v2 .reader-finish .primary-button{width:100%}.df-v2 .membership-page{width:100%;padding:24px 16px}.df-v2 .membership-heading{gap:16px;margin-bottom:24px}.df-v2 .membership-heading p{font-size:var(--df-study-support);line-height:1.6}.df-v2 .membership-layout{gap:24px}.df-v2 :is(.membership-plan-card,.membership-checkout-card,.membership-heading>aside,.membership-assurance){box-shadow:none;border-radius:16px;padding:16px}.df-v2 .membership-checkout-card{order:0}.df-v2 .membership-plan-card__title strong{font-size:var(--df-study-heading)}.df-v2 .membership-page :is(small,.membership-checkout-terms,.membership-assurance span){font-size:var(--df-study-caption);line-height:1.6}.df-v2 .membership-page button{border-radius:12px;min-height:44px}.df-v2 .df-html-games :is(.dfIsleWrap,.dfPlayWrap){width:100%;max-width:600px;padding:24px 16px}.df-v2 .df-html-games .dfIsleTop{flex-wrap:wrap;gap:12px}.df-v2 .df-html-games .dfIsleTitle{flex-basis:100%;min-width:0}.df-v2 .df-html-games .dfIsleTitle h1{font:700 var(--df-study-title)/1.35 var(--df-font-ui)}.df-v2 .df-html-games :is(.dfIsleTitle p,.dfDeckHead p,.dfGame p){font-size:var(--df-study-support);line-height:1.6}.df-v2 .df-html-games :is(.dfIsle small,.dfGameTag,.dfDeckState,.df54WinCount){font-size:var(--df-study-caption);line-height:1.5}.df-v2 .df-html-games .df54GameGoal{line-height:1.6;font-size:var(--df-study-caption)!important}.df-v2 .df-html-games :is(.dfIsleBack,.df54RulesBtn,.dfEndActs button){min-height:44px;font-size:var(--df-study-support);white-space:normal;border-radius:12px}.df-v2 .df-html-games .dfEndActs{grid-template-columns:1fr;gap:8px;display:grid}.df-v2 .df-html-games .dfPlayHud{flex-wrap:wrap;gap:8px}.df-v2 .df-mobile-match-top{flex-wrap:wrap}.df-v2 .df-mobile-match-stats-row{flex-wrap:wrap;gap:8px}.df-v2 .df-mobile-match-stat-pill{font-size:var(--df-study-caption)}.df-v2 .df-mobile-match-stat-pill.time{display:none}.df-v2 .wordTile{min-height:60px!important;font-size:.875rem!important}.df-v2 .wordTile.en{font-size:1rem!important}.df-v2 .wordGameNotice{line-height:1.6;font-size:.8125rem!important}.df-v2 .df-block-route .df-block-frame .controls{flex:none;min-height:0;padding:8px 0 0}.df-block-route .df-mobile-gamepad{padding:0 4px env(safe-area-inset-bottom,0px);gap:8px;margin:0}.df-block-route .wordBlockBack{border-radius:12px;min-height:44px;font-size:14px}.df-block-route .df-block-frame .gameTop .kicker{display:none}.df-block-route .df-block-frame .stat small{font-size:11px}.df-v2 :is(.admin-heading,.admin-users-heading,.voice-console-heading,.tts-jobs-heading,.analytics-heading){flex-wrap:wrap;gap:12px;padding:24px 16px 16px}.df-v2 :is(.admin-heading,.admin-users-heading,.voice-console-heading,.tts-jobs-heading,.analytics-heading) p{font-size:var(--df-study-support);line-height:1.6}.df-v2 .admin-tool-nav{flex-wrap:nowrap;gap:4px;margin-inline:16px;padding:4px;display:flex;overflow-x:auto}.df-v2 .admin-tool-nav a{flex:none}.df-v2 :is(.admin-tool-nav a,.admin-row-actions button,.admin-user-actions button,.tts-job-actions button,.admin-list-pagination button,.analytics-filters button){height:auto;min-height:44px;font-size:var(--df-study-support);white-space:normal;padding:8px 12px}.df-v2 :is(.admin-workspace,.admin-skin-workspace,.admin-users-grid){gap:16px;padding:24px 16px}.df-v2 :is(.admin-editor,.admin-skin-editor){z-index:150;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--df-surface)}.df-v2 :is(.admin-editor,.admin-skin-editor)>header button{min-width:44px;min-height:44px}.df-v2 :is(.admin-editor,.admin-skin-editor) label{font-size:var(--df-study-support);line-height:1.5}.df-v2 :is(.admin-registration-panel>p,.admin-users-note,.admin-user-card small,.tts-job-card p,.tts-job-title small,.voice-field-note,.analytics-health-note,.analytics-range-note){font-size:var(--df-study-caption);line-height:1.6}.df-v2 .admin-list-pagination{grid-template-columns:1fr 1fr;gap:8px}.df-v2 .admin-list-pagination>span{text-align:center;grid-area:1/1/auto/-1}.df-v2 .analytics-share-bars>div{grid-template-columns:minmax(0,1fr) auto;gap:8px}.df-v2 .analytics-share-bars>div>i{grid-area:2/1/auto/-1}.df-v2 .analytics-heading>div>span{display:none}.df-html-practice .v47RwSheet{border-radius:20px 20px 0 0;width:100%;max-height:94dvh}.df-html-practice :is(.v47RwHead,.v47RwBody,.v47RwFoot){padding:16px}.df-html-practice .v47RwHead h2{font:700 1.125rem/1.4 var(--df-font-ui,system-ui)}.df-html-practice .v47RwHead .v47RwKicker{font-size:.8125rem;line-height:1.5}.df-html-practice .v47RwClose{min-width:44px;min-height:44px}.df-html-practice .dfRankChips{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:8px;margin-top:12px;display:grid}.df-html-practice .dfRankChip{color:#1f6b46;background:#fff;border:1px solid #b9d0be;border-radius:12px;min-height:44px;padding:8px 12px;font-size:.875rem}.df-html-practice .dfRankChip.on{color:#fff;background:#26794f;border-color:#26794f}.df-html-practice .dfRankChip:focus-visible{outline-offset:3px;outline:2px solid #26794f}.df-html-practice .dfRankChip:disabled{opacity:.65}.df-html-practice .v47RwFoot{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;gap:8px}.df-html-practice .v47RwFoot button{border-radius:12px;width:100%;min-height:48px;font-size:1rem}.auth-access-page .phone-auth-back,.auth-access-page .phone-auth-verified button{min-height:44px}.auth-access-page :is(.phone-auth-consent,.auth-field-rule,.login-card>p){font-size:.8125rem;line-height:1.65}.auth-access-page .login-card{border-radius:16px}}@media(max-width:360px){.df-v2 .df-html-profile .mineProfile{grid-template-columns:1fr}.df-v2 .df-html-profile .minePortrait{height:112px}.df-v2 .df-mobile-appbar .df-mobile-wallet{padding-inline:4px}.df-v2 .df-mobile-appbar[data-home] .df-mobile-brand-text{font-size:14px}}@media(max-width:720px){.df-v2 .df-html-avatar .dfStepTag{display:none}.df-v2 .df-html-avatar :is(.charCard p,.dfGenderLock){font-size:var(--df-study-caption);line-height:1.6}.df-v2 .df-html-profile .mineSessionActions{justify-content:center;padding-top:24px;display:flex}.df-v2 .df-html-profile .mineSessionActions button{min-height:44px;font-size:var(--df-study-support);background:0 0;border:0;padding:12px 16px}.df-v2 .df-html-games .dfIsleTitle p{max-height:none;color:var(--df-ink-2);overflow:visible;font-size:var(--df-study-support)!important;display:block!important}.df-v2 .df-html-games .dfIsle small{color:var(--df-ink-2);font-size:var(--df-study-caption)!important}.df-v2 .df-html-games .dfIsleSea{gap:12px;margin-block:24px}.df-v2 .df-html-games .dfIsle{min-height:100px}.df-v2 .paper-page:has(.admin-tool-nav) :is(p,small,label){font-size:var(--df-study-caption);line-height:1.6}.df-v2 .paper-page:has(.admin-tool-nav) h3{font:700 var(--df-study-heading)/1.4 var(--df-font-ui)}.df-v2 .paper-page:has(.admin-tool-nav) :is(.admin-overview span,.tts-jobs-summary span){font-size:var(--df-study-caption)}.df-v2 .paper-page:has(.admin-tool-nav) :is(.admin-skin-card__actions button,.admin-content-tab){min-height:44px;font-size:var(--df-study-support)}.df-v2 .paper-page:has(.admin-tool-nav) .primary-button{box-shadow:none}.df-v2 .df-html-onboarding .dfBoot{width:100%;padding:0}.df-v2 .df-html-onboarding .dfBootTitle{font:700 var(--df-study-title)/1.4 var(--df-font-ui)}.df-v2 .df-html-onboarding .dfBootLead{font-size:var(--df-study-body);line-height:1.7}.df-v2 .df-html-onboarding .dfBootSteps{font-size:var(--df-study-support);line-height:1.7}.df-v2 .df-html-onboarding .stageGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px;margin-top:24px;display:grid}.df-v2 .df-html-onboarding .stageGrid .mini{box-shadow:none;border-radius:16px;padding:16px 12px}.df-v2 .df-html-onboarding .stageGrid .mini p{font-size:var(--df-study-caption);line-height:1.6}.df-v2 .df-html-onboarding .confirm{box-shadow:none;border-radius:16px;padding:16px}.df-v2 .df-html-onboarding .dfStepTag{font-size:var(--df-study-caption);margin-bottom:12px}.df-v2 .df-assessment .hero{display:none}.df-v2 .df-assessment .wrap{padding:16px}.df-v2 .df-assessment .panel{box-shadow:none;border-radius:16px;padding:16px}.df-v2 .df-assessment h2{font:700 var(--df-study-title)/1.4 var(--df-font-ui)}.df-v2 .df-assessment :is(.muted,.finLead,.ckSkip p){font-size:var(--df-study-support);line-height:1.7}.df-v2 .df-assessment :is(.bar,.finActs){flex-direction:column;align-items:stretch;gap:8px;display:flex}.df-v2 .df-assessment :is(.bar,.finActs) button{width:100%;height:auto;min-height:48px;font-size:var(--df-study-body);border-radius:12px}.df-v2 .df-assessment .finOpts{grid-template-columns:1fr;gap:12px}.df-v2 .df-assessment .finOpts button{min-height:48px;font-size:var(--df-study-body)}.df-v2 .probeIn{border-radius:16px;margin-block:24px;padding:16px}.df-v2 .probeIn :is(.probeIn-head strong,.probeIn-result b){font-size:var(--df-study-heading)}.df-v2 .probeIn .muted{font-size:var(--df-study-support);line-height:1.6}.df-v2 .probeIn :is(.probeIn-acts,.probeIn-ask){flex-direction:column;gap:8px;display:flex}.df-v2 .probeIn button{min-height:44px;font-size:var(--df-study-support);border-radius:12px}.df-v2 .df-html-settlement .center{padding:24px 16px}.df-v2 .df-html-settlement h1{font:700 var(--df-study-title)/1.4 var(--df-font-ui)}.df-v2 .df-html-settlement .actions{flex-direction:column;gap:8px;display:flex}.df-v2 .df-html-settlement .actions button{min-height:48px;font-size:var(--df-study-body);border-radius:12px}.df-v2 .wordBook :is(.bookBar,.bookActs,.bookFilter){flex-wrap:wrap;gap:8px;display:flex}.df-v2 .wordBook :is(.bookChip,.bookLink,.bookGo){min-height:44px;font-size:var(--df-study-support);border-radius:12px;padding:8px 12px}.df-v2 .wordBook .bookCreed{font-size:var(--df-study-support);line-height:1.7}.df-choice-probe .probeBox{border-radius:20px 20px 0 0;width:100%;max-height:92dvh;padding:24px 16px;inset:auto 0 0;transform:none}.df-choice-probe .probeBox h3{font:700 1.125rem/1.4 var(--df-font-ui,system-ui);padding-right:44px}.df-choice-probe :is(.probeNote,.probeCount,.probeResult){font-size:.875rem;line-height:1.7}.df-choice-probe .probeClose{min-width:44px;min-height:44px}.df-choice-probe :is(.probeAsk,.probeActions){flex-direction:column;gap:8px;display:flex}.df-choice-probe :is(.probeAsk,.probeActions) button{white-space:normal;border-radius:12px;width:100%;height:auto;min-height:48px;padding:12px;font-size:.875rem}.df-account-dialog .profile-modal__actions>button:not(.confirm){display:none}.df-v2 .df-html-onboarding .actions .onboarding-back{align-self:flex-start;width:auto;min-height:44px}.df-v2 .df-html-settlement .screen{min-height:0;padding:24px 16px}.df-v2 .df-html-settlement .settle{width:100%;max-width:600px;padding:0}.df-v2 .df-html-settlement .complete{font:700 var(--df-study-title)/1.4 var(--df-font-ui)}.df-v2 .df-html-settlement :is(#df52SettleSummary,.pill){font-size:var(--df-study-support);line-height:1.6}.df-v2 .df-block-route .dialog{width:100%;box-shadow:none;border-width:1px;border-radius:16px;padding:24px 16px}.df-v2 .df-block-route .dialog h2{font:700 var(--df-study-title)/1.4 var(--df-font-ui)}.df-v2 .df-block-route .dialog>p{font-size:var(--df-study-support);line-height:1.6}.df-v2 .df-block-route .dialog :is(.primary,.secondary,.menuExit){min-height:48px;font-size:var(--df-study-body);border-radius:12px}.df-v2 .df-block-route .df-mobile-gamepad{box-sizing:border-box;grid-template-columns:2fr 3fr;gap:12px;width:100%;display:grid}.df-v2 .df-block-route .df-mobile-gamepad-left{grid-template-columns:repeat(2,minmax(44px,1fr));gap:6px;min-width:0;display:grid}.df-v2 .df-block-route .df-mobile-gamepad-right{grid-template-columns:repeat(3,minmax(44px,1fr));gap:6px;min-width:0;display:grid}.df-v2 .df-block-route .df-mobile-pad-btn{border-radius:12px;width:100%;min-width:44px;height:52px}.df-v2 .df-block-route .df-mobile-pad-btn span{font-size:12px}.df-v2 .df-html-games #dfIsland .dfIsleTop>.dfIsleBack{display:none}.df-v2 .df-html-games .dfIsleSea{flex-wrap:nowrap;justify-content:flex-start}.df-v2 .df-html-games .dfIsle{width:auto;min-width:5.25rem}.df-v2 .df-html-games .dfIsle b{font-size:var(--df-study-support)!important}.df-v2 .df-html-games .dfIsleTitle p{color:var(--df-ink-2)!important}.df-v2 .df-html-profile .mineHead .mineTitle{text-align:left;flex:1}.df-v2 .df-html-profile .mineHeadActions,.df-v2 .df-html-profile .mineHeadActions .mineBack{margin-top:0}.df-v2 .df-html-challenge .dfIsleTop{grid-template-columns:minmax(0,1fr) auto;display:grid}.df-v2 .df-html-challenge .dfIsleTop>.dfIsleBack{grid-row:1;justify-self:start;width:auto}.df-v2 .df-html-challenge .dfIsleTop>.dfIsleBack:last-child{grid-column:2;justify-self:end}.df-v2 .df-html-challenge .dfIsleTitle{grid-area:2/1/auto/-1}.df-v2 .df-html-onboarding .confirm>img{object-fit:contain;width:auto;max-width:100%;height:160px;margin-inline:auto}.df-account-dialog .profile-account-display{flex-direction:column;align-items:stretch;gap:8px;display:flex}.df-account-dialog .profile-account-display strong{font:600 1rem/1.5 var(--df-font-ui);overflow-wrap:anywhere}.df-v2 .df-html-choice #route .card.mini .ico{width:40px;height:40px;margin:0 auto 8px;font-size:24px}.df-v2 .df-html-choice #route .card.mini h3{margin:8px 0 4px}.df-v2 .df-html-choice .routeGroupName{letter-spacing:normal;color:var(--df-ink-2);font-weight:600}.df-v2 .df-html-choice #route .routeStat{justify-content:center;gap:12px;margin-top:8px}.df-v2 .df-html-choice #route .routeStat span{font-size:var(--df-study-caption);background:0 0;border:0;flex:0 auto;padding:0}.df-v2 .df-html-choice #route .routeStat b{font-size:var(--df-study-body);margin-right:3px;display:inline}.df-v2 .wordMatchGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.df-v2 .wordTile{overflow-wrap:normal;word-break:normal}}@media(max-width:480px){.df-v2 .wordMatchGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:720px){.df-v2 .df-learning-route:has(.df-assessment)>.df-learning-bar,.df-v2 .df-assessment #df52GroupProgress{display:none}.df-v2 .df-assessment .panel{background:0 0;border:0;padding:0}.df-v2 .df-assessment .toprow{flex-wrap:wrap;gap:8px;margin-bottom:24px}.df-v2 .df-assessment .toprow>.back{white-space:nowrap;min-height:44px;font-size:var(--df-study-support);border-radius:12px}.df-v2 .df-assessment .toprow>.muted{font-size:var(--df-study-caption);background:0 0;border:0;border-radius:0;padding:0}.df-v2 .df-assessment .ckSkip p{flex:0 auto}.df-v2 .df-assessment .ckSkip button{height:auto;min-height:44px;font-size:var(--df-study-support);border-radius:12px;padding:8px 12px}}.df-v2{--df-play-surface:#fff3df;--df-play-ink:#805315;--df-read-surface:#eaf3fb;--df-read-ink:#285f82;--df-expression-surface:#f2edfa;--df-expression-ink:#68508d;--df-achievement-surface:#fff5da;--df-achievement-ink:#795915;--df-achievement-line:#ddc485}.df-v2 [data-study-tone=game]{--df-entry-surface:var(--df-play-surface);--df-entry-ink:var(--df-play-ink)}.df-v2 [data-study-tone=read]{--df-entry-surface:var(--df-read-surface);--df-entry-ink:var(--df-read-ink)}.df-v2 [data-study-tone=taste]{--df-entry-surface:var(--df-expression-surface);--df-entry-ink:var(--df-expression-ink)}.df-v2 [data-study-tone=book]{--df-entry-surface:var(--df-brand-soft);--df-entry-ink:var(--df-brand-ink)}.df-v2 :is(.df-mobile-dock-card,.df-home-entry)[data-study-tone]{background:var(--df-entry-surface);box-shadow:none;border-color:#0000}.df-v2 [data-study-tone] :is(.df-mobile-dock-icon-wrap,.df-home-entry-icon){color:var(--df-entry-ink);background:0 0}.df-v2 [data-study-tone] :is(.df-mobile-dock-title,.df-home-entry-arrow),.df-v2 .df-home-entry[data-study-tone]>b{color:var(--df-entry-ink)}.df-v2 [data-study-tone]:focus-visible{outline:2px solid var(--df-entry-ink);outline-offset:3px}.df-v2 .df-mobile-task-card[data-complete] .df-mobile-progress-fill{background:var(--df-achievement-surface)}.df-v2 .df-mobile-task-card[data-complete] .df-mobile-task-title{color:var(--df-achievement-surface)}.df-home-finish-mark{vertical-align:-4px;margin-right:8px;display:inline-block}.df-v2 .df-course-overview .dayGrid button.done{background:var(--df-achievement-surface);border-color:var(--df-achievement-line);color:var(--df-achievement-ink)}.df-v2 .df-course-overview .dayGrid button.done:after{content:none}.df-v2 .df-course-overview .dayGrid button.done small{color:var(--df-achievement-ink);background:0 0}.df-v2 .df-course-overview .df-course-tile-state{justify-content:center;align-items:center;gap:4px;display:flex}.df-course-tile-state svg{flex-shrink:0}.df-v2 .df-mobile-deck-card{transition:background-color .18s ease-out,border-color .18s ease-out}.df-v2 .df-mobile-deck-card[aria-pressed=true] .df-mobile-card-zh{animation:.22s ease-out both dfMeaningReveal}@keyframes dfMeaningReveal{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media(hover:hover){.df-v2 :is(.df-mobile-dock-card,.df-home-entry)[data-study-tone]:hover:not(:disabled){border-color:var(--df-entry-ink);transform:none}}@media(prefers-reduced-motion:reduce){.df-v2 .df-mobile-deck-card{transition:none}.df-v2 .df-mobile-deck-card[aria-pressed=true] .df-mobile-card-zh{animation:none}}.df-v2 .df-family-study[data-exercise-step=s4] .match-group .col button.right{animation:none}.df-v2 .df-family-study .match-groups[data-celebrate] .match-group{animation:.46s cubic-bezier(.16,1,.3,1) dfPairsComplete}.df-v2 .df-family-study .sp-word[data-celebrate]{animation:.32s cubic-bezier(.16,1,.3,1) dfWordTogether}@keyframes dfPairsComplete{0%{background:var(--df-good-bg);border-color:var(--df-good)}to{background:var(--df-surface);border-color:var(--df-line)}}@keyframes dfWordTogether{0%{transform:scale(1.025)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.df-v2 .df-family-study .match-groups[data-celebrate] .match-group,.df-v2 .df-family-study .sp-word[data-celebrate]{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.df-v2.df-route-error{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.df-v2.df-route-error>section{width:100%;max-width:520px}.df-v2.df-route-error h1{margin:0 0 20px}.df-v2 .df-route-error-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
