:root,:root[data-theme=dark]{--bg:#0a0c10;--bg2:#10141c;--panel:#131822;--panel2:#181e2a;--line:#242c3b;--line2:#2e3749;--text:#eef1f7;--dim:#98a1b3;--accent:#ff6a2b;--accent2:#ffb03a;--ok:#3ee0b0;--warn:#ffb020;--bad:#ff5a5a;--shadow:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f3f5f9;--bg2:#fff;--panel:#fff;--panel2:#f6f8fb;--line:#dde2ea;--line2:#cfd6e1;--text:#11151c;--dim:#586275;--accent:#e5531a;--accent2:#f08c16;--ok:#0e9f7a;--warn:#b86e00;--bad:#d23434;--shadow:0 10px 30px #141e3214;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(28px,4.2vw,44px);font-weight:800}h2{font-size:clamp(21px,2.4vw,27px);font-weight:750}h3{margin-top:1.4em;font-size:17px;font-weight:700}p{margin:0 0 1em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--panel);border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.app{flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}main{flex:1;padding-bottom:48px}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.narrow{max-width:820px}.section{margin-top:56px}.dim{color:var(--dim)}.small{font-size:14px}.accent{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:10px;font-size:12.5px;font-weight:700}.lede{color:var(--dim);max-width:720px;font-size:clamp(16px,1.6vw,18.5px)}.top{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.top-in{align-items:center;gap:18px;height:62px;display:flex}.brand{color:var(--text)}.brand:hover{text-decoration:none}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:inline-flex}.logo b{color:var(--accent);font-weight:800}.logo-mark{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#1a0b04;border-radius:9px;place-items:center;width:30px;height:30px;font-size:20px;font-weight:900;line-height:1;display:grid}.top-nav{gap:4px;margin-left:auto;display:flex}.top-nav a{color:var(--dim);border-radius:10px;padding:8px 12px;font-size:14.5px;font-weight:600}.top-nav a:hover{color:var(--text);background:var(--panel);text-decoration:none}.icon-btn{border:1px solid var(--line);background:var(--panel);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}@media (width<=760px){.top-in{flex-wrap:wrap;gap:8px;height:auto;padding-top:10px;padding-bottom:8px}.top-nav{scrollbar-width:none;order:3;width:100%;margin:0;overflow-x:auto}.top-nav a{white-space:nowrap;padding:6px 10px;font-size:14px}.icon-btn{margin-left:auto}}.btn{border:1px solid var(--line2);background:var(--panel);height:46px;color:var(--text);border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:650;transition:border-color .2s,color .2s,transform .1s;display:inline-flex;text-decoration:none!important}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn:active{transform:translateY(1px)}.btn.on{border-color:var(--accent);color:var(--accent)}.btn-primary{background:linear-gradient(135deg, var(--accent), #ff8a3d);color:#1a0b04;border-color:#0000}.btn-primary:hover{color:#1a0b04;filter:brightness(1.07);border-color:#0000}.btn-sm{border-radius:11px;height:38px;padding:0 14px;font-size:14px}.btn[disabled]{opacity:.6;cursor:default}.linkish{color:var(--dim);text-align:left;background:0 0;border:0;padding:0}.linkish:hover{color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line2);color:var(--dim);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:650;display:inline-block}.chips.big .chip{padding:5px 12px;font-size:13.5px}.d-easy{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.d-medium{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.d-hard{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.chip-btn{border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-block}.chip-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.part-chips{flex-wrap:wrap;gap:8px;display:flex}.hero{background:radial-gradient(70% 90% at 75% 40%, color-mix(in srgb, var(--accent) 13%, var(--bg2)), var(--bg) 70%);border-bottom:1px solid var(--line)}.hero-in{grid-template-columns:1fr 1.15fr;align-items:center;gap:24px;min-height:560px;padding-top:24px;padding-bottom:24px;display:grid}.hero-copy h1{font-size:clamp(36px,5.4vw,62px);line-height:1.04}.hero-cta{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.hero-3d{position:relative}.hero-note{color:var(--dim);margin:0;font-size:12px;position:absolute;bottom:4px;right:8px}@media (width<=900px){.hero-in{grid-template-columns:1fr;min-height:0;padding-top:28px}.hero-3d{order:-1;margin:0 -16px}}.s3d{width:100%;height:100%;min-height:300px;position:relative}.s3d-hero{height:520px}@media (width<=900px){.s3d-hero{height:340px}}.s3d-canvas{position:absolute;inset:0}.s3d-canvas canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.s3d-msg{text-align:center;color:var(--dim);place-content:center;justify-items:center;gap:12px;padding:20px;font-size:14.5px;display:grid;position:absolute;inset:0}.spinner{border:3px solid var(--line2);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.s3d-tip{z-index:30;pointer-events:none;background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow);white-space:nowrap;border-radius:9px;padding:6px 10px;font-size:13px;font-weight:650;position:fixed}.viewer{grid-template-columns:1fr 360px;gap:16px;margin-top:18px;display:grid}.viewer-stage{border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 42%, var(--bg2), var(--bg) 75%);border-radius:22px;height:560px;position:relative;overflow:hidden}.viewer-tools{gap:8px;display:flex;position:absolute;top:12px;right:12px}.viewer-tools .btn{background:color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewer-note{color:var(--dim);max-width:70%;margin:0;font-size:12px;position:absolute;bottom:10px;left:14px}.viewer-panel{border:1px solid var(--line);background:var(--panel);border-radius:22px;align-self:start;padding:20px}.viewer-panel.open{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.panel-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.panel-list{gap:6px;margin:14px 0;padding:0;list-style:none;display:grid}.panel-list a{border:1px solid var(--line);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;font-size:14.5px;font-weight:600;display:flex}.panel-list a:hover{border-color:var(--accent);text-decoration:none}@media (width<=900px){.viewer{grid-template-columns:1fr}.viewer-stage{border-left:0;border-right:0;border-radius:0;height:400px;margin:0 -16px}}.picker{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.pick-card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:20px;flex-direction:column;gap:6px;padding:22px;display:flex}.pick-card strong{letter-spacing:-.02em;font-size:26px}.pick-card.ready{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 9%, var(--panel)), var(--panel) 60%)}.pick-card.ready:hover{border-color:var(--accent);text-decoration:none;transition:transform .2s;transform:translateY(-2px)}.pick-card.soon{opacity:.8}.pick-brand{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:12.5px;font-weight:700}.pick-go{color:var(--accent);margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:700}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;flex-direction:column;gap:6px;padding:18px;display:flex}.card:hover{border-color:var(--accent);text-decoration:none}.card .dim{font-size:14.5px}.card .chips{margin-top:auto;padding-top:6px}.card-cat{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.how{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.how li{border:1px solid var(--line);background:var(--panel);border-radius:16px;gap:14px;padding:18px;display:flex}.how b{background:color-mix(in srgb, var(--accent) 16%, transparent);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.how div{flex-direction:column;display:flex}.how span{color:var(--dim);font-size:14.5px}.band{border:1px solid var(--line);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 10%, var(--panel)), var(--panel));border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:26px;display:flex}.band h2{margin:0 0 4px}.band p{margin:0}@media (width<=760px){.band{width:auto;margin-left:16px;margin-right:16px}}.two-cta{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.cta-card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:18px;align-items:center;gap:16px;padding:20px;display:flex}.cta-card:hover{border-color:var(--accent);text-decoration:none}.cta-card div{flex-direction:column;display:flex}.cta-icon{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#1a0b04;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:grid}.cats{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.cat{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;flex-direction:column;gap:6px;padding:18px;display:flex}.cat:hover{border-color:var(--accent);text-decoration:none}.cat .dim{font-size:14px}.cat-count{color:var(--accent);margin-top:auto;font-size:14px;font-weight:700}.cat-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;font-size:20px;display:grid}.cat-icon.big{vertical-align:middle;width:46px;height:46px;margin-right:12px;font-size:24px;display:inline-grid}.specs{border-collapse:collapse;border:1px solid var(--line);background:var(--panel);border-radius:16px;width:100%;font-size:15px;overflow:hidden}.specs th,.specs td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 16px}.specs th{width:34%;color:var(--dim);font-weight:600}.specs tr:last-child th,.specs tr:last-child td{border-bottom:0}.page-title{margin-top:8px}.crumbs{color:var(--dim);flex-wrap:wrap;gap:6px;margin-bottom:8px;padding-top:18px;font-size:13.5px;display:flex}.crumbs a{color:var(--dim)}.crumbs a:hover{color:var(--accent)}.crumbs .sep{opacity:.6;margin-right:6px}.problem-list{gap:10px;margin-top:20px;display:grid}.problem-row{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.problem-row:hover{border-color:var(--accent);text-decoration:none}.problem-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.problem-row strong{font-size:17px}.problem-row .dim{font-size:14.5px}.problem-row .chips{flex:none;justify-content:flex-end}.codes-inline{color:var(--warn);font-size:12.5px;font-weight:700}@media (width<=600px){.problem-row{flex-direction:column;align-items:flex-start}.problem-row .chips{justify-content:flex-start}}.other-cats h2{font-size:19px}.warn{border-left:3px solid var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);border-radius:0 10px 10px 0;padding:10px 14px;font-size:14.5px}.warn.big{font-size:16px}.note{border:1px solid var(--line2);background:var(--panel2);border-radius:14px;margin-top:14px;padding:14px 16px}.note strong{margin-bottom:4px;display:block}.note p{margin:0}.note.ok{border-color:color-mix(in srgb, var(--ok) 50%, transparent);color:var(--ok);font-weight:650}.guide-head{margin:6px 0 20px}.guide-head h1{margin-bottom:12px}.jump{flex-wrap:wrap;gap:6px 16px;margin-top:16px;font-size:14px;font-weight:600;display:flex}.where{margin:0 0 12px}.where-3d{border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 42%, var(--bg2), var(--bg) 75%);border-radius:18px;height:380px;overflow:hidden}.g-sec{margin-top:40px}.ticks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ticks li{padding-left:30px;position:relative}.ticks li:before{content:"✓";background:color-mix(in srgb, var(--accent) 16%, transparent);width:20px;height:20px;color:var(--accent);border-radius:6px;place-items:center;margin-top:3px;font-size:12px;font-weight:900;display:grid;position:absolute;top:0;left:0}.causes{gap:10px;display:grid}.cause{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:14px;padding:14px 16px;display:flex}.cause div{flex-direction:column;gap:2px;display:flex}.cause .dim{font-size:14.5px}.cause-n{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.tools{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.tool{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;margin:0;display:flex;overflow:hidden}.tool-img{aspect-ratio:4/3;background:#fff;place-items:center;display:grid;position:relative}.tool-img img{object-fit:contain;width:100%;height:100%}.tool-tag{color:#fff;background:#0000009e;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.tool figcaption{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.tool figcaption p{color:var(--dim);margin:0;font-size:14px}.credit{color:var(--dim);opacity:.85;margin-top:4px;font-size:11.5px}.credit a{color:inherit;text-decoration:underline}.steps-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.steps-head h2{margin:0}.progress{background:var(--panel2);border:1px solid var(--line);border-radius:99px;width:140px;height:8px;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--accent), var(--accent2));height:100%;transition:width .3s;display:block}.steps{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);background:var(--panel);border-radius:16px;gap:14px;padding:16px;transition:opacity .2s,border-color .2s;display:flex}.steps li.done{opacity:.6;border-color:color-mix(in srgb, var(--ok) 40%, var(--line))}.steps li p{color:var(--dim);margin:4px 0 0}.steps li .warn{color:var(--text);margin-top:10px}.steps.plain li p{color:var(--text);margin:3px 0 0}.step-check{border:1px solid var(--line2);background:var(--panel2);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.step-check:hover{border-color:var(--accent)}li.done .step-check{background:var(--ok);color:#04150f;border-color:#0000}.step-check.static{cursor:default}.warn-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.warn-list li{border-left:3px solid var(--bad);background:color-mix(in srgb, var(--bad) 8%, transparent);border-radius:0 10px 10px 0;padding:10px 14px;font-size:15px}.code-chips{flex-wrap:wrap;gap:8px;display:flex}.code-chip{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-size:14.5px;display:inline-flex}.code-chip b{color:var(--warn)}.code-chip:hover{border-color:var(--accent);text-decoration:none}.g-foot{border-top:1px solid var(--line);margin-top:48px;padding-top:18px}.code-search{gap:8px;max-width:460px;margin:18px 0;display:flex}.code-search input,.contact input,.contact select,.contact textarea{border:1px solid var(--line2);background:var(--panel);min-width:0;height:46px;color:var(--text);font:inherit;border-radius:12px;flex:1;padding:0 14px}.code-search input:focus,.contact :is(input,select,textarea):focus{border-color:var(--accent);outline:none}.code-table{gap:8px;margin-top:12px;display:grid}.code-row{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.code-row:hover{border-color:var(--accent);text-decoration:none}.code-row>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.code-row .dim{font-size:14px}.code-badge{color:#ff5151;background:#050607;border:1px solid #262b35;border-radius:10px;place-items:center;min-width:64px;height:40px;padding:0 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:17px;font-weight:800;display:inline-grid}.code-badge.big{vertical-align:middle;height:50px;margin-right:6px;font-size:22px}.quote{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0;padding:16px 18px;font-size:17px}.quote cite{color:var(--dim);margin-top:8px;font-size:13px;font-style:normal;display:block}.prev-next{justify-content:space-between;gap:10px;margin:36px 0 12px;font-weight:650;display:flex}.wizard{border:1px solid var(--line);background:var(--panel);border-radius:22px;margin-top:20px;padding:24px}.wiz-bar{background:var(--panel2);border-radius:99px;height:6px;margin-bottom:20px;overflow:hidden}.wiz-bar span{background:linear-gradient(90deg, var(--accent), var(--accent2));height:100%;transition:width .35s;display:block}.answers{gap:8px;display:grid}.answers.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.answer{text-align:left;border:1px solid var(--line2);background:var(--panel2);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-size:15.5px;font-weight:650;display:flex}.answer:hover{border-color:var(--accent);color:var(--accent)}.ans-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid}.wiz-nav{gap:8px;margin-top:18px;display:flex}.result .problem-list{margin-top:10px}.prose{padding-top:24px}.prose h2{margin-top:1.6em}.prose ul{padding-left:1.2em}.prose li{margin-bottom:.4em}.contact{gap:14px;margin:20px 0;display:grid}.contact label{gap:6px;font-size:14.5px;font-weight:600;display:grid}.contact em{color:var(--dim);font-style:normal;font-weight:400}.contact textarea{resize:vertical;height:auto;padding:12px 14px}.contact .btn{justify-self:start}.hp{position:absolute;left:-9999px}.credits{gap:10px;margin-top:18px;display:grid}.credit-row{border:1px solid var(--line);background:var(--panel);border-radius:12px;align-items:center;gap:14px;padding:10px;display:flex}.credit-row img{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:72px;height:54px}.credit-row div{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.foot{border-top:1px solid var(--line);background:var(--bg2);padding:32px 0 90px}.foot-in{grid-template-columns:1.6fr 1fr;gap:28px;display:grid}.foot p{max-width:560px;margin:10px 0 0;font-size:14px}.foot nav{grid-template-columns:1fr 1fr;align-content:start;gap:8px 16px;font-size:14.5px;display:grid}.foot nav a{color:var(--dim)}.foot nav a:hover{color:var(--accent)}@media (width<=760px){.foot-in{grid-template-columns:1fr}}.consent{z-index:40;border:1px solid var(--line2);background:var(--panel);max-width:560px;box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;padding:16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.consent p{flex:260px;margin:0;font-size:14px}.consent-btns{gap:8px;display:flex}.consent-btns .btn{min-width:110px;height:40px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
