:root{--bg: #0b1220;--bg-soft: #0f172a;--card: rgba(255, 255, 255, .045);--card-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .18);--text: #f4f7fc;--muted: #93a3bb;--primary: #1e3a5f;--accent: #059669;--accent-light: #34d399;--accent-grad: linear-gradient(135deg, #059669, #34d399);--danger: #dc2626;--amber: #f59e0b;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm: 8px;--r: 14px;--r-lg: 20px;--shadow: 0 18px 50px rgba(0, 0, 0, .45);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;background:var(--bg);font-size:16px}code,.mono{font-family:var(--mono);font-size:.88em}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.02em}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:.83rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.page{position:relative;min-height:100dvh;overflow-x:hidden}.glow{position:fixed;inset:-30% -15% auto;height:65vh;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,rgba(5,150,105,.22),transparent 60%),radial-gradient(ellipse at 80% 10%,rgba(30,58,95,.6),transparent 55%);z-index:0}main{position:relative;z-index:1}.section{max-width:1080px;margin:0 auto;padding:2.25rem 1.5rem}.section-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.section-head h2{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700}.section-head p{color:var(--muted);font-size:.95rem;margin-top:.2rem;max-width:60ch}.step-badge{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:var(--accent-light);background:#05966924;border:1px solid rgba(52,211,153,.28)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.navbar{position:sticky;top:0;z-index:20;height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,3vw,2rem);background:#0b1220d1;backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;letter-spacing:-.02em}.nav-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent-grad);color:#04140d}.nav-sub{color:var(--muted);font-weight:400;font-size:.8rem;padding-left:.55rem;border-left:1px solid var(--border);letter-spacing:0}.nav-links{display:flex;gap:1.4rem}.nav-link{color:var(--muted);font-size:.9rem;transition:color .2s ease}.nav-link:hover,.nav-link:focus-visible{color:var(--text)}.nav-badges{display:flex;gap:.45rem}.pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--accent-light);background:#0596691f;border:1px solid rgba(52,211,153,.24);padding:.25rem .6rem;border-radius:999px}.hero{max-width:860px;margin:0 auto;text-align:center;padding:clamp(2.5rem,6vw,4.5rem) 1.5rem 1.5rem;animation:fadeUp .6s ease both}.hero-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);background:#0596691a;border:1px solid rgba(52,211,153,.22);padding:.35rem .8rem;border-radius:999px;margin-bottom:1.25rem}.hero h1{font-size:clamp(2rem,5.2vw,3.4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:1rem}.hero-gradient{background:linear-gradient(120deg,#34d399,#7dd3fc 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--muted);font-size:clamp(.98rem,1.6vw,1.1rem);max-width:62ch;margin:0 auto}.hero p code{color:var(--text);background:#ffffff12;padding:.1rem .35rem;border-radius:5px}.chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.chip{display:flex;align-items:center;gap:.6rem;text-align:left;padding:.6rem .9rem;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:.83rem;font-weight:500;transition:transform .2s ease,border-color .2s ease,background .2s ease}.chip:hover{transform:translateY(-2px);border-color:#34d3994d;background:var(--card-hover)}.chip svg{color:var(--accent-light);flex:none}.chip em{display:block;font-style:normal;color:var(--muted);font-size:.76rem;font-weight:400}.card,.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(1.1rem,2.4vw,1.75rem);backdrop-filter:blur(12px);box-shadow:var(--shadow);animation:fadeUp .45s ease both}.card:hover{border-color:var(--border-strong)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.card-head h3{font-size:1.02rem;font-weight:700}.card h4{font-size:.9rem;font-weight:700;margin:1.4rem 0 .5rem;color:var(--text)}.card p{font-size:.92rem;color:var(--muted)}.card p code{color:var(--text);background:#ffffff12;padding:.08rem .3rem;border-radius:5px}.tabs{display:flex;gap:.25rem;padding:.25rem;background:#ffffff0a;border:1px solid var(--border);border-radius:999px;margin-bottom:1.25rem}.tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .9rem;border:none;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.tab:hover{color:var(--text);background:#ffffff0d}.tab.active{background:var(--accent-grad);color:#04140d}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field>span{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}input,select,textarea{width:100%;padding:.62rem .85rem;font:inherit;font-size:.92rem;color:var(--text);background:#ffffff0e;border:1px solid var(--border);border-radius:var(--r-sm);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}textarea{resize:vertical;line-height:1.5}input:hover,select:hover,textarea:hover{background:#ffffff13}input:focus,select:focus,textarea:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #05966940;background:#ffffff14}select option{background:#101a2c;color:var(--text)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.hint{font-size:.82rem;color:var(--muted);margin-top:.35rem}.hint code{color:#cbd5e1;background:#ffffff0f;padding:.06rem .28rem;border-radius:4px;word-break:break-all}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.62rem 1.2rem;min-height:42px;border:none;border-radius:999px;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease,opacity .2s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#04140d;box-shadow:0 8px 26px #0596694d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 34px #0596696b}.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--card-hover);transform:translateY(-1px)}.btn-wide{width:100%;margin-top:.5rem}.btn-sm{padding:.4rem .75rem;min-height:34px;font-size:.8rem}.link-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;padding:0;background:none;border:none;color:var(--muted);font:inherit;font-size:.84rem;cursor:pointer;transition:color .2s ease}.link-btn:hover{color:var(--accent-light)}.row-actions{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:clamp(1.75rem,5vw,3rem) 1.25rem;border:1.5px dashed rgba(255,255,255,.18);border-radius:var(--r);background:#ffffff06;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.dropzone:hover,.dropzone:focus-visible{border-color:#34d3998c;background:#05966912;outline:none}.dropzone.dragging{border-color:var(--accent-light);background:#0596691f;transform:scale(1.005)}.dropzone svg{color:var(--accent-light)}.dropzone strong{font-size:.98rem;font-weight:650}.dropzone span{font-size:.83rem;color:var(--muted)}.alert{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;padding:.8rem 1rem;border-radius:var(--r-sm);font-size:.85rem;line-height:1.5;color:#d7e2f0;background:#dc26261a;border:1px solid rgba(220,38,38,.35)}.alert svg{flex:none;margin-top:.15rem;color:#fca5a5}.alert.amber{background:#f59e0b1a;border-color:#f59e0b52}.alert.amber svg{color:var(--amber)}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.24rem .6rem;border-radius:999px;background:#94a3b824;color:#cbd5e1}.badge.green{background:#05966929;color:var(--accent-light)}.badge.amber{background:#f59e0b26;color:var(--amber)}.badge.live .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-light);animation:pulse 1.4s ease-in-out infinite}.device-strip{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--border);margin-bottom:1rem}.device-strip svg{color:var(--accent-light);flex:none}.device-strip strong{display:block;font-size:.9rem}.device-strip span{font-size:.78rem;color:var(--muted)}.device-date{margin-left:auto;font-size:.78rem;color:var(--muted)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.kv{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .7rem;border-radius:var(--r-sm);background:#ffffff08;border:1px solid var(--border);min-width:0}.kv-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.kv-value{font-size:.88rem;font-weight:600}.kv-value.mono{font-size:.8rem}.truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpky-block{margin-top:.9rem}.wpky-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.4rem}.hex-block{display:block;padding:.7rem .85rem;border-radius:var(--r-sm);background:#00000059;border:1px solid var(--border);color:#a7f3d0;font-family:var(--mono);font-size:.76rem;line-height:1.55;word-break:break-all}.class-picker{margin-top:1rem}.class-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.class-chip{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s ease}.class-chip:hover{color:var(--text);border-color:var(--border-strong)}.class-chip.active{color:#04140d;background:var(--accent-grad);border-color:transparent}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}.preset{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--border);background:#ffffff09;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s ease}.preset:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.preset.active{color:var(--accent-light);border-color:#34d39973;background:#0596691f}.estimate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.1rem 0 .35rem;padding:.85rem;border-radius:var(--r);background:#00000038;border:1px solid var(--border)}.estimate>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.est-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.estimate strong{font-size:clamp(.95rem,2.2vw,1.15rem);font-weight:700;font-variant-numeric:tabular-nums}.progress{height:10px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--accent-grad);box-shadow:0 0 18px #34d3998c;transition:width .3s ease}.progress-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.1rem 0}.stat{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .85rem;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--border)}.stat svg{color:var(--accent-light)}.stat strong{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.stat span{font-size:.74rem;color:var(--muted)}.result-card{border-color:#34d39959;box-shadow:0 0 0 1px #34d3991f,0 24px 60px #0596692e}.result-head{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.1rem}.result-icon{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-grad);color:#04140d}.result-head h3{font-size:1.1rem;margin-bottom:.15rem}.password-box{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:1rem 1.1rem;border-radius:var(--r);background:#0006;border:1px dashed rgba(52,211,153,.45);flex-wrap:wrap}.password-box code{font-size:clamp(1.1rem,3.4vw,1.55rem);font-weight:600;color:#a7f3d0;word-break:break-all}.next-steps{margin:1.1rem 0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.55rem;font-size:.88rem;color:var(--muted)}.next-steps strong{color:var(--text)}.details,.faq details{border-top:1px solid var(--border);padding:.85rem 0}.details summary,.faq summary{display:flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.86rem;font-weight:600;color:var(--text);list-style:none}.details summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.details summary svg,.faq summary svg{color:var(--accent-light)}.details[open] summary,.faq details[open] summary{margin-bottom:.6rem}.cmd-row{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;flex-wrap:wrap}.cmd{flex:1 1 260px;display:block;padding:.6rem .8rem;border-radius:var(--r-sm);background:#0006;border:1px solid var(--border);color:#cbd5e1;font-size:.78rem;overflow-x:auto;white-space:nowrap}.check-list{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-top:.9rem}.check-list li{display:flex;align-items:center;gap:.5rem;font-size:.84rem;padding:.4rem .6rem;border-radius:var(--r-sm);background:#ffffff08}.check-list li.ok{color:#a7f3d0}.check-list li.fail{color:#fca5a5}.chain{display:flex;flex-direction:column;gap:.6rem;margin:1.1rem 0 .4rem}.chain-step{display:flex;gap:.75rem;padding:.75rem .85rem;border-radius:var(--r-sm);background:#ffffff08;border:1px solid var(--border)}.chain-num{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--accent-light);background:#05966929}.chain-step strong{display:block;font-size:.85rem;margin-bottom:.15rem}.chain-step code{display:block;font-size:.76rem;color:#a7f3d0;margin-bottom:.15rem;word-break:break-word}.chain-step em{font-style:normal;font-size:.76rem;color:var(--muted)}.plain-list{margin:.4rem 0 0 1.1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.86rem;color:var(--muted)}.plain-list strong{color:var(--text)}.faq details p{margin-top:.4rem}.footer{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 3rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;font-size:.83rem;color:var(--muted);position:relative;z-index:1}.footer code{color:#cbd5e1}.toast-wrap{position:fixed;bottom:1.25rem;right:1.25rem;z-index:60;display:flex;flex-direction:column;gap:.5rem;max-width:min(340px,90vw)}.toast{padding:.7rem 1rem;border-radius:var(--r-sm);font-size:.85rem;font-weight:500;box-shadow:var(--shadow);animation:fadeUp .28s ease both}.toast.success{background:#0596692e;border:1px solid rgba(52,211,153,.4);color:#a7f3d0}.toast.error{background:#dc26262e;border:1px solid rgba(220,38,38,.45);color:#fecaca}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.two-col{grid-template-columns:1fr}.nav-sub,.nav-links{display:none}}@media (max-width: 640px){.section{padding:1.75rem 1rem}.grid-3,.estimate,.stat-grid{grid-template-columns:1fr}.nav-badges .pill:first-child{display:none}.card,.panel{border-radius:var(--r)}.password-box{flex-direction:column;align-items:flex-start}.toast-wrap{left:1rem;right:1rem;max-width:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}
