.df{--accent:var(--color-accent);--accent-2:var(--color-accent-2);--accent-soft:var(--color-accent-soft);--ok:var(--color-ok);--paper:var(--color-paper);--ink:var(--color-ink);--rule:var(--color-rule);--hilite-soft:var(--color-hilite-soft);--card:var(--color-card);--t-display:var(--font-display);--t-ui:var(--font-ui);--t-mono:var(--font-mono);--t-hand:var(--font-hand);--r-sm:var(--radius-sm);--r-md:var(--radius-md);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--df-bg:#16130f;--df-panel:#211c16;--df-line:#352d24;--df-ink:#f3ece0;--df-ink2:#c4b9a8;--df-mute:#8c8475;background:var(--df-bg);min-height:100vh;color:var(--df-ink);font-family:var(--t-ui);-webkit-font-smoothing:antialiased}.df *,.df :before,.df :after{box-sizing:border-box}.df-wrap{max-width:1180px;margin:0 auto;padding:0 32px}.df-top{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--df-line);background:#16130fcc;background:lab(6.09103% .758693 2.65885/.8);position:sticky;top:0}.df-top-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.df-brand-name{font-family:var(--t-display);letter-spacing:-.5px;color:var(--df-ink);font-size:22px;font-weight:600}.df .lang-rail{border:1px solid var(--df-line);background:#1b1610;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.df .lang-pill{color:var(--df-mute);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--t-ui);white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;transition:all .15s;display:inline-flex}.df .lang-pill:hover{color:var(--df-ink)}.df .lang-pill.on{background:var(--df-panel);color:var(--df-ink);border:1px solid var(--df-line)}.df .lang-pill .tag{font-family:var(--t-mono);opacity:.6;font-size:10px}.df-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}@media (max-width:1000px){.df-hero{grid-template-columns:1fr;gap:36px}}.df-h1{font-family:var(--t-display);letter-spacing:-1.4px;color:var(--df-ink);text-wrap:balance;margin:0;font-size:clamp(40px,6.6vw,76px);font-weight:500;line-height:1.02}.df-eyebrow{font-family:var(--t-mono);letter-spacing:2.4px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.df-sub{color:var(--df-ink2);max-width:460px;font-size:18px;line-height:1.6}.drill-card{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-xl);padding:26px;box-shadow:0 24px 80px #00000073}.df-hero .drill-card{width:100%}.drill-stage{font-family:var(--t-display);color:var(--df-ink);font-size:clamp(22px,3vw,30px);font-weight:400;line-height:1.5}.drill-blank{text-align:center;min-width:96px;font-family:var(--t-mono);border:2px solid var(--accent);color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent);border-radius:8px;margin:0 2px;padding:2px 12px;font-size:.88em;font-weight:600;display:inline-block}.drill-blank.filled{border-color:var(--df-ink);color:var(--df-ink);background:0 0}.drill-blank.ok{border-color:var(--ok);color:#a8d6a0;background:color-mix(in oklab, var(--ok) 16%, transparent)}.drill-blank.no{border-color:var(--accent);color:#f0a78c;background:color-mix(in oklab, var(--accent) 16%, transparent)}.drill-blank.type{text-align:left;min-width:120px}.df-caret{vertical-align:-2px;background:var(--accent);width:2px;height:1em;margin-left:1px;animation:1s step-end infinite dfblink;display:inline-block}@keyframes dfblink{50%{opacity:0}}.df-typedot{font-family:var(--t-mono);color:var(--df-mute);letter-spacing:.4px;align-items:center;gap:5px;font-size:11px;display:inline-flex}.df-typedot b{background:var(--accent);border-radius:6px;width:6px;height:6px;display:inline-block}.df-section{border-top:1px solid var(--df-line);padding:96px 0}.df-card{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);padding:26px}.df-eyebrow2{font-family:var(--t-mono);letter-spacing:2px;text-transform:uppercase;color:var(--df-mute);font-size:11px;font-weight:500}.df-h2{font-family:var(--t-display);letter-spacing:-.8px;color:var(--df-ink);text-wrap:balance;margin:0;font-size:clamp(30px,4.4vw,48px);font-weight:500;line-height:1.06}.df-coach{border-radius:var(--r-md);border:1px solid var(--df-line);background:#1b1610;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.df-coach-dot{background:var(--accent);color:#fff;width:30px;height:30px;font-family:var(--t-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.df-mono-num{font-family:var(--t-mono);color:var(--accent);font-weight:600}.loop-grid{grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:820px){.loop-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:460px){.loop-grid{grid-template-columns:1fr!important}}.df-read-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:36px;display:grid}@media (max-width:940px){.df-read-grid{grid-template-columns:1fr;gap:22px}}.df-passage{font-family:var(--t-display);color:var(--df-ink);letter-spacing:-.2px;text-wrap:pretty;margin:0;font-size:clamp(22px,2.5vw,28px);font-weight:400;line-height:1.66}.df-word{cursor:pointer;font:inherit;color:inherit;text-underline-offset:5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent);background:0 0;border:none;padding:0 1px;transition:background .15s,color .15s;display:inline;position:relative}.df-word:hover{background:color-mix(in oklab, var(--accent) 14%, transparent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.df-word.on{background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--df-ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);box-shadow:0 2px 0 var(--accent)}.df-note{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);padding:22px 22px 18px;box-shadow:0 18px 50px #0006}.df-rail{position:sticky;top:92px}.df-hint{border:1.5px dashed var(--df-line);border-radius:var(--r-lg);text-align:center;background:#1b1610;padding:26px 22px}.df-chip-dark{border:1px solid var(--df-line);color:var(--df-ink2);background:#1b1610;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.vocab-card{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.vocab-flag{border:1px solid var(--df-line);width:36px;height:36px;font-family:var(--t-mono);color:var(--df-ink2);background:#1b1610;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.vocab-grade{gap:6px;display:inline-flex}.vocab-grade button{font-family:var(--t-mono);border:1px solid var(--df-line);color:var(--df-ink2);cursor:pointer;background:#1b1610;border-radius:8px;padding:7px 12px;font-size:12px;transition:all .14s}.vocab-grade button:hover{color:var(--df-ink);border-color:var(--df-ink)}.vocab-grade button.again:hover{border-color:var(--accent);color:#f0a78c}.vocab-grade button.easy:hover{border-color:var(--ok);color:#b6e0ad}.vocab-new{border-color:color-mix(in oklab, var(--accent) 55%, var(--df-line))}.df .btn-xl{border-radius:var(--r-md);font-size:15px;font-weight:600;font-family:var(--t-ui);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:15px 28px;transition:all .15s;display:inline-flex}.df a.btn-xl{text-decoration:none}.df .btn-xl:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}.df .btn-xl.ghost-light{color:var(--paper);background:0 0;border-color:#ffffff52}.df .btn-xl.ghost-light:hover{background:#ffffff14;border-color:#ffffff8c;transform:none}@media (prefers-reduced-motion:no-preference){.df .lift{animation:.4s cubic-bezier(.2,.7,.3,1) liftin}.df .swap{animation:.32s swapin}}@keyframes liftin{0%{transform:translateY(10px)}to{transform:none}}@keyframes swapin{0%{transform:translateY(6px)}to{transform:none}}.mode-rail{border:1px solid var(--df-line);background:#1b1610;border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.mode-pill{color:var(--df-mute);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--t-ui);white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:baseline;gap:7px;padding:8px 14px;transition:all .15s;display:inline-flex}.mode-pill:hover{color:var(--df-ink)}.mode-pill.on{background:var(--df-panel);color:var(--df-ink);border:1px solid var(--df-line);padding:7px 13px}.mode-tag{font-family:var(--t-mono);opacity:.55;font-size:10px}@media (max-width:560px){.mode-tag{display:none}}.practice-frame{margin-top:22px}.practice-frame .drill-card{max-width:760px;margin:0 auto}.practice-nav{justify-content:center;align-items:center;gap:18px;margin-top:22px;display:flex}.pn-btn{border:1px solid var(--df-line);background:var(--df-panel);width:40px;height:40px;color:var(--df-ink);cursor:pointer;border-radius:999px;font-size:16px;transition:all .14s}.pn-btn:hover{border-color:var(--df-ink);transform:translateY(-1px)}.pn-dots{gap:8px;display:inline-flex}.pn-dot{cursor:pointer;background:var(--df-line);border:none;border-radius:999px;width:8px;height:8px;padding:0;transition:all .15s}.pn-dot:hover{background:var(--df-mute)}.pn-dot.on{background:var(--accent);width:22px}.vs-split{grid-template-columns:1fr 1fr;align-items:start;gap:18px;margin-top:44px;display:grid}@media (max-width:860px){.vs-split{grid-template-columns:1fr}}.vs-panel{border:1px solid var(--df-line);border-radius:var(--r-lg);background:var(--df-panel);overflow:hidden}.vs-panel--drill{border-color:color-mix(in oklab, var(--accent) 45%, var(--df-line));box-shadow:0 18px 50px #0006}.vs-head{border-bottom:1px solid var(--df-line);background:#1b1610;align-items:center;gap:9px;padding:13px 18px;display:flex}.vs-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.vs-navlink{color:var(--df-ink2);font-size:13px;font-family:var(--t-ui);text-decoration:none;transition:color .14s}.vs-navlink:hover{color:var(--accent)}@media (max-width:620px){.vs-navlink{display:none}}.df-top-inner .vs-navlink{margin-right:18px}.df-signin{border:1px solid var(--df-line);color:var(--df-ink);font-size:13px;font-weight:500;font-family:var(--t-ui);border-radius:var(--r-md);background:0 0;padding:8px 16px;text-decoration:none;transition:border-color .15s,background .15s}.df-signin:hover{border-color:var(--rule-strong,#52473b);background:color-mix(in oklab, var(--df-ink) 8%, transparent)}.df-footlink{color:var(--accent);font-size:12px;text-decoration:none;transition:color .15s}.df-footlink:hover{color:#f0a78c}.wn-table{border:1px solid var(--df-line);border-radius:var(--r-lg);overflow:hidden}.wn-thead{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--df-mute);background:#1b1610;grid-template-columns:200px 1fr 1fr;font-size:11px;display:grid}.wn-thead>div{padding:14px 22px}.wn-thead>div+div{border-left:1px solid var(--df-line)}.wn-trow{border-top:1px solid var(--df-line);grid-template-columns:200px 1fr 1fr;display:grid}.wn-dim{font-family:var(--t-display);color:var(--df-ink);background:#1b1610;align-items:center;padding:22px;font-size:19px;font-weight:500;display:flex}.wn-chat,.wn-drill{border-left:1px solid var(--df-line);padding:22px;font-size:14px;line-height:1.55}.wn-chat{color:var(--df-mute)}.wn-drill{color:var(--df-ink);background:color-mix(in oklab, var(--accent) 6%, transparent);position:relative}.wn-check{color:var(--ok);font-family:var(--t-mono);margin-right:8px;font-weight:600}@media (max-width:860px){.wn-thead{display:none}.wn-trow{grid-template-columns:1fr}.wn-dim{background:0 0;padding-bottom:6px;font-size:21px}.wn-chat,.wn-drill{border-left:none;border-top:1px solid var(--df-line)}.wn-chat:before{content:"ChatGPT";font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--df-mute);margin-bottom:6px;font-size:10px;display:block}.wn-drill:before{content:"drill";font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:10px;display:block}}.vs-rows{border:1px solid var(--df-line);border-radius:var(--r-lg);margin-top:20px;overflow:hidden}.vs-row{border-top:1px solid var(--df-line);grid-template-columns:190px 1fr 1fr;align-items:stretch;display:grid}.vs-row:first-child{border-top:none}.vs-row-label{font-family:var(--t-display);color:var(--df-ink);background:#1b1610;align-items:center;padding:20px 22px;font-size:18px;font-weight:500;display:flex}.vs-row-chat,.vs-row-drill{color:var(--df-ink2);flex-direction:column;gap:8px;padding:20px 22px;font-size:14px;line-height:1.55;display:flex}.vs-row-drill{color:var(--df-ink);border-left:1px solid var(--df-line);background:color-mix(in oklab, var(--accent) 6%, transparent)}.vs-row-tag{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;font-size:10px}@media (max-width:820px){.vs-row{grid-template-columns:1fr}.vs-row-label{background:0 0;padding-bottom:4px}.vs-row-drill{border-left:none;border-top:1px solid var(--df-line)}}.dfm{background:var(--df-bg);min-height:100vh;color:var(--df-ink);font-family:var(--t-ui);-webkit-font-smoothing:antialiased;position:relative}.dfm a{text-decoration:none}.dfm-wrap{padding:0 22px}.dfm-top{z-index:30;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--df-line);background:#16130fdb;background:lab(6.09103% .758693 2.65885/.86);justify-content:space-between;align-items:center;height:54px;padding:0 22px;display:flex;position:sticky;top:0}.dfm-top .dfm-actions{align-items:center;gap:10px;display:flex}.dfm-signin{color:var(--df-ink2);font-size:13px;font-family:var(--t-ui);cursor:pointer;background:0 0;border:none;padding:8px 4px;transition:color .14s}.dfm-signin:hover{color:var(--df-ink)}.dfm-signup{border-radius:var(--r-md);font-size:13px;font-weight:600;font-family:var(--t-ui);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;padding:9px 16px}.dfm-hero{padding-top:24px;padding-bottom:32px}.dfm-eyebrow{font-family:var(--t-mono);letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:600}.dfm-h1{font-family:var(--t-display);letter-spacing:-1.1px;color:var(--df-ink);text-wrap:balance;margin:14px 0 0;font-size:37px;font-weight:500;line-height:1.04}.dfm-sub{color:var(--df-ink2);margin:16px 0 0;font-size:16px;line-height:1.55}.dfm-cta-col{flex-direction:column;gap:10px;margin-top:22px;display:flex}.dfm-btn{border-radius:var(--r-md);width:100%;font-size:15.5px;font-weight:600;font-family:var(--t-ui);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:15px 22px;transition:filter .15s;display:inline-flex}.dfm-btn:active{filter:brightness(.94)}.dfm-btn.ghost{color:var(--df-ink);background:0 0;border-color:#ffffff42}.dfm-demo-hint{font-family:var(--t-mono);color:var(--df-mute);letter-spacing:.3px;text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:10.5px;display:flex}.dfm-demo-hint .ln{background:var(--df-line);flex:1;height:1px}.dfm .drill-card{border-radius:20px;margin-top:16px;padding:17px;box-shadow:0 18px 50px #00000080}.dfm .drill-stage{font-size:21px;line-height:1.5}.dfm .drill-blank.type{min-width:92px;font-size:.82em}.dfm .btn-xl{font-size:13px;padding:10px 18px!important}.dfm .drill-card>div:first-child span,.dfm .drill-card>div:nth-child(2) span{white-space:nowrap}.dfm .lang-rail{border-color:var(--df-line);background:#1b1610;flex-wrap:nowrap;flex-shrink:0;gap:3px;padding:3px}.dfm .lang-pill{color:var(--df-mute);white-space:nowrap;padding:6px 11px;font-size:12px}.dfm .lang-pill:hover{color:var(--df-ink)}.dfm .lang-pill.on{background:var(--df-panel);color:var(--df-ink);box-shadow:none;border:1px solid var(--df-line)}.dfm .lang-pill .tag{font-family:var(--t-mono);opacity:.6;margin-left:5px;font-size:10px}.dfm .df-chip-dark{white-space:nowrap}.dfm-section{border-top:1px solid var(--df-line);padding-top:38px;padding-bottom:38px}.dfm-eyebrow2{font-family:var(--t-mono);letter-spacing:2px;text-transform:uppercase;color:var(--df-mute);font-size:10.5px;font-weight:500}.dfm-h2{font-family:var(--t-display);letter-spacing:-.6px;color:var(--df-ink);text-wrap:balance;margin:12px 0 0;font-size:26px;font-weight:500;line-height:1.08}.dfm-lead{color:var(--df-ink2);margin:14px 0 0;font-size:15px;line-height:1.6}.dfm-card{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);padding:18px}.dfm-stack{flex-direction:column;gap:12px;margin-top:22px;display:flex}.dfm-grid2{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.dfm-loop-row{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);grid-template-columns:36px 1fr;align-items:start;gap:14px;padding:16px;display:grid}.dfm-loop-n{border:1px solid var(--df-line);width:36px;height:36px;font-family:var(--t-mono);color:var(--accent);background:#1b1610;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.dfm-read-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;display:flex}.dfm-read-meta .ttl{font-family:var(--t-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--df-mute);white-space:nowrap;font-size:10.5px}.dfm-read-meta .src{color:var(--df-mute);white-space:nowrap;font-size:12px}.dfm-passage{border-left:2px solid color-mix(in oklab, var(--accent) 40%, var(--df-line));padding-left:16px}.dfm .df-passage{margin:0;font-size:20px;line-height:1.62}.dfm-read-foot{color:var(--df-mute);align-items:center;gap:8px;margin-top:16px;font-size:11.5px;display:flex}.dfm-read-foot .dash{border-bottom:2px dotted var(--accent);width:16px;display:inline-block}.dfm-note-wrap{margin-top:16px}.dfm-vocab{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);padding:14px}.dfm-vocab.is-new{border-color:color-mix(in oklab, var(--accent) 55%, var(--df-line))}.dfm-vocab-head{align-items:flex-start;gap:12px;display:flex}.dfm-vocab-flag{border:1px solid var(--df-line);width:34px;height:34px;font-family:var(--t-mono);color:var(--df-ink2);background:#1b1610;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.dfm-vocab-grade{gap:8px;margin-top:13px;display:flex}.dfm-vocab-grade button{font-family:var(--t-mono);border:1px solid var(--df-line);color:var(--df-ink2);cursor:pointer;background:#1b1610;border-radius:9px;flex:1;padding:10px 8px;font-size:12px;transition:all .14s}.dfm-vocab-grade button:active{transform:scale(.97)}.dfm-vocab-grade button.again{border-color:color-mix(in oklab, var(--accent) 40%, var(--df-line));color:#f0a78c}.dfm-vocab-grade button.easy{border-color:color-mix(in oklab, var(--ok) 40%, var(--df-line));color:#b6e0ad}.dfm-mode-rail{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin-top:22px;padding-bottom:4px;display:flex;overflow-x:auto}.dfm-mode-rail::-webkit-scrollbar{display:none}.dfm-mode-pill{border:1px solid var(--df-line);color:var(--df-mute);font-size:13px;font-weight:500;font-family:var(--t-ui);cursor:pointer;white-space:nowrap;background:#1b1610;border-radius:999px;flex-shrink:0;padding:8px 14px;transition:all .14s}.dfm-mode-pill.on{background:var(--df-panel);color:var(--df-ink);border-color:color-mix(in oklab, var(--accent) 45%, var(--df-line))}.dfm-pnav{justify-content:center;align-items:center;gap:16px;margin-top:18px;display:flex}.dfm-pn-btn{border:1px solid var(--df-line);background:var(--df-panel);width:40px;height:40px;color:var(--df-ink);cursor:pointer;border-radius:999px;font-size:16px}.dfm-pn-btn:active{transform:scale(.95)}.dfm-pn-dots{gap:7px;display:inline-flex}.dfm-pn-dot{cursor:pointer;background:var(--df-line);border:none;border-radius:999px;width:8px;height:8px;padding:0;transition:all .15s}.dfm-pn-dot.on{background:var(--accent);width:22px}.dfm-vs-panel{border:1px solid var(--df-line);border-radius:var(--r-lg);background:var(--df-panel);overflow:hidden}.dfm-vs-drill{border-color:color-mix(in oklab, var(--accent) 45%, var(--df-line));box-shadow:0 14px 40px #0006}.dfm-vs-head{border-bottom:1px solid var(--df-line);font-family:var(--t-mono);letter-spacing:1px;color:var(--df-mute);background:#1b1610;align-items:center;gap:8px;padding:11px 15px;font-size:10.5px;display:flex}.dfm-vs-head .vs-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.dfm-soon{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.dfm-soon .lbl{font-family:var(--t-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--df-mute);font-size:10px}.dfm-ctaband{background:var(--accent);border-radius:var(--r-xl);text-align:center;padding:38px 22px}.dfm-ctaband h2{font-family:var(--t-display);letter-spacing:-.7px;color:#fff;margin:0;font-size:31px;font-weight:500;line-height:1.05}.dfm-ctaband p{color:#ffffffe0;margin:12px 0 0;font-size:15px;line-height:1.5}.dfm-footer{border-top:1px solid var(--df-line);flex-direction:column;align-items:flex-start;gap:12px;padding:26px 22px 8px;display:flex}.dfm-footer .meta{color:var(--df-mute);font-size:12px}.dfm-footer>a{color:var(--accent);font-size:12px;transition:color .15s}.dfm-footer>a:hover{color:#f0a78c}.landing-legal-links a,.landing-legal-links button{color:var(--df-mute);transition:color .15s}.landing-legal-links a:hover,.landing-legal-links button:hover{color:var(--df-ink)}.landing-mobile{display:none}@media (max-width:760px){.landing-desktop{display:none}.landing-mobile{display:block}}.hero-langs{margin-top:26px}.hero-langs-lbl{font-family:var(--t-mono);letter-spacing:2px;text-transform:uppercase;color:var(--df-mute);font-size:10.5px}.hero-langs-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.hero-lang-pill{border:1px solid color-mix(in oklab, var(--accent) 40%, var(--df-line));background:color-mix(in oklab, var(--accent) 8%, transparent);font-family:var(--t-ui);color:var(--df-ink);border-radius:999px;align-items:baseline;gap:7px;padding:7px 14px;font-size:14px;display:inline-flex}.hero-lang-pill b{font-weight:600}.hero-lang-pill .tag{font-family:var(--t-mono);color:var(--accent);font-size:10px}.hero-langs-soon{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--df-mute);margin-left:6px;font-size:10px}.hero-lang-soon{font-family:var(--t-mono);color:var(--df-mute);border:1px solid var(--df-line);border-radius:999px;padding:4px 9px;font-size:11px}.df-rigour-link{font-family:var(--t-ui);color:var(--accent);align-items:center;gap:8px;margin-top:28px;font-size:15px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.df-rigour-link:hover{color:var(--accent-2)}.da-card{background:var(--df-panel);border:1px solid var(--df-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 18px 50px #0006}.da-head{border-bottom:1px solid var(--df-line);padding:16px 18px 12px}.da-surface{font-family:var(--t-display);letter-spacing:-.3px;color:var(--df-ink);font-size:24px;font-weight:500}.da-pos{color:var(--df-mute);font-size:13px;font-style:italic}.da-cefr{font-family:var(--t-mono);color:var(--accent);font-size:11px}.da-gloss{color:var(--df-ink2);margin:5px 0 0;font-size:14px}.da-freq{font-family:var(--t-mono);color:var(--df-mute);margin-top:4px;font-size:10px}.da-infl{color:var(--df-ink2);margin-top:7px;font-size:13px}.da-body{padding:14px 18px}.da-micro{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--df-mute);font-size:10px}.da-here{color:var(--df-ink2);margin:3px 0 0;font-size:14px}.da-def{font-family:var(--t-display);color:var(--df-ink);margin:3px 0 0;font-size:16px;line-height:1.5}.da-root{color:var(--df-ink2);font-size:13px}.da-segs{flex-wrap:wrap;align-items:stretch;gap:5px;margin-top:8px;display:flex}.da-plus{font-family:var(--t-mono);color:var(--df-mute);align-self:center}.da-seg{border:1px solid var(--df-line);text-align:center;background:#1b1610;border-radius:6px;padding:5px 9px}.da-seg-m{color:var(--df-ink);font-size:13px;font-weight:500}.da-seg-f{font-family:var(--t-mono);color:var(--df-mute);margin-top:2px;font-size:9px}.da-why{color:var(--df-ink2);margin:10px 0 0;font-size:13px;line-height:1.55}.da-why-tag{font-family:var(--t-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-right:7px;font-size:9px}.da-extras{border-top:1px solid var(--df-line);flex-direction:column;gap:12px;margin-top:14px;padding-top:12px;display:flex}.da-extra .da-micro{margin-bottom:4px;display:block}.da-syn{color:var(--df-ink2);flex-direction:column;gap:3px;font-size:13px;display:flex}.da-syn b{color:var(--df-ink);font-weight:600}.da-reg{color:var(--df-ink2);margin:0;font-size:13px;line-height:1.5}.da-foot{border-top:1px solid var(--df-line);background:#1b1610;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.da-foot-note{font-family:var(--t-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--df-mute);font-size:10px}.da-saved{font-family:var(--t-mono);color:#a8d6a0;font-size:12px}.da-save-btn{font-family:var(--t-ui);cursor:pointer;border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent);color:#fff;padding:8px 14px;font-size:13px;font-weight:600;transition:all .14s}.da-save-btn:hover{background:var(--accent-2);border-color:var(--accent-2)}.da-save-btn.on{color:var(--df-ink2);border-color:var(--df-line);background:0 0}.da-save-btn.on:hover{border-color:var(--rule-strong,#52473b);color:var(--df-ink)}.ar-stats{border:1px solid var(--df-line);border-radius:var(--r-lg);grid-template-columns:repeat(4,1fr);margin-top:12px;display:grid;overflow:hidden}.ar-stat{border-left:1px solid var(--df-line);padding:30px 30px 28px}.ar-stat:first-child{border-left:none}.ar-stat-big{font-family:var(--t-display);letter-spacing:-1px;color:var(--df-ink);font-size:clamp(38px,4.4vw,58px);font-weight:500;line-height:1}.ar-stat-lab{font-family:var(--t-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--df-mute);margin-top:16px;font-size:12px;line-height:1.5}@media (max-width:720px){.ar-stats{grid-template-columns:1fr 1fr}.ar-stat:nth-child(3){border-left:none}.ar-stat:nth-child(3),.ar-stat:nth-child(4){border-top:1px solid var(--df-line)}}.ar-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:16px;margin-top:44px;display:grid}.ar-flow-card{flex-direction:column;display:flex}.ar-flow-badge{background:color-mix(in oklab, var(--accent) 16%, transparent);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--df-line));width:34px;height:34px;color:var(--accent);font-family:var(--t-mono);border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.ar-flow-arrow{justify-content:center;align-self:center;align-items:center;display:flex}@media (max-width:860px){.ar-flow{grid-template-columns:1fr}.ar-flow-arrow{padding:4px 0;transform:rotate(90deg)}}.ar-curric{border-top:1px solid var(--df-line)}.ar-curric-row{border-bottom:1px solid var(--df-line);grid-template-columns:300px 1fr;align-items:start;gap:24px;padding:34px 0;display:grid}@media (max-width:720px){.ar-curric-row{grid-template-columns:1fr;gap:18px;padding:28px 0}}.ar-principles{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;display:grid}@media (max-width:920px){.ar-principles{grid-template-columns:1fr 1fr}}@media (max-width:520px){.ar-principles{grid-template-columns:1fr}}.ar-principle-ico{border:1px solid var(--df-line);background:#1b1610;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.ar-modes{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}@media (max-width:680px){.ar-modes{grid-template-columns:1fr}}.ar-mode-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ar-mode-tag{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--df-line));white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10px}.ar-case-card{padding:26px}.ar-case-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.ar-case-badge{font-family:var(--t-mono);letter-spacing:.5px;color:var(--df-ink2);align-items:center;gap:8px;font-size:11px;display:inline-flex}.ar-case-badge-dot{background:var(--accent);border-radius:999px;width:7px;height:7px}.ar-quote{font-family:var(--t-display);color:var(--df-ink2);border-left:2px solid color-mix(in oklab, var(--accent) 45%, var(--df-line));margin-bottom:22px;padding-left:16px;font-size:17px;font-style:italic;line-height:1.5}.ar-quote--fixed{border-left-color:color-mix(in oklab, var(--ok) 50%, var(--df-line));font-style:normal;font-family:var(--t-ui);font-size:14px}.ar-coach-flaw{border-color:color-mix(in oklab, var(--accent) 30%, var(--df-line));margin-top:18px}.ar-coach-fix{border-color:color-mix(in oklab, var(--ok) 40%, var(--df-line));margin-top:18px}.ar-case-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;display:flex}.ar-fix-btn{padding:11px 20px;font-size:14px}.ar-status{font-family:var(--t-mono);letter-spacing:.6px;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:inline-flex}.ar-status--review{color:#e0b25a}.ar-status--live{color:#a8d6a0}.ar-status-dot{border-radius:999px;width:8px;height:8px}.dfm-signin-btn{border:1px solid var(--df-line);color:var(--df-ink);font-size:13px;font-weight:500;font-family:var(--t-ui);cursor:pointer;border-radius:var(--r-md);background:0 0;padding:8px 14px;text-decoration:none;transition:border-color .15s,background .15s}.dfm-signin-btn:hover{border-color:var(--rule-strong,#52473b);background:color-mix(in oklab, var(--df-ink) 8%, transparent)}.dfm-stats{border:1px solid var(--df-line);border-radius:var(--r-lg);grid-template-columns:1fr 1fr;margin-top:22px;display:grid;overflow:hidden}.dfm-stat{border-left:1px solid var(--df-line);border-top:1px solid var(--df-line);padding:20px 16px}.dfm-stat:nth-child(-n+2){border-top:none}.dfm-stat:nth-child(odd){border-left:none}.dfm-stat-big{font-family:var(--t-display);letter-spacing:-.8px;color:var(--df-ink);font-size:34px;font-weight:500;line-height:1}.dfm-stat-lab{font-family:var(--t-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--df-mute);margin-top:12px;font-size:10.5px;line-height:1.5}.dfm-rigour-link{font-family:var(--t-ui);color:var(--accent);align-items:center;gap:8px;margin-top:22px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.dfm-flow-badge{background:color-mix(in oklab, var(--accent) 16%, transparent);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--df-line));width:32px;height:32px;color:var(--accent);font-family:var(--t-mono);border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.dfm-mode-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.dfm-mode-tag{font-family:var(--t-mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--df-line));white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:9.5px}.dfm-curric-under{border-radius:2px;width:40px;height:3px;margin-top:12px}.dfm .da-card{margin-top:0}.dfm .da-surface{font-size:22px}.dfm .da-def{font-size:15px}.dfm .ar-case-card{padding:17px}.dfm .ar-case-card .drill-stage{font-size:19px!important}.dfm .ar-quote{font-size:15px}.dfm .ar-case-actions .btn-xl{font-size:13px;padding:10px 16px!important}