:root{--bg:#0b0c0e;--bg-sidebar:#0e1013;--surface:#111318;--surface-raised:#171a1f;--surface-sunken:#0d0f13;--nav-active:#181b21;--line:#1d2027;--line-strong:#262a31;--line-strong2:#2c313a;--ink:#eceef1;--ink2:#b4bac3;--ink3:#868d97;--ink4:#666d77;--accent:#c9f24d;--accent-hover:#dcff74;--accent-2:#c9f24d;--accent-ink:#0b0c0e;--record:#ff5540;--ok:#5bd98a;--amber:#e6c25a;--mono:ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:rgba(201,242,77,.25)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3a3d44;border-radius:20px}::-webkit-scrollbar-track{background:transparent}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;min-height:100vh;box-shadow:inset 0 0 0 0 var(--record);transition:box-shadow .18s}.app.is-recording{box-shadow:inset 0 2px 0 0 var(--record)}.nav-panel{width:190px;flex:none;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:22px;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.rail-name{font-weight:800;font-size:15px;letter-spacing:-.02em}.rail-sub{font-size:11px;color:var(--ink4);margin-top:2px}.rail-nav{display:flex;flex-direction:column;gap:3px}.navitem{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;color:var(--ink3);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .12s,color .12s}.navitem:hover{color:var(--ink);background:hsla(0,0%,100%,.02)}.navitem.active{background:var(--nav-active);color:var(--ink)}.navitem .nd{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;flex:none}.navitem.active .nd{background:var(--accent);opacity:1}.rail-spacer{flex:1 1}.conn-panel{border:1px solid var(--line);border-radius:14px;padding:11px;background:var(--surface-raised)}.conn-title{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-bottom:9px}.conn-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--ink2)}.sdot{width:7px;height:7px;border-radius:50%;background:var(--ink4);flex:none}.sdot.on{background:var(--ok);box-shadow:0 0 0 3px rgba(91,217,138,.14)}.main{flex:1 1;min-width:0}.page{padding:34px 40px 64px;margin:0 auto}.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.page-title{font-size:30px;font-weight:800;letter-spacing:-.03em;margin:0}.page-lede{color:var(--ink3);font-size:14px;margin:6px 0 0;max-width:56ch}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4)}.mono{font-family:var(--mono)}.row{display:flex;gap:10px}.wrap{flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:700;font-size:13px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-strong2);background:var(--surface-raised);color:var(--ink);transition:background .12s,border-color .12s,color .12s,transform .12s}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);border-radius:12px}.btn.primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.btn.outline-accent{background:transparent;border-color:var(--accent);color:var(--accent)}.btn.outline-accent:hover{background:rgba(201,242,77,.12)}.btn.ghost{background:transparent}.btn.danger:hover{border-color:var(--record);color:var(--record)}.btn.iconbtn{padding:10px;width:38px}.btn:disabled{opacity:.5;cursor:default}.btn:disabled:hover{border-color:var(--line-strong2);color:var(--ink)}.chip{padding:4px 8px;border-radius:7px;background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink3)}.chip,.pill{font-size:11px;white-space:nowrap}.pill{font-weight:700;padding:3px 9px;border-radius:999px}.pill.ok{background:rgba(77,148,104,.16);color:var(--ok)}.pill.dirty{background:rgba(193,88,91,.16);color:#e0a3a4}.badge-active{font-size:9px;font-weight:800;letter-spacing:.1em;padding:3px 7px;border-radius:6px;background:var(--accent);color:var(--accent-ink)}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px}.panel{padding:18px 20px}.divider{height:1px;background:var(--line);border:none;margin:0}.field{display:flex;flex-direction:column;gap:8px}.field-lab{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.field-lab .l{font-size:12px;font-weight:700;color:var(--ink2)}.field-lab .v{font-family:var(--mono);font-size:11.5px;color:var(--ink3)}.field-hint{font-size:11px;color:var(--ink4);line-height:1.45}.grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));grid-gap:18px 20px;gap:18px 20px}.col-span{grid-column:1/-1}.field-group{display:contents}.field-group.disabled>*{opacity:.45;pointer-events:none}.toggle{width:44px;height:25px;border-radius:999px;background:var(--surface-sunken);border:none;position:relative;cursor:pointer;padding:0;transition:background .15s;flex:none}.toggle.on{background:var(--accent)}.toggle .knob{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--ink);transition:transform .15s,background .15s}.toggle.on .knob{transform:translateX(19px);background:var(--accent-ink)}.togglerow{display:flex;align-items:center;justify-content:space-between;gap:12px}.togglerow .tt{display:flex;flex-direction:column;gap:3px}.togglerow .tt .l{font-size:13px;font-weight:600}.togglerow .tt .h{font-size:11px;color:var(--ink4)}.seg{display:flex;flex-wrap:wrap;gap:0;background:var(--surface-sunken);border:1px solid var(--line);border-radius:14px;padding:4px}.seg-opt{flex:1 1 auto;text-align:center;padding:7px 10px;border-radius:8px;border:none;cursor:pointer;background:transparent;color:var(--ink3);font-weight:600;font-size:12.5px;white-space:nowrap;transition:background .12s,color .12s}.seg-opt:hover{color:var(--ink)}.seg-opt.sel{background:var(--accent);color:var(--accent-ink)}.select{background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:12px;padding:9px 11px;color:var(--ink);font-size:13px;font-weight:600;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238a8d96' stroke-width='1.6'><path d='M2 4l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 11px center}.select,.slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.slider{background:transparent}.slider::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--surface-sunken)}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;margin-top:-5.5px;border-radius:50%;background:var(--ink);border:none}.slider::-moz-range-track{height:4px;border-radius:4px;background:var(--surface-sunken)}.slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--ink);border:none}.colorfield{display:flex;align-items:center;gap:10px;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:12px;padding:6px 10px 6px 6px}.colorfield input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:28px;border:none;padding:0;background:transparent;border-radius:8px;cursor:pointer}.colorfield input[type=color]::-webkit-color-swatch-wrapper{padding:0}.colorfield input[type=color]::-webkit-color-swatch{border:1px solid var(--line-strong2);border-radius:8px}.colorfield .hex{font-family:var(--mono);font-size:12px;color:var(--ink2);text-transform:uppercase}.stepper{display:flex;align-items:center;gap:0;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;width:max-content}.stepper button{width:28px;height:26px;border:none;background:transparent;color:var(--ink2);font-size:16px;cursor:pointer}.stepper button:hover{color:var(--accent)}.stepper .val{min-width:52px;text-align:center;font-family:var(--mono);font-size:12.5px}.filelist{display:flex;flex-direction:column;gap:6px}.filerow{display:flex;align-items:center;gap:10px;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font-size:12.5px}.filerow .handle{color:var(--ink4);cursor:-webkit-grab;cursor:grab}.filerow .fn{flex:1 1}.filerow .x{color:var(--ink4);cursor:pointer;background:none;border:none}.filerow .x:hover{color:var(--record)}.fileadd{border:1px dashed var(--line-strong2);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--ink4);background:transparent;cursor:pointer;text-align:left}.fileadd:hover{color:var(--accent);border-color:var(--accent)}.dropzone{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--line-strong2);border-radius:10px;padding:10px;font-size:12.5px;color:var(--ink4)}.dropzone.over{border-color:var(--accent);color:var(--accent);background:var(--surface-sunken)}.dropzone .fileadd{border-style:solid}.menu-wrap{position:relative;display:block}.menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;z-index:50;background:var(--surface-raised);border:1px solid var(--line-strong2);border-radius:12px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:2px}.menu.end{left:auto;right:0}.menu-item{display:flex;align-items:center;gap:9px;border:none;background:transparent;color:var(--ink2);font-size:12.5px;font-weight:600;padding:8px 9px;border-radius:8px;cursor:pointer;text-align:left;width:100%}.menu-item:hover{background:var(--surface-sunken);color:var(--ink)}.menu-icon{display:flex;flex:none}.platform-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;font-size:9.5px;font-weight:800;color:#fff;letter-spacing:-.02em}.textarea{padding:10px 11px;font-family:inherit;resize:vertical;min-height:56px}.input,.textarea{width:100%;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:12px;color:var(--ink);font-size:13px}.input{padding:9px 11px}.input.mono{font-family:var(--mono);font-size:12px}.preview{position:relative;width:100%;height:100%;container-type:size;overflow:hidden;background:#00a651}.preview .frame-tag{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:10px;color:var(--ink4);background:rgba(0,0,0,.35);padding:3px 7px;border-radius:5px}.preview .cap{position:absolute;left:0;right:0;text-align:center;padding:0 6cqw;text-transform:uppercase;font-weight:400;line-height:1.05;paint-order:stroke fill}.preview .wm{position:absolute;font-family:var(--mono);font-size:2.6cqw;font-weight:700;color:#fff;background:rgba(0,0,0,.3);padding:1.2cqw 1.8cqw;border-radius:1cqw;transition:opacity .18s}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);background:var(--ink);color:var(--bg);font-weight:700;font-size:13px;padding:11px 18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:50}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.stylecard.sel{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,242,77,.22)}.cat-col{width:230px;flex:none;background:#1e2023;border-right:1px solid var(--line);padding:18px 14px;overflow:auto}.cat-col h4{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink4);padding:14px 6px 8px}.style-pick{background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:10px}.style-pick .tag{font-size:9px;background:var(--accent);color:#fff;font-weight:800;padding:2px 8px;border-radius:8px;white-space:nowrap}.catrow{padding:10px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink3);margin-bottom:2px;display:flex;align-items:center;gap:8px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.catrow .h{color:var(--accent-2);font-weight:800}.catrow.active,.catrow:hover{color:var(--ink)}.catrow.active{background:var(--surface-raised)}.catrow.active .h{color:var(--accent-2)}.stab-row{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:20px}.stab{padding:11px 16px;background:transparent;color:var(--ink3);font-size:13.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.stab.on,.stab:hover{color:var(--ink)}.stab.on{border-bottom-color:var(--accent)}.stab-n{font-size:10.5px;font-weight:800;color:var(--ink4);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:999px;padding:1px 7px}.stab.on .stab-n{color:var(--accent-2);border-color:var(--line-strong2)}.stab-intro{margin-bottom:22px}.stab-intro h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:6px 0}.stab-intro p{font-size:13.5px;color:var(--ink3);line-height:1.5;margin:0;max-width:60ch}.editor{flex:1 1;min-width:0;padding:26px 34px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.editor,.split-pane{display:flex;flex-direction:column}.split-pane{flex:1 1;min-height:0}.split-pane-top{flex:0 0 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.split-pane-bottom{flex:1 1 auto;min-height:0;overflow:auto}.split-handle{flex:none;position:relative;height:16px;margin:2px 0 10px;cursor:row-resize;touch-action:none;display:flex;align-items:center;justify-content:center}.split-handle:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line);transform:translateY(-50%)}.split-grip{position:relative;width:36px;height:4px;border-radius:3px;background:var(--line-strong2);transition:background .12s}.split-handle.dragging .split-grip,.split-handle:hover .split-grip{background:var(--accent-2)}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.legal{max-width:760px;margin:0 auto;padding:28px 22px 80px}.legal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:30px}.legal-back{font-weight:800;font-size:14px;color:var(--ink)}.legal-nav{display:flex;gap:16px}.legal-nav a{font-size:13px;color:var(--ink3)}.legal-nav a:hover{color:var(--ink)}.legal-h1{font-size:clamp(26px,4vw,34px);font-weight:800;letter-spacing:-.02em;margin:0 0 22px}.legal-todo{border:1px solid var(--record);border-radius:10px;background:rgba(255,90,90,.07);color:var(--ink);padding:12px 14px;font-size:13px;line-height:1.55;margin:0 0 26px}.legal-body{font-size:14.5px;line-height:1.7;color:var(--ink2)}.legal-body h2{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin:34px 0 10px}.legal-body h3{font-size:15.5px;margin:24px 0 8px}.legal-body h3,.legal-body h4{font-weight:700;color:var(--ink)}.legal-body h4{font-size:14px;margin:18px 0 6px}.legal-body p{margin:0 0 13px}.legal-body strong{color:var(--ink);font-weight:700}.legal-body ul{margin:0 0 15px;padding-left:20px}.legal-body li{margin:0 0 7px}.legal-body blockquote{margin:0 0 16px;padding:11px 15px;border-left:2px solid var(--accent);background:var(--surface-sunken);border-radius:0 8px 8px 0}.legal-body blockquote p:last-child{margin:0}.legal-body code{font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;background:var(--surface-sunken);padding:1px 5px;border-radius:5px;color:var(--ink)}.legal-body hr{border:0;border-top:1px solid var(--line);margin:28px 0}.legal-foot{justify-content:space-between;gap:16px;margin-top:44px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px}.legal-foot,.rail-legal{display:flex;align-items:center;color:var(--ink4)}.rail-legal{gap:7px;justify-content:center;margin-top:10px;font-size:11.5px}.rail-legal a{color:var(--ink4)}.rail-legal a:hover{color:var(--ink3)}.seg-opt.off{opacity:.42;cursor:not-allowed}.seg-opt.off:hover{color:var(--ink3)}