:root{--bg:#fbfbfa;--surface:#ffffff;--surface-2:#f6f6f4;--ink:#1d1c1a;--ink-2:#56544f;--ink-3:#8b8880;--line:#e9e8e4;--line-2:#dddcd6;--accent:#5b54e6;--accent-weak:#efeefc;--accent-ink:#3d37b5;--good:#1f9d6b;--good-weak:#e6f5ee;--warn:#c98a16;--warn-weak:#fbf2dd;--bad:#cf4b3f;--bad-weak:#fbeae8;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px rgba(20,18,15,.04),0 8px 30px rgba(20,18,15,.06);--shadow-lg:0 12px 50px rgba(20,18,15,.14);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--accent-weak)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.app{display:grid;grid-template-columns:236px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;gap:2px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}.brand .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#8a84f5);display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;box-shadow:0 4px 12px rgba(91,84,230,.35)}.brand .name{font-weight:650;letter-spacing:-.01em}.brand .sub{font-size:11px;color:var(--ink-3);font-weight:500}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600;padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;color:var(--ink-2);font-weight:500;font-size:13.5px;border:none;background:none;width:100%;text-align:left;transition:background .12s,color .12s}.nav-item:hover{background:#ededea;color:var(--ink)}.nav-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.nav-item .ic{width:17px;text-align:center;opacity:.8;font-size:15px}.nav-item .badge{margin-left:auto;font-size:10px;background:var(--accent-weak);color:var(--accent-ink);padding:1px 7px;border-radius:20px;font-weight:600}.nav-spacer{flex:1 1}.nav-foot{font-size:11px;color:var(--ink-3);padding:10px;border-top:1px solid var(--line);margin-top:8px}.nav-foot b{color:var(--ink-2);font-weight:600}.main{overflow-y:auto;position:relative}.view{display:none;animation:fade .35s ease}.view.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.wrap{max-width:1080px;margin:0 auto;padding:40px 44px 80px}.wrap.wide{max-width:1240px}h1{font-size:26px;letter-spacing:-.02em;margin:0 0 6px;font-weight:680}h2{font-size:17px;letter-spacing:-.01em;margin:0 0 2px}h2,h3{font-weight:650}h3{font-size:13.5px;margin:0}.lede{color:var(--ink-2);font-size:15px;margin:0 0 26px;max-width:62ch}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent-ink);font-weight:650;margin-bottom:10px}.muted{color:var(--ink-3)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:34px 0 14px}.section-head .link{font-size:12.5px;color:var(--accent-ink);font-weight:600;background:none;border:none}.section-head .link:hover{text-decoration:underline}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn,.card{background:var(--surface)}.btn{border:1px solid var(--line-2);color:var(--ink);padding:8px 15px;border-radius:9px;font-weight:600;font-size:13px;transition:.12s;display:inline-flex;align-items:center;gap:7px}.btn:hover{border-color:var(--ink-3);background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(91,84,230,.28)}.btn.primary:hover{background:#4a43d8;border-color:#4a43d8}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--bad);border-color:var(--bad-weak);background:var(--bad-weak)}.btn.danger:hover{background:#f8ddd9}.btn.sm{padding:5px 11px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:none}.dot.live{background:var(--good);box-shadow:0 0 0 0 rgba(31,157,107,.5);animation:pulse 1.8s infinite}.dot.warn{background:var(--warn)}.dot.idle{background:var(--ink-3)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,157,107,.5)}70%{box-shadow:0 0 0 7px rgba(31,157,107,0)}to{box-shadow:0 0 0 0 rgba(31,157,107,0)}}.badge-mat{font-size:10.5px;font-weight:650;padding:2px 8px;border-radius:6px;letter-spacing:.01em;white-space:nowrap}.mat-prototype{background:var(--warn-weak);color:var(--warn)}.mat-hardened{background:var(--accent-weak);color:var(--accent-ink)}.mat-battle{background:var(--good-weak);color:var(--good)}.grid{display:grid;grid-gap:14px;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}.home-hero{text-align:center;padding:30px 0 8px}.home-hero h1{font-size:30px}.composer{max-width:680px;margin:22px auto 0;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px 18px;transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-weak),var(--shadow-lg)}.composer textarea{width:100%;border:none;resize:none;outline:none;background:none;font-family:inherit;font-size:16px;color:var(--ink);line-height:1.5;min-height:30px}.composer .row{display:flex;align-items:center;gap:10px;margin-top:12px}.model-pick{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);border:1px solid var(--line-2);border-radius:8px;padding:5px 10px;background:var(--surface)}.model-pick:hover{background:var(--surface-2)}.composer .send{margin-left:auto;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:#fff;border:none;box-shadow:0 4px 14px rgba(91,84,230,.3)}.composer .send:hover{background:#4a43d8}.chips{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:18px auto 0}.chip{border:1px solid var(--line-2);background:var(--surface);border-radius:20px;padding:7px 15px;font-weight:600;font-size:13px;color:var(--ink-2);transition:.12s;display:inline-flex;align-items:center;gap:7px}.chip:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-weak)}.chip .ic{font-size:14px}.snap-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:14px;gap:14px;margin-top:40px}.snap-col{display:flex;flex-direction:column;gap:14px}.mini{padding:16px}.mini h3{margin-bottom:12px;display:flex;align-items:center;gap:8px}.mini h3 .count{margin-left:auto;font-size:11px;color:var(--ink-3);font-weight:600}.proj-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--line)}.proj-row:first-of-type{border-top:none}.proj-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:15px;background:var(--surface-2);flex:none}.proj-row .nm{font-weight:600;font-size:13px}.proj-row .meta{font-size:11.5px;color:var(--ink-3)}.proj-row .st{margin-left:auto;text-align:right}.bar{height:5px;background:var(--line);overflow:hidden;margin-top:5px;width:90px}.bar,.bar>i{border-radius:5px}.bar>i{display:block;height:100%;background:var(--accent);transition:width .8s}.feed{display:flex;flex-direction:column;gap:2px}.feed .it{display:flex;gap:9px;padding:7px 0;font-size:12.5px;border-top:1px solid var(--line);align-items:flex-start}.feed .it:first-child{border-top:none}.feed .it .ic{font-size:13px;margin-top:1px}.feed .it b{font-weight:650}.learn-it{background:var(--good-weak);border:1px solid #cdebde;border-radius:8px;padding:9px 11px;font-size:12.5px;display:flex;gap:8px;align-items:center}.idea-alert{background:linear-gradient(135deg,#fff,var(--accent-weak));border:1px solid #d8d5f7;border-radius:12px;padding:14px;position:relative;overflow:hidden}.idea-alert .glow{position:absolute;right:-30px;top:-30px;width:120px;height:120px;background:radial-gradient(circle,rgba(91,84,230,.18),transparent 70%);animation:pulse2 3s infinite}@keyframes pulse2{0%,to{opacity:.5}50%{opacity:1}}.idea-alert h3{gap:8px}.dropzone,.idea-alert h3{display:flex;align-items:center}.dropzone{margin-top:14px;border:1.5px dashed var(--line-2);border-radius:12px;padding:16px;gap:12px;background:var(--surface);transition:.15s}.dropzone:hover{border-color:var(--accent);background:var(--accent-weak)}.dropzone .ic{font-size:20px}.dropzone .t{font-weight:600;font-size:13px}.dropzone .s{font-size:12px;color:var(--ink-3)}.diff{font-family:var(--mono);font-size:12px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fcfcfb}.diff .dh{padding:7px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:8px}.diff .ln{padding:3px 12px;white-space:pre-wrap}.diff .add{background:var(--good-weak);color:#0f7a4f}.diff .add:before{content:"+ ";opacity:.6}.diff .ctx{color:var(--ink-2)}.diff .ctx:before{content:"  "}.scrim{position:fixed;inset:0;background:rgba(28,26,22,.32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;display:none;opacity:0;transition:opacity .2s}.scrim.show{display:block;opacity:1}.drawer{position:fixed;top:0;right:0;height:100vh;width:480px;max-width:92vw;background:var(--surface);z-index:50;box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.drawer.show{transform:none}.drawer .dhead{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px}.drawer .dbody{padding:22px;overflow-y:auto;flex:1 1}.drawer .x{margin-left:auto;border:none;background:var(--surface-2);width:30px;height:30px;border-radius:8px;color:var(--ink-2);font-size:15px}.drawer .x:hover{background:var(--line)}.kv{display:grid;grid-template-columns:120px 1fr;grid-gap:8px 14px;gap:8px 14px;font-size:13px;margin:14px 0}.kv dt{color:var(--ink-3);font-weight:500}.kv dd{margin:0;font-weight:550}.ver{border-left:2px solid var(--line);padding:0 0 0 16px;margin:8px 0}.ver .v{position:relative;padding:8px 0}.ver .v:before{content:"";position:absolute;left:-21px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--line-2)}.ver .v.now:before{background:var(--accent);border-color:var(--accent)}.steps{margin-bottom:26px;flex-wrap:wrap}.steps,.steps .s{display:flex;gap:8px;align-items:center}.steps .s{font-size:12.5px;color:var(--ink-3);font-weight:600}.steps .s .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--surface-2);border:1px solid var(--line-2)}.steps .s.on{color:var(--ink)}.steps .s.on .n{background:var(--accent);color:#fff;border-color:var(--accent)}.steps .s.done .n{background:var(--good);color:#fff;border-color:var(--good)}.steps .sep{width:24px;height:1px;background:var(--line-2)}.wstep{display:none}.wstep.on{display:block;animation:fade .3s}.type-card{padding:20px;cursor:pointer;transition:.15s;border:1px solid var(--line)}.type-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.type-card .ico{font-size:24px;margin-bottom:10px}.type-card h3{margin-bottom:4px}.type-card p{margin:0;font-size:12.5px;color:var(--ink-3)}.sugg{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.sugg-list .row{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--line)}.sugg-list .row:first-of-type{border-top:none}.sugg-list .row .nm{font-weight:600;font-size:13px}.sugg-list .row .mt{font-size:11.5px;color:var(--ink-3)}.sugg-list .row .add{margin-left:auto}.check{width:20px;height:20px;border-radius:6px;border:1px solid var(--line-2);display:grid;place-items:center;font-size:12px;color:#fff;background:var(--surface);flex:none;transition:.12s}.check.on{background:var(--good);border-color:var(--good)}.estimate{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:0;gap:0;text-align:center;margin:6px 0 18px}.estimate .e{padding:18px;border-right:1px solid var(--line)}.estimate .e:last-child{border-right:none}.estimate .e .big{font-size:24px;font-weight:700;letter-spacing:-.02em}.estimate .e .lbl{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.dial{margin-top:6px}.dial input[type=range]{width:100%;accent-color:var(--accent)}.dial-labels{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:4px}.dial-out{margin-top:12px;padding:12px 14px;background:var(--surface-2);border-radius:10px;font-size:13px}.plan-art{border:1px solid var(--line);border-radius:12px;overflow:hidden}.plan-art .ph{background:var(--surface-2);border-bottom:1px solid var(--line);font-weight:650;align-items:center;gap:9px}.plan-art .ph,.plan-step{padding:13px 16px;display:flex}.plan-step{gap:12px;border-top:1px solid var(--line);align-items:flex-start}.plan-step:first-child{border-top:none}.plan-step .n{width:22px;height:22px;border-radius:6px;background:var(--accent-weak);color:var(--accent-ink);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none;margin-top:1px}.plan-step .nm{font-weight:600;font-size:13.5px}.plan-step .tc{font-size:12px;color:var(--ink-3);margin-top:1px}.plan-step .tc code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:11px}.plan-step:hover{background:#fcfcfb}.build-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.build-top .title{font-weight:680;font-size:18px}.build-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-gap:16px;gap:16px;align-items:start}@media(max-width:980px){.build-grid{grid-template-columns:1fr}}.pipe{padding:6px}.pstep{border-radius:10px;margin:5px;border:1px solid transparent;transition:.15s}.pstep .hd{display:flex;align-items:center;gap:11px;padding:11px 12px;cursor:pointer}.pstep .st-ic{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:12px;flex:none;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.pstep.run .st-ic{background:var(--accent-weak);color:var(--accent);border-color:#d8d5f7}.pstep.done .st-ic{background:var(--good-weak);color:var(--good);border-color:#cdebde}.pstep .nm{font-weight:600;font-size:13.5px}.pstep .sub{font-size:11.5px;color:var(--ink-3)}.pstep.run{background:#faf9ff;border-color:#e7e5fb}.pstep .cost{margin-left:auto;font-family:var(--mono)}.pstep .chev,.pstep .cost{font-size:11px;color:var(--ink-3)}.pstep .chev{transition:transform .15s}.pstep.open .chev{transform:rotate(90deg)}.pstep .body{display:none;padding:0 12px 14px 47px;font-size:12.5px;color:var(--ink-2)}.pstep.open .body{display:block;animation:fade .2s}.pstep .body .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650;margin:10px 0 4px}.pstep .body pre{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--mono);font-size:11.5px;white-space:pre-wrap;margin:0;color:var(--ink-2)}.pstep .body .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.miniprog{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:8px}.miniprog>i{display:block;height:100%;width:0;background:var(--accent);border-radius:4px;transition:width .4s}.narrate{font-family:var(--mono);font-size:12px;color:var(--ink-2);background:#1d1c1a;color:#d7d5cf;border-radius:10px;padding:13px 15px;min-height:70px;line-height:1.6}.narrate .cur{display:inline-block;width:7px;height:14px;background:#8a84f5;vertical-align:-2px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.narrate .ts{color:#6f6d66}.kanban{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:4px}.lane{background:var(--surface-2);border-radius:10px;padding:9px;min-height:90px}.lane h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:650;margin:0 0 8px;display:flex;justify-content:space-between}.kcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 9px;font-size:11.5px;font-weight:600;margin-bottom:6px;box-shadow:var(--shadow);transition:.2s}.kcard .m{font-weight:500;color:var(--ink-3);font-size:10.5px;margin-top:2px}.timeline{gap:4px;margin:2px 0;flex-wrap:wrap}.ckpt,.timeline{display:flex;align-items:center}.ckpt{gap:6px;font-size:11.5px;color:var(--ink-2);border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:4px 10px;font-weight:600}.ckpt:hover{border-color:var(--accent);color:var(--accent-ink)}.ckpt .d{width:7px;height:7px;border-radius:50%;background:var(--good)}.preview-pane{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.preview-pane .pbar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}.preview-pane .pbar .d{width:9px;height:9px;border-radius:50%;background:var(--line-2)}.preview-pane .pbar .url{margin-left:8px;font-size:11px;color:var(--ink-3);font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:2px 9px}.preview-body{height:280px;position:relative;overflow:hidden;background:#fff}.fakeapp{position:absolute;inset:0;opacity:0;transition:opacity .6s;padding:0}.fakeapp.show{opacity:1}.fa-head{background:var(--accent);color:#fff;padding:12px 16px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.fa-head .lt{font-size:14px}.fa-head .rt{font-size:11px;opacity:.85;font-weight:500}.fa-body{padding:14px 16px}.fa-cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px;margin-top:8px}.fa-cal .cell{aspect-ratio:1.4;border-radius:6px;background:var(--surface-2);font-size:9px;color:var(--ink-3);display:grid;place-items:center;border:1px solid var(--line)}.fa-cal .cell.bk{background:var(--accent-weak);color:var(--accent-ink);font-weight:700;border-color:#d8d5f7}.fa-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.cursor-sim{position:absolute;width:18px;height:18px;z-index:5;transition:all .7s cubic-bezier(.4,0,.2,1);pointer-events:none}.cursor-sim svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.click-ring{position:absolute;width:26px;height:26px;border:2px solid var(--accent);border-radius:50%;opacity:0;z-index:4;transform:translate(-50%,-50%)}.click-ring.go{animation:ring .5s ease-out}@keyframes ring{0%{opacity:.9;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}.verify{margin-top:14px}.vcheck{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:7px;font-size:12.5px;background:var(--surface);opacity:.4;transition:.3s}.vcheck.on{opacity:1;border-color:#cdebde;background:var(--good-weak)}.vcheck .vi{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:#fff;font-size:11px;flex:none}.vcheck.on .vi{background:var(--good)}.vcheck .vt b{font-weight:650}.vcheck .vt .e{font-size:11px;color:var(--ink-3)}.salvage{margin-top:12px;border:1px solid var(--warn-weak);background:var(--warn-weak);border-radius:10px;padding:13px 15px;display:none}.salvage.show{display:block;animation:fade .3s}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{background:none;padding:9px 14px;font-weight:600;font-size:13.5px;color:var(--ink-3);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.on{color:var(--ink);border-color:var(--accent)}.tab .b{margin-left:6px;font-size:10px;background:var(--bad-weak);color:var(--bad);padding:1px 7px;border-radius:20px;font-weight:700}.tabpane{display:none}.tabpane.on{display:block;animation:fade .25s}.searchbar{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:10px;padding:8px 13px;margin-bottom:16px;background:var(--surface);max-width:360px}.searchbar input{border:none;outline:none;background:none;font-family:inherit;font-size:13.5px;width:100%}.part-card{padding:15px;cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:7px}.part-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.part-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.part-card .nm{font-weight:650;font-size:13.5px}.part-card .kind{font-size:11px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.part-card .desc{font-size:12.5px;color:var(--ink-2);line-height:1.45}.part-card .foot{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-3);margin-top:auto;padding-top:4px}.part-card .foot .u{gap:4px}.part-card .foot .u,.stage-row{display:flex;align-items:center}.stage-row{gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;margin-bottom:10px;background:var(--surface)}.stage-row .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--warn-weak);font-size:16px;flex:none}.stage-row .gr{flex:1 1}.stage-row .nm{font-weight:650;font-size:13.5px}.stage-row .mt{font-size:12px;color:var(--ink-3)}.layer{padding:18px;margin-bottom:14px;position:relative;overflow:hidden}.layer .lh{display:flex;align-items:center;gap:11px;margin-bottom:10px}.layer .li{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex:none}.layer .tag{margin-left:auto;font-size:11px;font-weight:650;padding:3px 10px;border-radius:20px}.layer.l1 .li,.layer.l1 .tag{background:var(--good-weak)}.layer.l1 .tag{color:var(--good)}.layer.l2 .li,.layer.l2 .tag{background:var(--accent-weak)}.layer.l2 .tag{color:var(--accent-ink)}.layer.l3 .li,.layer.l3 .tag{background:var(--warn-weak)}.layer.l3 .tag{color:var(--warn)}.chiplist{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.kchip{font-size:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 11px;color:var(--ink-2)}.kchip code{font-family:var(--mono);font-size:11px;color:var(--accent-ink)}.prlist .pr{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.prlist .pr:first-child{border-top:none}.prlist .pr .stt{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:6px}.st-proposed{background:var(--warn-weak);color:var(--warn)}.st-approved{background:var(--good-weak);color:var(--good)}.st-reverted{background:var(--bad-weak);color:var(--bad)}.prlist .pr .nm{font-weight:600;font-size:13px}.prlist .pr .mt{font-size:11.5px;color:var(--ink-3)}.idea-card{padding:16px;display:flex;flex-direction:column;gap:9px;transition:.15s}.idea-card:hover{box-shadow:var(--shadow-lg)}.idea-card .ico{font-size:22px}.idea-card h3{font-size:14px}.idea-card .desc{font-size:12.5px;color:var(--ink-2);line-height:1.45}.idea-card .foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--ink-3);margin-top:auto;padding-top:6px;border-top:1px solid var(--line)}.idea-card.awake{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-lg);background:linear-gradient(160deg,#fff,#faf9ff)}.idea-card.awake .ico{animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.research-box{background:var(--accent-weak);border-radius:9px;padding:10px 12px;font-size:12px;color:var(--accent-ink);line-height:1.5}.coheader{text-align:center;padding:8px 0 24px}.coheader .big{font-size:30px}.learn-card{padding:16px 18px;display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.learn-card .ico{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex:none}.learn-card.skill .ico{background:var(--accent-weak)}.learn-card.promote .ico{background:var(--good-weak)}.learn-card.fail .ico{background:var(--bad-weak)}.learn-card .gr{flex:1 1}.learn-card .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink-3);margin-bottom:3px}.learn-card h3{margin-bottom:4px}.learn-card p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}.learn-card .acts{display:flex;gap:7px;margin-top:11px}.learn-card.accepted{opacity:.7}.learn-card.accepted .acts{display:none}.accepted-tag{display:none;font-size:11.5px;font-weight:650;color:var(--good)}.learn-card.accepted .accepted-tag{display:inline-flex;align-items:center;gap:5px}.prose{max-width:720px}.prose h2{margin:34px 0 8px;font-size:18px}.prose h2:first-child{margin-top:0}.prose p{color:var(--ink-2);margin:0 0 12px;line-height:1.65}.prose .arch{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--surface);margin:14px 0 20px}.prose .arch .engine{border:1.5px solid var(--accent);border-radius:10px;padding:13px;background:var(--accent-weak)}.prose .arch .sockets{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:12px}.prose .arch .sock{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px;text-align:center;font-size:11.5px;font-weight:600}.prose code{background:var(--surface-2);padding:1px 6px;border-radius:5px;font-family:var(--mono);font-size:12px;color:var(--accent-ink)}.prose blockquote{border-left:3px solid var(--accent);margin:0 0 14px;padding:2px 0 2px 16px;color:var(--ink-2);font-style:italic}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;font-weight:550;box-shadow:var(--shadow-lg);z-index:80;opacity:0;transition:.25s;display:flex;align-items:center;gap:9px;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast .ic{color:#8a84f5}.track-pane{display:none}.track-pane.on{display:block}.type-card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ticker{font-family:var(--mono);font-size:11px;font-weight:600;background:var(--good-weak);color:var(--good);border:1px solid #cdebde;border-radius:20px;padding:3px 11px;white-space:nowrap}.schematic{padding:11px 14px}.sch-head{font-weight:650;font-size:12px;display:flex;justify-content:space-between;margin-bottom:2px}.sch-head span{color:var(--accent-ink);font-weight:600}.sch-svg{display:grid;place-items:center}.sch-cands{display:flex;gap:6px;justify-content:center;margin:6px 0 8px}.cand{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-3);transition:.2s}.cand.sel{background:var(--accent-weak);border-color:#d8d5f7;color:var(--accent-ink)}.sch-readout{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:6px;gap:6px}.sch-readout .ro{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center;font-size:10px;color:var(--ink-3)}.sch-readout .ro span:last-child{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-top:1px}.hiccup{margin-top:14px;border:1px solid var(--bad-weak);background:var(--bad-weak);border-radius:12px;padding:15px;display:none}.hiccup.show{display:block;animation:fade .3s}.attempt{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:4px 0}.attempt .x{color:var(--bad);font-weight:700}.hiccup .cap{font-size:12px;color:var(--ink-2);margin:10px 0;font-style:italic}.empty{text-align:center;color:var(--ink-3);padding:40px;font-size:13px}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;padding:10px 12px;gap:8px;border-right:none;border-bottom:1px solid var(--line)}.brand{padding:0 6px 0 0;flex:none}.brand .sub,.nav-foot,.nav-label,.nav-spacer{display:none}.nav-item{width:auto;flex:none;white-space:nowrap;padding:7px 11px}.nav-item .badge{margin-left:6px}.wrap{padding:22px 16px 64px}.home-hero{padding:14px 0 4px}.home-hero h1{font-size:24px}.composer{padding:14px}.estimate,.g2,.g3,.g4,.snap-grid,.sugg{grid-template-columns:1fr}.estimate .e{border-right:none;border-bottom:1px solid var(--line)}.estimate .e:last-child{border-bottom:none}.build-grid{grid-template-columns:1fr}.build-top{gap:8px}.kanban{grid-template-columns:repeat(2,1fr)}.drawer{width:100vw;max-width:100vw}}