:root{--bg: #0c0a09;--bg2: #12100e;--panel: #18140f;--panel2: #201b16;--panel3: #29221c;--line: #2c2520;--line2: #3a3029;--text: #f4ede6;--muted: #a69889;--dim: #6e6359;--ember: #ff6a2b;--ember2: #ffb15c;--ember-soft: rgba(255, 106, 43, .14);--molten: linear-gradient(90deg, #ff4d1a, #ff8a3d 45%, #ffc46b);--ok: #5ee08f;--err: #ff6b6b;--radius: 12px;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}a{color:inherit}code,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.muted{color:var(--muted)}.error-text{color:var(--err)}::selection{background:#ff6a2b59}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:10px;border:0;cursor:pointer;background:var(--molten);color:#1a0d05;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 1px #ff8c3c66 inset,0 6px 20px -8px #ff6a2b99;transition:transform .15s,box-shadow .2s,filter .2s}.btn:hover{filter:brightness(1.06);box-shadow:0 0 0 1px #ffaa5a99 inset,0 8px 28px -8px #ff6a2bcc}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;filter:grayscale(.4)}.btn.sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn.lg{height:48px;padding:0 22px;font-size:16px;border-radius:12px}.btn-ghost{background:transparent;color:var(--text);box-shadow:0 0 0 1px var(--line2) inset;font-weight:600}.btn-ghost:hover{background:var(--panel2);box-shadow:0 0 0 1px var(--dim) inset}.btn.danger{background:#e5484d;color:#fff;box-shadow:none}.btn.glow{animation:glow 2.2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 1px #ffbe6ecc inset,0 0 38px -4px #ff6a2be6}}.plain{background:none;border:0;padding:0;cursor:pointer;color:inherit}.link{background:none;border:0;padding:0;color:var(--ember2);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:13px}.icon-btn{background:none;border:0;width:28px;height:28px;border-radius:7px;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center}.icon-btn:hover{background:var(--panel3);color:var(--text)}input:not([type]),input[type=text],textarea,select{width:100%;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}textarea{resize:vertical}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:12.5px;color:var(--muted)}.eyebrow{margin:0 0 6px;font:600 11.5px/1 var(--mono);letter-spacing:.18em;color:var(--ember2)}.boot{height:100%;display:grid;place-content:center;justify-items:center;gap:16px;color:var(--muted)}.forge-mark.pulse{animation:markpulse 1.4s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,106,43,.5))}@keyframes markpulse{50%{transform:scale(.9);opacity:.6;filter:drop-shadow(0 0 22px rgba(255,106,43,.9))}}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:17px;letter-spacing:-.02em}.landing{position:relative;min-height:100%;overflow-x:hidden;background:radial-gradient(1200px 600px at 50% -10%,rgba(255,106,43,.16),transparent 60%),radial-gradient(800px 500px at 85% 40%,rgba(255,170,90,.06),transparent 60%),var(--bg)}.landing-embers{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.landing>*:not(canvas){position:relative;z-index:1}.landing-top{max-width:1160px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.landing-top nav{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--muted)}.landing-top nav a:not(.btn){text-decoration:none}.landing-top nav a:not(.btn):hover{color:var(--text)}.hero{max-width:980px;margin:0 auto;padding:72px 24px 40px;text-align:center}.hero h1{margin:0;font-size:clamp(34px,6vw,64px);line-height:1.12;letter-spacing:-.035em;font-weight:800}.molten{background:var(--molten);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 30px rgba(255,106,43,.35))}.lede{max-width:680px;margin:22px auto 0;color:var(--muted);font-size:17px}.lede b{color:var(--text)}.hero-cta{margin-top:32px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pipeline{max-width:1160px;margin:40px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pipe-step{position:relative;padding:18px 16px;border-radius:var(--radius);background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);opacity:0;animation:rise .6s ease forwards}.pipe-step:after{content:"";position:absolute;top:28px;right:-12px;width:12px;height:1px;background:linear-gradient(90deg,var(--ember),transparent)}.pipe-step:last-child:after{display:none}.pipe-no{font:700 12px var(--mono);color:var(--ember)}.pipe-step h3{margin:6px 0;font-size:16px}.pipe-step p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.how{max-width:1160px;margin:96px auto 0;padding:0 24px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.how-diagram{display:flex;align-items:center;gap:0}.how-diagram .node{flex:0 0 auto;padding:16px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line2);display:grid;gap:2px;min-width:128px}.how-diagram .node b{font-size:15px}.how-diagram .node span{font-size:12px;color:var(--muted)}.how-diagram .node.ai{border-color:#ff6a2b80;box-shadow:0 0 40px -12px #ff6a2b99}.wire{flex:1;height:2px;background:var(--line2);position:relative;overflow:hidden;min-width:24px}.wire i{position:absolute;inset:0;width:40%;background:var(--molten);animation:flow 1.8s linear infinite}@keyframes flow{0%{transform:translate(-100%)}to{transform:translate(260%)}}.how-points{display:grid;gap:22px}.how-points h4{margin:0 0 4px;font-size:16px}.how-points p{margin:0;color:var(--muted);font-size:14px}.connect-section{max-width:760px;margin:96px auto 0;padding:0 24px 40px;scroll-margin-top:24px}.landing-foot{max-width:1160px;margin:40px auto 0;padding:28px 24px 40px;display:flex;justify-content:space-between;color:var(--dim);font-size:13px;border-top:1px solid var(--line)}.connect-card{position:relative;padding:28px;border-radius:20px;background:linear-gradient(180deg,#201b16eb,#14110eeb);border:1px solid var(--line2);box-shadow:0 40px 120px -40px #ff6a2b59,0 0 0 1px #ffffff05 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.connect-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a, 0deg),transparent 0 70%,rgba(255,140,60,.9) 80%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}.connect-card.step-waiting:before,.connect-card.step-handshake:before,.connect-card.step-detected:before{opacity:1;animation:spin 3s linear infinite}.connect-card.step-handshake:before,.connect-card.step-detected:before{animation-duration:1.2s}.connect-card.is-paired,.connect-card.step-paired{border-color:#ff8c3c8c}@property --a{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes spin{to{--a: 360deg}}.connect-head{display:flex;gap:20px;align-items:center}.connect-head h2{margin:0;font-size:24px;letter-spacing:-.02em}.connect-head p.muted{margin:4px 0 0;font-size:14px}.core{flex:0 0 auto;width:64px;height:64px;border-radius:50%;position:relative;background:radial-gradient(circle at 50% 55%,#3a2a20,#1a1310 70%);box-shadow:0 0 0 1px var(--line2) inset}.core i{position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent;border-top-color:#ff8c3cb3;animation:corespin 2.4s linear infinite}.core i:nth-child(2){inset:8px;border-top-color:transparent;border-left-color:#ffbe6e99;animation-duration:1.7s;animation-direction:reverse}.core i:nth-child(3){inset:20px;border:0;background:radial-gradient(circle,#ffc46b,#ff6a2b 55%,transparent 72%);opacity:.35;animation:corebeat 1.6s ease-in-out infinite}.core.hot i{animation-duration:.9s}.core.hot i:nth-child(3){opacity:.8;animation-duration:.7s}.core.lit{box-shadow:0 0 0 1px #ff8c3c99 inset,0 0 40px #ff6a2bb3,0 0 90px #ff6a2b59}.core.lit i:nth-child(1),.core.lit i:nth-child(2){border-color:#ffaa5a59;animation-duration:6s}.core.lit i:nth-child(3){inset:12px;opacity:1;animation:none;box-shadow:0 0 24px #ff8a3d}@keyframes corespin{to{transform:rotate(360deg)}}@keyframes corebeat{50%{transform:scale(.75);opacity:.15}}.prereq{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.os-tabs{display:inline-flex;padding:3px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);margin-bottom:10px}.os-tabs button{background:none;border:0;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--muted)}.os-tabs button.on{background:var(--panel3);color:var(--text)}.cmd{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:12px;background:#0a0807;border:1px solid var(--line2)}.cmd code{flex:1;font-size:12.5px;color:#ffd9b8;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.cmd.loading code{color:var(--dim)}.code-row{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:13px;flex-wrap:wrap}.code-chars{display:inline-flex;gap:4px}.code-chars b{display:inline-grid;place-items:center;width:28px;height:34px;border-radius:7px;background:var(--panel3);border:1px solid var(--line2);font:700 17px var(--mono);color:var(--ember2);animation:rise .4s ease backwards}.timeline{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}.timeline li{position:relative;display:grid;grid-template-columns:22px 1fr auto;column-gap:12px;align-items:center;padding:9px 0;color:var(--dim);transition:color .3s}.timeline li:before{content:"";position:absolute;left:10px;top:28px;bottom:-10px;width:2px;background:var(--line)}.timeline li:last-child:before{display:none}.timeline li.done:before{background:linear-gradient(180deg,var(--ember),var(--line))}.timeline .dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line2);background:var(--bg2);position:relative;z-index:1;display:grid;place-items:center;transition:all .3s}.timeline li.active{color:var(--text)}.timeline li.active .dot{border-color:var(--ember);box-shadow:0 0 0 4px var(--ember-soft),0 0 18px #ff6a2b99}.timeline li.active .dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember2);animation:corebeat 1s ease-in-out infinite}.timeline li.done{color:var(--text)}.timeline li.done .dot{border-color:var(--ember);background:var(--ember)}.timeline li.done .dot:after{content:"✓";font-size:12px;font-weight:900;color:#1a0d05}.timeline li.fail .dot{border-color:var(--err)}.timeline li.fail .dot:after{content:"!";color:var(--err);font-weight:900;font-size:12px}.timeline .label{font-weight:600}.timeline .time{font:12px var(--mono);color:var(--muted)}.timeline .sub{grid-column:2 / -1;font-size:12.5px;color:var(--muted)}.providers{list-style:none;margin:8px 0 2px;padding:0;display:grid;gap:6px;grid-column:2 / -1}.providers li{display:grid;grid-template-columns:28px auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}.providers.reveal li{animation:rise .45s cubic-bezier(.2,.9,.3,1.2) backwards}.providers li.ok{border-color:#ff8c3c59}.providers li.off{opacity:.55}.pv-icon{width:26px;height:26px;border-radius:7px;display:inline-grid;place-items:center;font-size:15px;font-weight:900}.pv-icon.claude{background:#d97757;color:#fff3ec}.pv-icon.codex{background:#e9e9e9;color:#111}.pv-name{font-weight:700}.pv-meta{font-size:12px;color:var(--muted)}.pv-state{color:var(--ok);font-weight:900}.connect-card .providers{margin-top:20px}.connect-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.notice{margin-top:16px;padding:12px 14px;border-radius:10px;background:#ffb15c14;border:1px solid rgba(255,177,92,.25);font-size:13.5px;color:#f3d2ae}.notice code{color:var(--ember2)}.notice.error{background:#ff6b6b14;border-color:#ff6b6b4d;color:#ffc9c9}.app-shell{height:100%;display:grid;grid-template-columns:248px 1fr}.sidebar{border-right:1px solid var(--line);background:var(--bg2);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.sb-head{padding:16px 16px 10px}.sb-nav{display:grid;gap:2px;padding:4px 8px}.sb-nav button{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:none;border:0;cursor:pointer;text-align:left;color:var(--muted);font-size:14px}.sb-nav button:hover{background:var(--panel2);color:var(--text)}.sb-nav button.on{background:var(--panel3);color:var(--text)}.count{margin-left:auto;font:11.5px var(--mono);color:var(--dim)}.sb-section{display:flex;align-items:center;justify-content:space-between;padding:18px 14px 6px 18px;font:600 11px var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase}.sb-empty{padding:4px 18px;font-size:12.5px;color:var(--dim)}.tree{padding:0 8px 16px}.tree-row{display:flex;align-items:center;gap:4px;height:32px;padding-right:4px;border-radius:8px;cursor:pointer;color:var(--muted);font-size:14px}.tree-row:hover{background:var(--panel2);color:var(--text)}.tree-row.on{background:var(--panel3);color:var(--text)}.tree-row.drop{background:var(--ember-soft);box-shadow:0 0 0 1px var(--ember) inset}.tree-row .more{opacity:0}.tree-row:hover .more{opacity:1}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caret{width:18px;height:18px;border:0;background:none;color:var(--dim);cursor:pointer;transition:transform .15s;font-size:11px;padding:0}.caret.open{transform:rotate(90deg)}.caret.none{visibility:hidden}.main{min-width:0;overflow-y:auto;padding:0 28px 40px}.main-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 16px;background:linear-gradient(var(--bg) 70%,transparent)}.main-top h1{margin:0;font-size:22px;letter-spacing:-.02em}.crumbs .sep{margin:0 8px;color:var(--dim);font-weight:400}.main-actions{display:flex;align-items:center;gap:10px}.search{width:220px!important;height:38px;padding:0 12px!important}.folder-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.folder-chip{padding:8px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--line);cursor:pointer;font-size:14px}.folder-chip:hover{border-color:var(--line2);background:var(--panel2)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.card{border-radius:14px;background:var(--panel);border:1px solid var(--line);overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .2s}.card:hover{transform:translateY(-2px);border-color:var(--line2);box-shadow:0 18px 40px -20px #000c,0 0 0 1px #ff8c3c26}.card.skeleton{height:236px;cursor:default;background:linear-gradient(100deg,var(--panel) 40%,var(--panel2) 50%,var(--panel) 60%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.thumb{position:relative;height:140px;background:radial-gradient(120px 90px at 30% 30%,hsla(var(--h),70%,55%,.35),transparent 70%),radial-gradient(160px 120px at 80% 90%,hsla(calc(var(--h) + 40),80%,50%,.25),transparent 70%),linear-gradient(135deg,#1d1814,#15110e);border-bottom:1px solid var(--line);overflow:hidden}.thumb-title{position:absolute;right:14px;bottom:6px;font-size:54px;font-weight:900;letter-spacing:-.06em;color:#ffffff12}.thumb-stages{position:absolute;left:14px;top:14px;display:flex;gap:4px}.thumb-stages i{width:18px;height:4px;border-radius:2px;background:#ffffff1f}.thumb-stages i.on{background:var(--molten);box-shadow:0 0 8px #ff6a2b99}.card-body{padding:12px 14px 14px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.card h3{margin:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-desc{margin:4px 0 10px;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.card-meta{display:flex;align-items:center;gap:10px;font-size:12px}.card-meta .right{margin-left:auto}.stage-tag{padding:2px 8px;border-radius:999px;background:var(--ember-soft);color:var(--ember2);font-weight:600}.empty{margin:80px auto;max-width:420px;text-align:center}.empty h2{margin:18px 0 6px;font-size:20px}.empty .btn{margin-top:18px}.empty-art{width:88px;height:88px;margin:0 auto;border-radius:22px;background:radial-gradient(circle at 50% 65%,rgba(255,106,43,.5),transparent 60%),var(--panel2);border:1px solid var(--line2);position:relative}.empty-art:after{content:"";position:absolute;left:50%;top:50%;width:30px;height:26px;transform:translate(-50%,-60%);background:var(--molten);clip-path:polygon(50% 0,100% 100%,0 100%)}.menu{position:fixed;z-index:50;min-width:160px;padding:5px;border-radius:10px;background:var(--panel2);border:1px solid var(--line2);box-shadow:0 16px 40px #0000008c;display:grid}.menu button{text-align:left;background:none;border:0;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13.5px}.menu button:hover{background:var(--panel3)}.menu button.danger{color:var(--err)}.modal-back{position:fixed;inset:0;z-index:60;background:#050403a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fade .15s ease}.modal{max-width:100%;border-radius:16px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 40px 100px #0009;animation:pop .2s cubic-bezier(.2,.9,.3,1.2)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 6px}.modal-head h3{margin:0;font-size:17px}.modal-body{padding:8px 18px 4px}.modal-body p{margin:0 0 8px;color:var(--muted)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 18px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.form{display:grid;gap:14px}.form label{display:grid;gap:6px}.form label>span{font-size:13px;font-weight:600;color:var(--muted)}.req,.opt{font-style:normal;font-size:11px;margin-left:6px;padding:1px 6px;border-radius:5px}.req{background:var(--ember-soft);color:var(--ember2)}.opt{background:var(--panel3);color:var(--dim)}.agent-pill-wrap{position:relative}.agent-pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);cursor:pointer;font-size:13px;white-space:nowrap}.agent-pill .led{width:8px;height:8px;border-radius:50%;background:var(--dim)}.agent-pill.on .led{background:var(--ok);box-shadow:0 0 10px var(--ok)}.agent-pill.off{border-color:#ff6b6b66;color:#ffc9c9}.agent-pill.off .led{background:var(--err);animation:corebeat 1.2s infinite}.agent-pill.loading .led{animation:corebeat 1s infinite}.pop{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:300px;padding:14px;border-radius:12px;background:var(--panel2);border:1px solid var(--line2);box-shadow:0 20px 50px #0009;font-size:13px}.pop p{margin:0 0 6px}.pop-title{font-weight:700}.pop-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.pop-code{display:block;margin:8px 0;padding:8px 10px;border-radius:8px;background:#0a0807;color:#ffd9b8;font-size:12px}.project-shell{height:100%;display:flex;flex-direction:column}.project-top{display:flex;align-items:center;gap:16px;height:56px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg2)}.back{display:grid;place-items:center;width:34px;height:34px;border-radius:9px}.back:hover{background:var(--panel2)}.project-title{min-width:120px;max-width:280px;font-weight:700}.project-title button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.project-title input{height:34px;padding:0 10px}.stepper{flex:1;display:flex;justify-content:center;gap:4px;min-width:0}.step{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:9px;border:0;background:none;color:var(--dim);cursor:pointer;font-size:13.5px;white-space:nowrap;position:relative}.step:hover{background:var(--panel2);color:var(--muted)}.step.on{background:var(--panel3);color:var(--text)}.step-no{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font:700 11px var(--mono);border:1.5px solid currentColor}.step.current .step-no{border-color:var(--ember);color:var(--ember2);box-shadow:0 0 10px #ff6a2b80}.step.done .step-no{background:var(--ember);border-color:var(--ember);color:#1a0d05}.project-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 400px}.stage{overflow-y:auto;padding:32px clamp(20px,4vw,56px)}.stage-head h2{margin:0 0 20px;font-size:26px;letter-spacing:-.02em}.stage-card{position:relative;max-width:760px;padding:22px;border-radius:16px;background:var(--panel);border:1px solid var(--line);margin-bottom:16px}.stage-card h4{margin:0 0 4px;font-size:15px}.stage-card>p{margin:0 0 14px;font-size:13.5px}.device-pick{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px}.device-pick button{display:grid;justify-items:start;gap:4px;padding:16px;border-radius:12px;background:var(--bg2);border:1px solid var(--line2);cursor:pointer;text-align:left;transition:all .15s}.device-pick button.on{border-color:var(--ember);background:var(--ember-soft);box-shadow:0 0 0 3px #ff6a2b1a}.device-pick .muted{font-size:12px}.dev-icon{display:block;border:2px solid currentColor;border-radius:4px;margin-bottom:8px;color:var(--muted)}.dev-icon.pc{width:34px;height:22px}.dev-icon.mobile{width:16px;height:26px;border-radius:4px}.device-pick button.on .dev-icon{color:var(--ember2)}.stage-card.soon{border-style:dashed;background:transparent}.soon-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--panel3);color:var(--muted);font:600 11px var(--mono);letter-spacing:.1em}.soon-list{margin:14px 0 0;padding-left:18px;color:var(--muted);display:grid;gap:6px;font-size:14px}.chat{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--bg2)}.chat-head{padding:12px 14px;border-bottom:1px solid var(--line)}.chat-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-pick label{display:grid;gap:4px}.chat-pick span{font:600 10.5px var(--mono);letter-spacing:.12em;color:var(--dim);text-transform:uppercase}.chat-pick select{height:34px;padding:0 10px;font-size:13px}.chat-warn{margin:8px 0 0;font-size:12.5px;color:#ffc9c9}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:14px}.chat-intro{padding:14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:14px}.msg.user{align-self:flex-end;max-width:88%}.msg.user .bubble{padding:9px 13px;border-radius:14px 14px 4px;background:var(--panel3);white-space:pre-wrap;word-break:break-word;font-size:14px}.msg.assistant{display:grid;gap:8px}.md{font-size:14px;line-height:1.65;word-break:break-word}.md p{margin:0}.md .md-h{font-weight:700;margin-top:6px}.md .md-gap{height:8px}.md ul,.md ol{margin:2px 0;padding-left:20px}.md blockquote{margin:4px 0;padding:2px 0 2px 10px;border-left:2px solid var(--ember);color:var(--muted)}.md hr{border:0;height:1px;background:var(--line2);margin:10px 0}.md code{padding:1px 5px;border-radius:5px;background:var(--panel3);font-size:12.5px}.md strong{color:#fff}.answer.streaming>:last-child:after{content:"";display:inline-block;width:7px;height:15px;margin-left:2px;vertical-align:-2px;background:var(--ember2);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.suggest{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}.suggest button{padding:6px 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line2);cursor:pointer;font-size:12.5px;color:var(--muted)}.suggest button:hover{border-color:var(--ember);color:var(--text)}.composer{display:flex;gap:8px;align-items:flex-end;padding:12px 14px 14px;border-top:1px solid var(--line)}.composer textarea{resize:none;font-size:14px}.composer .btn{height:42px}.turn-card{position:relative;padding:14px 14px 12px;border-radius:14px;background:linear-gradient(180deg,#1d1813,#15110e);border:1px solid var(--line2);overflow:hidden}.turn-card:before{content:"";position:absolute;inset:0;background:radial-gradient(300px 80px at var(--x, 50%) 0%,rgba(255,106,43,.18),transparent 70%);animation:sweep 3s ease-in-out infinite;pointer-events:none}.turn-card.failed{border-color:#ff6b6b66}.turn-card.failed:before,.turn-card.cancelled:before{display:none}@property --x{syntax: "<percentage>"; inherits: false; initial-value: 50%;}@keyframes sweep{0%{--x: 10%}50%{--x: 90%}to{--x: 10%}}.turn-top{position:relative;display:flex;align-items:center;gap:8px;font-size:13px}.turn-top .pv-icon{width:22px;height:22px;font-size:13px;border-radius:6px}.turn-who{color:var(--muted)}.turn-who b{color:var(--text)}.turn-clock{margin-left:auto;font-size:18px;font-weight:700;color:var(--ember2);text-shadow:0 0 16px rgba(255,106,43,.5)}.rail{position:relative;height:54px;margin:12px 4px 4px}.rail:before{content:"";position:absolute;left:10%;right:10%;top:10px;height:2px;background:var(--line2);border-radius:2px}.rail-fill{position:absolute;left:10%;right:10%;top:10px;height:2px;background:var(--molten);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 10px #ff6a2bcc}.rail-node{position:absolute;top:0;transform:translate(-50%);display:grid;justify-items:center;gap:4px;width:70px}.rail-node i{width:22px;height:22px;border-radius:50%;background:var(--bg2);border:2px solid var(--line2);position:relative;transition:all .3s}.rail-node.active i{border-color:var(--ember);box-shadow:0 0 0 4px var(--ember-soft),0 0 20px #ff6a2bcc}.rail-node.active i:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ember2);animation:corebeat .9s ease-in-out infinite}.rail-node.done i{background:var(--ember);border-color:var(--ember)}.rail-node.done i:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:900;color:#1a0d05}.rail-node.fail i{border-color:var(--err)}.rail-node.fail i:after{content:"!";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:900;color:var(--err)}.rail-label{font-size:11px;color:var(--dim);white-space:nowrap}.rail-node.active .rail-label,.rail-node.done .rail-label{color:var(--text)}.rail-time{font-size:10px;color:var(--muted);min-height:13px}.turn-live{position:relative;font-size:13px;color:var(--muted);min-height:20px}.turn-live b{color:var(--ember2);font-weight:600}.turn-note{position:relative;margin:6px 0 0;font-size:12px;color:var(--dim)}.turn-hint{position:relative;margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#ff6b6b14;font-size:12.5px;color:#ffc9c9}.turn-summary{font-size:11.5px;color:var(--dim)}@media(max-width:1080px){.pipeline{grid-template-columns:repeat(2,1fr)}.pipe-step:after{display:none}.how{grid-template-columns:1fr}.project-body{grid-template-columns:1fr 340px}.step-label{display:none}.step.on .step-label{display:inline}}@media(max-width:760px){.landing-top nav a:not(.btn){display:none}.hero{padding-top:40px}.pipeline{grid-template-columns:1fr}.how-diagram{flex-direction:column;align-items:stretch}.wire{height:18px;width:2px;margin:0 auto;min-width:0}.connect-card{padding:20px 16px}.connect-head{align-items:flex-start}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 16px 32px}.main-top{flex-wrap:wrap}.search{width:100%!important}.project-body{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}.chat{border-left:0;border-top:1px solid var(--line);min-height:70vh}.stepper{justify-content:flex-start;overflow-x:auto}.project-title{max-width:140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.stage{padding:28px clamp(18px,3vw,44px) 60px}.stage-body{max-width:1180px;display:grid;gap:16px}.stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:2px}.stage-head h2{margin:0;font-size:26px;letter-spacing:-.02em}.stage-desc{margin:6px 0 0;font-size:14px;max-width:640px}.stage-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stage-card{max-width:none;margin-bottom:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.card-head h4{margin:0;font-size:15.5px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-end{display:flex;justify-content:flex-end;margin-top:12px}.small{font-size:12.5px}.ok-text{color:var(--ok)}.notice.stale{background:#78b4ff12;border-color:#78b4ff4d;color:#cfe2ff}.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--ember)}.tag{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--panel3);color:var(--muted);white-space:nowrap}.tag.rec{background:var(--ember-soft);color:var(--ember2)}.tag.ok,.tag.src-확정{background:#5ee08f1f;color:var(--ok)}.tag.src-추천{background:var(--ember-soft);color:var(--ember2)}.tag.src-가정{background:#ffc4001f;color:#ffd666}.tag.src-문서{background:#78b4ff1f;color:#9cc7ff}.seg{display:inline-flex;padding:3px;border-radius:11px;background:var(--bg2);border:1px solid var(--line);width:fit-content}.seg button{background:none;border:0;padding:7px 14px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--muted)}.seg button.on{background:var(--panel3);color:var(--text)}.seg button:disabled{opacity:.4;cursor:default}.seg.sm button{padding:4px 10px;font-size:12.5px}.sticky-actions{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 16px;border-radius:14px;background:#18140feb;border:1px solid var(--line2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -10px 30px #00000059}.sticky-actions .muted{margin-right:auto}.dl{position:relative}.dl-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:190px;padding:5px;border-radius:10px;background:var(--panel2);border:1px solid var(--line2);box-shadow:0 16px 40px #00000080;display:grid}.dl-menu button{text-align:left;background:none;border:0;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px}.dl-menu button:hover{background:var(--panel3)}.dl-ver{margin-bottom:4px;padding:6px 8px!important;font-size:12.5px}a.btn{text-decoration:none}.drop{display:grid;justify-items:center;gap:4px;padding:26px;border-radius:14px;border:1.5px dashed var(--line2);background:var(--bg2);cursor:pointer;transition:all .15s;text-align:center}.drop:hover,.drop.over{border-color:var(--ember);background:var(--ember-soft)}.src-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.src-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto 28px;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);font-size:13.5px}.src-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief{display:grid;gap:6px;margin-top:14px}.brief>span{font-size:13px;font-weight:600;color:var(--muted)}.summary{margin:0 0 12px;padding:10px 12px;border-left:2px solid var(--ember);background:var(--bg2);border-radius:0 8px 8px 0;font-size:14px;color:var(--muted)}.qs{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}.q{display:grid;gap:8px;padding:14px;border-radius:12px;background:var(--bg2);border:1px solid var(--line)}.q.answered{border-color:#ff8c3c4d}.q-h{display:flex;align-items:baseline;gap:8px}.q-h code{font-size:11px;color:var(--dim)}.q-h b{flex:1;font-size:14px}.q p{margin:0}.q input,.q textarea{font-size:13.5px;padding:8px 10px}.opts{display:flex;flex-wrap:wrap;gap:6px}.opts button{padding:6px 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line2);cursor:pointer;font-size:13px;color:var(--muted)}.opts button.on{border-color:var(--ember);background:var(--ember-soft);color:var(--text)}.q-rec{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.q-rec b{color:var(--text);font-weight:600}.q-rec .link{white-space:nowrap;flex:0 0 auto}.req-table{display:grid;gap:4px;overflow-x:auto}.rt-head,.rt-row{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(200px,1.5fr) minmax(200px,1.4fr) 82px 52px 30px;gap:6px;align-items:start;min-width:980px}.rt-head{font:600 11px var(--mono);letter-spacing:.08em;color:var(--dim);padding:0 4px 4px}.rt-row{padding:6px 4px;border-top:1px solid var(--line)}.rt-row input,.rt-row textarea,.rt-row select{padding:6px 8px;font-size:13px;border-radius:7px}.rt-row textarea{resize:vertical;min-height:36px}.rt-row small{display:block;margin-top:3px;font-size:11px}.rt-row span:nth-child(1) input{font-family:var(--mono);font-size:12px}.doc-card{padding:0;overflow:hidden}.doc-card .card-head{padding:16px 18px 0}.doc-frame{height:70vh;border-top:1px solid var(--line)}.preview-wrap{position:relative;overflow:hidden;background:#fff}.preview-wrap iframe{display:block;border:0;width:100%;height:100%;background:#fff}.presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.preset{display:grid;gap:8px;padding:10px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);cursor:pointer;text-align:left;transition:all .15s}.preset:hover{border-color:var(--line2);transform:translateY(-1px)}.preset.on{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}.preset.rec{background:linear-gradient(180deg,rgba(255,106,43,.08),var(--bg2))}.preset-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.preset p{margin:0;line-height:1.5}.sw-card{overflow:hidden;border:1px solid rgba(0,0,0,.15);height:96px;display:grid;grid-template-rows:34px 1fr}.sw-bar{display:flex;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:700}.sw-bar i{width:12px;height:12px;border-radius:4px}.sw-body{display:flex;align-items:center;justify-content:space-between;padding:0 10px}.sw-btn{font-size:12px;font-weight:700;padding:5px 12px}.sw-dots{display:flex;gap:4px}.sw-dots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.ai-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end}.file-btn{cursor:pointer}.ed-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px}.ed{display:grid;gap:10px;align-content:start}.ed-name{display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.ed-sec{font:600 11px var(--mono);letter-spacing:.12em;color:var(--dim);margin-top:6px;text-transform:uppercase}.colors{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.color{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:5px 8px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);font-size:12.5px;cursor:pointer}.color input{width:28px;height:24px;padding:0;border:0;background:none;cursor:pointer}.color code{font-size:11px;color:var(--dim)}.ed-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ed-2 label{display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.ed-2 select{padding:7px 9px;font-size:13px}.ed-2 input[type=range]{accent-color:var(--ember)}.live-prev{width:100%;height:560px;border:1px solid var(--line2);border-radius:12px;background:#fff}.ia-ed{display:grid;gap:2px;overflow-x:auto}.ia-head,.ia-row{display:grid;grid-template-columns:24px 96px minmax(130px,1fr) minmax(130px,1fr) 92px 78px minmax(140px,1.4fr) 28px 28px;gap:6px;align-items:center;min-width:900px}.ia-head{font:600 11px var(--mono);letter-spacing:.08em;color:var(--dim);padding:0 8px 4px}.ia-head span:first-child{text-align:center}.ia-row{padding:4px 8px;border-radius:8px}.ia-row:hover{background:var(--bg2)}.ia-row code{font-size:11.5px;color:var(--ember2)}.ia-row input:not([type=checkbox]),.ia-row select{padding:5px 8px;font-size:13px;border-radius:7px}.ia-row input[type=checkbox]{accent-color:var(--ember);width:16px;height:16px}.ia-row.t-메뉴그룹 .ia-name{font-weight:700}.ia-path{font-size:12px!important}.ia-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keys{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.key-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;background:var(--ember-soft);border:1px solid rgba(255,140,60,.3);font-size:13px}.key-chip code{font-size:11px;color:var(--ember2)}.key-chip em{font-style:normal;color:var(--muted);font-size:12px}.key-chip.muted-chip{background:var(--bg2);border-color:var(--line)}.key-chip.muted-chip code{color:var(--dim)}.viewer{padding:14px}.viewer-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.v-list{display:grid;gap:2px;align-content:start;max-height:76vh;overflow-y:auto}.v-list button{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;text-align:left;padding:7px 9px;border-radius:8px;background:none;border:0;cursor:pointer;font-size:13px;color:var(--muted)}.v-list button:hover{background:var(--bg2);color:var(--text)}.v-list button.on{background:var(--panel3);color:var(--text)}.v-list code{font-size:10.5px;color:var(--dim)}.v-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-list em{font-style:normal;font-size:10.5px;color:var(--ember2)}.v-main{display:grid;gap:8px;min-width:0}.v-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.v-tools{margin-left:auto;display:flex;gap:6px}.v-tools .on{box-shadow:0 0 0 1px var(--ember) inset;color:var(--ember2)}.v-frame{position:relative;height:68vh;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:#fff}.v-frame.mobile{width:390px;max-width:100%;margin:0 auto;border-radius:26px;border:8px solid #2a2420}.v-frame .preview-wrap{position:absolute;inset:0}.v-frame.working .preview-wrap{filter:saturate(.5) brightness(.85)}.v-working{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#14100de6;color:var(--text);font-size:13px;box-shadow:0 10px 30px #0006}.sm-core{width:22px!important;height:22px!important}.sm-core i:nth-child(2){inset:3px!important}.sm-core i:nth-child(3){inset:7px!important}.v-toast{position:absolute;left:50%;bottom:16px;transform:translate(-50%);padding:8px 14px;border-radius:10px;background:#14100deb;color:#ffd9b8;font-size:12.5px}.hist{display:grid;gap:2px;padding:8px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);max-height:180px;overflow-y:auto}.hist>div{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;padding:4px 6px;border-radius:6px;font-size:13px}.hist>div.cur{background:var(--ember-soft)}.v-edit{display:grid;gap:6px}.v-edit input{flex:1;min-width:200px}.v-edit .row{flex-wrap:nowrap}.picked{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;background:var(--ember-soft);border:1px solid rgba(255,140,60,.3);font-size:12.5px}.picked code{color:var(--ember2)}.picked em{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.decisions{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.decisions li{display:grid;grid-template-columns:auto 1fr 28px;gap:8px;align-items:center}.decisions input{padding:7px 10px;font-size:13.5px}.sel-list{display:grid;gap:6px;max-height:50vh;overflow-y:auto;margin-top:10px}.sel-list code{font-size:11px;color:var(--ember2)}.job{position:relative;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#1d1813,#15110e);border:1px solid var(--line2);overflow:hidden}.job.running:before{content:"";position:absolute;inset:0;background:radial-gradient(400px 90px at var(--x, 50%) 0%,rgba(255,106,43,.16),transparent 70%);animation:sweep 3.2s ease-in-out infinite;pointer-events:none}.job.failed{border-color:#ff6b6b66}.job-top{position:relative;display:flex;align-items:center;gap:10px}.job-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.job-dot{width:9px;height:9px;border-radius:50%;background:var(--dim);flex:0 0 auto}.job-dot.running{background:var(--ember2);box-shadow:0 0 12px var(--ember);animation:corebeat 1s infinite}.job-dot.done{background:var(--ok)}.job-dot.failed{background:var(--err)}.job-clock{font-size:17px;font-weight:700;color:var(--ember2);text-shadow:0 0 14px rgba(255,106,43,.45)}.job-bar{position:relative;height:4px;border-radius:4px;background:var(--line2);margin:12px 0 10px;overflow:hidden}.job-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--molten);box-shadow:0 0 10px #ff6a2bcc;border-radius:4px;transition:width .4s}.job.compact .job-bar{margin-bottom:0}.job-items{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:300px;overflow-y:auto}.ji{display:grid;grid-template-columns:18px minmax(0,1fr) auto 64px;gap:10px;align-items:center;padding:5px 4px;font-size:13px;color:var(--dim);border-radius:6px}.ji.running{color:var(--text);background:#ff6a2b0f}.ji.done{color:var(--muted)}.ji-ic{width:14px;height:14px;border-radius:50%;border:2px solid var(--line2);position:relative}.ji.running .ji-ic{border-color:var(--ember);border-top-color:transparent;animation:corespin .8s linear infinite}.ji.done .ji-ic{background:var(--ember);border-color:var(--ember)}.ji.done .ji-ic:after{content:"✓";position:absolute;inset:-2px;display:grid;place-items:center;font-size:9px;font-weight:900;color:#1a0d05}.ji.failed .ji-ic{border-color:var(--err)}.ji-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ji-phase{font-size:12px;color:var(--muted);white-space:nowrap}.ji-phase b{color:var(--ember2);font-weight:600}.ji-time{text-align:right;font-size:11.5px;color:var(--muted)}.author{width:140px!important;height:34px;padding:0 10px!important;font-size:13px}.gates{display:flex;flex-wrap:wrap;gap:8px}.gate{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;font-size:12.5px;background:#5ee08f14;border:1px solid rgba(94,224,143,.25);color:var(--ok);max-width:100%}.gate.warn{background:#ffc40014;border-color:#ffc4004d;color:#ffd666}.gate b{font-family:var(--mono)}.gate em{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.spec-card{padding:0;overflow:hidden}.spec-frame{display:block;width:100%;height:80vh;border:0;background:#e9e7e4}.step-run{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--ember2);box-shadow:0 0 8px var(--ember);animation:corebeat 1s infinite}.step-stale{margin-left:2px;font-size:12px;color:#9cc7ff}.dev-toggle{display:inline-flex;padding:2px;border-radius:9px;background:var(--bg2);border:1px solid var(--line)}.dev-toggle button{background:none;border:0;padding:4px 9px;border-radius:7px;font-size:12px;color:var(--dim);cursor:pointer}.dev-toggle button.on{background:var(--panel3);color:var(--text)}.chat-sub{margin:6px 0 0;font-size:11.5px}.changes{display:flex;flex-wrap:wrap;gap:4px}.changes span{padding:3px 8px;border-radius:7px;background:#5ee08f1a;color:var(--ok);font-size:12px}.changes span.warn{background:#ffc4001a;color:#ffd666}.ctx-tag{display:inline-block;margin-right:6px;padding:0 6px;border-radius:5px;background:var(--ember-soft);color:var(--ember2);font:600 11px var(--mono)}.chat-ctx{display:flex;gap:8px;padding:6px 14px 0;font-size:12px;color:var(--muted)}.chat-ctx code{color:var(--ember2)}.chat-intro .eyebrow{margin-bottom:8px}@media(max-width:1080px){.ed-grid,.viewer-grid{grid-template-columns:1fr}.v-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;max-height:none}.dev-toggle{display:none}}@media(max-width:760px){.qs,.ai-row,.colors,.ed-2{grid-template-columns:1fr}.sticky-actions{flex-wrap:wrap}}.preset-own{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line)}.danger-link{color:var(--err)!important}.share-note{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#78b4ff0f;border:1px solid rgba(120,180,255,.25);font-size:13px;color:#cfe2ff;display:grid;gap:10px}.share-note b{color:#e6f0ff}.share-note input{padding:7px 10px;font-size:13px}
