:root{--bg:#F3F6F8;--surface:#FFFFFF;--sunk:#EAF0F3;--ink:#122130;--ink-2:#3E5063;--muted:#667688;--line:#D8E1E8;--line-2:#B9C7D3;--accent:#0B6B5C;--accent-soft:#E2F0EC;--on-accent:#FFFFFF;--mm:#F05A00;--sd:#0B6CF5;--pp:#7C3AED;--wm:#C98500;--ewm:#0598B8;--fico:#10A44A;--idoc:#E3197C;--tm:#4338F0;--apo:#6FA300;--qm:#E0132B;--outils:#52607A;--hr:#C026D3;--fiori:#0F766E;--ps:#8A4B16;--good:#1C7A44;--good-soft:#E3F3E8;--bad:#B42318;--bad-soft:#FBE7E5;--warn:#9A5800;--warn-soft:#FDF1DC;--story:#5B4BA8;--story-soft:#EEEBFA;--l1:#1C7A44;--l2:#1D5BB8;--l3:#8B2F9E;--f-display:"Archivo","Arial Narrow",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--mod:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0D141B;--surface:#141E28;--sunk:#101922;--ink:#E4ECF2;--ink-2:#B2C0CD;--muted:#8597A8;--line:#243342;--line-2:#36495C;--accent:#3DBFA6;--accent-soft:#12302B;--on-accent:#06201B;--mm:#FF8A3D;--sd:#5AA2FF;--pp:#A78BFA;--wm:#FBBF24;--ewm:#22D3EE;--fico:#4ADE80;--idoc:#FF5FAE;--tm:#8C95FF;--apo:#A3E635;--qm:#FF5A6A;--outils:#A5B4C8;--hr:#E879F9;--fiori:#2DD4BF;--ps:#E0A06A;--good:#5BC98A;--good-soft:#12301F;--bad:#F2786C;--bad-soft:#3A1714;--warn:#E8A94A;--warn-soft:#33240C;--story:#B3A6F5;--story-soft:#221D3D;--l1:#5BC98A;--l2:#6EA2F2;--l3:#D18BE0;color-scheme:dark}}:root[data-theme=dark]{--bg:#0D141B;--surface:#141E28;--sunk:#101922;--ink:#E4ECF2;--ink-2:#B2C0CD;--muted:#8597A8;--line:#243342;--line-2:#36495C;--accent:#3DBFA6;--accent-soft:#12302B;--on-accent:#06201B;--mm:#FF8A3D;--sd:#5AA2FF;--pp:#A78BFA;--wm:#FBBF24;--ewm:#22D3EE;--fico:#4ADE80;--idoc:#FF5FAE;--tm:#8C95FF;--apo:#A3E635;--qm:#FF5A6A;--outils:#A5B4C8;--hr:#E879F9;--fiori:#2DD4BF;--ps:#E0A06A;--good:#5BC98A;--good-soft:#12301F;--bad:#F2786C;--bad-soft:#3A1714;--warn:#E8A94A;--warn-soft:#33240C;--story:#B3A6F5;--story-soft:#221D3D;--l1:#5BC98A;--l2:#6EA2F2;--l3:#D18BE0;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font:400 16px/1.62 var(--f-body);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:40;background:var(--surface)}h1,h2,h3,h4,h5{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15;letter-spacing:-.01em}a{color:var(--accent)}.tc,code{font-family:var(--f-mono);font-size:.86em}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:1260px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}[data-hide="1"]{display:none!important}.top{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}.top .wrap{gap:14px;padding-block:10px}.brand,.top .wrap{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink);flex:none}.brand-mark{width:30px;height:30px;border-radius:6px;background:var(--ink);color:var(--surface);display:grid;place-items:center;font:700 12px/1 var(--f-mono)}.brand b{font:750 17px/1 var(--f-display);font-stretch:112%}.brand small{display:block;font:500 11px/1.2 var(--f-body);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}.modnav{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none;flex:1 1;min-width:0}.modnav::-webkit-scrollbar{display:none}.modnav a{font:600 13px/1 var(--f-mono);text-decoration:none;color:var(--ink-2);padding:8px 10px;border-radius:5px;white-space:nowrap;border:1px solid transparent}.modnav a.on,.modnav a:hover{background:var(--sunk)}.modnav a.on{color:var(--ink);border-color:var(--line-2);box-shadow:inset 0 -2px 0 var(--mod)}.cmd{position:relative;flex:none;width:270px}.cmd-in{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:6px;background:var(--sunk);padding:0 10px;gap:8px}.cmd-in span{font:600 12px var(--f-mono);color:var(--muted)}.cmd input{border:0;background:transparent;outline:none;font:500 14px/1 var(--f-mono);color:var(--ink);padding:9px 0;width:100%}.cmd input::placeholder{font-family:var(--f-body);color:var(--muted)}.cmd-res{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;box-shadow:0 12px 32px rgb(0 0 0/.16);z-index:50;max-height:62vh;overflow-y:auto;min-width:300px}.cmd-res button{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px}.cmd-res button:last-child{border-bottom:0}.cmd-res button.sel,.cmd-res button:hover{background:var(--accent-soft)}.cmd-res b{font:600 13px var(--f-mono)}.cmd-res span{font-size:13px;color:var(--ink-2)}.cmd-res i{font:600 10.5px var(--f-mono);font-style:normal;color:var(--muted);text-transform:uppercase}.cmd-res .none{padding:12px;font-size:13px;color:var(--muted)}.icon-btn{flex:none;border:1px solid var(--line-2);background:var(--surface);border-radius:6px;height:36px;padding:0 11px;display:grid;place-items:center;color:var(--ink-2);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.icon-btn:hover{background:var(--sunk)}@media (max-width:980px){.brand small,.top .cmd{display:none}}@media (max-width:560px){.top .exam-link{display:none}}.eyebrow{font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);background:var(--ink);color:var(--surface);border-radius:6px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.btn:hover{opacity:.9}.btn.ghost{background:transparent;color:var(--ink)}.btn.sm{padding:5px 10px;font-size:13px}.btn[disabled]{opacity:.4;cursor:default}.lvl{justify-self:start;display:inline-block;font:600 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lv);border:1px solid color-mix(in srgb,var(--lv) 45%,transparent);padding:5px 8px;border-radius:4px}.lvl-1{--lv:var(--l1)}.lvl-2{--lv:var(--l2)}.lvl-3{--lv:var(--l3)}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--lv,var(--mod))}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.prog{height:4px;background:var(--sunk);overflow:hidden}.prog,.prog i{border-radius:2px}.prog i{display:block;height:100%;background:var(--mod)}.hero{padding-block:52px 38px;display:grid;grid-template-columns:1.2fr 1fr;grid-gap:48px;gap:48px;align-items:center}.hero h1{font-size:clamp(34px,5.2vw,60px);font-weight:780;font-stretch:118%;margin:14px 0 18px;letter-spacing:-.025em}.hero h1 em{font-style:normal;color:var(--accent)}.hero p.big{font-size:18px;color:var(--ink-2);max-width:58ch}.hero .cmd{width:100%;max-width:540px;margin-top:26px;display:block}.hero .cmd-in{background:var(--surface);padding:0 14px;border-width:1.5px;border-color:var(--ink)}.hero .cmd input{font-size:17px;padding:14px 0}.hint{font-size:13px;color:var(--muted);margin-top:10px}.hint code{background:var(--sunk);padding:1px 5px;border-radius:3px;cursor:pointer;border:1px solid var(--line)}.screen-mock{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;box-shadow:0 18px 50px -24px rgb(10 30 50/.35)}.screen-bar{display:flex;gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--sunk);font:500 12px var(--f-mono);color:var(--muted)}.screen-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2);display:inline-block}.screen-body{padding:16px;font:500 13px/1.75 var(--f-mono)}.screen-body .ln{display:flex;gap:10px;white-space:nowrap;overflow:hidden}.screen-body .ln b{color:var(--accent);font-weight:600;min-width:64px}.screen-body .ln span{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}.screen-body .st{color:var(--good)}@media (max-width:900px){.hero{grid-template-columns:1fr;padding-block:34px 26px;gap:26px}}.band{padding-block:40px;border-top:1px solid var(--line)}.band-h{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:22px}.band-h h2{font-size:clamp(24px,3vw,32px);font-stretch:112%;font-weight:750}.band-h p{color:var(--ink-2);max-width:62ch}.resume{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--mod);border-radius:10px;padding:16px 20px;margin-top:-6px}.resume b{font-family:var(--f-display);font-size:18px}.resume span{color:var(--ink-2);font-size:14px}.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.mod-card{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:border-color .15s,transform .15s}.mod-card:hover{transform:translateY(-2px)}.mod-card .code{font:700 26px/1 var(--f-mono);letter-spacing:-.02em}.mod-card .wm{position:absolute;right:-6px;top:-14px;font:800 92px/1 var(--f-mono);color:var(--mod);opacity:.06;pointer-events:none}.mod-card h3{font-size:18px;font-stretch:108%;font-weight:700}.mod-card p{font-size:14px;color:var(--ink-2)}.lv3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:auto}.lv3 div{display:grid;grid-gap:4px;gap:4px}.lv3 small{font:600 10.5px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between}.lv3 small,.mod-card .meta{color:var(--muted);display:flex}.mod-card .meta{gap:12px;flex-wrap:wrap;font:500 12px var(--f-mono)}.paths{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.path{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px}.path h3{font-size:19px;font-stretch:108%}.path ol{margin:0;padding-left:20px;font-size:14.5px;display:grid;grid-gap:4px;gap:4px}.path ol,.path p{color:var(--ink-2)}.path p{font-size:14px}@media (max-width:860px){.paths{grid-template-columns:1fr}}.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:12px;gap:12px}.tool{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-gap:6px;gap:6px;align-content:start}.tool b{font-family:var(--f-display);font-size:16px}.tool span{font-size:14px;color:var(--ink-2)}.tool i{font:600 11px var(--f-mono);font-style:normal;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.basics{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.basic{border-left:2px solid var(--line-2);padding:4px 0 4px 16px}.basic h4{font-size:16px;margin-bottom:6px;font-stretch:105%}.basic p{font-size:14.5px;color:var(--ink-2)}.map{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px}.map svg{display:block;width:100%;height:auto;min-width:660px}.srcs{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.src{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}.src h4{font-size:14px;margin-bottom:8px;font-family:var(--f-mono);font-weight:600;word-break:break-all}.src ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink-2);display:grid;grid-gap:3px;gap:3px}@media (max-width:760px){.srcs{grid-template-columns:1fr}}footer.foot{padding-block:28px 48px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.mhero{border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--mod) 10%,var(--surface)),var(--surface));position:relative;overflow:hidden}.mhero .wm{position:absolute;right:max(16px,4vw);top:8px;font:800 clamp(90px,16vw,200px)/1 var(--f-mono);color:var(--mod);opacity:.07;pointer-events:none;letter-spacing:-.04em}.mhero .wrap{padding-block:34px 26px;display:grid;grid-template-columns:1fr 340px;grid-gap:40px;gap:40px;position:relative}.mhero .code{font:700 14px/1 var(--f-mono);color:var(--mod);letter-spacing:.06em}.mhero h1{font-size:clamp(30px,4.6vw,52px);font-stretch:116%;font-weight:780;margin:10px 0 12px;letter-spacing:-.02em}.mhero .tag{font-size:17px;color:var(--ink-2);max-width:64ch}.facts{display:grid;grid-gap:9px;gap:9px;font-size:13.5px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}.facts div{display:grid;grid-template-columns:86px 1fr;grid-gap:10px;gap:10px}.facts dt{font:600 10.5px/1.7 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.facts dd{margin:0;color:var(--ink-2)}@media (max-width:900px){.mhero .wrap{grid-template-columns:1fr;gap:18px}}.stepper{position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:20;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.stepper .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:8px}.stepper .wrap::-webkit-scrollbar{display:none}.stp{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-2);padding:8px 14px 8px 8px;border-radius:8px;border:1px solid transparent;white-space:nowrap;flex:none}.stp:hover{background:var(--sunk)}.stp .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 12px var(--f-mono);border:1.5px solid var(--lv,var(--line-2));color:var(--lv,var(--ink-2))}.stp b{font-size:14px;color:var(--ink);font-weight:600}.stp b,.stp small{display:block;line-height:1.2}.stp small{font-size:11.5px;color:var(--muted)}.stp.on{background:var(--surface);border-color:var(--line-2);box-shadow:inset 0 -2px 0 var(--lv,var(--mod))}.stp.on .n{background:var(--lv,var(--mod));color:var(--surface);border-color:transparent}.stp-sep{align-self:center;color:var(--line-2);flex:none}.lay{display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:48px;gap:48px;padding-block:28px 70px}.rail{position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top,0px) + 130px);align-self:start;max-height:calc(100vh - 150px);overflow-y:auto;font-size:14px;padding-right:4px}.rail h5{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.rail ol{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-gap:1px;gap:1px}.rail button{display:flex;gap:9px;align-items:baseline;width:100%;text-align:left;background:none;border:0;padding:6px 8px;border-radius:5px;color:var(--ink-2);line-height:1.35}.rail button:hover{background:var(--sunk);color:var(--ink)}.rail button .num{font:600 11px var(--f-mono);min-width:20px}.rail button .num,.rail button.done{color:var(--muted)}.rail button.done:after{content:"✓";margin-left:auto;color:var(--good);font-weight:600}.rail .rp{margin-bottom:18px;display:grid;grid-gap:6px;gap:6px}.rail .rp small{font-size:12px;color:var(--muted)}@media (max-width:980px){.lay{grid-template-columns:1fr;gap:20px}.rail{position:static;max-height:none;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface)}}.main{max-width:820px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:60px;gap:60px}.lv-banner{border-radius:12px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--lv);display:grid;grid-gap:14px;gap:14px}.lv-banner h2{font-size:clamp(24px,3.2vw,32px);font-stretch:112%;font-weight:760}.lv-banner p{color:var(--ink-2);font-size:16.5px}.goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.goals li{background:var(--bg);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--ink-2);display:flex;gap:10px}.goals li:before{content:"→";color:var(--lv,var(--mod));font-weight:600}.sec{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;scroll-margin-top:140px}.sec,.sec>*{min-width:0}.sec-h{display:grid;grid-gap:8px;gap:8px}.sec-num{font:600 12px var(--f-mono);color:var(--mod);letter-spacing:.06em;text-transform:uppercase}.sec h2{font-size:clamp(23px,3vw,30px);font-stretch:110%;font-weight:740}.sec .lead{font-size:17.5px;color:var(--ink-2)}.sec p{max-width:72ch}.sub{font-size:18px;font-stretch:106%;margin-top:8px}.list{margin:0;padding-left:22px;display:grid;grid-gap:6px;gap:6px;max-width:72ch}.list li::marker{color:var(--mod)}.sec-f{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.read-btn{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;padding:6px 12px;font-size:13px;color:var(--ink-2)}.read-btn.done{background:var(--good-soft);border-color:transparent;color:var(--good)}.next-lv{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.next-lv b{font-family:var(--f-display);font-size:18px}.co{border-radius:8px;padding:14px 16px;display:grid;grid-gap:6px;gap:6px;border:1px solid var(--co-b);background:var(--co-bg)}.co-k{font:600 11px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--co-c)}.co-t{font-weight:600}.co-b{font-size:15px;color:var(--ink-2);display:grid;grid-gap:5px;gap:5px}.co-b ul{margin:0;padding-left:18px;display:grid;grid-gap:3px;gap:3px}.co-ex{--co-c:var(--good);--co-bg:var(--good-soft);--co-b:transparent}.co-trap{--co-c:var(--bad);--co-bg:var(--bad-soft);--co-b:transparent}.co-tip{--co-c:var(--warn);--co-bg:var(--warn-soft);--co-b:transparent}.co-s4{--co-c:var(--accent);--co-bg:var(--accent-soft);--co-b:transparent}.co-def{--co-c:var(--mod);--co-bg:var(--surface);--co-b:var(--line)}.co-story{--co-c:var(--story);--co-bg:var(--story-soft);--co-b:transparent}.co-key{--co-c:var(--ink);--co-bg:var(--surface);--co-b:var(--ink)}.howto{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px}.howto-t{font:600 12px var(--f-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mod);margin-bottom:10px}.howto ol{margin:0;padding:0;list-style:none;counter-reset:s;grid-gap:8px}.howto li,.howto ol{display:grid;gap:8px}.howto li{counter-increment:s;grid-template-columns:28px 1fr;grid-gap:8px;font-size:15px;color:var(--ink-2)}.howto li:before{content:counter(s);font:600 12px/24px var(--f-mono);width:24px;height:24px;border-radius:50%;background:var(--sunk);color:var(--ink);text-align:center}.tbl{margin:0}.fig-t,figcaption{font:600 12px var(--f-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}table{border-collapse:collapse;width:100%;font-size:14.5px;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}th{text-align:left;font:600 12px/1.3 var(--f-body);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--sunk)}td,th{padding:9px 12px;border-bottom:1px solid var(--line)}td{vertical-align:top;color:var(--ink-2)}tr:last-child td{border-bottom:0}td.m{font:600 13.5px var(--f-mono);color:var(--ink);white-space:nowrap}tr.flash td{animation:flash 2.6s ease}@keyframes flash{0%,45%{background:var(--accent-soft)}to{background:transparent}}.diagram{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.fig-note{font-size:13.5px;color:var(--muted);margin-top:10px}.fig-hint{font:500 12px var(--f-mono);color:var(--mod);margin-top:8px}.flow{gap:30px;list-style:none;margin:0;padding:4px 2px 6px}.flow,.fs{display:flex}.fs{flex:0 0 172px;position:relative;background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--mod);border-radius:6px;padding:12px;flex-direction:column;gap:6px;text-align:left}.flow-i .fs{cursor:pointer;transition:transform .12s,box-shadow .12s}.flow-i .fs:hover{transform:translateY(-2px);box-shadow:0 6px 16px -8px rgb(0 0 0/.3)}.fs.sel{background:var(--surface);box-shadow:0 0 0 2px var(--mod)}.fs.seen .fs-n:after{content:" ✓";color:var(--good)}.fs:not(:last-child):after{content:"";position:absolute;right:-24px;top:50%;width:18px;height:2px;background:var(--line-2)}.fs:not(:last-child):before{content:"";position:absolute;right:-26px;top:calc(50% - 4px);border:5px solid transparent;border-left:7px solid var(--line-2);border-right:0}.fs-n{font:600 11px var(--f-mono);color:var(--muted)}.fs .tc{align-self:flex-start;background:var(--surface);border:1px solid var(--line-2);border-radius:4px;padding:1px 6px;font-weight:600;color:var(--ink)}.fs b{font-size:14.5px;line-height:1.3}.fs-d{font-size:13px;color:var(--ink-2);line-height:1.45}.fs-doc{margin-top:auto;font:500 11.5px var(--f-mono);color:var(--mod)}.fs-detail{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:12px;font-size:15px;color:var(--ink-2);display:grid;grid-gap:8px;gap:8px}.fs-detail h4{font-size:16px;color:var(--ink)}.fs-detail ul{margin:0;padding-left:20px;display:grid;grid-gap:4px;gap:4px}@media (max-width:640px){.flow{flex-direction:column;gap:22px}.fs{flex:auto}.fs:not(:last-child):after{right:auto;left:24px;top:auto;bottom:-18px;width:2px;height:14px}.fs:not(:last-child):before{right:auto;left:20px;top:auto;bottom:-22px;border:5px solid transparent;border-top:7px solid var(--line-2);border-bottom:0}}.lanes{display:grid;position:relative;min-width:max-content}.lane-band{border-bottom:1px dashed var(--line)}.lane-band:nth-of-type(odd){background:var(--sunk)}.lane-l{font:600 12px/1.3 var(--f-body);color:var(--ink-2);padding:12px 10px;align-self:center;z-index:1}.lane-s{z-index:1;margin:10px 7px;background:var(--surface);border:1px solid var(--line-2);border-left:3px solid var(--mod);border-radius:5px;padding:7px 9px;font-size:12.5px;line-height:1.3;position:relative}.lane-s .tc{display:block;font-weight:600;color:var(--ink);margin-bottom:2px}.lane-s em{position:absolute;top:-8px;right:-6px;font:600 10px/16px var(--f-mono);font-style:normal;width:16px;height:16px;border-radius:50%;background:var(--mod);color:var(--surface);text-align:center}.org,.org ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0;position:relative}.org ul{padding-top:20px}.org li{position:relative;padding:20px 5px 0;display:flex;flex-direction:column;align-items:center}.org li:after,.org li:before{content:"";position:absolute;top:0;right:50%;width:50%;height:20px;border-top:1.5px solid var(--line-2)}.org li:after{right:auto;left:50%;border-left:1.5px solid var(--line-2)}.org li:only-child:after,.org li:only-child:before{display:none}.org li:only-child{padding-top:0}.org li:first-child:before,.org li:last-child:after{border:0}.org li:last-child:before{border-right:1.5px solid var(--line-2);border-radius:0 6px 0 0}.org li:first-child:after{border-radius:6px 0 0 0}.org ul:before{content:"";position:absolute;top:0;left:50%;border-left:1.5px solid var(--line-2);height:20px}.org>li{padding-top:0}.org>li:after,.org>li:before{display:none}.node{background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:8px 10px;text-align:center;min-width:110px;max-width:170px}.node .tc{display:block;font-weight:600;color:var(--mod);font-size:12px}.node b{display:block;font-size:13.5px;line-height:1.25}.node small{display:block;font-size:11.5px;color:var(--muted);line-height:1.3;margin-top:2px}.org-wrap{padding:6px 0 4px;min-width:max-content}.tacc{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));grid-gap:12px;gap:12px}.ta{background:var(--bg);border-radius:6px;padding:10px 12px;transition:box-shadow .3s}.ta.fresh{box-shadow:0 0 0 2px var(--mod)}.ta h5{margin:0 0 6px;text-align:center;font:600 13px var(--f-mono);padding-bottom:6px;border-bottom:2px solid var(--ink)}.ta-b{display:grid;grid-template-columns:1fr 1fr}.ta-b>div{display:grid;align-content:start;grid-gap:3px;gap:3px;font:500 12.5px var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:2px 6px;min-height:36px}.ta-b>div:first-child{border-right:2px solid var(--ink)}.ta-b span{display:flex;justify-content:space-between;gap:6px}.ta-b span.new{color:var(--mod);font-weight:700}.ta-b i{font-style:normal;color:var(--mod);font-weight:600}.ta-lab{display:grid;grid-template-columns:1fr 1fr;font:600 10px var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.ta-bal,.ta-lab{text-align:center}.ta-bal{margin-top:6px;padding-top:5px;border-top:1px solid var(--line-2);font:600 11.5px var(--f-mono);color:var(--ink-2)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:13px 14px;display:grid;grid-gap:5px;gap:5px;align-content:start}.card b{font-size:15px}.card b .tc{color:var(--mod);margin-right:6px}.card span{font-size:14px;color:var(--ink-2)}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart text{font-family:var(--f-mono);font-size:11px;fill:var(--muted)}.chart .ax{stroke:var(--line-2);stroke-width:1}.chart .gr{stroke:var(--line);stroke-width:1}.chart .ref{stroke:var(--ink-2);stroke-width:1.5;stroke-dasharray:5 4}.chart .reflab{fill:var(--ink-2);font-weight:600}.chart .ln{fill:none;stroke:var(--mod);stroke-width:2;stroke-linejoin:round}.chart .ar{fill:var(--mod);opacity:.1}.chart .pt{fill:var(--surface);stroke:var(--mod);stroke-width:2}.chart .pt.ev{fill:var(--mod)}.chart .hit{fill:transparent;cursor:crosshair}.holder{position:relative}.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--surface);font:500 12px/1.4 var(--f-mono);padding:6px 8px;border-radius:5px;white-space:nowrap;transform:translate(-50%,-115%);z-index:3}.bars{grid-gap:7px;gap:7px}.bar,.bars{display:grid}.bar{grid-template-columns:minmax(120px,220px) 1fr 100px;grid-gap:10px;gap:10px;align-items:center;font-size:13.5px}.bar>span:first-child{color:var(--ink-2)}.bar .trk{height:16px;position:relative}.bar .trk i{position:absolute;top:0;bottom:0;border-radius:0 4px 4px 0;background:var(--mod);transition:width .35s ease}.bar.neg .trk i{background:repeating-linear-gradient(135deg,var(--line-2) 0 4px,transparent 4px 7px);border:1px solid var(--line-2)}.bar.tot .trk i{background:var(--ink)}.bar>span:last-child{font:600 13px var(--f-mono);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}@media (max-width:560px){.bar{grid-template-columns:1fr 80px}.bar .trk{grid-column:1/-1;grid-row:2}}.w{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.w-h{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--mod) 6%,var(--surface))}.w-h .w-k{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mod)}.w-h h4{font-size:16.5px;font-stretch:106%}.w-b{padding:16px;display:grid;grid-gap:14px;gap:14px;min-width:0}.w-b>p,.w-intro{color:var(--ink-2);font-size:15px}.w-intro ol,.w-intro ul{margin:8px 0 8px 22px;display:grid;grid-gap:4px;gap:4px}.w-intro p{margin:0 0 6px}.w-f{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);background:var(--bg)}.w-msg{font-size:14px;color:var(--ink-2)}.w-msg.ok{color:var(--good);font-weight:600}.w-msg.ko{color:var(--bad);font-weight:600}.sim-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px}.kpi{background:var(--bg);border-radius:8px;padding:10px 12px;display:grid;grid-gap:2px;gap:2px;transition:background .3s}.kpi span{font-size:12px;color:var(--muted)}.kpi b{font:600 18px var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi b small{font-size:11px;color:var(--muted);font-weight:500}.kpi.ch{background:var(--accent-soft)}.kpi.ch b{color:var(--accent)}.sim-grid{display:grid;grid-template-columns:210px minmax(0,1fr);grid-gap:16px;gap:16px}.sim-steps{display:grid;grid-gap:4px;gap:4px;align-content:start;list-style:none;margin:0;padding:0}.sim-steps button{display:flex;gap:8px;align-items:baseline;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:6px 8px;font-size:13.5px;color:var(--muted);line-height:1.3}.sim-steps button i{font:600 11px var(--f-mono);font-style:normal;min-width:18px}.sim-steps button.done{color:var(--ink-2)}.sim-steps button.done i:after{content:"✓";color:var(--good);margin-left:2px}.sim-steps button.cur{background:var(--bg);border-color:var(--mod);color:var(--ink);font-weight:600}.sim-card{background:var(--bg);border-radius:10px;padding:16px;display:grid;grid-gap:10px;gap:10px;align-content:start;min-height:180px}.sim-card h4{font-size:19px;font-stretch:106%}.sim-card p{color:var(--ink-2);font-size:15px}.sim-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sim-n{font:600 11px var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sim-who{font-size:12px;border:1px solid var(--line-2);border-radius:999px;padding:2px 9px;color:var(--ink-2)}.sim-who,.tc.big{background:var(--surface)}.tc.big{font-size:15px;font-weight:600;border:1px solid var(--line-2);border-radius:5px;padding:3px 8px;justify-self:start;color:var(--mod)}.sim-doc{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13.5px;border-left:3px solid var(--mod);padding:6px 10px;background:var(--surface);border-radius:0 6px 6px 0}.sim-doc span{font:600 10.5px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sim-post{font:500 13px var(--f-mono);display:grid;grid-gap:2px;gap:2px;background:var(--surface);border-radius:6px;padding:8px 10px}.sim-post div{display:grid;grid-template-columns:28px 1fr auto;grid-gap:8px;gap:8px}.sim-post .c{padding-left:22px}.sim-x{font-size:14px;color:var(--ink-2);border-top:1px dashed var(--line-2);padding-top:8px}.sim-start{display:grid;grid-gap:12px;gap:12px;justify-items:start}@media (max-width:720px){.sim-grid{grid-template-columns:1fr}.sim-steps{display:flex;overflow-x:auto;gap:4px}.sim-steps button{white-space:nowrap}}.calc-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.fld{display:flex;flex-direction:column;gap:5px}.fld label{display:grid;grid-gap:1px;gap:1px;font-size:13px;color:var(--ink);font-weight:600;line-height:1.3}.fld label small{font-size:11.5px;font-weight:400;color:var(--muted);line-height:1.35}.fld .in{margin-top:auto;display:flex;align-items:center;border:1px solid var(--line-2);border-radius:6px;background:var(--bg);padding:0 10px}.fld input,.fld select{border:0;background:transparent;outline:none;padding:8px 0;width:100%;font:500 15px var(--f-mono);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fld .in:focus-within{border-color:var(--mod);box-shadow:0 0 0 2px color-mix(in srgb,var(--mod) 25%,transparent)}.fld .in span{font:500 12px var(--f-mono);color:var(--muted);flex:none}.calc-out{display:grid;grid-gap:4px;gap:4px;background:var(--bg);border-radius:8px;padding:12px 14px}.calc-out div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;color:var(--ink-2);padding:3px 0;border-bottom:1px dashed var(--line)}.calc-out div:last-child{border-bottom:0}.calc-out b{font:600 14.5px var(--f-mono);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.calc-out .em{color:var(--ink);font-weight:600}.calc-out .em b{color:var(--mod);font-size:16px}.verdict{border-radius:8px;padding:10px 14px;font-size:14.5px;font-weight:500}.verdict.ok{background:var(--good-soft);color:var(--good)}.verdict.ko{background:var(--bad-soft);color:var(--bad)}.verdict.info{background:var(--accent-soft);color:var(--accent)}.ord{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;counter-reset:o}.ord li{counter-increment:o;display:grid;grid-template-columns:30px 1fr auto;grid-gap:10px;gap:10px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14.5px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ord li:before{content:counter(o);font:600 12px/24px var(--f-mono);width:24px;height:24px;text-align:center;border-radius:50%;background:var(--surface);border:1px solid var(--line-2)}.ord li.drag{opacity:.4}.ord li.over{border-color:var(--mod);box-shadow:0 0 0 1px var(--mod)}.ord li.ok{background:var(--good-soft);border-color:var(--good)}.ord li.ko{background:var(--bad-soft);border-color:var(--bad)}.ord .mv{display:flex;gap:4px}.ord .mv button{width:28px;height:28px;border-radius:5px;border:1px solid var(--line-2);background:var(--surface);font-size:13px;line-height:1}.mt{grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.mt,.mt-col{display:grid}.mt-col{grid-gap:6px;gap:6px;align-content:start}.mt button{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:14px;line-height:1.35;color:var(--ink)}.mt button.sel,.mt button:hover:not([disabled]){border-color:var(--mod)}.mt button.sel{box-shadow:0 0 0 2px var(--mod)}.mt button.ok{background:var(--good-soft);border-color:var(--good);color:var(--ink);cursor:default}.mt button.ko{animation:shake .35s;background:var(--bad-soft);border-color:var(--bad)}.mt .l{font-family:var(--f-mono);font-weight:600;font-size:13.5px}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media (max-width:560px){.mt{gap:6px}.mt button{font-size:13px;padding:8px}}.tf,.tf-i{display:grid;grid-gap:8px;gap:8px}.tf-i{background:var(--bg);border-radius:8px;padding:10px 12px}.tf-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.tf-row p{font-size:15px}.tf-b{display:flex;gap:6px;flex:none}.tf-b button{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600}.tf-b button.ok{background:var(--good);border-color:var(--good);color:var(--surface)}.tf-b button.ko{background:var(--bad);border-color:var(--bad);color:var(--surface)}.tf-x{font-size:14px;color:var(--ink-2);border-left:2px solid var(--line-2);padding-left:10px}.ex-grid{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);grid-gap:14px;gap:14px}.ex-list{display:grid;grid-gap:4px;gap:4px;align-content:start;max-height:440px;overflow-y:auto;padding-right:2px}.ex-list input{border:1px solid var(--line-2);border-radius:6px;background:var(--bg);padding:7px 10px;font-size:14px;margin-bottom:4px;outline:none}.ex-list button{display:grid;grid-template-columns:auto 1fr;grid-gap:8px;gap:8px;align-items:baseline;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:6px 8px;font-size:13.5px;color:var(--ink-2)}.ex-list button b{font:600 13px var(--f-mono);color:var(--ink)}.ex-list button.sel,.ex-list button:hover{background:var(--bg)}.ex-list button.sel{border-color:var(--mod)}.ex-det{background:var(--bg);border-radius:10px;padding:16px;display:grid;grid-gap:10px;gap:10px;align-content:start;font-size:15px;color:var(--ink-2)}.ex-det h4{font-size:19px;color:var(--ink)}.ex-det .k{font:700 13px var(--f-mono);color:var(--mod)}.ex-det ul{margin:0;padding-left:20px;display:grid;grid-gap:4px;gap:4px}.ex-det table{font-size:13.5px}@media (max-width:640px){.ex-grid{grid-template-columns:1fr}.ex-list{max-height:none;display:flex;flex-wrap:wrap}.ex-list input{flex-basis:100%}}.tabs-b{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs-b button{background:none;border:0;border-bottom:2px solid transparent;padding:9px 14px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;margin-bottom:-1px}.tabs-b button.on{color:var(--ink);border-color:var(--mod)}.tabs-p{display:grid;grid-gap:14px;gap:14px;padding-top:14px}.scr{border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:var(--bg)}.scr-top{display:flex;gap:10px;align-items:center;background:var(--ink);color:var(--surface);padding:7px 12px;font:500 12.5px var(--f-mono)}.scr-top b{background:var(--surface);color:var(--ink);border-radius:3px;padding:1px 7px}.scr-sec{padding:10px 12px;border-top:1px solid var(--line)}.scr-sec h6{margin:0 0 8px;font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.scr-f{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:6px;gap:6px}.scr-f button{display:grid;grid-template-columns:110px 1fr;grid-gap:8px;gap:8px;align-items:center;text-align:left;background:none;border:1px dashed transparent;border-radius:5px;padding:3px 5px}.scr-f button:hover{border-color:var(--line-2)}.scr-f button.sel{border-color:var(--mod);border-style:solid;background:var(--surface)}.scr-f button.seen .sl:after{content:" •";color:var(--mod)}.scr-f .sl{font-size:12.5px;color:var(--ink-2)}.scr-f .sv{font:500 12.5px var(--f-mono);border:1px solid var(--line-2);border-radius:3px;padding:3px 6px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scr-det,.scr-f .sv{background:var(--surface)}.scr-det{padding:12px 14px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2);min-height:62px}.scr-det b{color:var(--ink)}.quiz-h{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 16px;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top,0px) + 124px);z-index:5}.score{font:600 14px var(--f-mono)}.score b{color:var(--good)}.qs{grid-gap:14px;gap:14px}.q,.qs{display:grid}.q{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;grid-gap:12px;gap:12px}.q-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.q-n{font:600 12px var(--f-mono);color:var(--muted);flex:none}.q-q{font-weight:600;font-size:15.5px;flex:1 1;min-width:200px}.q-tag{font:600 10.5px var(--f-mono);color:var(--muted);text-transform:uppercase}.opts{display:grid;grid-gap:7px;gap:7px}.opt{display:flex;gap:10px;align-items:flex-start;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:9px 12px;font-size:14.5px;color:var(--ink)}.opt:hover:not([disabled]){border-color:var(--mod)}.opt i{font:600 12px/20px var(--f-mono);font-style:normal;width:20px;height:20px;border-radius:4px;background:var(--surface);border:1px solid var(--line-2);text-align:center;flex:none}.opt[disabled]{cursor:default}.opt.ok{background:var(--good-soft)}.opt.ok,.opt.ok i{border-color:var(--good)}.opt.ok i{background:var(--good);color:var(--surface)}.opt.ko{background:var(--bad-soft)}.opt.ko,.opt.ko i{border-color:var(--bad)}.opt.ko i{background:var(--bad);color:var(--surface)}.expl{font-size:14.5px;color:var(--ink-2);border-left:2px solid var(--good);padding-left:12px}.expl.ko{border-color:var(--bad)}.expl b{color:var(--ink)}.result{background:var(--accent-soft);border-radius:10px;padding:16px 18px;display:grid;grid-gap:6px;gap:6px}.result b{font-family:var(--f-display);font-size:22px}.result table{margin-top:6px}details.open-q{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 16px}details.open-q summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;gap:10px}details.open-q summary:before{content:"+";font:600 15px var(--f-mono);color:var(--mod);width:14px;flex:none}details.open-q[open] summary:before{content:"−"}details.open-q div{margin-top:10px;font-size:14.5px;color:var(--ink-2);padding-left:24px}.flash{display:grid;grid-gap:12px;gap:12px;justify-items:center}.fc{width:100%;max-width:480px;aspect-ratio:16/9;perspective:1200px;cursor:pointer;border:0;background:none;padding:0}.fc-in{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.fc.flip .fc-in{transform:rotateY(180deg)}.fc-b,.fc-f{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:14px;display:grid;place-items:center;padding:20px;text-align:center;border:1px solid var(--line-2)}.fc-f{background:var(--surface)}.fc-f b{font:700 clamp(22px,4vw,34px) var(--f-mono);color:var(--mod)}.fc-b{background:var(--ink);color:var(--surface);transform:rotateY(180deg);font-size:17px}.fc-ctl{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.fc-ctl span{font:600 12px var(--f-mono);color:var(--muted)}.dg{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0}.dg svg{display:block;width:100%;height:auto}.dg-z rect{fill:var(--sunk);stroke:var(--line);stroke-width:1}.dg-z text{font:600 11px var(--f-mono);fill:var(--muted);letter-spacing:.06em;text-transform:uppercase}.dg-e{fill:none;stroke:var(--muted);stroke-width:1.6}.dg-e.dash{stroke-dasharray:5 4;stroke:var(--line-2)}.dg-ar{fill:var(--muted)}.dg-l{font:600 11.5px var(--f-mono);fill:var(--ink-2);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.dg-b{box-sizing:border-box;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;text-align:center;padding:4px 7px;border-radius:7px;background:var(--surface);border:1.5px solid var(--line-2);color:var(--ink);text-decoration:none;font:600 13.5px/1.2 var(--f-body);overflow:hidden}.dg-b code{font:600 10.5px/1.2 var(--f-mono);color:var(--mod)}.dg-b small{font:400 11.5px/1.2 var(--f-body);color:var(--ink-2)}.dg-b.k-act{background:color-mix(in srgb,var(--mod) 13%,var(--surface));border-color:var(--mod)}.dg-b.k-fi{background:var(--good-soft);border-color:var(--good)}.dg-b.k-warn{background:var(--bad-soft);border-color:var(--bad)}.dg-b.k-sys{background:var(--sunk);border-style:dashed}a.dg-b,button.dg-b{cursor:pointer;transition:box-shadow .12s}a.dg-b:hover,button.dg-b:hover{box-shadow:0 0 0 2px var(--mod)}button.dg-b.sel{box-shadow:0 0 0 2.5px var(--mod)}.dg-det{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:10px;font-size:15px;color:var(--ink-2);display:grid;grid-gap:6px;gap:6px}.dg-det h4{font-size:16px;color:var(--ink)}.dg-m{border:0;padding:0;background:none}.stats{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-size:13.5px;color:var(--muted)}.stats b{display:block;font:700 24px/1.1 var(--f-display);color:var(--ink)}.aud{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.aud-c{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--ac);border-radius:12px;padding:20px}.aud-c h3{font-size:21px;font-stretch:110%;font-weight:750}.aud-c p{font-size:14.5px;color:var(--ink-2)}.aud-c .btn{margin-top:auto}.aud-c .btn,.aud-c .lvl{align-self:flex-start}@media (max-width:560px){.brand b{display:none}}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:13px;font-weight:500;text-decoration:none;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:999px;padding:4px 11px}a.chip:hover{border-color:var(--accent);background:var(--accent-soft)}code.chip{font:600 12.5px var(--f-mono);border-radius:5px}@media (max-width:860px){.aud{grid-template-columns:1fr}}.tr-g{margin-bottom:32px}.tr-g h2{font-size:clamp(21px,2.6vw,26px);font-stretch:110%;margin-bottom:12px}.trs{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));grid-gap:12px;gap:12px}.tr{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}.tr:hover{border-color:var(--accent);transform:translateY(-2px)}.tr-i{width:40px;height:40px;border-radius:8px;background:var(--ink);color:var(--surface);display:grid;place-items:center;font:700 11.5px var(--f-mono)}.tr h3{font-size:18px;font-stretch:108%}.tr p{font-size:14px;color:var(--ink-2)}.tr small{margin-top:auto;font:500 12px var(--f-mono);color:var(--muted)}.day{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.day li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.day b{font:600 12px var(--f-mono);color:var(--accent)}.day span{font-size:14px;color:var(--ink-2)}.tsteps{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;counter-reset:s}.tsteps li{counter-increment:s}.tsteps button{display:grid;grid-template-columns:32px 1fr auto;grid-gap:12px;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--mod);border-radius:8px;padding:10px 12px}.tsteps button:hover{border-color:var(--mod)}.tsteps button:before{content:counter(s);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--sunk);font:600 12px var(--f-mono)}.tsteps button.done:before{content:"✓";background:var(--good-soft);color:var(--good)}.tsteps b{display:block;font-size:15px;line-height:1.3}.tsteps span{display:block;font-size:13.5px;color:var(--ink-2)}.tsteps i{font:600 11px var(--f-mono);font-style:normal;color:var(--mod);white-space:nowrap}.tr-wrap{display:grid;grid-gap:30px;gap:30px;padding-block:28px 70px;max-width:920px}.tr-wrap section{display:grid;grid-gap:12px;gap:12px}.tr-wrap h2{font-size:clamp(21px,2.6vw,26px);font-stretch:110%}.bio{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.bio ul{margin:0;padding-left:20px;color:var(--ink-2);display:grid;grid-gap:5px;gap:5px}@media (max-width:760px){.bio{grid-template-columns:1fr}}.ico{display:block;width:100%;height:100%}.ico .a{fill:var(--mod)}.ico .b{fill:color-mix(in srgb,var(--mod) 16%,var(--surface))}.ico .c{fill:var(--ink)}.ico .d{fill:var(--surface)}.ico .o{opacity:.45}.ico .o2{opacity:.25}.ico .l{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ico .l.w{stroke:var(--surface)}.ico .l.a2{stroke:var(--mod)}.ico .l.c2{stroke:var(--ink)}.ico .thick2{stroke-width:7}.ico .ring{fill:none;stroke:var(--mod);stroke-width:7}.ico .thick{fill:none;stroke:var(--ink);stroke-width:8;stroke-linecap:round}.zoom{grid-template-columns:repeat(3,1fr);grid-gap:14px}.zoom,.zoom a{display:grid;gap:14px}.zoom a{grid-template-columns:64px 1fr;grid-gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);--mod:var(--accent)}.zoom a:hover{border-color:var(--accent)}.zoom b{font:700 17px/1.2 var(--f-display);display:block}.zoom span{font-size:13.5px;color:var(--ink-2)}.zoom i{font:600 11px var(--f-mono);font-style:normal;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;display:block}@media (max-width:860px){.zoom{grid-template-columns:1fr}}.fam{margin-bottom:30px}.fam-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}.fam-h span{width:44px;height:44px;flex:none}.fam-h h3{font-size:21px;font-stretch:108%}.fam-h p{font-size:14px;color:var(--ink-2)}.minis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:10px}.mc,.minis{display:grid;gap:10px}.mc{grid-template-columns:48px 1fr;grid-gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;text-decoration:none;color:var(--ink);line-height:1.25;font-size:14px;font-weight:500;transition:border-color .15s,transform .15s;position:relative}.mc:hover{border-color:var(--mod);transform:translateY(-2px)}.mc.done:after{content:"✓";position:absolute;top:6px;right:8px;color:var(--good);font-weight:700;font-size:13px}.scene{background:linear-gradient(180deg,color-mix(in srgb,var(--mod) 9%,var(--surface)),var(--surface));border:1px solid var(--line);border-radius:14px;padding:22px 16px 16px;overflow-x:auto}.sc-row,.scene{position:relative}.sc-row{display:flex;gap:10px;min-width:max-content;justify-content:space-around}.sc-road{right:58px;top:52px;border-top:3px dashed var(--line-2)}.sc-fill,.sc-road{position:absolute;left:58px}.sc-fill{top:51px;height:5px;background:var(--mod);border-radius:3px;transition:width .5s ease}.sc-st{position:relative;width:128px;flex:none;background:none;border:0;padding:0;display:grid;justify-items:center;grid-gap:6px;gap:6px;text-align:center;color:var(--ink);cursor:pointer}.sc-ic{width:104px;height:104px;border-radius:50%;background:var(--surface);border:2px solid var(--line-2);padding:12px;transition:transform .25s,border-color .25s,box-shadow .25s}.sc-st.done .sc-ic,.sc-st.on .sc-ic,.sc-st:hover .sc-ic{border-color:var(--mod)}.sc-st.on .sc-ic{transform:scale(1.08);box-shadow:0 0 0 5px color-mix(in srgb,var(--mod) 22%,transparent)}.sc-st b{font-size:13.5px;line-height:1.25}.sc-st code{font:600 11.5px var(--f-mono);color:var(--mod)}.sc-card{margin-top:14px;display:grid;grid-template-columns:96px 1fr;grid-gap:18px;gap:18px;align-items:start;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--mod);border-radius:10px;padding:16px 18px}.sc-card h3{font-size:20px;font-stretch:106%;margin-bottom:4px}.sc-card p{color:var(--ink-2)}.sc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:13px}.sc-meta span{background:var(--bg);border-radius:6px;padding:4px 9px;color:var(--ink-2)}.sc-meta .fx{background:var(--good-soft);color:var(--good);font-weight:600}@media (max-width:560px){.sc-card{grid-template-columns:1fr}.sc-card .sc-big{display:none}}.sc-ctl{display:flex;justify-content:space-between;gap:8px;margin-top:12px;align-items:center}.pw{display:grid;grid-gap:26px;gap:26px;padding-block:28px 70px;max-width:980px}.pw>section{display:grid;grid-gap:12px;gap:12px}.pw h2{font-size:clamp(21px,2.6vw,26px);font-stretch:110%}.mhead{display:grid;grid-template-columns:120px 1fr;grid-gap:22px;gap:22px;align-items:center}.mhead span.big{width:120px;height:120px}@media (max-width:560px){.mhead{grid-template-columns:1fr}.mhead span.big{width:84px;height:84px}}.nb{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tl{list-style:none;margin:0;padding:0;grid-gap:0;gap:0}.tl,.tl li{display:grid}.tl li{grid-template-columns:72px 1fr;grid-gap:14px;gap:14px;position:relative;padding-bottom:12px}.tl li:not(:last-child):before{content:"";position:absolute;left:35px;top:66px;bottom:-4px;border-left:3px dashed var(--line-2)}.tl .ic{width:72px;height:72px;border:2px solid var(--mod);border-radius:50%;padding:8px}.tl .ic,.tl a{background:var(--surface)}.tl a{align-self:center;display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.tl a:hover{border-color:var(--mod)}.tl a b{font-size:15.5px;display:block}.tl a span{font-size:13.5px;color:var(--ink-2)}.metro{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.metro svg{display:block;width:100%;min-width:900px;height:auto}.mt-l{fill:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.mt-l.dash{stroke-width:4;stroke-dasharray:6 6}.mt-s circle{fill:var(--surface);stroke:var(--ink);stroke-width:3.5;transition:r .2s,fill .2s}.mt-s text{font:600 12.5px var(--f-body);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.mt-s.past circle,.mt-s:hover circle{fill:var(--accent)}.mt-s.past circle{stroke:var(--accent)}.mt-s.now circle{fill:var(--warn);stroke:var(--ink);r:12px}.mt-s.now text{font-size:14px;font-weight:700}.mt-lg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-2);margin-top:8px}.mt-lg a{display:flex;align-items:center;gap:7px;text-decoration:none;color:inherit}.mt-lg i{width:22px;height:6px;border-radius:3px;background:var(--mod)}.gp{display:grid;grid-gap:12px;gap:12px}.gp>*,.pw>section,.wrap>section{min-width:0}.top .cmd{width:190px}.top .icon-btn{padding:0 9px}.gk{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px}.modnav a{padding:8px 6px;font-size:12px}.top .wrap{gap:10px}.top .cmd{width:160px}.sm-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px}.sm-c,.sm-grid{display:grid;gap:10px}.sm-c{grid-template-columns:48px 1fr;grid-gap:10px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--ink)}.sm-c:hover{border-color:var(--mod)}.sm-c b{display:block;font:600 11.5px var(--f-mono);color:var(--mod)}.sm-c span{font-size:14px;font-weight:500;line-height:1.25}.sm-d{grid-gap:12px;gap:12px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--mod);border-radius:12px;padding:18px;scroll-margin-top:130px}.sm-d,.sm-h{display:grid}.sm-h{grid-template-columns:72px 1fr;grid-gap:14px;gap:14px;align-items:center}.sm-h h3{font-size:21px;font-stretch:108%}.sm-h code{font:600 12px var(--f-mono);color:var(--mod)}.sm-h p{color:var(--ink-2);font-size:15px}.sm-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;margin:0;padding:0}.sm-f li{background:color-mix(in srgb,var(--mod) 12%,var(--surface));border-radius:7px;padding:6px 11px;font-size:14px;font-weight:500}.sm-f li:not(:last-child):after{content:"→";position:relative;left:16px;margin-right:6px;color:var(--mod);font-weight:700}.sm-l{font:600 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.sm-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:640px){.sm-2{grid-template-columns:1fr}}.sm-all{display:grid;grid-gap:18px;gap:18px}.sm-all>div{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--mod);border-radius:10px;padding:14px 16px;display:grid;grid-gap:8px;gap:8px}.sm-all h3{font-size:18px;font-stretch:106%}.sm-all h3 a{color:inherit;text-decoration:none}.mhero:has(.facts) .wm{display:none}.modnav{flex-wrap:wrap;overflow:visible;row-gap:2px}.stepper{top:calc(env(safe-area-inset-top,0px) + var(--toph,57px))}.rail{top:calc(env(safe-area-inset-top,0px) + var(--toph,57px) + 74px)}.quiz-h{top:calc(env(safe-area-inset-top,0px) + var(--toph,57px) + 68px)}.sec,.sm-d{scroll-margin-top:calc(var(--toph,57px) + 84px)}.top .wrap{flex-wrap:wrap}.top .cmd{width:270px;margin-left:auto}.modnav{order:5;flex:0 0 100%;justify-content:space-between}.modnav a{padding:7px 12px;font-size:13px}@media (max-width:980px){.top .cmd{display:none}.modnav{justify-content:flex-start}.modnav a{padding:7px;font-size:12px}}@media (max-width:1100px){.brand small{display:none}}@media (max-width:700px){.brand b{display:none}}.gd{display:grid;grid-gap:26px;gap:26px;padding-block:28px 70px;max-width:980px;margin-inline:auto}.gd>section{display:grid;grid-gap:12px;gap:12px;min-width:0}.gd h2{font-size:clamp(21px,2.6vw,26px);font-stretch:110%}.gs{list-style:none;margin:0;padding:0;grid-gap:10px;gap:10px;counter-reset:g}.gs,.gs li{display:grid}.gs li{counter-increment:g;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--mod);border-radius:10px;padding:14px 16px;grid-template-columns:34px 1fr;grid-gap:12px;gap:12px}.gs li.ok{border-left-color:var(--good);background:color-mix(in srgb,var(--good) 6%,var(--surface))}.gs input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--mod);cursor:pointer}.gs h3{font-size:17px;font-stretch:104%;margin-bottom:4px}.gs h3:before{content:counter(g) ". ";color:var(--mod)}.gs p{font-size:15px;color:var(--ink-2)}.gs .pth{font:500 12.5px/1.4 var(--f-mono);color:var(--muted);margin-bottom:5px}.gs .pth b{color:var(--mod);font-weight:700}.gs .ex{margin-top:7px;background:var(--good-soft)}.gs .ex,.gs .wt{font-size:14px;color:var(--ink-2);border-radius:6px;padding:6px 10px}.gs .wt{margin-top:6px;background:var(--warn-soft)}.gc{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));grid-gap:10px}.gc,.gc a{display:grid;gap:10px}.gc a{grid-template-columns:48px 1fr;grid-gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px;text-decoration:none;color:var(--ink);line-height:1.25;font-size:14.5px;font-weight:500}.gc a:hover{border-color:var(--mod)}.gc small{display:block;font:600 11px var(--f-mono);color:var(--mod)}.pg{display:grid;grid-gap:12px;gap:12px}.pg details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.pg summary{cursor:pointer;font:700 17px var(--f-display);list-style:none;display:flex;justify-content:space-between;gap:10px}.pg summary:after{content:"+";color:var(--mod);font-family:var(--f-mono)}.pg details[open] summary:after{content:"−"}.pg ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px}.pg li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;border-top:1px dashed var(--line);padding:7px 0}.pg li b{font-size:14.5px;font-weight:600}.pg li span{font-size:14px;color:var(--ink-2)}.pg li a,.pg li button{font:600 12px var(--f-mono);color:var(--mod);background:none;border:0;padding:0;cursor:pointer;text-decoration:none;white-space:nowrap}.md-tabs{margin-bottom:4px}.md-b{display:grid;grid-gap:12px;gap:12px;min-width:0}.md-h{display:flex;align-items:center;gap:10px}.md-h h5{margin:0;font-size:17px;font-family:var(--f-display)}.md-x{font:700 13px var(--f-mono);color:var(--warn);background:var(--warn-soft);border-radius:5px;padding:2px 8px}.md-st{font-size:15px;color:var(--ink-2)}.md-c{display:block;width:100%;height:auto;min-width:620px}.md-g{stroke:var(--line);stroke-width:1}.md-a{stroke:var(--ink-2);stroke-width:1.5}.md-t{font:500 11px var(--f-mono);fill:var(--muted)}.md-s{stroke:var(--warn);stroke-width:1.5;stroke-dasharray:6 4}.md-sl{font:600 11px var(--f-mono);fill:var(--warn)}.md-n{stroke:var(--accent);stroke-width:1.5}.md-nl{font:600 11px var(--f-body);fill:var(--accent)}.md-neg{fill:var(--bad-soft)}.md-l{fill:none;stroke:var(--mod);stroke-width:3;stroke-linejoin:round}.md-u{fill:var(--good);stroke:var(--surface);stroke-width:2}.md-p{fill:var(--surface);stroke:var(--mod);stroke-width:3}.md-d{fill:var(--bad);stroke:var(--surface);stroke-width:2}.md-q{font:700 12px var(--f-mono);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.md-e.on circle{stroke:var(--ink);stroke-width:3}.md-m{fill:none;stroke:var(--warn);stroke-width:2;stroke-dasharray:5 4}.md-mh{fill:var(--warn)}.md-tg{fill:none;stroke:var(--warn);stroke-width:2;stroke-dasharray:3 2}.md-ll2{font:600 11px var(--f-body);fill:var(--warn);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.md-lg i.s{width:20px;height:0;border-radius:0;border-top:2px dashed var(--warn)}.md-lead{fill:var(--mod);opacity:.75}.md-ll{font:600 11px var(--f-body);fill:var(--mod)}.md-lg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-2)}.md-lg span{display:flex;align-items:center;gap:6px}.md-lg i{width:11px;height:11px;border-radius:50%}.md-lg i.u{background:var(--good)}.md-lg i.d{background:var(--bad)}.md-lg i.p{border:2.5px solid var(--mod)}.md-tb td.r,.md-tb th.r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--f-mono)}.md-tb td.low{color:var(--warn);font-weight:700}.md-tb td.neg{color:var(--bad);font-weight:700}.md-tb tbody tr:hover td{background:var(--sunk)}.md-r{display:grid;grid-gap:6px;gap:6px;font-size:15px;color:var(--ink-2)}.md-r b{color:var(--ink)}.md-b>.btn{justify-self:start}.ar-b{grid-gap:12px;gap:12px}.ar-b,.ar-g{display:grid}.ar-g{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));grid-gap:6px;gap:6px}.ar-c{position:relative;height:60px;border:1.5px solid var(--mod);border-radius:5px;overflow:hidden;background:var(--bg)}.ar-c i{left:0;right:0;bottom:0;background:color-mix(in srgb,var(--mod) 45%,transparent)}.ar-c b,.ar-c i{position:absolute}.ar-c b{inset:auto 0 3px;text-align:center;font:600 11px var(--f-mono);color:var(--ink)}.ml-b,.ml-res{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;min-width:0;align-content:start}.ml-b>*,.ml-data,.ml-data>*,.ml-res>*{min-width:0;max-width:100%}.ml-data .calc-in{margin-bottom:10px}.ml-grid .ex-list{max-height:none}.ex-list button.det b{color:var(--warn)}.ml-m{display:grid;grid-gap:8px;gap:8px;background:var(--warn-soft);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--ink)}.ml-m p{margin:0}.ml-acts,.ml-add{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:640px){.ml-data .calc-in,.ml-grid{grid-template-columns:minmax(0,1fr)}}.ml-ok{margin:0;font-size:15px;color:var(--ink-2)}.ml-ok b{color:var(--good)}.ml-data{border-top:1px solid var(--line);padding-top:10px}.ml-data summary{cursor:pointer;font-weight:600;color:var(--ink)}.ml-data[open]>summary{margin-bottom:10px}.ml-ck{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:8px}.ml-rows{margin-bottom:10px}.ml-rows input{width:92px;border:1px solid var(--line-2);border-radius:6px;background:var(--bg);color:var(--ink);padding:5px 8px;font:500 14px var(--f-mono)}.ml-x{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:0 6px}.ml-x:hover{color:var(--bad)}.ml-m.warn{background:var(--warn-soft)}.ml-m.bad{background:var(--bad-soft)}.ml-m.info{background:var(--sunk)}.ap-pre{margin-bottom:4px}.ap-st{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;margin-bottom:8px}.ap-st label{display:flex;align-items:center;gap:6px}.ap-arc{fill:none;stroke:var(--mod);opacity:.55}.ap-arc.late{stroke:var(--bad);opacity:.85}.ap-arc.fix{stroke-dasharray:7 5;opacity:.95}.ap-n{fill:var(--surface);stroke:var(--line-2);stroke-width:1.5}.ap-n.su{stroke:var(--mod)}.ap-n.st{stroke:var(--good)}.ap-n.de{stroke:var(--accent)}.ap-nt{font:600 13px var(--f-body);fill:var(--ink)}.md-lg i.ap-k{width:22px;height:0;border-radius:0;border-top:3px solid var(--mod)}.md-lg i.ap-k.fix{border-top-style:dashed}.md-lg i.ap-k.late{border-top-color:var(--bad)}.ap-v{display:grid;grid-gap:14px;gap:14px;margin-bottom:10px}.ap-vr{display:grid;grid-gap:5px;gap:5px;font-size:14.5px;color:var(--ink-2)}.ap-vr p{margin:0}.ap-vh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px}.ap-vh b{color:var(--ink)}.ap-bar{height:14px;border-radius:7px;background:var(--sunk);overflow:hidden}.ap-bar i{display:block;height:100%;background:var(--mod)}.ap-bar i.over{background:var(--bad)}.ap-msg{font-size:14.5px;color:var(--ink-2);margin:8px 0 0}.ap-z.no{fill:var(--bad-soft)}.ap-z.ok{fill:color-mix(in srgb,var(--good) 18%,transparent)}.ap-z.wa{fill:var(--warn-soft)}.ap-zt{font:600 12px var(--f-body);fill:var(--ink)}.ap-mk{fill:var(--mod)}.ap-rg{display:block;font-size:13px;color:var(--muted);margin-top:6px}#aw-r{width:100%;accent-color:var(--mod);margin-bottom:10px}.ip-svg .md-c{min-width:680px}.ip-road{fill:var(--sunk)}.ip-dash{stroke:var(--line-2);stroke-width:2;stroke-dasharray:10 8}.ip-zone{fill:color-mix(in srgb,var(--mod) 12%,transparent)}.ip-zt{font:600 11px var(--f-mono);fill:var(--ink-2)}.ip-on .ip-roof{fill:var(--mod)}.ip-on .ip-wall{fill:var(--surface);stroke:var(--mod);stroke-width:2}.ip-on .ip-door{fill:var(--ink-2)}.ip-on .ip-line{fill:none;stroke:var(--mod);stroke-width:2}.ip-on .ip-slot{fill:var(--surface)}.ip-off .ip-roof{fill:var(--line-2)}.ip-off .ip-wall{fill:var(--surface);stroke:var(--line-2);stroke-width:2}.ip-off .ip-door{fill:var(--line-2)}.ip-off .ip-line{fill:none;stroke:var(--line-2);stroke-width:2}.ip-off .ip-slot{fill:var(--surface)}.ip-lb{font:500 11px var(--f-body);fill:var(--muted)}.ip-lb.on{font-weight:700;fill:var(--ink)}.ip-man{transition:transform .6s ease}.ip-skin{fill:#E7B78F}.ip-cap,.ip-coat{fill:var(--l2)}.ip-env{fill:#F4E3B5;stroke:#9A7A2C;stroke-width:1}.ip-env.ko{fill:var(--bad)}.ip-card{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface);margin-top:10px}.ip-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:center}.ip-h b{font-size:16px}.ip-h b,.ip-st{color:var(--ink)}.ip-st{font:700 12.5px var(--f-mono);border-radius:20px;padding:4px 10px;background:var(--warn-soft)}.ip-st.ok{background:color-mix(in srgb,var(--good) 18%,transparent)}.ip-st.ko{background:var(--bad-soft);color:var(--bad)}.ip-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:12px;gap:12px}.ip-two h6{margin:0 0 4px;font:600 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ip-two p{margin:0;font-size:15px;color:var(--ink-2)}.ip-nav{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px}.ip-ko,.ip-nav{display:flex;align-items:center}.ip-ko{gap:6px;font-size:13.5px;color:var(--ink-2)}.pb-svg{width:100%;min-width:720px;height:auto;display:block}.pb-h{fill:color-mix(in srgb,var(--l3) 16%,var(--surface));stroke:var(--l3);stroke-width:2}.pb-it{fill:var(--surface);stroke:var(--line-2);stroke-width:1.5}.pb-it.pb-alt{fill:var(--warn-soft);stroke:var(--warn);stroke-width:2.5}.pb-it.pb-tx{stroke-dasharray:5 4}.pb-e{fill:none;stroke:var(--line-2);stroke-width:2}.pb-ar{stroke:var(--mod);stroke-width:3}.pb-t1{font:600 13.5px var(--f-body);fill:var(--ink)}.pb-t2{font:500 11.5px var(--f-mono);fill:var(--muted)}.pb-k{font:700 11px var(--f-mono);fill:var(--mod)}.pb-q{font:700 12.5px var(--f-mono);fill:var(--ink)}.pb-s1{fill:var(--warn)}.pb-s2{fill:var(--mod)}.pb-s3{fill:var(--l3)}.pb-lg text{font:500 11.5px var(--f-body);fill:var(--ink-2)}.pb-n{stroke-width:2}.pb-n0{fill:var(--sunk);stroke:var(--line-2)}.pb-n1,.pb-n2{fill:color-mix(in srgb,var(--l2) 14%,var(--surface));stroke:var(--l2)}rect.pb-ok{fill:color-mix(in srgb,var(--good) 16%,var(--surface));stroke:var(--good)}rect.pb-warn{fill:var(--warn-soft);stroke:var(--warn)}rect.pb-bad{fill:var(--bad-soft);stroke:var(--bad)}td.pb-ok{color:var(--good);font-weight:600}td.pb-ko{color:var(--bad);font-weight:600;font-size:13px;min-width:200px}.ml-ok b.pb-w{color:var(--warn)}.pb-note{color:var(--ink-2)}.pb-msg,.pb-note{margin:0;font-size:14.5px}.pb-msg{padding:10px 12px;border-radius:8px;color:var(--ink)}p.pb-warn{background:var(--warn-soft)}p.pb-bad{background:var(--bad-soft)}.pb-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:12px;gap:12px}.pb-two h6{margin:0 0 4px;font:600 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pb-pv input,.pb-pv select{width:88px;font:500 14px var(--f-mono);padding:4px 6px;border:1px solid var(--line-2);border-radius:5px;background:var(--bg);color:var(--ink)}.pb-pv input[type=checkbox]{width:18px;height:18px;accent-color:var(--mod)}.pb-pv small{color:var(--muted)}.mod-card{border-top:5px solid var(--mod)}.mod-card:hover{border-color:var(--mod)}.mod-card .code{color:var(--mod)}.mod-card .wm{opacity:.12}.mt-l{stroke-width:11}.modnav a{box-shadow:inset 0 -3px 0 var(--mod)}.modnav a:hover{background:color-mix(in srgb,var(--mod) 14%,transparent)}.modnav a.on{background:color-mix(in srgb,var(--mod) 18%,transparent);border-color:var(--mod);box-shadow:inset 0 -4px 0 var(--mod)}@media (prefers-reduced-motion:reduce){.ip-man{transition:none}}.sh-sum{margin:0 0 6px;font-size:14px;color:var(--muted)}.sh-sql{margin:8px 0 0;font-size:14px;color:var(--ink-2)}.sh-sql code{display:block;margin-top:4px;padding:8px 10px;border-radius:6px;background:var(--sunk);font:500 12.5px var(--f-mono);color:var(--ink);white-space:pre-wrap;word-break:break-word}.mv-b{fill:var(--bad);background:var(--bad)}.mv-s{fill:var(--good);background:var(--good)}.mv-r{fill:var(--l2);background:var(--l2)}.mv-ss{fill:var(--warn);background:var(--warn)}.mv-n{fill:var(--l3);background:var(--l3)}.mv-a{fill:color-mix(in srgb,var(--l3) 45%,transparent);background:color-mix(in srgb,var(--l3) 45%,transparent)}.mv-p{fill:var(--mod);background:var(--mod)}.mv-v{font:700 13px var(--f-mono);fill:var(--ink)}.mv-l{font:600 12px var(--f-body);fill:var(--ink-2)}.mv-k{font:500 11px var(--f-body);fill:var(--muted)}.mv-eq{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:700 15px var(--f-mono);color:var(--ink-2);margin-top:8px}.mv-eq span{color:var(--surface);border-radius:6px;padding:4px 9px;text-decoration:none}.mv-eq i{font-style:normal}.mr-b{display:grid;grid-gap:12px;gap:12px}.mr-s{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink)}.mr-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));grid-gap:10px;gap:10px}.mr-chain li{display:grid;grid-gap:4px;gap:4px;align-content:start;border:1.5px solid var(--line-2);border-radius:10px;padding:12px;background:var(--surface)}.mr-chain li b{font:700 18px var(--f-mono);color:var(--ink-2)}.mr-chain li span{font-size:14px;color:var(--ink)}.mr-chain li small{font-size:12.5px;color:var(--muted)}.mr-chain li.go{border-color:var(--mod)}.mr-chain li.go b{color:var(--mod)}.mr-chain li.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--surface))}.mr-chain li.ok b,.mr-chain li.ok small{color:var(--good)}.mr-chain .btn{justify-self:start;margin-top:4px}.mr-st{font-size:15px;color:var(--ink-2);padding:10px 12px;border-radius:8px;background:var(--warn-soft)}.mr-st.ok{background:color-mix(in srgb,var(--good) 14%,transparent)}.mr-st b{color:var(--ink)}.ma-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.ma-c{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface);cursor:pointer}.ma-c input{margin-top:3px;accent-color:var(--mod)}.ma-c span{display:grid;grid-gap:2px;gap:2px}.ma-c b{font-size:14.5px;color:var(--ink)}.ma-c small{font-size:12.5px;color:var(--muted)}.ma-c:has(input:not(:checked)){border-color:var(--bad);background:var(--bad-soft)}.mp-t td{font-weight:700;color:var(--ink);background:var(--sunk)}.dr{display:grid;grid-gap:14px;gap:14px}.dr-lg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-2)}.dr-lg span{display:flex;align-items:center;gap:6px}.dr-lg i{width:14px;height:10px;border-radius:3px;background:var(--lc)}.dl1{--lc:var(--l1)}.dl2{--lc:var(--l2)}.dl3{--lc:var(--l3)}.dle{--lc:var(--warn)}.dr-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:14px;gap:14px}.dr-d{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-gap:12px;gap:12px;align-content:start}.dr-d header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}.dr-d header b{font:700 18px var(--f-display);color:var(--ink)}.dr-d header span{font:500 12px var(--f-mono);color:var(--muted)}.dr-h{display:grid;grid-gap:6px;gap:6px}.dr-h h4{margin:0;font:600 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.dr-h ol{list-style:none;margin:0;padding:0;display:grid;grid-gap:5px;gap:5px}.dr-i button{width:100%;display:grid;grid-template-columns:62px 1fr;grid-gap:2px 8px;gap:2px 8px;text-align:left;background:var(--bg);border:0;border-left:4px solid var(--lc);border-radius:6px;padding:7px 10px;cursor:pointer;color:var(--ink)}.dr-i button:hover{background:var(--sunk)}.dr-i time{font:600 12.5px var(--f-mono);color:var(--ink-2);grid-row:span 2}.dr-i span{font-size:14px;line-height:1.35}.dr-i small{font-size:12px;color:var(--muted)}.dr-i.dle span{font-weight:600}.dr-i.su button{background:transparent;border-left-style:dashed}.dr-i.su span{color:var(--ink-2);font-style:italic}.dr-e{margin:0;font-size:13px;color:var(--muted);font-style:italic}.sec-time{justify-self:start;font:600 12px var(--f-mono);color:var(--ink-2);background:var(--sunk);border-radius:20px;padding:3px 10px}.lv-range{display:block;font:600 13px var(--f-mono);color:var(--ink-2);margin-top:4px}.rail .num small{display:block;font-size:10px;color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.vc-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;margin:12px 0}.vc-c{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.cb-g .mono,.vc-c .mono,.vc-cols .mono{font-family:var(--f-mono);font-size:.82em;color:var(--muted)}.vc-v{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.vc-v button[disabled]{opacity:.4;text-decoration:line-through;cursor:not-allowed}.vc-h{color:var(--muted);font-size:.85em}.vc-t{display:flex;align-items:center;gap:6px;cursor:pointer;margin:4px 0}.vc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px;margin:12px 0}.cb-c h6,.vc-cols h6,.w-b>h6{margin:6px 0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.md-tb tr.vc-off td{color:var(--muted);text-decoration:line-through}.md-tb tr.vc-on td:first-child{box-shadow:inset 3px 0 0 var(--mod)}.vc-tr{list-style:none;padding:0;margin:6px 0;display:grid;grid-gap:4px;gap:4px}.vc-tr li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:6px 10px;border-radius:8px;background:var(--sunk)}.vc-tr li code{font-family:var(--f-mono);font-size:.85em;white-space:pre-wrap;flex:1 1 320px}.vc-tr li b{flex:0 0 260px}.vc-tr li span{margin-left:auto;font-weight:700}.vc-tr li.ok span{color:var(--good)}.vc-tr li.ko span{color:var(--bad)}.vc-tr li.info span{color:var(--ink-2);font-weight:600}.cb-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px;margin:12px 0}.cb-c{padding:10px 12px;border:1px solid var(--line);background:var(--surface)}.cb-c,.cb-code{border-radius:10px}.cb-code{margin:0;padding:12px;background:var(--sunk);font-family:var(--f-mono);font-size:.8rem;line-height:1.5;overflow-x:auto;white-space:pre}.ps-st{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.ps-st span{padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}.ps-st span.on{background:var(--mod);border-color:var(--mod);color:var(--on-accent)}.ps-ops{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.ps-ops .btn{text-align:left;white-space:normal}.pc-bars{display:grid;grid-gap:6px;gap:6px}.pc-bar{display:grid;grid-template-columns:120px 1fr 70px;align-items:center;grid-gap:8px;gap:8px}.pc-bar i{display:block;height:12px;border-radius:6px;background:var(--mod);opacity:.75}.pc-bar b{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-bar.tot i{opacity:1}.pc-bar.tot span{font-weight:700}.vc-tr li.vc-tg{background:none;padding:10px 0 0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}:root{--f-display:var(--font-archivo),"Arial Narrow",system-ui,sans-serif;--f-body:var(--font-plex),system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:var(--font-plexmono),ui-monospace,"Cascadia Mono",Consolas,monospace}body{background:var(--bg)}.top select.icon-btn{font:600 12px var(--f-mono);padding:0 6px}.page{padding-block:32px 64px;display:grid;grid-gap:28px;gap:28px}.page h1{font:750 clamp(28px,4vw,44px)/1.1 var(--f-display);font-stretch:112%;margin:0;text-wrap:balance}.page .lead{color:var(--ink-2);max-width:65ch;margin:0;font-size:17px}.auth{max-width:420px;margin:0 auto;display:grid;grid-gap:14px;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.auth h1{font-size:28px}.auth label{display:grid;grid-gap:4px;gap:4px;font-size:13px;color:var(--muted);font-weight:500}.auth input{font:500 15px var(--f-body);padding:10px 12px;border:1px solid var(--line-2);border-radius:6px;background:var(--bg);color:var(--ink)}.auth input:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}.auth .err{color:var(--bad);background:var(--bad-soft);padding:8px 10px;border-radius:6px;margin:0;font-size:14px}.auth .note{font-size:13px;color:var(--muted);margin:0}.auth .btn{justify-content:center}.lock-card{display:grid;grid-gap:12px;gap:12px}.lock-card .btns{display:flex;gap:8px;flex-wrap:wrap}.ak-wm{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden;opacity:.045}.ak-wm span{position:absolute;white-space:nowrap;font:500 14px var(--f-mono);color:var(--ink);transform:rotate(-24deg)}@media print{.ak-print-hide{display:none!important}}.offers{display:grid;grid-gap:18px;gap:18px}.offers h2{margin:0;font:700 18px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;border-radius:6px;color:#fff}.offers h2.sub{background:var(--sd)}.offers h2.tr{background:var(--fico)}.offer-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-gap:14px;gap:14px}.offer{display:grid;grid-gap:10px;gap:10px;align-content:start;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--oc);border-radius:12px;padding:18px}.offer h3{margin:0;font:750 24px var(--f-display)}.offer .price{font:700 26px var(--f-mono);color:var(--ink)}.offer .price small{font-size:13px;color:var(--muted);font-weight:500}.offer ul{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;font-size:14px;color:var(--ink-2)}.offer form{display:flex;gap:6px;flex-wrap:wrap}.offer .meta{font:500 12.5px var(--f-mono);color:var(--muted)}.pill{display:inline-block;font:600 12px var(--f-mono);border-radius:20px;padding:3px 10px;background:var(--sunk);color:var(--ink-2)}.alert{background:var(--warn-soft);border-radius:8px;padding:10px 14px;margin:0}.acc{display:grid;grid-gap:12px;gap:12px}.acc-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-gap:10px;gap:10px}.feat{display:flex;flex-wrap:wrap;gap:6px}.feat span{font-size:13px;border:1px solid var(--line-2);border-radius:20px;padding:3px 10px;background:var(--bg)}a.sm-c{text-decoration:none;color:inherit}