@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:500;src:url(./saira-latin-500-normal-BUkaYXVh.woff2)format("woff2")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:500;src:url(./saira-vietnamese-500-normal-DnkVjnpC.woff2)format("woff2")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-latin-600-normal-DYxBFP1f.woff2)format("woff2")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-vietnamese-600-normal-D5gszP3k.woff2)format("woff2")}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./saira-condensed-latin-500-normal-DIdKjHXc.woff2)format("woff2")}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./saira-condensed-vietnamese-500-normal-BO-iw4YA.woff2)format("woff2")}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-condensed-latin-600-normal-0taFJMb7.woff2)format("woff2")}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-condensed-vietnamese-600-normal-DdheDV3O.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--s1:#14181d;--s2:#1a1f25;--s3:#222831;--well:#0f1215;--scrim:#080a0db8;--line:#ffffff17;--line2:#ffffff26;--tx:#e8ecef;--tx2:#8a939c;--tx3:#838d96;--teal:#3dd6c6;--teal-ink:#062521;--teal-dim:#3dd6c624;--green:#6fd39a;--green-dim:#6fd39a21;--amber:#ffb020;--amber-dim:#ffb02021;--red:#ff4d4f;--red-dim:#ff4d4f21;--r1:12px;--r2:16px;--f-head:"Saira", system-ui, sans-serif;--f-num:"Saira Condensed", "Saira", system-ui, sans-serif;--f-body:"Be Vietnam Pro", system-ui, sans-serif;--navy:var(--bg);--panel:#14181deb;--panel-solid:var(--s1);--white:var(--tx);--muted:var(--tx2);--cyan:var(--teal);--yellow:var(--amber);--orange:var(--amber);--mark:var(--red);--hero:var(--red);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--ease-spring:linear(0, .06 2.5%, .22 5.5%, .5 10%, .78 15.5%, .95 21%, 1.03 27%, 1.05 32%, 1.04 38%, 1.01 48%, .995 60%, 1);--d-fast:.14s;--d:.22s;--d-slow:.48s;--stagger-step:55ms;--elev1:0 1px 0 #ffffff0a inset, 0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--elev2:0 1px 0 #ffffff0f inset, 0 2px 4px #0000004d, 0 24px 48px -16px #0009}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.lbl{font:500 12px/1.2 var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tx2)}.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform var(--d) var(--ease-out);flex:none;display:block;overflow:visible}.i *{vector-effect:non-scaling-stroke}[data-i]{align-items:center}@media (hover:hover){:is(a,button,summary):hover>:is([data-i=chevR],[data-i=next])>.i,:is(a,button):hover>svg.i:last-child:not(:first-child){transform:translate(3px)}:is(a,button):hover>[data-i=back]>.i,:is(a,button)[data-i=back]:hover>.i{transform:translate(-3px)}}.btn{isolation:isolate;border-radius:var(--r1);min-height:48px;font:500 15px/1 var(--f-head);letter-spacing:.01em;color:var(--tx);background:var(--s2);border:1px solid var(--line2);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--d) var(--ease-out), border-color var(--d) var(--ease-out), color var(--d) var(--ease-out), box-shadow var(--d) var(--ease-out), transform var(--d-fast) var(--ease-out), outline-offset var(--d-fast) var(--ease-out);justify-content:center;align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--s3);border-color:#ffffff38}.btn:active{transition-duration:60ms;transform:scale(.97)}.btn:focus-visible,.ib:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.btn.pri{background:linear-gradient(180deg, color-mix(in oklab, var(--teal), #fff 16%), var(--teal));color:var(--teal-ink);box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 #0000001f, 0 1px 2px #00000059, 0 10px 28px -12px color-mix(in srgb, var(--teal) 75%, transparent);border-color:#0000;font-weight:600;overflow:hidden}.btn.pri:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-110%)}.btn.pri:hover{background:linear-gradient(180deg, color-mix(in oklab, var(--teal), #fff 24%), color-mix(in oklab, var(--teal), #fff 6%));box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #0000001f, 0 1px 2px #00000059, 0 14px 36px -10px color-mix(in srgb, var(--teal) 90%, transparent)}@media (hover:hover){.btn.pri:hover:before{transition:transform .8s var(--ease-out);transform:translate(110%)}}.btn.ghost{background:0 0}.btn.ghost:hover{background:var(--s2)}.btn.danger{color:var(--red);background:0 0;border-color:#ff4d4f59}.btn.danger:hover{background:var(--red-dim);border-color:var(--red)}.btn .i{width:20px;height:20px}.btn>:is(.i,[data-i]):first-child:not(:only-child){margin-inline-start:-2px}.btn>:is([data-i=chevR],[data-i=next]):last-child,.btn>svg.i:last-child:not(:first-child){margin-inline-end:-4px}.ib{border-radius:var(--r1);width:48px;height:48px;color:var(--tx);cursor:pointer;transition:background-color var(--d) var(--ease-out), transform var(--d-fast) var(--ease-out);background:0 0;border:0;flex:none;justify-content:center;place-items:center;text-decoration:none;display:inline-grid}.ib:hover{background:var(--s2)}.ib:active{transform:scale(.92)}.ib.s{background:var(--s2);border:1px solid var(--line)}.ib.s:hover{background:var(--s3)}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(12px)}}@keyframes pop{0%{opacity:0;transform:scale(.94)}}@keyframes fade{0%{opacity:0}}.rise{animation:rise var(--d-slow) var(--ease-expo) both;animation-delay:calc(var(--n,0) * var(--stagger-step))}.pop{animation:pop var(--d-slow) var(--ease-spring) both;animation-delay:calc(var(--n,0) * var(--stagger-step))}.chip{height:26px;font:500 12.5px/1 var(--f-head);letter-spacing:.02em;background:var(--s3);color:var(--tx2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip.ok{background:var(--green-dim);color:var(--green)}.chip.warn{background:var(--amber-dim);color:var(--amber)}.chip.bad{background:var(--red-dim);color:var(--red)}.chip.cur{background:var(--teal-dim);color:var(--teal)}.chip.pro{color:var(--amber);border:1px solid var(--amber);background:0 0;font-weight:600}.chip .i{width:14px;height:14px}.cmap{position:relative;overflow:hidden}.cmap svg{display:block}.cmap .asphalt{fill:#2a2f36}.cmap .curb{fill:#3a4049}.cmap .paint{fill:#e8ecef8c}.cmap .ln{stroke:#e8ecef9e;fill:none;stroke-linecap:butt}.cmap .zone{fill:var(--teal-dim);stroke:var(--teal);stroke-width:.25px}.cmap .stop-hi{fill:var(--amber)}.cmap .lamp{fill:var(--red)}.cmap .route{fill:none;stroke-linecap:round;stroke-linejoin:round}.cmap .route.model{stroke:var(--teal);opacity:.9}.cmap .route.done{stroke:var(--green);opacity:.5}.cmap .chev{fill:none;stroke:var(--teal);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cmap .trail{fill:none;stroke:var(--tx);stroke-opacity:.85;stroke-linecap:round;stroke-linejoin:round}.cmap .node circle{fill:var(--s2);stroke:var(--line2);stroke-width:.3px}.cmap .node text,.cmap .fault text{fill:var(--tx2);font-family:var(--f-num);text-anchor:middle;font-weight:600}.cmap .node.ok circle{fill:#1d2c25;stroke:var(--green)}.cmap .node.ok text{fill:var(--green)}.cmap .node.warn circle{fill:#2e2716;stroke:var(--amber)}.cmap .node.warn text{fill:var(--amber)}.cmap .node.bad circle{fill:#2f1a1b;stroke:var(--red)}.cmap .node.bad text{fill:var(--red)}.cmap .node.cur circle{fill:var(--teal);stroke:none}.cmap .node.cur text{fill:var(--teal-ink)}.cmap .node .halo{opacity:.45;fill:none!important;stroke:var(--teal)!important}.cmap .fault circle{fill:var(--amber)}.cmap .fault.bad circle{fill:var(--red)}.cmap .fault text{fill:#111}.cmap .car rect{fill:var(--tx)}.cmap .car .glass{fill:#39424c}.cmap .car.ghost rect{fill:none;stroke:var(--teal);stroke-width:.18px;stroke-dasharray:.5 .4}.cmap .car.ghost .glass{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html.learn,html.learn body{--f-head:"Be Vietnam Pro", system-ui, sans-serif;--f-num:"Be Vietnam Pro", system-ui, sans-serif}.learn body{font-size:16px;line-height:1.6}.learn h1,.learn h2,.learn h3,.learn .btn,.learn .chip,.learn .card .ct b,.learn .area-head h2,.learn .entry-nav b,.learn .hero-secondary,.learn .tabbar a,.learn .brand{letter-spacing:0;font-weight:600}.learn .lbl,.learn .btn,.learn .chip{font-weight:600}.learn .lbl,.learn .pg-theory h2,.learn .q-meta .chip{letter-spacing:.02em;text-transform:none}.learn .lbl{font-size:13px}.learn .pg-theory h2{color:var(--tx2);font-size:15px;font-weight:600}html.learn[data-theme=light],html.learn[data-theme=light] body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f8;--s1:#fff;--s2:#edf1f3;--s3:#e3e8eb;--well:#e9eef1;--scrim:#18252d80;--line:#18252d1a;--line2:#18252d2e;--tx:#18252d;--tx2:#52616b;--tx3:#5d6b75;--teal:#07736a;--teal-ink:#fff;--teal-dim:#07736a1a;--green:#19734a;--green-dim:#19734a1a;--amber:#8a5700;--amber-dim:#8a57001a;--red:#b42332;--red-dim:#b4233214}@media (prefers-color-scheme:light){html.learn:not([data-theme=dark]):not([data-theme=light]),html.learn:not([data-theme=dark]):not([data-theme=light]) body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f8;--s1:#fff;--s2:#edf1f3;--s3:#e3e8eb;--well:#e9eef1;--scrim:#18252d80;--line:#18252d1a;--line2:#18252d2e;--tx:#18252d;--tx2:#52616b;--tx3:#5d6b75;--teal:#07736a;--teal-ink:#fff;--teal-dim:#07736a1a;--green:#19734a;--green-dim:#19734a1a;--amber:#8a5700;--amber-dim:#8a57001a;--red:#b42332;--red-dim:#b4233214}}.learn .btn.pri:hover{background:var(--teal);filter:brightness(1.08)}.learn .tb-line,.learn .card .mini,.learn .segs i{background:var(--line)}.learn .segs i.ok{background:var(--green)}.learn .segs i.warn{background:var(--amber)}.learn .segs i.cur{background:var(--teal)}.learn .actions{background:linear-gradient(180deg, transparent, var(--bg) 22%)}.learn .choice.right .key,.learn .choice.wrong .key,.learn .choice.sel .key{color:var(--s1)}.learn .tabbar{background:color-mix(in srgb, var(--bg) 94%, transparent)}.learn .site-header{background:var(--bg)}.learn .pg-theory .tbar{background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line)}@media (min-width:600px){.learn .hero h1 em,.learn .hero-secondary:hover{color:#3dd6c6}.learn .hero-secondary{color:#f2f5f7}}.learn .top-tag,.learn .learning-heading .lbl,.learn .lc-k,.learn .tabbar a{font-size:12px}.learn .entry-nav small,.learn .learning-heading>p,.learn .ready-txt,.learn .hero-note,.learn .stat span,.learn .src,.learn .foot,.learn .card .ct span{font-size:13.5px}.learn .hero-eyebrow{letter-spacing:.06em;font-size:12px}.learn .hero-lead{font-size:16px;line-height:1.6}.learn .q-text{font-size:21px;font-weight:600;line-height:1.5}.learn .choice{font-size:17px;line-height:1.55}@media (max-width:599px){.learn .hero-bg{height:200px}.learn .hero-in{padding-top:212px;padding-bottom:20px}.learn .hero h1{letter-spacing:-.01em;color:var(--tx);font-size:30px;line-height:1.25}.learn .hero-lead,.learn .hero-note,.learn .hero-eyebrow{display:none}.learn .hero-actions{margin-top:16px}.learn .entry-nav>a{padding:12px 16px}.learn .dashboard{margin-top:16px}.learn .dashboard .next{order:-1}.learn .ready{padding:16px}.learn .ready-big{font-size:40px}.learn .home{padding-top:24px}.learn .learning-heading,.learn .route-panel{display:none}}.learn .theme-pick{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;display:flex}.learn .theme-pick:before{content:"Giao diện";color:var(--tx2);margin-right:6px;font-size:14px}.learn .theme-pick .chip{border:1px solid var(--line2);min-height:44px;color:var(--tx);cursor:pointer;background:0 0;padding:0 14px;font-size:14px}.learn .theme-pick .chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}@view-transition{navigation:auto}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100svh;color:var(--tx);font:400 15px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}button,select,textarea{font:inherit;color:inherit}a{color:var(--teal);text-underline-offset:3px}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3{font-family:var(--f-head);letter-spacing:.005em;margin:0;font-weight:600;line-height:1.25}p{margin:0}[data-i]{display:inline-flex}.ok{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}.muted{color:var(--tx2)}.skip{z-index:20;border-radius:var(--r1);background:var(--teal);min-height:48px;color:var(--teal-ink);clip-path:inset(100%);padding:12px 16px;position:fixed;top:8px;left:16px}.skip:focus{clip-path:none}.btn .i,.chip .i{flex:none}.btn.ghost{border-color:var(--line2)}:root{--pl:max(16px, env(safe-area-inset-left));--pr:max(16px, env(safe-area-inset-right));--maxw:1240px}@media (min-width:900px){:root{--pl:max(32px, env(safe-area-inset-left));--pr:max(32px, env(safe-area-inset-right))}}.pg-home{--tx2:#a2abb4;--tx3:#85909a}.site-header{border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:var(--bg)}.topbar{max-width:var(--maxw);padding:0 var(--pr) 0 var(--pl);align-items:center;gap:20px;min-height:80px;margin:auto;display:flex}.brand{min-height:48px;color:var(--tx);font:600 19px/1 var(--f-head);align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{border-radius:9px;flex:none;width:36px;height:36px;display:block}.site-nav{gap:28px;margin-right:12px;display:flex}.site-nav a{min-height:48px;color:var(--tx2);align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--tx)}.top-tag{border:1px solid var(--line2);white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:10px}.topbar .ib.s{background:0 0;width:44px;height:44px}.hero{isolation:isolate;max-width:1672px;margin:auto;position:relative;overflow:hidden}.hero-bg{z-index:-1;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:65% 56%;width:100%;height:100%;display:block}.hero-bg:after{content:"";background:linear-gradient(90deg, #0b0d10f5, #0b0d10d1 24%, #0b0d1040 52%, transparent 72%), linear-gradient(0deg, var(--bg), transparent 28%);position:absolute;inset:0}.hero-in{max-width:var(--maxw);min-height:560px;padding:76px var(--pr) 76px var(--pl);align-items:center;margin:auto;display:flex;position:relative}.hero-copy{max-width:525px}.hero-eyebrow{font:400 11px/1.4 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#c5e5df;align-items:center;gap:9px;margin-bottom:24px;display:flex}.hero-eyebrow>span{background:var(--teal);border-radius:50%;width:6px;height:6px}.hero h1{font:600 clamp(40px, 4.3vw, 62px)/1.14 var(--f-head);letter-spacing:-.035em;color:#f6f8fa}.hero h1 em{color:var(--teal);font-style:normal}.hero-lead{color:#c6cdd3;max-width:395px;margin-top:22px;font-size:15px;line-height:1.8}.hero-actions{align-items:center;gap:24px;margin-top:30px;display:flex}.hero-actions .btn{border-radius:9px;min-height:54px;padding:0 22px;font-size:16px}.hero-secondary{min-height:48px;color:var(--tx);font:600 14px/1.3 var(--f-head);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.hero-secondary:hover{color:var(--teal)}.hero-secondary .i{width:16px;height:16px}.hero-note{color:#aeb7bd;margin-top:22px;font-size:11px}.hero-facts{color:#aeb7bd;flex-wrap:wrap;gap:8px 22px;margin-top:26px;padding:0;font-size:12px;list-style:none;display:flex}.hero-facts li{align-items:baseline;gap:6px;display:flex}.hero-facts b{color:#f6f8fa;font:600 18px/1 var(--f-head)}.entry-nav{max-width:var(--maxw);padding:0 var(--pr) 0 var(--pl);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.entry-nav>a{color:var(--tx);border-block:1px solid var(--line2);background:var(--s1);align-items:center;gap:16px;padding:25px 24px;text-decoration:none;display:flex}.entry-nav>a:first-child{border-left:1px solid var(--line2);border-radius:12px 0 0 12px}.entry-nav>a:last-child{border-right:1px solid var(--line2);border-radius:0 12px 12px 0}.entry-nav>a+a{border-left:1px solid var(--line2)}.entry-nav>a:hover{background:var(--s2)}.entry-num{color:var(--teal);font-size:23px}.entry-nav b{font:600 17px/1.3 var(--f-head);display:block}.entry-nav small{color:var(--tx2);margin-top:4px;font-size:11px;line-height:1.5;display:block}.entry-nav .i{color:var(--tx2);width:17px;height:17px;margin-left:auto}.dashboard{max-width:var(--maxw);padding:0 var(--pr) 0 var(--pl);grid-template-columns:1fr 1.25fr;align-items:stretch;gap:24px;margin:32px auto 0;scroll-margin-top:24px;display:grid}.ready{background:var(--s1);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:center;padding:28px;display:flex}.ready h2{color:var(--tx2);margin-bottom:18px}.ready-row{align-items:flex-end;gap:14px;margin-top:6px;display:flex}.ready-big{font:600 64px/.95 var(--f-num);letter-spacing:-.01em}.ready-big span{color:var(--tx2);font-size:30px;font-weight:400}.ready-txt{color:var(--tx);padding-bottom:2px;font-size:14px;line-height:1.45}.ready-txt b.num{font-size:17px}.ready-txt .num{font-family:var(--f-num)}.segs{gap:4px;max-width:520px;margin-top:14px;display:flex}.segs i{background:#ffffff29;border-radius:2px;flex:1;height:4px}.segs i.ok{background:var(--green)}.segs i.warn{background:var(--amber)}.segs i.cur{background:var(--teal)}.segs i.lh{background:0 0;flex:2.2;box-shadow:inset 0 0 0 1px #ffffff47}.segs i.lh.ok{background:var(--green)}.segs i.lh.warn{background:var(--amber)}.segs i.lh.cur{background:var(--teal)}.next{background:var(--s1);border:1px solid var(--line2);view-transition-name:next-card;border-radius:12px;padding:24px}.next-head{justify-content:space-between;gap:12px;display:flex}.next-head .lbl:first-child{color:var(--teal)}.next-body{grid-template-columns:72px 1fr;align-items:center;gap:14px;margin-top:12px;display:grid}.next-map{background:var(--well);border:1px solid var(--line);view-transition-name:next-map;border-radius:10px;width:72px;height:72px}.next-info h2{font-size:21px;line-height:1.22}.next-sub{color:var(--tx2);margin-top:6px;font-size:13.5px}.next-last{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.next-last .lbl .num{font-family:var(--f-num);letter-spacing:.04em}.faults{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.faults li{color:var(--tx);align-items:baseline;gap:10px;font-size:14px;line-height:1.4;display:flex}.faults li:before{content:"";background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.faults li.bad:before{background:var(--red)}.faults li>span{flex:1}.faults li b{font:600 15px/1 var(--f-num);color:var(--amber)}.faults li.bad b{color:var(--red)}.clean{color:var(--green);margin-top:6px;font-size:14px}.next-act{grid-template-columns:auto 1fr;gap:10px;margin-top:16px;display:grid}.next-act .btn{min-height:52px}.next-act .btn.pri{view-transition-name:drive-cta;font-size:17px}.home{max-width:var(--maxw);padding:56px var(--pr) 24px var(--pl);outline:none;gap:24px;margin:0 auto;display:grid}.learning-heading{grid-column:1/-1;justify-content:space-between;align-items:end;gap:16px;margin-bottom:0;display:flex}.learning-heading .lbl{color:var(--teal);margin-bottom:10px;font-size:10px}.learning-heading h2{letter-spacing:-.02em;font-size:28px}.learning-heading>p{color:var(--tx2);max-width:260px;font-size:12px}.area{background:var(--s1);border:1px solid var(--line);border-radius:var(--r2);min-width:0;padding:16px}.area-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.area-head h2{font:600 18px/1.3 var(--f-head);letter-spacing:.02em;color:var(--tx);align-items:center;gap:10px;display:flex}.area-head h2 .i{color:var(--teal);width:20px;height:20px}.area-count{font:600 22px/1 var(--f-num)}.area-sub{color:var(--tx2);margin-top:4px;font-size:14px}.area-grid{gap:16px;margin-top:8px;display:grid}.route-panel{gap:10px;display:grid}.route-map{border-radius:var(--r1);background:var(--well);border:1px solid var(--line);height:300px}.legend{color:var(--tx2);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:flex}.legend i{border:1.5px solid var(--tx3);border-radius:50%;width:9px;height:9px}.legend .ok i{background:var(--green);border-color:var(--green)}.legend .warn i{background:var(--amber);border-color:var(--amber)}.legend b{color:var(--tx);font:600 16px/1 var(--f-num)}.area details{min-width:0}.area summary{min-height:48px;font:600 15px/1 var(--f-head);color:var(--tx);border-radius:var(--r1);align-items:center;gap:10px;margin-top:4px;padding:0 4px;list-style:none;display:flex}.area summary::-webkit-details-marker{display:none}.area summary .num{color:var(--tx2);font-size:16px}.area summary .sum-i{color:var(--tx2);margin-left:auto;transition:transform .2s}.area details[open] .sum-i{transform:rotate(90deg)}.area summary:hover{color:var(--teal)}.lesson-list{grid-template-columns:1fr;gap:8px;margin-top:4px;display:grid}.lc{border-radius:var(--r1);background:var(--s2);border:1px solid var(--line);min-height:76px;color:var(--tx);grid-template-columns:84px 1fr 20px;align-items:center;gap:12px;padding:8px 12px 8px 8px;text-decoration:none;transition:border-color .15s,background .15s;display:grid;position:relative}.lc:hover{background:var(--s3);border-color:var(--line2)}.lc.cur{background:linear-gradient(90deg, var(--teal-dim), var(--s2) 70%);border-color:#3dd6c68c}.lc-map{background:var(--well);border:1px solid var(--line);border-radius:8px;width:84px;height:60px;display:block}.lc-txt{justify-items:start;gap:4px;min-width:0;display:grid}.lc-k{color:var(--tx2);font-size:11px}.lc.ok .lc-k{color:var(--green)}.lc.cur .lc-k{color:var(--teal)}.lc-t{font:600 15px/1.3 var(--f-head)}.lc .chip{height:22px;padding:0 8px;font-size:12px}.lc .chip b{font-size:13px;font-weight:600}.lc-go{color:var(--tx3);width:18px;height:18px}.lc-course{border-style:dashed;border-color:var(--line2)}.lc-course .lc-k{color:var(--tx);letter-spacing:.04em;text-transform:none;font:400 12.5px/1.35 var(--f-body)}.lc-course .lc-t{font-size:17px}.lc-course:before{content:"Thi thử";background:var(--bg);border:1px solid var(--line2);font:600 11px/1.5 var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tx2);border-radius:999px;padding:1px 8px;position:absolute;top:-9px;right:12px}.th-row{gap:14px;margin-top:10px;display:grid}.th-stats{color:var(--tx2);gap:10px;font-size:14px;display:grid}.th-stats b{color:var(--tx);font-family:var(--f-num);font-size:16px}.th-stats .warn b{color:var(--amber)}.th-stats p{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.bar i{background:var(--teal);border-radius:2px;height:100%;display:block}.area-th .btn{justify-self:start}.area-th .btn .i:last-child{color:var(--tx2)}.foot{max-width:var(--maxw);padding:8px var(--pr) max(24px, env(safe-area-inset-bottom)) var(--pl);color:var(--tx3);margin:0 auto;font-size:12.5px}.settings summary{min-height:48px;color:var(--tx2);font:600 14px/1 var(--f-head);align-items:center;gap:10px;list-style:none;display:inline-flex}.settings summary::-webkit-details-marker{display:none}.settings summary .i{width:18px;height:18px}.foot-ver{color:var(--tx3);font-size:13px}.settings-body{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0 12px;display:flex}.settings-body .btn{font-size:14px}#settings-feedback{color:var(--green);flex-basis:100%;min-height:1em;font-size:13px}#settings-feedback:empty{display:none}.foot-note{max-width:720px;margin-top:4px;line-height:1.5}@media (min-width:900px){.home{grid-template-columns:1fr 1fr}.area{padding:24px}.area-sa{grid-column:1/-1}.area-sa .area-grid{grid-template-columns:minmax(280px,34%) 1fr;align-items:start;gap:24px}.route-panel{position:sticky;top:16px}.route-map{aspect-ratio:1/1.05;height:auto}.lesson-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lc{grid-template-columns:64px 1fr 16px;gap:10px}.lc-map{width:64px;height:56px}.lc-course{grid-column:1/-1}.th-row{grid-template-columns:1fr auto;align-items:center}.area-th .btn{justify-self:end}}@media (max-width:1100px){.site-nav{gap:20px;margin-right:0}.top-tag{display:none}.entry-nav>a{gap:12px;padding:22px 16px}.dashboard{gap:16px}.ready{padding:22px}.ready-txt{font-size:12px}}@media (max-width:899px){.hero-in{min-height:480px;padding-block:52px}.hero-copy{max-width:430px}.hero h1{font-size:48px}.hero-bg:after{background:linear-gradient(90deg, #0b0d10f0, #0b0d10a6 34%, #0b0d101f 72%), linear-gradient(0deg, var(--bg), transparent 35%)}.hero-lead{max-width:340px}.entry-nav small{font-size:10px}.dashboard{grid-template-columns:1fr 1.1fr}.ready-row{flex-wrap:wrap;gap:16px}.ready-big{font-size:56px}.next{padding:20px}.next-body{grid-template-columns:60px 1fr}.next-map{width:60px;height:60px}.next-info h2{font-size:20px}.learning-heading>p{display:none}.route-map{height:330px}.lesson-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-course{grid-column:1/-1}}@media (max-width:599px){.topbar{gap:10px;min-height:68px}.brand{font-size:17px}.brand-mark{width:32px;height:32px}.site-nav{display:none}.hero{overflow:hidden}.hero-bg{height:280px;inset:0 0 auto}.hero-bg img{object-position:100% 50%}.hero-bg:after{background:linear-gradient(0deg, var(--bg), #0b0d1000 34%)}.hero-in{min-height:0;padding-top:259px;padding-bottom:32px}.hero-copy{max-width:none}.hero-eyebrow{letter-spacing:.09em;margin-bottom:15px;font-size:9px}.hero h1{font-size:clamp(37px,9.7vw,52px);line-height:1.13}.hero-lead{max-width:350px;margin-top:16px;font-size:13px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:18px;margin-top:24px}.hero-actions .btn{min-height:52px;padding-inline:18px;font-size:15px}.hero-secondary{font-size:13px}.hero-note{margin-top:16px;font-size:10px;line-height:1.6}.entry-nav{grid-template-columns:1fr}.entry-nav>a{border:1px solid var(--line2);gap:16px;padding:16px 18px}.entry-nav>a:first-child{border-radius:12px 12px 0 0}.entry-nav>a:last-child{border-radius:0 0 12px 12px}.entry-nav>a+a{border-top:0}.entry-nav small{font-size:11px}.entry-num{font-size:22px}.entry-nav b{font-size:16px}.dashboard{grid-template-columns:1fr;gap:12px;margin-top:24px}.ready{padding:22px}.ready h2{margin-bottom:12px}.ready-row{flex-wrap:nowrap}.ready-big{font-size:54px}.ready-txt{font-size:12px}.next-body{grid-template-columns:72px 1fr}.next-map{width:72px;height:72px}.home{gap:16px;padding-top:36px}.learning-heading{margin-bottom:4px}.learning-heading h2{font-size:24px}.area-head h2{font-size:17px}.area-count{font-size:20px}.lesson-list{grid-template-columns:1fr}.route-map{height:300px}.foot{padding-bottom:max(32px, env(safe-area-inset-bottom))}}@media (min-width:1673px){.hero-bg{-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}}.pg-theory .tbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:#0b0d10eb;position:sticky;top:0}.tbar-in{max-width:820px;padding:0 var(--pr) 0 calc(var(--pl) - 8px);align-items:center;gap:8px;min-height:64px;margin:0 auto;display:flex}.tb-t{flex:1;gap:2px;min-width:0;display:grid}.tb-t b{font:600 17px/1.2 var(--f-head);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tb-t small{color:var(--tx2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.3;overflow:hidden}.tb-n{font:600 22px/1 var(--f-num);white-space:nowrap}.tb-n small{color:var(--tx2);font-size:15px;font-weight:400}.tbar .ib{flex:none}.tbar a.ib{color:var(--tx)}.tb-line{background:#ffffff0f;height:2px}.tb-line i{background:var(--teal);width:0;height:100%;transition:width .25s;display:block}.pg-theory main{max-width:820px;padding:20px var(--pr) max(28px, env(safe-area-inset-bottom)) var(--pl);overflow-wrap:anywhere;margin:0 auto}.pg-theory h1{font-size:26px;line-height:1.2}.pg-theory h2{font:600 13px/1.2 var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tx2);margin:28px 0 12px}.pg-theory p+p{margin-top:8px}.lead{color:var(--tx2);margin-top:6px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.stat{background:var(--s1);border:1px solid var(--line);border-radius:var(--r1);align-content:start;gap:6px;padding:12px;display:grid}.stat b{font:600 28px/1 var(--f-num)}.stat b small{color:var(--tx2);font-size:16px;font-weight:400}.stat span{color:var(--tx2);font-size:12.5px;line-height:1.3}.bank-info{background:var(--s1);border:1px solid var(--line);border-radius:var(--r1);color:var(--tx2);margin-top:14px;padding:0 14px;font-size:13.5px}.bank-info summary{min-height:48px;color:var(--tx2);align-items:center;gap:10px;list-style:none;display:flex}.bank-info summary::-webkit-details-marker{display:none}.bank-info summary .i{color:var(--amber);width:18px;height:18px}.bank-info p{padding-bottom:12px}.bank-info b{color:var(--tx);font-weight:600}.exam-card{background:var(--s1);border:1px solid var(--line2);border-radius:var(--r2);gap:12px;padding:16px;display:grid}.exam-card .ex-t{font:600 20px/1.2 var(--f-head)}.exam-card .ex-t .num{font-family:var(--f-num)}.exam-card .muted{font-size:13.5px}.exam-card .btn{justify-self:start;min-width:200px}.exam-last{color:var(--tx2);flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.cards{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:620px){.cards{grid-template-columns:1fr 1fr}.stats{gap:10px}}.card{text-align:left;background:var(--s1);border:1px solid var(--line);border-radius:var(--r1);min-height:64px;color:var(--tx);grid-template-columns:40px 1fr 18px;align-items:center;gap:12px;padding:10px 12px;display:grid}.card:hover:not(:disabled){background:var(--s2);border-color:var(--line2)}.card:disabled{opacity:.5;cursor:default}.card .ci{background:var(--s3);width:40px;height:40px;color:var(--tx);border-radius:10px;place-items:center;display:grid}.card .ci.warn{background:var(--amber-dim);color:var(--amber)}.card .ci.cur{background:var(--teal-dim);color:var(--teal)}.card .ct{gap:2px;min-width:0;display:grid}.card .ct b{font:600 15px/1.3 var(--f-head)}.card .ct span{color:var(--tx2);font-size:13px}.card .ct .num{font-family:var(--f-num);font-size:14px}.card>.i:last-child{color:var(--tx3);width:18px;height:18px}.card .mini{background:#ffffff14;border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.card .mini i{background:var(--green);height:100%;display:block}.foot-line{color:var(--tx3);margin-top:18px;font-size:13px}.q-meta{flex-wrap:wrap;gap:8px;display:flex}.q-meta .chip{text-transform:uppercase;letter-spacing:.06em;height:28px;font-size:12px}.chip.line{border:1px solid var(--line2);background:0 0}.q-text{font:400 21px/1.42 var(--f-body);letter-spacing:-.005em;margin:16px 0 18px;font-weight:600}.q-fig{margin:0 0 16px}.q-zoom{border-radius:var(--r1);cursor:zoom-in;background:#fff;border:0;max-width:100%;padding:0;display:block;position:relative;overflow:hidden}.q-zoom img{object-fit:contain;max-width:100%;height:auto;max-height:46vh;display:block}.q-fig[data-state=loading] .q-zoom{background:var(--s2);min-width:min(100%,320px);min-height:140px}.q-zoom-hint{background:var(--s2);color:var(--tx2);justify-content:flex-end;align-items:center;gap:6px;padding:8px 12px;font-size:13px;line-height:1;display:flex}.q-zoom-hint .i{width:16px;height:16px}.q-fig[data-state=loading] .q-zoom-hint{display:none}.q-imgerr{border-radius:var(--r1);background:var(--amber-dim);border:1px solid #ffb02066;justify-items:start;gap:12px;padding:14px 16px;display:grid}.q-imgerr p{color:var(--tx);align-items:flex-start;gap:8px;font-size:15px;display:flex}.q-imgerr p .i{color:var(--amber);width:20px;height:20px}.choice:disabled{cursor:default}.q-fig:not([data-state=ok])~.choice:disabled{opacity:.45}.sel-note{min-height:1.5em;color:var(--tx2);font-size:14px}.void-note{color:var(--amber);align-items:flex-start;gap:8px;margin-top:10px;font-size:14.5px;display:flex}.void-note .i{width:20px;height:20px}.viewer{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--tx);background:#050709f5;border:0;margin:0;padding:0}.viewer::backdrop{background:#050709cc}.viewer[open]{grid-template-rows:auto 1fr auto;display:grid}.viewer-bar{padding:max(8px, env(safe-area-inset-top)) var(--pr) 8px var(--pl);justify-content:space-between;align-items:center;gap:12px;display:flex}.viewer-t{color:var(--tx2);font-size:15px}.viewer-body{touch-action:pan-x pan-y pinch-zoom;place-items:center;padding:8px;display:grid;overflow:auto}.viewer-body img{object-fit:contain;cursor:zoom-in;background:#fff;border-radius:8px;max-width:100%;max-height:100%}.viewer-body img.big{cursor:zoom-out;width:200%;max-width:none;max-height:none}.viewer-hint{padding:8px var(--pl) max(12px, env(safe-area-inset-bottom));color:var(--tx2);text-align:center;font-size:13px}.q-note{color:var(--tx2);margin:-6px 0 14px;font-size:13.5px}.choice{text-align:left;background:var(--s1);border:1px solid var(--line2);border-radius:var(--r1);width:100%;min-height:56px;color:var(--tx);grid-template-columns:36px 1fr;align-items:start;gap:14px;margin-bottom:10px;padding:10px 14px;font-size:16px;line-height:1.45;transition:border-color .15s,background .15s;display:grid}.choice:hover{background:var(--s2)}.choice>span:last-child{padding-top:5px}.choice .key{border:1px solid var(--line2);width:36px;height:36px;font:600 16px/1 var(--f-num);color:var(--tx2);border-radius:9px;place-items:center;display:grid}.choice .key .i{stroke-width:2.4px;width:20px;height:20px;display:none}.choice.sel{border-color:var(--teal);background:var(--teal-dim)}.choice.sel .key{background:var(--teal);color:var(--teal-ink);border-color:#0000}.choice.right{border-color:var(--green);background:var(--green-dim)}.choice.right .key{background:var(--green);color:#0b2a19;border-color:#0000}.choice.wrong{border-color:var(--red);background:var(--red-dim)}.choice.wrong .key{background:var(--red);color:#2c0607;border-color:#0000}.choice.right .key .n,.choice.wrong .key .n{display:none}.choice.right .key .i-ok,.choice.wrong .key .i-x{display:block}#fb:not(:empty){background:var(--s1);border:1px solid var(--line);border-radius:var(--r1);color:var(--tx2);margin:4px 0 14px;padding:14px 16px;font-size:14.5px}#fb .fb-h{font:600 16px/1.3 var(--f-head);align-items:center;gap:8px;display:flex}#fb .fb-h .i{stroke-width:2.2px;width:20px;height:20px}.expl{color:var(--tx2);margin-top:8px;font-size:14.5px;line-height:1.55}.expl p{margin:6px 0 0}.expl .tip b{color:var(--teal);font-weight:600}.expl .law{color:var(--tx3,var(--tx2));font-size:13px}#detail .expl{background:var(--s1);border:1px solid var(--line);border-radius:var(--r1);padding:12px 14px}.src{color:var(--tx3);margin-top:14px;font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions{z-index:4;margin:18px calc(-1 * var(--pr)) 0 calc(-1 * var(--pl));padding:12px var(--pr) max(12px, env(safe-area-inset-bottom)) var(--pl);background:linear-gradient(180deg, #0b0d1000, var(--bg) 22%);gap:10px;display:flex;position:sticky;bottom:0}.actions .btn{min-height:52px}.actions .btn.pri{flex:1;font-size:17px}.actions .btn:disabled{opacity:.4;cursor:default}.ex-bar{color:var(--tx2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}#clock{font:600 24px/1 var(--f-num);color:var(--tx);align-items:center;gap:8px;display:inline-flex}#clock.low{color:var(--amber)}.grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;margin:0 0 18px;display:grid}.grid.strip{scrollbar-width:none;margin-left:calc(-1 * var(--pl));margin-right:calc(-1 * var(--pr));padding-bottom:2px;padding-left:var(--pl);padding-right:var(--pr);scroll-padding:0 var(--pr) 0 var(--pl);grid-template-columns:none;grid-auto-columns:48px;grid-auto-flow:column;overflow-x:auto}.grid.strip::-webkit-scrollbar{display:none}.grid button{background:var(--s1);border:1px solid var(--line);min-height:48px;color:var(--tx2);font:600 17px/1 var(--f-num);border-radius:10px}.grid button.done{background:var(--s3);color:var(--tx)}.grid button.cur{border-color:var(--teal);color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.grid button.right{background:var(--green-dim);color:var(--green);border-color:#6fd39a59}.grid button.wrong{background:var(--red-dim);color:var(--red);border-color:#ff4d4f59}.result-h{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.result-h .big{font:600 64px/.9 var(--f-num)}.result-h .big small{color:var(--tx2);font-size:26px;font-weight:400}.result-h .verdict{font:600 26px/1 var(--f-head);letter-spacing:.02em}#detail:not(:empty){border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.res-crit{border-radius:var(--r1);background:var(--red-dim);color:var(--tx);align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;font-size:15px;display:flex}.res-crit .i{width:20px;height:20px;color:var(--red);margin-top:2px}.link{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.res-act{margin:18px 0 6px}.res-ok{color:var(--green);margin:16px 0;font-weight:600}.weak{gap:8px;margin-bottom:18px;display:grid}.weak-i{text-align:left;border-radius:var(--r1);border:1px solid var(--line);background:var(--s1);min-height:60px;color:var(--tx);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.weak-i:hover{border-color:var(--line2)}.weak-i span{gap:2px;display:grid}.weak-i b{font-size:15px;font-weight:600}.weak-i small{color:var(--red);font-size:13.5px}.res-all{border-top:1px solid var(--line);margin-top:22px;padding-top:6px}.res-all>summary{min-height:48px;color:var(--tx2);cursor:pointer;align-items:center;font-size:15px;display:flex}.res-all .grid button.right{background:var(--s1);color:var(--tx3);border-color:var(--line)}.res-all .grid button.wrong{border-width:2px}details.src>summary{cursor:pointer;align-items:center;min-height:40px;display:inline-flex}details.src p{overflow-wrap:anywhere;margin:4px 0 0}.yard-cta{background:var(--teal-dim);min-height:64px;color:var(--tx);border:1px solid #3dd6c63d;border-radius:14px;align-items:center;gap:12px;margin:18px 0;padding:14px 16px;font-weight:600;text-decoration:none;display:flex}.yard-cta>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.yard-cta b{font-size:1.1rem}.yard-cta small{opacity:.9;line-height:1.35}.yard-cta svg{flex:none;width:24px;height:24px}.yard-cta>.i{color:var(--teal)}.yard-cta:hover{border-color:var(--teal)}.yard-cta small{color:var(--tx2);font-size:12px}#h-sa{scroll-margin-top:24px}.pro-hero{gap:18px;padding-top:6px;display:grid}.pro-kicker{color:var(--tx2);align-items:center;gap:10px;font-size:13.5px;display:flex}.pg-pro main{padding-bottom:80px}.pg-pro h1{letter-spacing:-.015em;max-width:680px;font-size:clamp(25px,5.6vw,34px);line-height:1.18}.pro-shot{border-radius:var(--r2);aspect-ratio:16/7;background:var(--s2);margin:0;position:relative;overflow:hidden}.pro-shot img{object-fit:cover;width:100%;height:100%;display:block}.pro-shot figcaption{color:#e8edf1;background:linear-gradient(#0000,#0b0d10e0);align-items:center;gap:10px;padding:28px 14px 12px;font-size:13px;display:flex;position:absolute;bottom:0;left:0;right:0}.pro-shot .chip.pro{color:#ffb020;background:#0b0d1099;border-color:#ffb020}.pro-shot .chip .i{width:13px;height:13px}.pro-gain{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pro-gain li{grid-template-columns:32px 1fr;align-items:center;gap:12px;display:grid}.pro-gain .i{background:var(--teal-dim);width:32px;height:32px;color:var(--teal);border-radius:9px;padding:6px}.pro-gain span{display:grid}.pro-gain b{color:var(--tx);font-size:15px;font-weight:600;line-height:1.35}.pro-gain small{color:var(--tx2);font-size:13px;line-height:1.4}.pro-gain li:first-child .i{background:var(--amber-dim);color:var(--amber)}.chip.save{background:var(--amber);color:#1a1200;font-weight:600}.steps{color:var(--tx2);flex-wrap:wrap;gap:6px 4px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.steps li{align-items:center;gap:6px;display:inline-flex}.steps li+li:before{content:"";background:var(--line2);width:10px;height:1px;margin-right:2px}.steps .num{border:1px solid var(--line2);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.steps .num .i{width:12px;height:12px}.steps li.on{color:var(--tx);font-weight:600}.steps li.on .num{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}.steps li.done .num{background:var(--teal-dim);color:var(--teal);border-color:#0000}.steps li.end{color:var(--amber)}@media (max-width:400px){.steps li.end{display:none}}.steps li.end .i{width:14px;height:14px}.trust{color:var(--tx2);flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:12.5px;display:flex}.trust span{align-items:center;gap:5px;display:inline-flex}.trust .i{width:14px;height:14px;color:var(--green)}.free-link{min-height:44px;color:var(--tx2);justify-self:center;align-items:center;font-size:14px;display:inline-flex}.unlocked{gap:8px;margin:0;padding:0;list-style:none;display:grid}.unlocked li{align-items:center;gap:10px;display:flex}.unlocked .i{width:18px;height:18px;color:var(--teal)}.welcome{animation:rise var(--d-slow) var(--ease-expo) both}.sticky-buy{z-index:30;padding:10px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.sticky-buy span{align-items:baseline;gap:8px;display:flex}.sticky-buy b{font-size:22px}.sticky-buy s{color:var(--tx3);font-size:14px}.sticky-buy .btn{min-height:48px;padding:0 24px}@media (min-width:720px){.sticky-buy{display:none}}.price{gap:4px;display:grid}.price p:first-child{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.price b.num{font-size:40px;font-weight:600;line-height:1}.price s{color:var(--tx3);font-size:19px}.buy{background:var(--s1);border:1px solid var(--line2);border-radius:var(--r2);gap:12px;padding:16px;display:grid}.buy.ok-box{border-color:#6fd39a66}.buy-t{font:600 17px/1.3 var(--f-head);align-items:center;gap:10px;display:flex}.ok-box .buy-t .i{color:var(--green)}.buy-act{flex-wrap:wrap;gap:10px;display:flex}.buy .btn.big{width:100%;min-height:56px;font-size:17px}.buy>.btn.ghost{width:100%}.buy-note{color:var(--tx2);text-align:center;font-size:13px}.lnk{color:var(--teal);text-underline-offset:3px;font-size:inherit;background:0 0;border:0;margin:-12px 0;padding:12px 0;text-decoration:underline}.fld{gap:6px;display:grid}.fld span{color:var(--tx2);font-size:13px}.fld input{border-radius:var(--r1);border:1px solid var(--line2);background:var(--well);min-height:52px;color:var(--tx);font:400 17px/1 var(--f-body);padding:0 14px}.fld input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:#0000}#f-code{font:600 24px/1 var(--f-num);letter-spacing:.4em}.form-err{color:var(--red);font-size:14px}.spin{border:2px solid var(--line2);border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.qr-img{aspect-ratio:1;border-radius:var(--r1);background:#fff;justify-self:center;width:min(280px,100%);height:auto;padding:8px}.qr-info{border:1px solid var(--line);border-radius:var(--r1);display:grid}.qr-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-height:48px;padding:8px 12px;display:grid}.qr-row:first-child{border-top:0}.qr-row>span{color:var(--tx2);grid-column:1/-1;font-size:13px}.qr-row>b{overflow-wrap:anywhere;font-size:16px}.btn.sm{min-height:40px;padding:0 10px;font-size:14px}.qr-wait{color:var(--tx2);align-items:center;gap:10px;font-size:14px;display:flex}.mockpay{border:1px dashed var(--amber);border-radius:var(--r2);gap:10px;margin-bottom:18px;padding:14px;display:grid}.cmp{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}.cmp-r{border-top:1px solid var(--line);grid-template-columns:1fr 92px 92px;align-items:center;min-height:52px;display:grid}.cmp-r:first-child{border-top:0}.cmp-r>span{padding:10px 12px;font-size:14px}.cmp-r>span+span{text-align:center;color:var(--tx2);place-items:center;font-size:12.5px;line-height:1.3;display:grid}.cmp-r>span.p{background:var(--teal-dim);color:var(--tx);align-self:stretch}.cmp-h{background:var(--s1);min-height:40px}.cmp-h>span{font:600 13px/1 var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:var(--tx2)!important}.cmp-h>span.p,.cmp-h>span:last-child{background:var(--teal-dim);color:var(--teal)!important}.cmp .yes .i{color:var(--green);width:20px;height:20px}.cmp .p .yes .i{color:var(--teal)}.cmp .no{color:var(--tx3)}@media (min-width:620px){.cmp-r{grid-template-columns:1fr 140px 140px}}.faq{gap:8px;display:grid}.faq details{background:var(--s1);border:1px solid var(--line);border-radius:var(--r1)}.faq summary{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 14px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .i{width:18px;height:18px;color:var(--tx3);transition:transform .2s}.faq details[open] summary .i{transform:rotate(90deg)}.faq details p{color:var(--tx2);padding:0 14px 14px}.legal-links a,.foot-legal a{color:var(--tx2)}.pg-legal section{scroll-margin-top:80px}.pg-legal section p{color:var(--tx2)}.pg-legal section p b{color:var(--tx)}.draft-note{border:1px dashed var(--amber);color:var(--amber);border-radius:var(--r1);padding:10px 12px;font-size:13.5px}.toc{flex-wrap:wrap;gap:0 16px;margin-top:6px;font-size:14px;display:flex}.toc a{padding:11px 0;display:inline-block}.seller{grid-template-columns:minmax(0,220px) 1fr;gap:8px 16px;margin:0;display:grid}.seller dt{color:var(--tx2);font-size:13.5px}.seller dd{margin:0}@media (max-width:520px){.seller{grid-template-columns:1fr}.seller dd{margin-bottom:8px}}.top-pro{border:1px solid var(--amber);min-height:40px;color:var(--amber);font:600 14px/1 var(--f-head);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.top-pro .i{width:16px;height:16px}.top-pro:hover{background:var(--amber-dim)}.top-pro.have{border-color:var(--line2);color:var(--tx2)}.chip.lockd{color:var(--tx2);border:1px solid var(--line2);background:0 0}.lc .chip.lockd .i{width:12px;height:12px}.lock-i{color:var(--tx3);vertical-align:middle;margin-left:6px;display:inline-flex}.lock-i .i{width:14px;height:14px}.upsell{border-radius:var(--r1);background:linear-gradient(90deg, var(--amber-dim), transparent 70%);color:var(--tx);border:1px solid #ffb02059;grid-template-columns:36px 1fr 18px;align-items:center;gap:12px;margin-top:12px;padding:14px;text-decoration:none;display:grid}.upsell>.i:first-child{background:var(--amber-dim);width:36px;height:36px;color:var(--amber);border-radius:10px;padding:7px}.upsell>.i:last-child{color:var(--tx3);width:18px;height:18px}.upsell span{gap:2px;display:grid}.upsell b{font:600 15px/1.3 var(--f-head)}.upsell small{color:var(--tx2);font-size:12.5px;line-height:1.4}.upsell:hover{border-color:var(--amber)}.upsell-p{align-items:baseline;gap:8px;margin-top:4px;display:flex!important}.upsell-p>.num:first-child{font:600 16px/1 var(--f-head);color:var(--amber)}.upsell-p s{color:var(--tx3);font-size:12px}.upsell-p em{font-style:normal;font:700 11px/1 var(--f-body);background:var(--amber);color:#1a1205;border-radius:6px;padding:3px 6px}.pro-hook{border-radius:var(--r2);color:var(--tx);background:linear-gradient(135deg, var(--amber-dim), var(--s1) 65%);border:1px solid #ffb02059;grid-column:1/-1;gap:10px;padding:16px;text-decoration:none;display:grid}.pro-hook:hover{border-color:var(--amber)}.pro-hook-top{color:var(--tx2);justify-content:space-between;align-items:center;font-size:12px;display:flex}.pro-hook-bar{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.pro-hook-bar i{background:var(--line2);border-radius:3px;height:6px}.pro-hook-bar i.ok{background:var(--teal)}.pro-hook-bar i.lk{background:repeating-linear-gradient(135deg,#ffb02073 0 3px,#0000 3px 6px)}.pro-hook>b{font:600 16px/1.35 var(--f-head)}.pro-hook-cta{justify-content:space-between;align-items:center;gap:12px;display:flex}.pro-hook-cta .btn{min-height:44px}.foot-legal{margin-top:10px;font-size:13px}.tabbar{display:none}@media (max-width:599px){.top-pro{min-height:36px;margin-left:auto;padding:0 12px;font-size:13px}.topbar .ib.s{margin-left:0}.returning .hero,.returning .entry-nav{display:none}.returning .dashboard{margin-top:16px}.tabbar{z-index:30;padding:6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#0b0d10f0;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:52px;color:var(--tx2);font:600 11px/1.1 var(--f-head);border-radius:10px;justify-items:center;gap:3px;padding-top:6px;text-decoration:none;display:grid}.tabbar a .i{width:22px;height:22px}.tabbar a.on{color:var(--teal)}.tabbar #tab-pro{color:var(--amber)}.pg-home{padding-bottom:calc(68px + env(safe-area-inset-bottom))}}@media (min-width:600px){.returning .hero-in{min-height:340px;padding-block:44px}.returning .hero-lead,.returning .hero-note{display:none}}.hero-copy>*{animation:rise var(--d-slow) var(--ease-expo) both;animation-delay:calc(80ms + var(--n,0) * 70ms)}.hero-copy>:nth-child(2){--n:1}.hero-copy>:nth-child(3){--n:2}.hero-copy>:nth-child(4){--n:3}.hero-copy>:nth-child(5){--n:4}.hero-bg img{animation:hero-in 2.4s var(--ease-expo) both}@keyframes hero-in{0%{opacity:.2;transform:scale(1.07)}}.hero-eyebrow>span{position:relative}.hero-eyebrow>span:after{content:"";border-radius:inherit;background:var(--teal);animation:ping 2.4s var(--ease-out) 1s 3;position:absolute;inset:0}@keyframes ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(3.2)}}.hero h1 em{background:linear-gradient(100deg, var(--teal) 40%, #b9fff5 50%, var(--teal) 60%) 100% 0 / 260% 100% no-repeat;color:#0000;animation:sheen 1.6s var(--ease-io) .7s both;-webkit-background-clip:text;background-clip:text}@keyframes sheen{0%{background-position:100% 0}to{background-position:0 0}}.entry-nav>a{animation:rise var(--d-slow) var(--ease-expo) both;animation-delay:calc(.36s + var(--n,0) * var(--stagger-step))}.entry-nav>a:nth-child(2){--n:1}.entry-nav>a:nth-child(3){--n:2}.dashboard>*{animation:rise var(--d-slow) var(--ease-expo) both;animation-delay:.48s}.dashboard>:nth-child(2){animation-delay:.54s}.segs i{transform-origin:0;animation:grow .6s var(--ease-expo) both;animation-delay:calc(.62s + var(--n,0) * 35ms)}.bar i,.card .mini i,.tb-line i{transform-origin:0;animation:grow .9s var(--ease-expo) .2s both}@keyframes grow{0%{transform:scaleX(0)}}:is(.lc,.entry-nav>a,.card,.weak-i,.next,.ready,.stat){position:relative}@media (hover:hover){:is(.lc,.entry-nav>a,.card,.weak-i,.next,.ready,.stat):after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), #3dd6c617, transparent 65%);opacity:0;transition:opacity var(--d-slow) var(--ease-out);position:absolute;inset:0}:is(.lc,.entry-nav>a,.card,.weak-i,.next,.ready,.stat):hover:after{opacity:1}.lc,.card,.weak-i{transition:background-color var(--d) var(--ease-out), border-color var(--d) var(--ease-out), transform var(--d) var(--ease-out)}.lc:hover,.card:hover:not(:disabled),.weak-i:hover{transform:translateY(-1px)}:is(.lc,.card,.entry-nav>a):hover>.i:last-child{color:var(--teal);transform:translate(3px)}.entry-nav>a{transition:background-color var(--d) var(--ease-out)}.entry-nav>a:hover .entry-num{color:#8ff3e6}}.lc:active,.card:active:not(:disabled),.weak-i:active{transition-duration:60ms;transform:scale(.985)}.area summary .sum-i{transition:transform var(--d) var(--ease-spring)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.learning-heading,.area,.lc,.foot,.pro-gain,.cmp,.faq details{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 55%}}}@keyframes reveal{0%{opacity:0;filter:blur(4px);transform:translateY(24px)scale(.985)}}.q-meta,.q-text,.q-fig,.q-note{animation:rise var(--d-slow) var(--ease-expo) both}.q-text{animation-delay:40ms}.q-fig{animation-delay:80ms}.choice{animation:rise var(--d-slow) var(--ease-expo) both}.choice:nth-of-type(2){animation-delay:.14s}.choice:nth-of-type(3){animation-delay:.18s}.choice:first-of-type{animation-delay:.1s}.choice:nth-of-type(4){animation-delay:.22s}.choice{transition:background-color var(--d) var(--ease-out), border-color var(--d) var(--ease-out)}.choice.right .key{animation:pop .42s var(--ease-spring) both}.choice.wrong{animation:shake .42s var(--ease-io) both}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.cards>*,.stats>*,.weak>*{animation:rise var(--d-slow) var(--ease-expo) both;animation-delay:calc(var(--n,0) * var(--stagger-step))}.result-h>*{animation:pop var(--d-slow) var(--ease-spring) both}.result-h .verdict{animation-delay:.5s}.tabbar a{transition:color var(--d) var(--ease-out);position:relative}.tabbar a.on:before{content:"";height:2px;animation:grow var(--d-slow) var(--ease-expo) both;transform-origin:50%;background:currentColor;border-radius:0 0 2px 2px;position:absolute;top:0;left:30%;right:30%}.tabbar a:active .i{transform:scale(.88)}::view-transition-old(root){animation:vt-out .2s var(--ease-io) both}::view-transition-new(root){animation:vt-in .38s var(--ease-expo) both}@keyframes vt-out{to{opacity:0;transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}::view-transition-group(*){animation-duration:.42s;animation-timing-function:var(--ease-expo)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.hero-eyebrow>span:after{display:none}}
