.lp{--bg:#0a0f0d;--bg-raise:#101714;--bg-card:#131c18;--bg-card-2:#0d1411;--line:#1f2d27;--line-bright:#2c4038;--ink:#d7e4dd;--ink-dim:#7d958a;--ink-faint:#4a5d54;--accent:#3ddc97;--accent-dim:#1f7a55;--amber:#ffb454;--mono:"IBM Plex Mono", "Courier New", monospace;--display:"Bai Jamjuree", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;background:radial-gradient(1400px 700px at 80% -15%, #3ddc970f, transparent 60%), radial-gradient(900px 500px at 5% 110%, #ffb45408, transparent 55%), var(--bg);width:100%;min-height:100vh;color:var(--ink);font-family:var(--body);flex:1;font-size:15px;line-height:1.6;position:relative;overflow-x:hidden}.lp *,.lp :before,.lp :after{box-sizing:border-box}.lp-canvas{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.lp-grid{z-index:1;pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000 0 39px,#3ddc9706 39px 40px),repeating-linear-gradient(90deg,#0000 0 39px,#3ddc9706 39px 40px),repeating-linear-gradient(0deg,#0000 0 2px,#ffffff02 2px 3px);position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 35%,#0000 90%);mask-image:radial-gradient(120% 90% at 50% 0,#000 35%,#0000 90%)}.lp-wrap{z-index:2;position:relative}.lp-section{max-width:1180px;margin:0 auto;padding:96px 32px}.lp-eyebrow{font-family:var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--accent-dim);align-items:center;gap:10px;margin-bottom:18px;font-size:11px;display:flex}.lp-eyebrow:before{content:"";background:var(--accent);width:26px;height:1px;box-shadow:0 0 8px var(--accent)}.lp-h2{font-family:var(--display);letter-spacing:.01em;margin-bottom:14px;font-size:clamp(24px,3.4vw,38px);font-weight:700;line-height:1.18}.lp-lead{color:var(--ink-dim);max-width:640px;font-size:16px}.lp-accent{color:var(--accent)}.lp-amber{color:var(--amber)}.lp-nav{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0f0db8;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.lp-brand{font-family:var(--display);letter-spacing:.04em;align-items:baseline;gap:8px;font-size:16px;font-weight:700;display:flex}.lp-brand em{color:var(--accent);font-style:normal}.lp-brand small{font-family:var(--mono);letter-spacing:.28em;color:var(--ink-faint);text-transform:uppercase;font-size:9px}.lp-nav-right{align-items:center;gap:22px;display:flex}.lp-nav-link{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-dim);font-size:12px;text-decoration:none;transition:color .15s}.lp-nav-link:hover{color:var(--accent)}.lp-btn{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line-bright);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;align-items:center;gap:9px;padding:12px 22px;font-size:13px;text-decoration:none;transition:all .18s;display:inline-flex}.lp-btn .arw{color:var(--accent);transition:transform .18s}.lp-btn:hover{border-color:var(--accent-dim);background:#3ddc970f}.lp-btn:hover .arw{transform:translate(3px)}.lp-btn--primary{background:var(--accent);color:#061009;border-color:var(--accent);font-weight:600;box-shadow:0 0 #3ddc9700}.lp-btn--primary .arw{color:#061009}.lp-btn--primary:hover{background:#4ff0a8;border-color:#4ff0a8;box-shadow:0 0 28px #3ddc9752}.lp-btn--sm{padding:9px 16px;font-size:12px}.lp-hero{max-width:1180px;margin:0 auto;padding:110px 32px 90px;position:relative}.lp-hero-tag{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent-dim);border:1px solid var(--line);background:#131c1899;border-radius:2px;align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:inline-flex}.lp-hero-tag .dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2.4s ease-in-out infinite lp-pulse}@keyframes lp-pulse{0%,to{opacity:1}50%{opacity:.35}}.lp-h1{font-family:var(--display);letter-spacing:-.01em;max-width:16ch;margin:26px 0 22px;font-size:clamp(34px,6vw,68px);font-weight:700;line-height:1.08}.lp-h1 .hl{color:var(--accent);text-shadow:0 0 26px #3ddc9773;white-space:nowrap;position:relative}.lp-h1 .hl:after{content:"";z-index:-1;background:#3ddc971f;height:.42em;position:absolute;bottom:.08em;left:0;right:0}.lp-hero-sub{color:var(--ink-dim);max-width:56ch;margin-bottom:30px;font-size:clamp(15px,1.6vw,19px)}.lp-hero-sub b{color:var(--ink);font-weight:600}.lp-creds{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-dim);border-left:2px solid var(--accent-dim);margin-bottom:34px;padding-left:14px;font-size:12px}.lp-creds span{color:var(--accent)}.lp-hero-cta{flex-wrap:wrap;gap:14px;display:flex}.lp-fade{opacity:0;animation:.8s cubic-bezier(.22,.61,.36,1) forwards lp-enter;transform:translateY(18px)}.lp-d1{animation-delay:50ms}.lp-d2{animation-delay:.18s}.lp-d3{animation-delay:.32s}.lp-d4{animation-delay:.46s}.lp-d5{animation-delay:.6s}@keyframes lp-enter{to{opacity:1;transform:none}}.lp-reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,.61,.36,1);transform:translateY(26px)}.lp-reveal.is-in{opacity:1;transform:none}.lp-grid-4{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;display:grid}.lp-grid-2{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px;display:grid}.lp-card{background:linear-gradient(180deg, var(--bg-card), var(--bg-card-2));border:1px solid var(--line);border-radius:3px;padding:24px 22px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden}.lp-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:1px;transition:opacity .22s;position:absolute;top:0;left:0;right:0}.lp-card:hover{border-color:var(--line-bright);transform:translateY(-4px);box-shadow:0 14px 40px #0006,0 0 0 1px #3ddc971f}.lp-card:hover:before{opacity:1}.lp-card-idx{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-faint);margin-bottom:14px;font-size:11px}.lp-card-title{font-family:var(--display);margin-bottom:9px;font-size:17px;font-weight:600;line-height:1.3}.lp-card-body{color:var(--ink-dim);font-size:14px}.lp-badge{font-family:var(--mono);letter-spacing:.14em;color:#061009;background:var(--accent);border-radius:2px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;top:14px;right:14px}.lp-card--feature{border-color:var(--accent-dim)}.lp-card--feature:before{opacity:.6}.lp-philo{max-width:1180px;margin:0 auto;padding:40px 32px}.lp-philo-inner{border:1px solid var(--line-bright);background:radial-gradient(600px 200px at 100% 0%, #3ddc9712, transparent 70%), var(--bg-card);border-radius:4px;padding:48px 44px;position:relative}.lp-philo-inner:before{content:"“";font-family:var(--display);color:var(--accent-dim);opacity:.3;font-size:90px;line-height:1;position:absolute;top:4px;left:22px}.lp-philo-text{font-family:var(--display);letter-spacing:.01em;font-size:clamp(20px,3vw,30px);font-weight:600;line-height:1.45}.lp-case{border:1px solid var(--line);background:var(--bg-card);border-radius:4px;padding:30px 28px}.lp-case+.lp-case{margin-top:16px}.lp-case-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.lp-case-title{font-family:var(--display);font-size:18px;font-weight:600}.lp-case-pain{color:var(--ink-dim);margin-bottom:22px;font-size:14px}.lp-case-pain span{color:var(--amber)}.lp-stats{background:var(--line);border:1px solid var(--line);border-radius:3px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.lp-stat{background:var(--bg-card-2);padding:24px 20px}.lp-stat-num{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 0 22px #3ddc974d;font-size:clamp(28px,4vw,42px);font-weight:600;line-height:1}.lp-stat-num.amber{color:var(--amber);text-shadow:0 0 22px #ffb45440}.lp-stat-label{color:var(--ink-dim);margin-top:10px;font-size:13px}.lp-stat-was{font-family:var(--mono);color:var(--ink-faint);margin-top:4px;font-size:11px}.lp-timeline{grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;display:grid;position:relative}.lp-tl-step{padding:0 20px;position:relative}.lp-tl-step:before{content:"";background:var(--line-bright);height:1px;position:absolute;top:7px;left:0;right:0}.lp-tl-step:first-child:before{left:50%}.lp-tl-step:last-child:before{right:50%}.lp-tl-node{background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:11px;height:11px;margin-left:-5.5px;position:absolute;top:2px;left:50%;box-shadow:0 0 12px #3ddc9780}.lp-tl-week{font-family:var(--mono);letter-spacing:.18em;color:var(--accent-dim);text-align:center;margin-top:26px;font-size:11px}.lp-tl-title{font-family:var(--display);text-align:center;margin-top:6px;font-size:16px;font-weight:600}.lp-price-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;margin-top:36px;display:grid}.lp-price{border:1px solid var(--line);background:var(--bg-card);border-radius:4px;flex-direction:column;padding:30px 26px 28px;display:flex;position:relative}.lp-price--hot{border-color:var(--accent);background:radial-gradient(400px 220px at 50% 0%, #3ddc971a, transparent 70%), var(--bg-card);box-shadow:0 0 0 1px #3ddc972e,0 18px 50px #0006}.lp-price-flag{font-family:var(--mono);letter-spacing:.1em;background:var(--accent);color:#061009;white-space:nowrap;border-radius:2px;padding:4px 14px;font-size:11px;font-weight:600;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.lp-price-name{font-family:var(--display);font-size:18px;font-weight:600}.lp-price-amt{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;margin:14px 0 4px;font-size:30px;font-weight:600}.lp-price-amt small{color:var(--ink-dim);font-size:14px;font-weight:400}.lp-price-desc{color:var(--ink-dim);margin-top:10px;font-size:14px}.lp-badges{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;display:grid}.lp-bnum{text-align:center;border:1px solid var(--line);background:var(--bg-card-2);border-radius:4px;padding:26px 16px}.lp-bnum .n{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.lp-bnum .l{color:var(--ink-dim);margin-top:8px;font-size:13px}.lp-path{font-family:var(--mono);color:var(--ink-dim);letter-spacing:.02em;margin-top:26px;font-size:13px;line-height:2}.lp-path b{color:var(--ink);font-weight:600}.lp-path .a{color:var(--accent)}.lp-products{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.lp-prod{font-family:var(--mono);color:var(--ink-dim);border:1px solid var(--line);background:var(--bg-card-2);border-radius:2px;padding:8px 13px;font-size:12px}.lp-prod b{color:var(--accent);font-weight:600}.lp-tags{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.lp-tag{font-family:var(--mono);letter-spacing:.03em;color:var(--ink-dim);border:1px solid var(--line);background:#131c1880;border-radius:2px;padding:7px 13px;font-size:12px;transition:all .16s}.lp-tag:hover{color:var(--accent);border-color:var(--accent-dim)}.lp-contact{max-width:1180px;margin:0 auto;padding:60px 32px 90px}.lp-contact-box{border:1px solid var(--line-bright);background:radial-gradient(700px 260px at 80% 0%, #3ddc9714, transparent 70%), var(--bg-card);text-align:center;border-radius:4px;padding:52px 44px}.lp-contact-h{font-family:var(--display);margin-bottom:14px;font-size:clamp(24px,3.6vw,36px);font-weight:700}.lp-contact-sub{color:var(--ink-dim);max-width:560px;margin:0 auto 28px}.lp-contact-info{font-family:var(--mono);letter-spacing:.04em;color:var(--ink);flex-wrap:wrap;justify-content:center;gap:28px;margin-top:26px;font-size:14px;display:flex}.lp-contact-info a{color:var(--accent);text-decoration:none}.lp-contact-info a:hover{text-decoration:underline}.lp-contact-info .k{color:var(--ink-faint)}.lp-footer{border-top:1px solid var(--line);text-align:center;font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);padding:26px 32px;font-size:11px}.lp-footer em{color:var(--accent-dim);font-style:normal}@media (width<=900px){.lp-grid-4,.lp-price-grid,.lp-timeline,.lp-badges{grid-template-columns:repeat(2,1fr)}.lp-grid-2{grid-template-columns:1fr}.lp-tl-step:before,.lp-tl-node{display:none}.lp-tl-week{margin-top:0}}@media (width<=560px){.lp-section,.lp-hero,.lp-philo,.lp-contact{padding-left:20px;padding-right:20px}.lp-grid-4,.lp-badges,.lp-stats,.lp-price-grid{grid-template-columns:1fr}.lp-brand small{display:none}}@media (prefers-reduced-motion:reduce){.lp-fade,.lp-reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.lp-hero-tag .dot{animation:none}}.login-root{background:radial-gradient(900px 500px at 50% 0%, #3ddc970f, transparent 60%), var(--bg,#0a0f0d);color:#d7e4dd;flex-direction:column;justify-content:center;align-items:center;font-family:Noto Sans SC,PingFang SC,sans-serif;display:flex;position:fixed;inset:0}.login-grid{pointer-events:none;opacity:.5;background-image:linear-gradient(#3ddc970d 1px,#0000 1px),linear-gradient(90deg,#3ddc970d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000,#0000 75%);mask-image:radial-gradient(circle at 50% 40%,#000,#0000 75%)}.login-card{z-index:1;background:#131c18;border:1px solid #1f2d27;width:380px;max-width:calc(100vw - 40px);padding:30px 30px 26px;position:relative;box-shadow:0 20px 60px #00000080}.login-back{color:#4a5d54;font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none}.login-back:hover{color:#3ddc97}.login-logo{letter-spacing:.02em;margin:16px 0 6px;font-family:Bai Jamjuree,sans-serif;font-size:20px;font-weight:700}.login-logo em{color:#3ddc97;font-style:normal}.login-sub{color:#7d958a;margin-bottom:22px;font-size:13px;line-height:1.6}.login-google{justify-content:center;min-height:44px;margin-bottom:8px;display:flex}.login-or{color:#4a5d54;letter-spacing:.1em;text-align:center;align-items:center;gap:10px;margin:18px 0 12px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.login-or:before,.login-or:after{content:"";background:#1f2d27;flex:1;height:1px}.login-dev input{color:#d7e4dd;box-sizing:border-box;background:#0a0f0d;border:1px solid #2c4038;outline:none;width:100%;padding:11px 12px;font-family:IBM Plex Mono,monospace;font-size:14px;transition:border-color .15s}.login-dev input:focus{border-color:#1f7a55}.login-dev button{color:#04130c;cursor:pointer;letter-spacing:.05em;background:#3ddc97;border:none;width:100%;margin-top:10px;padding:11px;font-family:Bai Jamjuree,sans-serif;font-size:14px;font-weight:600;transition:box-shadow .15s}.login-dev button:hover:not(:disabled){box-shadow:0 0 18px #3ddc9759}.login-dev button:disabled{color:#4a5d54;cursor:not-allowed;background:#2c4038}.login-hint{color:#4a5d54;margin-top:12px;font-size:11px;line-height:1.6}.login-err{color:#ff6b6b;background:#ff6b6b0f;border:1px solid #ff6b6b80;margin-top:14px;padding:9px 12px;font-size:12.5px}.login-foot{z-index:1;color:#4a5d54;margin-top:24px;font-family:IBM Plex Mono,monospace;font-size:11px;position:relative}.auth-splash{color:#7d958a;background:#0a0f0d;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex;position:fixed;inset:0}:root{--bg:#0a0f0d;--bg-raise:#101714;--bg-card:#131c18;--line:#1f2d27;--line-bright:#2c4038;--ink:#d7e4dd;--ink-dim:#7d958a;--ink-faint:#4a5d54;--accent:#3ddc97;--accent-dim:#1f7a55;--amber:#ffb454;--red:#ff6b6b;--slate:#8fa3b8;--grade-A:#3ddc97;--grade-B:#ffb454;--grade-C:#8fa3b8;--grade-D:#ff6b6b;--mono:"IBM Plex Mono", "Courier New", monospace;--display:"Bai Jamjuree", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(1200px 600px at 85% -10%, #3ddc970d, transparent 60%), repeating-linear-gradient(0deg, transparent 0 2px, #ffffff02 2px 4px), var(--bg);color:var(--ink);font-family:var(--body);min-height:100vh;font-size:14px}#root{min-height:100vh;display:flex}.rail{border-right:1px solid var(--line);background:linear-gradient(180deg, var(--bg-raise), transparent 40%);flex-direction:column;flex-shrink:0;gap:2px;width:196px;height:100vh;padding:20px 0;display:flex;position:sticky;top:0}.rail .logo{font-family:var(--display);letter-spacing:.06em;border-bottom:1px solid var(--line);margin-bottom:14px;padding:0 20px 18px;font-size:15px;font-weight:700}.rail .logo em{color:var(--accent);font-style:normal}.rail .logo small{color:var(--ink-faint);letter-spacing:.22em;margin-top:3px;font-size:10px;font-weight:500;display:block}.rail a{color:var(--ink-dim);letter-spacing:.04em;border-left:2px solid #0000;align-items:center;gap:9px;padding:9px 20px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.rail a .idx{font-family:var(--mono);color:var(--ink-faint);font-size:10px}.rail a:hover{color:var(--ink);background:#3ddc970a}.rail a.active{color:var(--accent);border-left-color:var(--accent);background:#3ddc9712}.rail a.active .idx{color:var(--accent-dim)}.rail-sep{border-top:1px solid var(--line);color:var(--ink-faint);letter-spacing:.2em;text-transform:uppercase;font-size:9px;font-family:var(--mono);margin:16px 20px 6px;padding-top:13px}.rail a.soon{color:var(--ink-faint);flex-direction:column;align-items:flex-start;gap:4px}.rail a.soon:hover{color:var(--ink-dim);background:0 0}.rail a.soon.active{color:var(--ink-dim);border-left-color:var(--line-bright);background:0 0}.rail a.soon .soon-badge{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--line-bright);color:var(--ink-faint);border-radius:4px;padding:1px 5px;font-size:8px}.rail .foot{color:var(--ink-faint);font-size:10px;font-family:var(--mono);margin-top:auto;padding:0 20px}.rail-user{border-top:1px solid var(--line);padding-top:12px}.rail-user-email{color:var(--ink-dim);font-size:11px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;overflow:hidden}.rail-logout{color:var(--ink-faint);border:1px solid var(--line-bright);cursor:pointer;font-size:11px;font-family:var(--display);background:0 0;padding:4px 12px}.rail-logout:hover{color:var(--red);border-color:var(--red);box-shadow:none}.langswitch{border:1px solid var(--line-bright);display:inline-flex}.langswitch button{color:var(--ink-faint);cursor:pointer;font-family:var(--mono);letter-spacing:.04em;background:0 0;border:none;padding:3px 9px;font-size:11px;transition:all .15s}.langswitch button+button{border-left:1px solid var(--line)}.langswitch button:hover{color:var(--ink);box-shadow:none}.langswitch button.on{color:var(--accent);background:#3ddc971f}.langswitch-rail{margin-bottom:10px}.coming-wrap{justify-content:center;padding-top:60px;display:flex}.coming-card{text-align:center;background:var(--bg-card);border:1px solid var(--line);max-width:480px;padding:36px 32px}.coming-badge{font-family:var(--mono);color:var(--amber);letter-spacing:.1em;background:#ffb4540f;border:1px solid #ffb45466;margin-bottom:18px;padding:3px 12px;font-size:11px;display:inline-block}.coming-desc{color:var(--ink-dim);margin:12px 0;font-size:14px;line-height:1.7}.coming-note{color:var(--ink-faint);margin:12px 0 22px;font-size:12.5px;line-height:1.7}.connbar{background:var(--bg-raise);border:1px solid var(--line-bright);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.connbar-none{color:var(--amber);font-family:var(--mono);font-size:12px}.connbar-label{color:var(--ink-faint);font-size:11px;font-family:var(--mono);margin-right:4px}.connbar select{width:auto;min-width:200px;padding:5px 9px}.connbar-token{align-items:center;gap:6px;display:inline-flex}.connbar-token code{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);color:var(--accent);padding:2px 7px;font-size:11px}.connbar button{padding:5px 12px;font-size:11px}.connbar .ghost{margin-left:auto}.feature-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.feature-head>div:first-child{min-width:240px}.feature-head .connbar{margin-bottom:0}.subtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin:16px 0 20px;display:flex}.subtabs a{color:var(--ink-dim);letter-spacing:.03em;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 15px;font-size:13px;text-decoration:none;transition:color .15s,border-color .15s}.subtabs a:hover{color:var(--ink)}.subtabs a.active{color:var(--accent);border-bottom-color:var(--accent)}.subnav{border-bottom:1px solid var(--line-bright);gap:2px;margin-bottom:18px;display:flex}.subnav a{color:var(--ink-dim);font-size:13px;font-family:var(--display);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 18px;text-decoration:none;transition:all .15s}.subnav a:hover{color:var(--ink)}.subnav a.active{color:var(--accent);border-bottom-color:var(--accent)}.workbench-head{align-items:flex-start;gap:14px}.workbench-panel{border:1px solid var(--line-bright);background:var(--bg-raise);margin-bottom:16px;padding:14px}.workbench-stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;display:grid}.wb-stat{background:var(--bg-card);min-height:72px;padding:12px 14px}.wb-stat span{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.08em;margin-bottom:8px;font-size:10.5px;display:block}.wb-stat b{color:var(--ink);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.workbench-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.workbench-actions button{min-height:38px}.setup-title{margin:0 0 12px;font-size:14px}.setup-steps{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.setup-step{background:var(--bg-card);flex-direction:column;gap:6px;padding:14px;display:flex}.setup-step.todo{opacity:.55}.setup-step.now{background:#3ddc970d}.setup-step-top{align-items:center;gap:8px;display:flex}.setup-n{width:20px;height:20px;font-family:var(--mono);border:1px solid var(--line-bright);color:var(--ink-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.setup-step.done .setup-n{background:var(--accent);color:var(--bg);border-color:var(--accent)}.setup-step.now .setup-n{border-color:var(--accent);color:var(--accent)}.setup-tag{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);border:1px solid var(--line-bright);border-radius:4px;padding:1px 5px;font-size:9px}.setup-tag.now{color:var(--accent);border-color:var(--accent-dim)}.setup-desc{color:var(--ink-faint);font-size:12px}.proof-banner{border:1px solid var(--accent-dim);background:#3ddc970f;margin-bottom:16px;padding:12px 16px}.proof-lift{color:var(--accent);font-size:14px}.pick.on{border-color:var(--accent)!important;color:var(--accent)!important}.shortlist-bar{z-index:5;background:var(--bg-raise);border:1px solid var(--accent);align-items:center;gap:10px;margin-top:18px;padding:12px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #00000059}.shortlist-bar .grow{color:var(--accent)}.conn-item{border:1px solid var(--line);margin-bottom:10px;padding:12px 14px}.conn-accts{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:12px;display:flex}.conn-acct{border:1px solid var(--line);align-items:center;gap:7px;padding:4px 6px 4px 10px;display:inline-flex}.conn-acct button{padding:3px 10px;font-size:11px}input[readonly]{color:var(--ink-faint);cursor:default}.sim-row{border-left:2px solid var(--accent-dim);align-items:center;gap:6px;margin-top:8px;padding-left:8px;font-size:12px;display:flex}.sim-row img{object-fit:cover;border:1px solid var(--line-bright);width:26px;height:26px}.scorebar.conf>i{background:linear-gradient(90deg, var(--slate), var(--ink-dim))}main{flex:1;max-width:1280px;padding:28px 36px 80px}h1{font-family:var(--display);letter-spacing:.02em;margin-bottom:4px;font-size:22px;font-weight:700}.sub{color:var(--ink-dim);margin-bottom:26px;font-size:13px}h2{font-family:var(--display);color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;margin:30px 0 12px;font-size:14px;font-weight:600}h2:before{content:"▸ ";color:var(--accent)}.num,td.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.panel{background:var(--bg-card);border:1px solid var(--line);margin-bottom:14px;padding:18px 20px}.panel.flash{animation:.45s ease-out flashIn}@keyframes flashIn{0%{border-color:var(--accent);box-shadow:0 0 24px #3ddc971f}}label.fld{color:var(--ink-dim);margin-bottom:12px;font-size:12px;display:block}label.fld span{letter-spacing:.08em;margin-bottom:5px;display:block}input[type=text],input[type=password],textarea,select{background:var(--bg);border:1px solid var(--line-bright);width:100%;color:var(--ink);font-size:13px;font-family:var(--mono);outline:none;padding:9px 11px;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-dim)}button,.btn{background:var(--accent);color:#04130c;cursor:pointer;font-family:var(--display);letter-spacing:.06em;border:none;padding:10px 22px;font-size:13px;font-weight:600;transition:all .15s}button:hover{box-shadow:0 0 18px #3ddc9759}button:disabled{background:var(--line-bright);color:var(--ink-faint);cursor:not-allowed;box-shadow:none}button.ghost{color:var(--accent);border:1px solid var(--accent-dim);background:0 0}button.danger{color:var(--red);border:1px solid var(--red);background:0 0}table{border-collapse:collapse;width:100%;font-size:12.5px}th{text-align:left;color:var(--ink-faint);letter-spacing:.1em;border-bottom:1px solid var(--line-bright);padding:8px 10px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--line);color:var(--ink-dim);padding:9px 10px}tr:hover td{color:var(--ink);background:#3ddc9706}td.num,th.num{text-align:right}.stamp{width:34px;height:34px;font-family:var(--display);border:2px solid;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.stamp.lg{width:52px;height:52px;font-size:28px}.stamp.A{color:var(--grade-A);border-color:var(--grade-A);background:#3ddc9714}.stamp.B{color:var(--grade-B);border-color:var(--grade-B);background:#ffb45414}.stamp.C{color:var(--grade-C);border-color:var(--grade-C);background:#8fa3b814}.stamp.D{color:var(--grade-D);border-color:var(--grade-D);background:#ff6b6b14}.gradeband{border-left:3px solid var(--line-bright)}.gradeband.A{border-left-color:var(--grade-A)}.gradeband.B{border-left-color:var(--grade-B)}.gradeband.C{border-left-color:var(--grade-C)}.gradeband.D{border-left-color:var(--grade-D)}.chip{font-size:11px;font-family:var(--mono);border:1px solid var(--line-bright);color:var(--ink-dim);margin:0 6px 6px 0;padding:2px 9px;display:inline-block}.chip.hot{border-color:var(--accent-dim);color:var(--accent)}.tier{font-family:var(--mono);border:1px solid var(--accent-dim);color:var(--accent);letter-spacing:.1em;padding:2px 8px;font-size:11px;display:inline-block}.scorebar{background:var(--line);height:5px;position:relative;overflow:hidden}.scorebar>i{background:linear-gradient(90deg, var(--accent-dim), var(--accent));animation:.7s cubic-bezier(.2,.8,.2,1) growBar;position:absolute;inset:0 auto 0 0}@keyframes growBar{0%{width:0!important}}.phases{gap:0;margin:14px 0;display:flex}.phase{text-align:center;font-size:11px;font-family:var(--mono);color:var(--ink-faint);border-bottom:2px solid var(--line);letter-spacing:.08em;flex:1;padding:8px 4px}.phase.on{color:var(--accent);border-bottom-color:var(--accent);animation:1.4s infinite pulse}.phase.done{color:var(--ink-dim);border-bottom-color:var(--accent-dim)}@keyframes pulse{50%{opacity:.45}}.alert{border:1px solid;margin:10px 0;padding:10px 14px;font-size:12.5px}.alert.warn{color:var(--amber);background:#ffb4540d;border-color:#ffb45480}.alert.err{color:var(--red);background:#ff6b6b0d;border-color:#ff6b6b80}.alert.ok{border-color:var(--accent-dim);color:var(--accent);background:#3ddc970d}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:14px 0;display:grid}.stat{background:var(--bg-card);padding:13px 15px}.stat b{font-family:var(--mono);color:var(--ink);font-size:20px;font-weight:600;display:block}.stat span{color:var(--ink-faint);letter-spacing:.06em;font-size:11px}.stat.hot b{color:var(--accent)}.rankgrid{flex-direction:column;gap:10px;display:flex}.rankcard{background:var(--bg-card);border:1px solid var(--line);grid-template-columns:64px 88px 1fr 280px;align-items:start;gap:16px;padding:14px 16px;animation:.4s ease-out backwards rise;display:grid}.rankcard:nth-child(2){animation-delay:50ms}.rankcard:nth-child(3){animation-delay:.1s}.rankcard:nth-child(4){animation-delay:.15s}.rankcard:nth-child(5){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.rankcard .thumb{object-fit:cover;background:var(--bg);border:1px solid var(--line-bright);width:64px;height:64px;color:var(--ink-faint);justify-content:center;align-items:center;font-size:10px;display:flex}.rankcard h3{font-family:var(--display);font-size:15px;font-weight:600}.rankcard h3 a{color:var(--ink);text-decoration:none}.rankcard h3 a:hover{color:var(--accent)}.reasons{color:var(--ink-dim);margin-top:6px;font-size:12px;line-height:1.7}.reasons li{list-style:none}.reasons li:before{content:"— ";color:var(--ink-faint)}.dropzone{border:1px dashed var(--line-bright);text-align:center;color:var(--ink-dim);cursor:pointer;padding:34px;transition:all .2s}.dropzone:hover,.dropzone.over{border-color:var(--accent-dim);color:var(--accent);background:#3ddc9708}.steps{counter-reset:s}.steps li{color:var(--ink-dim);margin:10px 0;padding-left:36px;font-size:13px;line-height:1.65;list-style:none;position:relative}.steps li:before{counter-increment:s;content:counter(s);border:1px solid var(--accent-dim);width:22px;height:22px;color:var(--accent);font-family:var(--mono);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:1px;left:0}.steps code,.reasons code,td code{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);color:var(--amber);padding:1px 6px;font-size:11px}.row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.grow{flex:1}a.plain{color:var(--accent);text-decoration:none}a.plain:hover{text-decoration:underline}.dim{color:var(--ink-faint);font-size:11px}.section-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=980px){.section-cols{grid-template-columns:1fr}.rankcard{grid-template-columns:64px 88px 1fr}}
