:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6e8eb;background:#0f1216;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:14px}*{box-sizing:border-box}body,html,#root{min-height:100%;margin:0}a{color:#6ab0ff}.appbar{z-index:10;background:#161a20;border-bottom:1px solid #232a33;align-items:center;gap:20px;padding:12px 22px;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:2px;display:flex}.brand-mark{color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:700}.brand-sub{color:#8a96a3;font-size:11px}.steps{gap:8px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.steps li{color:#8a96a3;background:#11161c;border:1px solid #232a33;border-radius:14px;padding:5px 12px;font-size:12px}.steps li.active{color:#fff;background:#4f8cff24;border-color:#4f8cff}.steps li.past{color:#3fb950;border-color:#234e30}.api-chip{align-items:center;gap:7px;font-size:12px;display:inline-flex}.api-chip .dot{border-radius:50%;width:8px;height:8px}.api-chip .dot.mock{background:#e3b341}.api-chip .dot.http{background:#3fb950}main.page{max-width:1100px;margin:0 auto;padding:26px 22px 60px}main.page.narrow{max-width:640px}main.page.wide{max-width:1280px}h1{margin:0 0 14px;font-size:22px;font-weight:600}h2{color:#d4dae2;margin:0;font-size:15px;font-weight:600}.hint{color:#8a96a3;font-size:12px}.row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.row label{color:#b8c0cc;width:120px}.row input[type=text],.row input[type=number]{color:#e6e8eb;background:#0f1216;border:1px solid #2a323d;border-radius:4px;flex:1;padding:8px 10px;font-family:ui-monospace,monospace;font-size:13px}.row input:focus{border-color:#4f8cff;outline:none}button{color:#e6e8eb;cursor:pointer;background:#2a323d;border:1px solid #3a4452;border-radius:4px;padding:8px 14px;font-size:13px}button:hover{background:#353f4d}button.primary{color:#fff;background:#4f8cff;border-color:#4f8cff;font-weight:600}button.primary:hover{background:#6098ff}button.danger{color:#ffe2e2;background:#8a2a2a;border-color:#a13434}button.danger:hover{background:#a13434}button:disabled{opacity:.45;cursor:not-allowed}.error-banner{color:#ffb4ae;background:#f851491f;border:1px solid #5c2626;border-radius:6px;padding:10px 14px;font-size:13px}.warn-text{color:#e3b341;margin:4px 0 0;font-size:12px}.upload-grid{grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 18px;display:grid}.filedrop-wrap{flex-direction:column;gap:8px;display:flex}.filedrop-label{color:#b8c0cc;font-size:13px;font-weight:600}.filedrop{cursor:pointer;background:#11161c;border:1.5px dashed #2f3947;border-radius:8px;justify-content:center;align-items:center;min-height:200px;padding:16px;transition:border-color .15s,background .15s;display:flex}.filedrop:hover{border-color:#4f8cff}.filedrop.over{background:#4f8cff14;border-color:#4f8cff}.filedrop.has-file{cursor:default;border-style:solid;border-color:#2a323d}.filedrop-empty{text-align:center;flex-direction:column;gap:6px;display:flex}.filedrop-icon{opacity:.8;font-size:34px}.filedrop-cta{color:#d4dae2;font-size:13px}.filedrop-filled{align-items:center;gap:14px;width:100%;display:flex}.filedrop-thumb{object-fit:cover;background:#000;border-radius:6px;flex-shrink:0;width:130px;height:96px}.filedrop-meta{flex-direction:column;gap:6px;min-width:0;display:flex}.filedrop-name{color:#fff;word-break:break-all;font-size:13px}.filedrop-clear{align-self:flex-start;padding:4px 10px;font-size:12px}.param-card{background:#11161c;border:1px solid #232a33;border-radius:8px;padding:16px 18px}.check-row{color:#d4dae2;cursor:pointer;align-items:center;gap:8px;margin:6px 0;display:flex}.check-row input{width:16px;height:16px}.window-picker{background:#0f1216;border:1px solid #232a33;border-radius:6px;margin-top:10px;padding:12px 14px}.window-readout{color:#d4dae2;justify-content:space-between;align-items:center;margin-bottom:6px;font-family:ui-monospace,monospace;font-size:13px;display:flex}.rng{height:34px;position:relative}.rng-track,.rng-selected,.rng-cursor{pointer-events:none;position:absolute}.rng-track{background:#343d4a;border-radius:3px;height:6px;top:14px;left:0;right:0}.rng-selected{height:6px;top:14px;left:var(--rng-start);right:calc(100% - var(--rng-end));background:#4f8cff;border-radius:3px}.rng-cursor{top:8px;left:var(--rng-cursor);background:#f0f6fc;width:2px;height:18px}.rng-input{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.rng-input::-webkit-slider-runnable-track{background:0 0;height:34px}.rng-input::-webkit-slider-thumb{appearance:none;pointer-events:auto;cursor:ew-resize;background:#4f8cff;border:2px solid #f0f6fc;border-radius:50%;width:16px;height:16px;margin-top:9px}.rng-end::-webkit-slider-thumb{background:#6098ff}.rng-input::-moz-range-track{background:0 0;height:34px}.rng-input::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;background:#4f8cff;border:2px solid #f0f6fc;border-radius:50%;width:16px;height:16px}.modal-overlay{z-index:100;background:#000000a8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#161a20;border:1px solid #2a323d;border-radius:10px;width:min(560px,96vw);overflow:hidden}.modal-head{border-bottom:1px solid #232a33;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{font-size:16px}.modal-head button{padding:4px 10px}.modal-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.modal-body .radio-row{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.modal-body .radio-row input{margin-top:3px}.modal-actions{border-top:1px solid #232a33;justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.progress-card{background:#11161c;border:1px solid #232a33;border-radius:10px;padding:22px 24px}.progress-top{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.progress-stage{color:#fff;font-size:16px;font-weight:600}.progress-pct{color:#4f8cff;font-family:ui-monospace,monospace;font-size:26px;font-weight:700}.progress-bar{background:#0a0d11;border:1px solid #232a33;border-radius:5px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4f8cff,#6098ff);height:100%;transition:width .3s}.progress-segs{gap:5px;margin:14px 0;display:flex}.progress-segs .seg{background:#2a323d;border-radius:3px;flex:1;height:5px}.progress-segs .seg.done{background:#3fb950}.progress-segs .seg.active{background:#4f8cff;animation:1.3s infinite pulse}.progress-meta{color:#b8c0cc;gap:18px;font-family:ui-monospace,monospace;font-size:12px;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.result-head{justify-content:space-between;align-items:center;display:flex}.viewrange-card{background:#11161c;border:1px solid #232a33;border-radius:8px;margin:6px 0 18px;padding:14px 18px}.viewrange-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.vr-label{color:#d4dae2;font-weight:600}.vr-readout{color:#fff;align-items:center;gap:10px;font-family:ui-monospace,monospace;display:flex}.vr-reset{padding:3px 10px;font-size:12px}.panel-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.panel-card{background:#11161c;border:1px solid #232a33;border-radius:8px;margin-bottom:16px;padding:14px 16px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.traj-video,.traj-canvas{background:#000;border-radius:6px;width:100%;height:auto;display:block}.canvas-frame{position:relative}.canvas-note{color:#c9d1d9;background:#0009;border-radius:3px;padding:3px 8px;font-size:11px;position:absolute;top:10px;left:10px}.transport{align-items:center;gap:12px;margin-top:10px;display:flex}.play-btn{flex-shrink:0;width:40px;height:36px;font-size:15px}.transport-range{appearance:none;cursor:pointer;background:#343d4a;border-radius:3px;flex:1;height:6px}.transport-range::-webkit-slider-thumb{appearance:none;background:#4f8cff;border:2px solid #f0f6fc;border-radius:50%;width:15px;height:15px}.transport-range::-moz-range-thumb{background:#4f8cff;border:2px solid #f0f6fc;border-radius:50%;width:15px;height:15px}.transport-time{color:#d4dae2;text-align:right;min-width:96px;font-family:ui-monospace,monospace;font-size:12px}.transport-speed{color:#3fb950;text-align:right;min-width:64px;font-family:ui-monospace,monospace;font-size:13px;font-weight:600}.map-frame{background:#05070a;border-radius:6px;min-height:120px;position:relative;overflow:hidden}.mapsvg{width:100%;height:auto;display:block}.map-loading{text-align:center;color:#8a96a3;padding:40px}.map-dim{fill:#080b1066}.map-line-full{fill:none;stroke:#96a0afa6;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.map-line-sel{fill:none;stroke:#3fb950;stroke-width:3.4px;stroke-linejoin:round;stroke-linecap:round}.map-start{fill:#3fb950;stroke:#0a0d11;stroke-width:1.5px}.map-end{fill:#e3b341;stroke:#0a0d11;stroke-width:1.5px}.map-head-halo{fill:#4f8cff40}.map-head{fill:#4f8cff;stroke:#f0f6fc;stroke-width:1px}.map-legend{color:#b8c0cc;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12px;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.map-legend .sw{border-radius:3px;width:12px;height:12px;display:inline-block}.map-legend .sw.start{background:#3fb950}.map-legend .sw.end{background:#e3b341}.map-legend .sw.sel{background:#3fb950}.map-legend .sw.head{background:#4f8cff}.speedsvg{cursor:crosshair;width:100%;height:auto;display:block}.sg-bg{fill:#0a0d11;stroke:#232a33}.sg-selband{fill:#4f8cff1a}.sg-dr{fill:#f8514929}.sg-grid{stroke:#2a323d;stroke-width:1px}.sg-axis{fill:#8a96a3;font:11px ui-monospace,monospace}.sg-line-full{fill:none;stroke:#96a0af80;stroke-width:1.5px;stroke-linejoin:round}.sg-line-sel{fill:none;stroke:#3fb950;stroke-width:2.6px;stroke-linejoin:round;stroke-linecap:round}.sg-avg{stroke:#e3b341;stroke-width:1.4px;stroke-dasharray:5 5}.sg-head{stroke:#f0f6fc;stroke-width:1.5px}.metrics-wide{padding:16px 18px}.metrics-cols{grid-template-columns:1fr 1fr;gap:26px;display:grid}.metrics-table{border-collapse:collapse;width:100%;font-family:ui-monospace,monospace}.metrics-table td{border-bottom:1px solid #232a33;padding:8px 10px;font-size:13px}.metrics-table td.k{color:#b8c0cc}.metrics-table td.v{text-align:right;color:#fff}@media (width<=900px){.panel-grid,.upload-grid,.metrics-cols,.anchor-grid{grid-template-columns:1fr}.steps{display:none}}.anchor-page{max-width:1320px}.anchor-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.anchor-toolbar .hint,.warn{color:#e3b341}.anchor-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.anchor-panel{border:1px solid #232a33;border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.panel-title{color:#b8c0cc;background:#161a20;border-bottom:1px solid #232a33;padding:6px 10px;font-size:12px}.panel-title .warn{color:#e3b341}.metrics-table thead td{color:#8a96a3;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.metrics-table td button{padding:3px 8px;font-size:11px}.zpv{cursor:crosshair;background:#05070a;height:460px;position:relative;overflow:hidden}.zpv-stage{transform-origin:0 0;position:absolute;top:0;left:0}.zpv-stage img,.zpv-stage video{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.zpv-status{color:#c9d1d9;text-align:center;pointer-events:none;background:#0d1117e0;border:1px solid #303946;border-radius:4px;max-width:calc(100% - 32px);padding:8px 10px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zpv-marker{width:0;height:0;position:absolute}.zpv-cross{border:2px solid;border-radius:50%;width:18px;height:18px;position:absolute;top:-9px;left:-9px;box-shadow:0 0 0 1px #000000b3}.zpv-label{color:#05070a;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:11px;font-weight:700;position:absolute;top:-8px;left:10px}.zpv-reset{padding:4px 8px;font-size:11px;position:absolute;bottom:8px;right:8px}.zpv-zoom{color:#8a96a3;background:#0009;border-radius:3px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px;position:absolute;bottom:8px;left:8px}.cal-overlay{z-index:100;background:#000000b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cal-modal{background:#161a20;border:1px solid #2a323d;border-radius:8px;flex-direction:column;width:min(960px,96vw);height:min(720px,92vh);display:flex;overflow:hidden}.cal-header{border-bottom:1px solid #232a33;align-items:center;gap:8px;padding:12px 16px;display:flex}.cal-title{flex:1;font-size:15px;font-weight:600}.cal-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex}.cal-controls{border-top:1px solid #232a33;flex-direction:column;gap:8px;padding-top:8px;display:flex}.cal-results{gap:24px;font-family:ui-monospace,monospace;font-size:13px;display:flex}.cal-stat{color:#b8c0cc}.cal-actions{justify-content:flex-end;gap:8px;display:flex}.auth-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:#161a20;border:1px solid #232a33;border-radius:12px;width:100%;max-width:420px;padding:30px 28px;box-shadow:0 18px 50px #00000073}.auth-card.center{text-align:center}.auth-card h1{margin-bottom:4px;font-size:20px}.auth-tabs{background:#11161c;border-radius:8px;gap:6px;margin:20px 0 18px;padding:4px;display:flex}.auth-tabs button{color:#8a96a3;background:0 0;border:none;border-radius:6px;flex:1;padding:8px}.auth-tabs button.active{color:#fff;background:#2a323d}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form label{flex-direction:column;gap:5px;display:flex}.auth-form label span{color:#b8c0cc;font-size:12px}.auth-form input{color:#e6e8eb;background:#0f1216;border:1px solid #2a323d;border-radius:6px;padding:10px 12px;font-size:14px}.auth-form input:focus{border-color:#4f8cff;outline:none}.auth-form button.primary{margin-top:6px;padding:11px}.auth-recovery-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.auth-recovery-actions button{color:#c7ced6;background:#11161c;border:1px solid #2a323d;padding:9px 10px;font-size:12px}.auth-recovery-actions button.active,.auth-recovery-actions button:hover{color:#fff;background:#4f8cff29;border-color:#4f8cff}.auth-msg{border-radius:6px;padding:9px 11px;font-size:13px;line-height:1.4}.auth-msg.notice{color:#6fd383;background:#3fb9501f;border:1px solid #234e30}.auth-foot{text-align:center;margin-top:16px}.status-badge{border-radius:20px;margin-bottom:14px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge.pending{color:#e3b341;background:#e3b34126;border:1px solid #5a4a1f}.status-badge.rejected{color:#ff9d96;background:#f8514926;border:1px solid #5c2b2b}.auth-info{flex-direction:column;gap:8px;margin:18px 0;display:flex}.auth-info>div{border-bottom:1px solid #232a33;justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.auth-info span{color:#8a96a3}.auth-actions{gap:10px;margin-top:8px;display:flex}.auth-actions .primary{flex:1}.profile-editor-panel{background:#11161c;border:1px solid #232a33;border-radius:8px;margin:18px 0;padding:14px}.profile-editor-panel h2{margin-bottom:12px}.profile-editor{flex-direction:column;gap:10px;display:flex}.profile-editor label{flex-direction:column;gap:5px;display:flex}.profile-editor label span{color:#b8c0cc;font-size:12px}.profile-editor input{color:#e6e8eb;background:#0f1216;border:1px solid #2a323d;border-radius:6px;padding:9px 11px;font-size:13px}.profile-editor input:focus{border-color:#4f8cff;outline:none}.profile-editor-actions{justify-content:flex-end;gap:8px;display:flex}.error-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);display:flex}.error-card{text-align:center;background:#161a20;border:1px solid #232a33;border-radius:12px;width:100%;max-width:460px;padding:34px 30px;box-shadow:0 18px 50px #00000052}.error-code{color:#8ab4ff;letter-spacing:.18em;margin-bottom:8px;font-size:13px;font-weight:800}.error-card h1{margin-bottom:8px;font-size:36px}.error-card p{color:#aeb7c2;margin:0 0 20px}.error-actions{justify-content:center;gap:10px;display:flex}.spinner{border:3px solid #2a323d;border-top-color:#4f8cff;border-radius:50%;width:26px;height:26px;margin:8px auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.usermenu{align-items:center;gap:10px;display:flex}.usermenu-email{color:#b8c0cc;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:180px;font-size:12px;display:inline-flex;overflow:hidden}.usermenu .logout{padding:6px 10px;font-size:12px}.usermenu .admin-link{background:#2a323d;padding:6px 12px;font-size:12px}.usermenu .admin-link.active{color:#fff;background:#4f8cff29;border-color:#4f8cff}.surface-nav{align-items:center;gap:6px;display:inline-flex}.surface-nav button{background:#11161c;border-color:#2a323d;padding:6px 12px;font-size:12px}.surface-nav button.active{color:#fff;background:#4f8cff29;border-color:#4f8cff}.surface-nav.compact button{padding:6px 10px}.role-pill{border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.role-pill.admin{color:#8ab4ff;background:#4f8cff2e;border:1px solid #2f4d80}.role-pill.user{color:#8a96a3;background:#1b222b;border:1px solid #2a323d}.role-pill.sm{padding:1px 6px;font-size:9px}.admin-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.admin-filters{gap:8px;margin-bottom:16px;display:flex}.admin-filters button{background:#11161c;align-items:center;gap:7px;display:inline-flex}.admin-filters button.active{color:#fff;background:#4f8cff24;border-color:#4f8cff}.admin-filters .cnt{color:#c7ced6;background:#2a323d;border-radius:9px;padding:1px 7px;font-size:11px}.admin-table-wrap{border:1px solid #232a33;border-radius:10px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #1c2229;padding:11px 13px}.admin-table thead th{color:#8a96a3;background:#11161c;font-size:12px;font-weight:600;position:sticky;top:0}.admin-table tbody tr:hover{background:#12171e}.admin-table tr.self{background:#4f8cff0d}.admin-table tr.history-click-row{cursor:pointer}.admin-table tr.history-click-row.expanded{background:#4f8cff0f}.admin-table tr.history-click-row:focus-visible{outline-offset:-2px;outline:2px solid #4f8cff}.admin-table .mono{font-family:ui-monospace,monospace;font-size:12px}.admin-table .dim{color:#8a96a3}.admin-table .empty{text-align:center;color:#8a96a3;padding:30px}.admin-table .you{color:#8ab4ff;margin-left:6px;font-size:10px}.status-pill{border-radius:12px;padding:3px 9px;font-size:11px;font-weight:600}.status-pill.pending{color:#e3b341;background:#e3b34126}.status-pill.approved{color:#6fd383;background:#3fb95026}.status-pill.rejected{color:#ff9d96;background:#f8514926}.admin-table .actions{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.admin-table .actions button{padding:5px 10px;font-size:12px}.admin-table .actions button.ok{color:#6fd383;background:#1d3a24;border-color:#234e30}.admin-table .actions button.ok:hover{background:#244a2d}.admin-table .actions button.no{color:#ff9d96;background:#3a1d1d;border-color:#5c2b2b}.admin-table .actions button.ghost{background:0 0}.admin-table .actions button:disabled{opacity:.4;cursor:not-allowed}.history-detail-row td{background:#0d1117;padding:0}.history-detail{border-top:1px solid #26303a;padding:16px}.history-detail-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:14px;display:grid}.history-detail-block{background:#11161c;border:1px solid #26303a;border-radius:8px;flex-direction:column;gap:5px;min-width:0;padding:12px;display:flex}.history-detail-block strong{color:#fff;font-size:13px}.history-detail-block span{color:#b8c0cc;word-break:break-word;font-size:12px}.history-detail-block .detail-label{color:#8a96a3;font-size:11px;font-weight:700}.history-detail-block .dim{color:#8a96a3}.history-media-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.history-media-panel{background:#05070a;border:1px solid #26303a;border-radius:8px;min-width:0;overflow:hidden}.history-media-title{color:#b8c0cc;border-bottom:1px solid #26303a;padding:8px 10px;font-size:12px;font-weight:700}.history-media-stage{background:#05070a;position:relative}.history-media-stage .zpv{width:100%;height:420px}.history-media-loading,.history-media-error{color:#8a96a3;background:#11161c;border:1px solid #26303a;border-radius:8px;padding:22px;font-size:12px}.history-anchor-table{border-collapse:collapse;width:100%;font-family:ui-monospace,monospace;font-size:12px}.history-anchor-table th,.history-anchor-table td{border-bottom:1px solid #202832;padding:8px 10px}.history-anchor-table th{color:#8a96a3;text-align:left;font-weight:600}@media (width<=900px){.history-detail-grid,.history-media-grid{grid-template-columns:1fr}}.brand-accent{color:#4f8cff}.brand-link{cursor:pointer}.brand-link:hover .brand-mark{color:#cfe0ff}.landing{max-width:1080px;min-height:100vh;margin:0 auto;padding:0 24px 60px}.landing-nav{z-index:5;background:#0f1216;justify-content:space-between;align-items:center;padding:22px 4px;display:flex;position:sticky;top:0}.landing-brand{letter-spacing:-.02em;color:#fff;font-size:22px;font-weight:800}.landing-cta-sm{padding:8px 16px}.landing-auth{align-items:center;gap:12px;display:flex}.landing-who{color:#c7ced6;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;max-width:220px;font-size:13px;display:inline-flex;overflow:hidden}.dot-on{background:#3fb950;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.landing-auth .logout{padding:6px 10px;font-size:12px}.conv-banner{color:#cfe0ff;background:#4f8cff1a;border:1px solid #2f4d80;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:9px 12px;font-size:13px;display:flex}.conv-banner.error{color:#ffb4ae;background:#f851491f;border-color:#5c2626}.conv-banner .hint{color:#8ab4ff}.conv-banner.error .hint{color:inherit}.spinner.sm{border-width:2px;width:16px;height:16px;margin:0}.conv-bar{background:#1b222b;border-radius:3px;flex:100%;height:5px;overflow:hidden}.conv-bar>div{background:#4f8cff;height:100%;transition:width .2s}.conv-banner button{padding:5px 10px;font-size:12px}.save-chip{border-radius:14px;padding:5px 11px;font-size:12px}.save-chip.saving{color:#e3b341;background:#e3b34124;border:1px solid #5a4a1f}.save-chip.saved{color:#6fd383;background:#3fb95024;border:1px solid #234e30}.save-chip.error{color:#ff9d96;background:#f8514924;border:1px solid #5c2626}.landing-hero{text-align:center;padding:56px 4px 40px}.landing-badge{color:#8ab4ff;background:#4f8cff1f;border:1px solid #2f4d80;border-radius:20px;margin-bottom:22px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.landing-hero h1{letter-spacing:-.02em;color:#f2f5f8;margin:0 0 18px;font-size:40px;font-weight:800;line-height:1.25}.landing-hero h1 .hl{color:#4f8cff}.landing-sub{color:#aeb7c2;max-width:720px;margin:0 auto 28px;font-size:15px;line-height:1.7}.landing-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.landing-cta{padding:13px 28px;font-size:15px}.landing-features{grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0;display:grid}.landing-card{background:#161a20;border:1px solid #232a33;border-radius:12px;padding:22px}.landing-card-no{color:#3a4452;font-size:12px;font-weight:800}.landing-card-k{color:#6fd383;background:#3fb9501f;border:1px solid #234e30;border-radius:10px;margin:6px 0 10px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.landing-card h3{color:#e6e8eb;margin:0 0 8px;font-size:16px}.landing-card p{color:#8a96a3;margin:0;font-size:13px;line-height:1.6}.landing-flow{text-align:center;margin:44px 0 10px}.landing-flow h2{color:#b8c0cc;margin:0 0 18px;font-size:16px}.flow-steps{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.flow-step{color:#c7ced6;background:#11161c;border:1px solid #232a33;border-radius:8px;padding:10px 16px;font-size:13px}.landing-foot{border-top:1px solid #1c2229;justify-content:center;align-items:center;gap:12px;margin-top:50px;padding-top:22px;font-size:12px;display:flex}.landing-foot span:first-child{color:#e6e8eb;font-weight:800}.landing-foot .dim{color:#6b7682}@media (width<=720px){.landing-nav{flex-direction:column;align-items:flex-start;gap:14px}.landing-auth{flex-wrap:wrap;align-items:flex-start}.landing-hero h1{font-size:30px}.landing-features{grid-template-columns:1fr}}
