@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#07080d;--bg-2:#0c0e16;--surface:#ffffff09;--surface-2:#ffffff0f;--surface-3:#ffffff17;--line:#ffffff14;--line-2:#ffffff24;--text:#eef0f7;--text-2:#b4b8c9;--text-3:#7c8196;--violet:#a78bfa;--violet-strong:#8b5cf6;--cyan:#67e8f9;--sky:#7dd3fc;--emerald:#6ee7b7;--amber:#fcd34d;--pink:#f9a8d4;--rose:#fb7185;--lime:#bef264;--easy:#6ee7b7;--medium:#fcd34d;--hard:#fb7185;--good:#4ade80;--bad:#fb7185;--radius:18px;--radius-sm:12px;--font:"Inter Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", monospace;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--pad:clamp(14px, 3.2vw, 28px);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;margin:0}body{overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:#a78bfa59}:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:8px}.aurora{z-index:0;pointer-events:none;filter:blur(70px)saturate(1.2);opacity:.55;position:fixed;inset:-20vmax}.aurora span{mix-blend-mode:screen;border-radius:50%;position:absolute}.grain{z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(#ffffff0b 1px,#0000 1px);background-size:22px 22px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(at 50% 30%,#000 20%,#0000 75%)}.app{z-index:1;min-height:100dvh;display:grid;position:relative}.app[data-layout=phone],.app[data-layout=open-port]{grid-template-rows:1fr auto}.app[data-layout=phone-land]{grid-template-columns:calc(64px + var(--sal)) 1fr}.app[data-layout=desktop]{grid-template-columns:92px 1fr}.app[data-layout=open-land]{grid-template-rows:auto 1fr}.main{min-width:0;padding:calc(var(--sat) + 12px) calc(var(--pad) + var(--sar)) 24px calc(var(--pad) + var(--sal))}.app[data-layout=phone] .main,.app[data-layout=open-port] .main{padding-bottom:calc(96px + var(--sab))}.app[data-layout=phone-land] .main{padding-left:18px;padding-top:calc(var(--sat) + 10px)}.app[data-layout=open-land] .main{padding-top:14px}.app[data-layout=desktop] .main{padding:28px 40px 40px}.page{max-width:1180px;margin:0 auto}.tabbar{z-index:40;padding:8px calc(12px + var(--sar)) calc(8px + var(--sab)) calc(12px + var(--sal));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{pointer-events:auto;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(24px)saturate(1.6);background:#10121cb8;border-radius:24px;grid-template-columns:repeat(4,1fr);gap:4px;width:min(520px,100%);padding:6px;display:grid;box-shadow:0 12px 40px #00000080}.tab{color:var(--text-3);border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;font-size:11px;font-weight:560;transition:color .25s;display:flex;position:relative}.tab svg{width:22px;height:22px}.tab[aria-current=page]{color:var(--text)}.tab-pill{z-index:-1;background:linear-gradient(#a78bfa38,#a78bfa14);border:1px solid #a78bfa4d;border-radius:18px;position:absolute;inset:0}.rail{height:100dvh;padding:calc(var(--sat) + 16px) 8px calc(var(--sab) + 16px) calc(8px + var(--sal));border-right:1px solid var(--line);-webkit-backdrop-filter:blur(20px);z-index:30;background:#08090e80;flex-direction:column;align-items:center;gap:6px;display:flex;position:sticky;top:0}.rail .logo{margin-bottom:14px}.rail .tab{width:100%;padding:10px 2px}.app[data-layout=phone-land] .rail .tab span{display:none}.app[data-layout=phone-land] .rail{padding-top:calc(var(--sat) + 10px);gap:2px}.rail-spacer{flex:1}.topbar{z-index:30;padding:calc(var(--sat) + 10px) calc(var(--pad) + var(--sar)) 10px calc(var(--pad) + var(--sal));-webkit-backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--line);background:#07080db3;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .tabs{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:4px;padding:4px;display:flex}.topbar .tab{border-radius:12px;flex-direction:row;gap:7px;padding:7px 14px;font-size:13px}.topbar .tab svg{width:18px;height:18px}.topbar .tab-pill{border-radius:12px}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.logo-mark{background:linear-gradient(135deg,#8b5cf6,#6d28d9 60%,#4c1d95);border-radius:11px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 6px 20px #8b5cf673,inset 0 1px #ffffff40}h1,h2,h3,h4{letter-spacing:-.025em;margin:0;line-height:1.12}h1{font-size:clamp(28px,5.4vw,44px);font-weight:720}h2{font-size:clamp(20px,3.4vw,26px);font-weight:680}h3{font-size:17px;font-weight:650}p{color:var(--text-2);margin:0;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);font-size:12px;font-weight:620}.muted{color:var(--text-3)}.mono{font-family:var(--mono)}.grad-text{background:linear-gradient(100deg,#fff 10%,#c4b5fd 45%,#67e8f9 90%);color:#0000;-webkit-background-clip:text;background-clip:text}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#ffffff0d,#ffffff05);padding:18px;position:relative;box-shadow:inset 0 1px #ffffff0a}.card.hoverable{transition:border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease)}@media (hover:hover){.card.hoverable:hover{border-color:var(--line-2);background:linear-gradient(#ffffff12,#ffffff08)}}.glow-violet{box-shadow:0 0 0 1px #a78bfa40,0 20px 60px -20px #8b5cf673}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;display:grid}.spacer{flex:1}.btn{background:var(--surface-2);border:1px solid var(--line-2);height:46px;transition:background .2s, border-color .2s, transform .15s var(--ease), opacity .2s;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:620;display:inline-flex}.btn:active{transform:scale(.97)}.btn svg{width:18px;height:18px}.btn.primary{color:#fff;background:linear-gradient(#9b7bfa,#7c4dff);border-color:#ffffff2e;box-shadow:0 8px 26px -8px #8b5cf6cc,inset 0 1px #ffffff4d}.btn.ghost{background:0 0;border-color:#0000}.btn.small{border-radius:11px;height:36px;padding:0 14px;font-size:13.5px}.btn:disabled{opacity:.45;pointer-events:none}.icon-btn{background:var(--surface);border:1px solid var(--line);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.icon-btn svg{width:18px;height:18px}.chip{height:30px;color:var(--text-2);background:var(--surface);border:1px solid var(--line);transition:all .2s var(--ease);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:560;display:inline-flex}.chip[aria-pressed=true]{color:var(--text);background:#a78bfa29;border-color:#a78bfa73}.chip.link:hover{border-color:var(--line-2);color:var(--text)}.chip-row{scrollbar-width:none;margin:0 calc(-1 * var(--pad));padding-bottom:2px;padding-left:var(--pad);padding-right:var(--pad);gap:8px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.level{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:650;display:inline-flex}.level:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.level.easy{color:var(--easy);background:#6ee7b71a}.level.medium{color:var(--medium);background:#fcd34d1a}.level.hard{color:var(--hard);background:#fb71851a}.seg{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;align-self:flex-start;padding:4px;display:inline-grid;position:relative}.seg button{z-index:1;height:36px;color:var(--text-3);white-space:nowrap;border-radius:10px;padding:0 16px;font-size:14px;font-weight:600;transition:color .2s;position:relative}.seg button[aria-pressed=true]{color:var(--text)}.seg .seg-pill{z-index:-1;background:var(--surface-3);border:1px solid var(--line-2);border-radius:10px;position:absolute;inset:0;box-shadow:0 4px 14px #00000059}.bar{background:var(--surface-2);border-radius:6px;height:6px;overflow:hidden}.bar>div{background:linear-gradient(90deg, var(--violet-strong), var(--cyan));border-radius:6px;height:100%}.search{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;height:48px;padding:0 16px;transition:border-color .2s;display:flex}.search:focus-within{border-color:#a78bfa80}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.search svg{width:18px;height:18px;color:var(--text-3)}.prose p{margin:0 0 14px;font-size:16px;line-height:1.7}.prose ul{color:var(--text-2);margin:0 0 14px;padding-left:20px;line-height:1.65}.prose li{margin:4px 0}.prose li::marker{color:var(--violet)}.prose code,code.inline{font-family:var(--mono);color:#ddd6fe;background:#a78bfa1f;border-radius:6px;padding:2px 6px;font-size:.86em}.prose strong{color:var(--text)}.diagram-wrap{border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(at 30% 0,#8b5cf61a,#0000 60%),radial-gradient(at 100% 100%,#22d3ee12,#0000 55%),#090b12;width:100%;height:100%;min-height:220px;position:relative;overflow:hidden}.diagram-wrap svg.diagram{width:100%;height:100%;position:absolute;inset:0}.diagram-legend{color:var(--text-3);pointer-events:none;gap:12px;font-size:11px;display:flex;position:absolute;bottom:10px;left:12px}.sheet-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);background:#0000008c;position:fixed;inset:0}.sheet{z-index:81;border:1px solid var(--line-2);width:min(640px,100%);max-height:86dvh;padding:10px calc(22px + var(--sar)) calc(26px + var(--sab)) calc(22px + var(--sal));background:linear-gradient(#151826,#0d0f18);border-bottom:0;border-radius:26px 26px 0 0;position:fixed;bottom:0;left:50%;overflow:auto;box-shadow:0 -20px 60px #0009}.sheet-handle{background:var(--line-2);border-radius:5px;width:42px;height:5px;margin:4px auto 16px}.split{gap:16px;display:grid}.app[data-layout=open-land] .split,.app[data-layout=desktop] .split,.app[data-layout=phone-land] .split{grid-template-columns:1fr 1fr;gap:28px}.app[data-layout=phone-land] .split{gap:16px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.aurora{display:none}}@keyframes dash-flow{to{stroke-dashoffset:-14px}}.interview-diagram{top:calc(var(--sat) + 6px);z-index:5;border-radius:var(--radius);height:clamp(220px,36dvh,420px);position:sticky;box-shadow:0 18px 40px -18px #000000e6}.app[data-layout=open-port] .interview-diagram{height:clamp(300px,40dvh,520px)}.app[data-layout=open-land] .interview-diagram,.app[data-layout=desktop] .interview-diagram,.app[data-layout=phone-land] .interview-diagram{height:calc(100dvh - 120px);max-height:760px;box-shadow:none;top:84px}.app[data-layout=phone-land] .interview-diagram{top:calc(var(--sat) + 10px);height:calc(100dvh - var(--sat) - var(--sab) - 24px)}.app[data-layout=desktop] .interview-diagram{height:calc(100dvh - 56px);top:28px}.interview-talk{min-width:0;padding-bottom:20px;scroll-margin-top:45dvh}.app[data-layout=open-land] .interview-talk,.app[data-layout=desktop] .interview-talk,.app[data-layout=phone-land] .interview-talk{scroll-margin-top:90px}.diagram-flag{-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:650;position:absolute;top:12px;left:12px}.diagram-flag.bad{color:#fecdd3;background:#fb718529;border:1px solid #fb718566}.diagram-flag.good{color:#bbf7d0;background:#4ade8021;border:1px solid #4ade8059}.bubble{background:linear-gradient(#a78bfa1a,#a78bfa0a);border:1px solid #a78bfa33;border-radius:18px 18px 18px 6px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.bubble p{color:var(--text);font-size:15.5px;line-height:1.6}.bubble.good{background:linear-gradient(#4ade801a,#4ade8008);border-color:#4ade8047}.bubble.bad{background:linear-gradient(#fb71851a,#fb718508);border-color:#fb71854d}.avatar{letter-spacing:.04em;color:#0b0d14;background:linear-gradient(135deg,#8b5cf6,#22d3ee);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:11px;font-weight:750;display:grid}.caret{vertical-align:-2px;background:var(--violet);width:2px;height:1em;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.choice{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text);border-radius:14px;align-items:flex-start;gap:12px;padding:13px 14px;font-size:15px;line-height:1.5;transition:border-color .2s,background .2s;display:flex}@media (hover:hover){.choice.idle:hover{background:#a78bfa12;border-color:#a78bfa73}}.choice.right{background:#4ade8017;border-color:#4ade808c}.choice.wrong{color:var(--text-2);background:#fb718512;border-color:#fb718580}.choice:disabled{cursor:default}.choice-key{width:26px;height:26px;font-size:12.5px;font-weight:700;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line-2);color:var(--text-2);border-radius:8px;flex:none;place-items:center;display:grid}.choice.right .choice-key{color:#0b0d14;background:#4ade80;border-color:#0000}.choice.wrong .choice-key{color:#0b0d14;background:#fb7185;border-color:#0000}.takeaway{border-left:3px solid var(--violet);background:linear-gradient(90deg,#a78bfa1a,#0000);border-radius:16px;padding:14px 16px}.takeaway p{color:var(--text);margin-top:4px;font-size:15px}.req-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.req-list{color:var(--text-2);margin:0;padding-left:18px;font-size:14.5px;line-height:1.55}.req-list li{margin:5px 0}.req-list li::marker{color:var(--violet)}.estimates{perspective:800px;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px;display:grid}.estimate{transform-origin:top;background:#22d3ee0d;border:1px solid #22d3ee2e;border-radius:14px;padding:12px 14px}.practice-start{flex-direction:column;gap:18px;padding:22px;display:flex}.session{max-width:720px}.flash-wrap{align-items:stretch}.flash-stage{perspective:1400px;touch-action:pan-y;position:relative}.flash-card{height:clamp(320px,52dvh,480px);transform-style:preserve-3d;cursor:pointer;position:relative}.app[data-layout=phone-land] .flash-card{height:calc(100dvh - var(--sat) - var(--sab) - 150px);min-height:240px}.flash-face{backface-visibility:hidden;border:1px solid var(--line-2);background:radial-gradient(at 20% 0,#a78bfa29,#0000 60%),radial-gradient(at 100% 100%,#22d3ee1a,#0000 55%),#10121c;border-radius:24px;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;display:flex;position:absolute;inset:0;overflow:auto;box-shadow:0 30px 70px -30px #000000e6,inset 0 1px #ffffff0f}.flash-face.back{background:radial-gradient(at 80% 0,#22d3ee24,#0000 60%),radial-gradient(at 0 100%,#a78bfa1f,#0000 55%),#10121c;transform:rotateY(180deg)}.flash-prompt{letter-spacing:-.015em;font-size:clamp(19px,3.4vw,25px);font-weight:620;line-height:1.38}.flash-answer{color:#e9e4ff;font-size:clamp(18px,3vw,22px);font-weight:650;line-height:1.4}.swipe-hint{letter-spacing:.06em;text-transform:uppercase;pointer-events:none;border-radius:10px;padding:6px 14px;font-size:14px;font-weight:750;position:absolute;top:20px}.swipe-hint.good{color:#4ade80;border:2px solid #4ade80;right:20px;transform:rotate(8deg)}.swipe-hint.bad{color:#fb7185;border:2px solid #fb7185;left:20px;transform:rotate(-8deg)}.answer-good{background:#4ade801f;border-color:#4ade8073;flex:1;max-width:220px}.answer-bad{background:#fb71851a;border-color:#fb718573;flex:1;max-width:220px}.quiz-prompt{letter-spacing:-.012em;font-size:clamp(18px,3vw,22px);font-weight:620;line-height:1.42}.explain{border:1px solid var(--line);border-radius:16px;padding:14px 16px}.explain.good{background:#4ade800f;border-color:#4ade8040}.explain.bad{background:#fb71850f;border-color:#fb718540}.explain p{color:var(--text);font-size:15px}.app[data-layout=open-land] .quiz-card,.app[data-layout=desktop] .quiz-card{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.app[data-layout=open-land] .session,.app[data-layout=desktop] .session{max-width:1100px}.app[data-layout=open-land] .quiz-choices,.app[data-layout=desktop] .quiz-choices{grid-area:1/2/span 2}.app[data-layout=open-land] .quiz-after,.app[data-layout=desktop] .quiz-after{grid-area:2/1}.app[data-layout=open-land] .flash-wrap,.app[data-layout=desktop] .flash-wrap{max-width:640px;margin:0 auto}.hero{flex-direction:column;gap:12px;margin:6px 0 22px;display:flex}.hero h1{max-width:760px}.stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px;display:grid}.app[data-layout=phone] .stats{grid-template-columns:repeat(2,1fr)}.stat-tile{align-items:center;gap:12px;padding:14px;display:flex}.stat-icon{border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:22px;font-weight:700;line-height:1.1;display:block}.home-grid{gap:26px;display:grid}.app[data-layout=open-land] .home-grid,.app[data-layout=desktop] .home-grid,.app[data-layout=phone-land] .home-grid{grid-template-columns:1fr 1fr;gap:28px}.action-card{align-items:center;gap:14px;padding:16px;display:flex}.action-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.action-icon{color:#fff;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 1px #ffffff4d}.action-icon svg{width:22px;height:22px}.mastery-row{grid-template-columns:minmax(110px,.9fr) 2fr auto;align-items:center;gap:12px;display:grid}.mastery-bar{background:var(--surface-2);border-radius:8px;height:8px;position:relative;overflow:hidden}.mastery-bar>div{border-radius:8px;position:absolute;top:0;bottom:0;left:0}.mastery-bar .seen{background:#a78bfa40}.mastery-bar .known{background:linear-gradient(90deg, var(--violet-strong), var(--cyan))}.path-card{padding:10px 6px}.scenario-card{height:100%;padding:0;display:block;overflow:hidden}.scenario-thumb{pointer-events:none;height:170px}.scenario-thumb .diagram-wrap{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:0}.concept-card{flex-direction:column;gap:8px;height:100%;display:flex}.read-dot{background:var(--good);width:8px;height:8px;box-shadow:0 0 10px var(--good);border-radius:50%}.wiki-head{margin-bottom:20px}.wiki-visual{min-width:0}.app[data-layout=open-land] .wiki-visual,.app[data-layout=desktop] .wiki-visual,.app[data-layout=phone-land] .wiki-visual{align-self:start;position:sticky;top:84px}.app[data-layout=desktop] .wiki-visual{top:28px}.app[data-layout=phone-land] .wiki-visual{top:10px}.wiki-body{min-width:0}.tradeoffs{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;display:grid}.numbers{gap:6px;margin:0;padding:0;list-style:none;display:grid}.numbers li{color:var(--text-2);background:var(--surface);border-radius:10px;padding:7px 10px;font-size:13px}.anim-frame,.step-player{border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(at 30% 0,#8b5cf61a,#0000 60%),radial-gradient(at 100% 100%,#22d3ee12,#0000 55%),#090b12;overflow:hidden}.anim{flex-direction:column;display:flex;position:relative}.anim-svg{aspect-ratio:800/480;width:100%;display:block}.app[data-layout=phone-land] .anim-svg{max-height:calc(100dvh - 160px)}.anim-loading{aspect-ratio:800/560}.anim-caption,.step-caption{border-top:1px solid var(--line);background:#ffffff05;min-height:74px;padding:12px 16px 14px}.anim-caption p,.step-caption p{color:var(--text);font-size:14.5px;line-height:1.55}.anim-legend{color:var(--text-3);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:11.5px;display:flex;position:absolute;top:10px;right:12px}.anim-legend span{align-items:center;gap:5px;display:inline-flex}.anim-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.step-stage{height:clamp(240px,42dvh,440px)}.step-stage .diagram-wrap{border:0;border-radius:0}.step-controls{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 14px 0;display:flex}.step-controls .step-caption{background:0 0;border:0;flex:1;min-height:64px;padding:2px 0 0}.step-dots{gap:6px;padding:0 14px 14px;display:flex}.step-dots button{flex:1;padding:6px 0}.step-track{background:var(--surface-2);border-radius:4px;height:4px;display:block;overflow:hidden}.step-fill{background:linear-gradient(90deg, var(--violet-strong), var(--cyan));border-radius:4px;height:100%;display:block}.sync-code{letter-spacing:.06em;color:#ddd6fe;background:#a78bfa1a;border:1px solid #a78bfa4d;border-radius:12px;padding:8px 14px;font-size:17px}.sync-dot{background:var(--text-3);border-radius:50%;width:8px;height:8px}.sync-dot.ok{background:var(--good);box-shadow:0 0 8px var(--good)}.sync-dot.syncing{background:var(--amber)}.sync-dot.offline{background:var(--rose)}.diagram-toggle{width:34px;height:34px;color:var(--text-2);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);background:#10121cb3;border-radius:10px;place-items:center;display:none;position:absolute;top:10px;right:10px}.app[data-layout=phone] .diagram-toggle,.app[data-layout=open-port] .diagram-toggle{display:grid}.app[data-layout=phone] .interview-diagram.mini,.app[data-layout=open-port] .interview-diagram.mini{height:150px}.anim-legend{justify-content:flex-start;top:12px;left:14px;right:auto}.path-card{scrollbar-width:thin;max-height:min(78dvh,900px);overflow-y:auto}.app[data-layout=phone] .path-card,.app[data-layout=open-port] .path-card{max-height:none}.app[data-layout=phone-land] .wiki-split{grid-template-columns:1fr}.app[data-layout=phone-land] .wiki-visual{position:static}.btn{max-width:100%}.btn.wrap-ok{white-space:normal;text-align:left;height:auto;min-height:46px;padding-top:10px;padding-bottom:10px;line-height:1.3}.interview-diagram{transition:height .45s var(--ease)}.bubble p,.choice,.takeaway p,.explain p,.prose,.req-list,.flash-face{overflow-wrap:anywhere}.diagram-toggle{z-index:6;background:#151826;border-radius:999px;width:52px;height:30px;inset:auto auto -15px 50%;transform:translate(-50%)}.interview-diagram .diagram-wrap{overflow:hidden}.app[data-layout=phone] .interview-talk,.app[data-layout=open-port] .interview-talk{padding-top:8px}.diagram-flag.good{animation:2.8s forwards flag-fade}@keyframes flag-fade{0%,70%{opacity:1}to{opacity:0;visibility:hidden}}.app[data-layout=phone] .diagram-flag{padding:4px 9px;font-size:11px;top:8px;left:8px}.wiki-nav .btn{white-space:normal;max-width:48%;height:auto;min-height:36px;padding-top:8px;padding-bottom:8px;line-height:1.3}.wiki-nav .btn:last-child{text-align:right}.wiki-split>*{min-width:0}.chip.link{white-space:normal;text-align:left;max-width:100%;height:auto;min-height:30px;padding-top:5px;padding-bottom:5px}
