:root{--bg:#05070c;--bg-panel:#0b0f1a;--text:#f2f5f9;--text-muted:#8792a8;--hair:#1c2230;--cyan:#6fd1f5;--amber:#ff8a3d;--amber-deep:#c2410c;--ember-core:#fff4d6;--ember-mid:#ff8a3d;--ember-edge:#b21e1e;--steel:#c4cad4;--steel-deep:#6b7280;--steel-dark:#3a4049;--hue-clinical:#5eead4;--hue-finance:#86efac;--hue-beauty:#f9a8d4;--hue-yarndis:#7fd4a8;--hue-notes:#fde68a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:26px 26px}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;font-weight:700;margin:0}.mono{font-family:IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;color:var(--text-muted)}.eyebrow{font-family:IBM Plex Mono,monospace;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;color:var(--text-muted)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}select,input{background:var(--bg-panel);border:1px solid var(--hair);color:var(--text);border-radius:8px;padding:8px 10px;font-family:Inter;font-size:.85rem}select:focus,input:focus{outline:2px solid var(--cyan);outline-offset:1px}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:100px;font-size:.83rem;font-weight:600;background:var(--text);color:var(--bg);border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px #c4cad459}.btn.ghost{background:transparent;border:1px solid var(--hair);color:var(--text)}.btn.amber{background:linear-gradient(90deg,var(--amber),var(--amber-deep));color:#0a0503}.btn.confirm{background:linear-gradient(90deg,var(--amber),var(--amber-deep));color:#0a0503;padding:8px 16px}.btn.blue{background:linear-gradient(90deg,var(--cyan),#2f8fc4);color:#03131c;padding:8px 16px;box-shadow:0 4px 16px -4px #6fd1f566}.btn.cancel{background:transparent;border:1px solid var(--hair);color:var(--text);padding:8px 16px}.btn:disabled{opacity:.5;cursor:not-allowed}.gate{display:flex;align-items:center;justify-content:center;height:100vh;height:100dvh;height:calc(var(--vh, 1vh) * 100);flex-direction:column;gap:16px}.gate h1{font-size:1.4rem}.topnav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05070cbf;border-bottom:1px solid var(--hair)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{font-family:Space Grotesk;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px;letter-spacing:.02em}.brand .dot{width:7px;height:7px;border-radius:50%}.brand .dot.steel{background:var(--steel);box-shadow:0 0 10px #c4cad499}.brand .dot.blue{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.navlinks{display:flex;gap:24px;font-size:.82rem;color:var(--text-muted);align-items:center}.navlinks a{position:relative;padding-bottom:2px}.navlinks a:hover{color:var(--text)}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--steel);transition:right .2s ease;box-shadow:0 0 6px var(--steel)}.navlinks a:hover:after{right:0}.linklike{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;font-family:Inter}.linklike:hover{color:var(--text)}.ember{width:11px;height:11px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 28%,var(--ember-core),var(--ember-mid) 48%,var(--ember-edge) 100%);box-shadow:0 0 8px 2px #ff8a3d80,0 0 18px 4px #b21e1e40;animation:flicker 2.6s ease-in-out infinite}.ember.sm{width:8px;height:8px}@keyframes flicker{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 8px 2px #ff8a3d80,0 0 18px 4px #b21e1e40}8%{opacity:.82;transform:scale(.92)}16%{opacity:1;transform:scale(1.08);box-shadow:0 0 12px 3px #ff8a3db3,0 0 24px 6px #b21e1e4d}27%{opacity:.88;transform:scale(.95)}38%{opacity:1;transform:scale(1.03)}50%{opacity:.75;transform:scale(.9);box-shadow:0 0 5px 1px #ff8a3d59}63%{opacity:1;transform:scale(1.06);box-shadow:0 0 11px 3px #ff8a3d9e}78%{opacity:.86;transform:scale(.96)}90%{opacity:1;transform:scale(1.01)}}@media (prefers-reduced-motion:reduce){.ember{animation:none}}.hero{position:relative;padding:80px 0 100px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.ring-wrap{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:480px;height:480px}.ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(196,202,212,.3);box-shadow:0 0 120px 20px #c4cad41a,inset 0 0 80px #c4cad40d}.ring:after{content:"";position:absolute;top:40px;right:40px;bottom:40px;left:40px;border-radius:50%;border:1px solid rgba(196,202,212,.13)}.pixel-dust{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pixel{position:absolute;background:linear-gradient(135deg,#fff,var(--steel));border-radius:2px;box-shadow:0 0 6px #c4cad459}@media (max-width:900px){.ring-wrap{width:280px;height:280px;right:-100px;opacity:.55}}h1{font-size:clamp(2.4rem,6vw,4.2rem);line-height:.98;letter-spacing:-.02em}h1 .accent{background:linear-gradient(90deg,var(--text),var(--steel));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lede{margin-top:22px;color:var(--text-muted);font-size:1.02rem;max-width:38ch;line-height:1.6}.hero .btn{margin-top:28px}.section-head{display:flex;flex-direction:column;gap:6px;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--hair);position:relative}.section-head:after{content:"";position:absolute;left:0;bottom:-1px;width:60px;height:1px;background:linear-gradient(90deg,var(--steel),transparent)}.section-tag{color:var(--steel-deep);font-size:.68rem;letter-spacing:.15em}.section-head h2{font-size:1.4rem}.cap-row{padding:56px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.cap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}@media (max-width:900px){.cap-grid{grid-template-columns:repeat(2,1fr)}}.cap{padding-top:14px;border-top:1px solid var(--hair)}.cap h4{font-size:.88rem;margin-bottom:6px}.cap p{font-size:.78rem;color:var(--text-muted);line-height:1.5;margin:0}.tools,.systems{padding:64px 0}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:900px){.grid4,.grid3{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.grid4,.grid3{grid-template-columns:1fr}}@property --angle{syntax:"<angle>"; inherits:false; initial-value:0deg;}@keyframes spin-border{to{--angle:360deg}}.card{--accent:var(--steel);background:linear-gradient(155deg,#ffffff09,#ffffff02);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px;min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:before{content:"";position:absolute;top:0;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 24px 44px -24px #0009,0 0 32px -10px color-mix(in srgb,var(--accent) 60%,transparent)}.card .num{position:absolute;top:16px;left:18px;font-family:IBM Plex Mono;font-size:.75rem;color:var(--text-muted)}.card .glow{position:absolute;top:-30%;right:-30%;width:70%;height:70%;border-radius:50%;filter:blur(40px);opacity:.35}.card h3{font-size:1.02rem;margin-bottom:4px}.card p{font-size:.8rem;color:var(--text-muted);margin:0}.tool-card.disabled{cursor:default}.tool-card.disabled h3,.tool-card.disabled p{opacity:.5}.tool-card.disabled .glow{opacity:.22}.tool-card:not(.disabled){border:1px solid transparent;background-image:linear-gradient(155deg,#14171feb,#14171fbf),conic-gradient(from var(--angle,0deg),var(--accent),transparent 25%,transparent 75%,var(--accent));background-origin:border-box;background-clip:padding-box,border-box;animation:spin-border 5s linear infinite}@media (prefers-reduced-motion:reduce){.tool-card:not(.disabled){animation:none}}footer{border-top:1px solid var(--hair);padding:28px 0}footer .wrap{font-size:.78rem;color:var(--text-muted)}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;height:calc(var(--vh, 1vh) * 100);position:relative}.app.calcifer:before{content:"";position:fixed;left:50%;bottom:-10%;transform:translate(-50%);width:70vw;max-width:900px;height:40vh;pointer-events:none;z-index:0;background:radial-gradient(closest-side,rgba(255,138,61,.06),rgba(178,30,30,.03) 60%,transparent 80%)}.app.ide:before{content:"";position:fixed;left:50%;top:-15%;transform:translate(-50%);width:90vw;max-width:1100px;height:55vh;pointer-events:none;z-index:0;background:radial-gradient(closest-side at 25% 10%,rgba(111,209,245,.16),transparent 65%),radial-gradient(closest-side at 75% 25%,rgba(196,202,212,.13),transparent 65%)}.app>*{position:relative;z-index:1}.calcifer-layout{flex:1;display:flex;min-height:0;position:relative}.sidebar{width:220px;border-right:1px solid var(--hair);background:#0b0f1a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px;display:flex;flex-direction:column;gap:12px;transition:width .2s ease,padding .2s ease;overflow:hidden;flex-shrink:0}.sidebar.collapsed{width:0;padding:0;border-right:none}.sidebar select{width:100%}.new-chat{width:100%;justify-content:center;font-size:.8rem;padding:10px;white-space:nowrap}.history-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:4px;min-width:188px}.history-row{display:flex;align-items:center;border-radius:8px}.history-row:hover{background:var(--bg-panel)}.history-row.active{background:var(--bg-panel);border-left:2px solid var(--amber)}.history-item{flex:1;background:none;border:none;text-align:left;color:var(--text-muted);font-size:.82rem;padding:8px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-row:hover .history-item,.history-row.active .history-item{color:var(--text)}.history-actions{display:flex;gap:2px;padding-right:6px}.history-actions button{background:none;border:none;cursor:pointer;font-size:.72rem;padding:4px 6px;opacity:.6;border-radius:6px}.history-actions button:hover{opacity:1;background:var(--hair)}.rename-input{flex:1;margin:2px 6px;font-size:.82rem;padding:6px 8px}.history-list .empty{padding:8px 10px}.chat-col{flex:1;display:flex;flex-direction:column;min-width:0}.panel-toggles{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--hair);gap:10px}.panel-toggles button{background:none;border:1px solid var(--hair);color:var(--text-muted);font-size:.75rem;padding:6px 12px;border-radius:100px;cursor:pointer;white-space:nowrap}.panel-toggles button:hover{color:var(--text);border-color:#ff8a3d80}.panel-toggles .current-project{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-backdrop{display:none;border:none;padding:0}.chat{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px;display:flex;flex-direction:column;gap:18px;position:relative}.msg{max-width:70ch;padding:14px 18px;border-radius:14px;line-height:1.6;font-size:.92rem;white-space:pre-wrap;position:relative}.msg.user{align-self:flex-end;background:var(--bg-panel);border:1px solid var(--hair)}.msg.assistant{align-self:flex-start;background:linear-gradient(180deg,rgba(255,138,61,.05),transparent 60%);border:1px solid rgba(255,138,61,.16);border-left:2px solid var(--amber);box-shadow:-6px 0 20px -8px #ff8a3d40}.msg .meta{display:block;margin-bottom:4px}.msg-actions{display:flex;gap:10px;margin-top:8px;opacity:.55}.msg-actions button{background:none;border:none;color:var(--text-muted);font-family:IBM Plex Mono;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:2px 0}.msg-actions button:hover{color:var(--text);opacity:1}.msg-actions button:disabled{opacity:.3;cursor:not-allowed}.msg:hover .msg-actions{opacity:.85}.msg.typing{display:flex;align-items:center;gap:10px;flex-direction:row}.confirm-box{align-self:flex-start;max-width:70ch;border-radius:14px;padding:18px;background:linear-gradient(180deg,#b21e1e1a,#ff8a3d0d);border:1px solid rgba(255,138,61,.35);box-shadow:0 0 0 1px #b21e1e26,0 8px 30px -10px #b21e1e66}.confirm-box h4{margin:0 0 8px;font-size:.95rem;color:var(--amber)}.confirm-box pre{background:var(--bg);padding:10px;border-radius:8px;font-size:.78rem;overflow-x:auto;border:1px solid var(--hair)}.confirm-item{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,138,61,.15)}.confirm-item:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.confirm-item-label{color:var(--amber);font-size:.72rem;margin-bottom:6px}.confirm-actions{display:flex;gap:10px;margin-top:12px}.composer-hint{padding:6px 20px 0;font-size:.64rem;opacity:.55}.composer{display:flex;align-items:flex-end;gap:10px;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--hair)}.composer textarea{flex:1;min-width:0;background:var(--bg-panel);border:1px solid var(--hair);color:var(--text);border-radius:14px;padding:13px 16px;font-family:Inter;font-size:.9rem;resize:none;min-height:44px;max-height:160px;transition:border-color .2s ease,box-shadow .2s ease}.composer textarea:focus{outline:none;border-color:#ff8a3d8c;box-shadow:0 0 0 3px #ff8a3d1f,0 0 18px -4px #ff8a3d59}.composer .send{background:linear-gradient(135deg,var(--amber),var(--amber-deep));color:#1a0a03;border:none;border-radius:14px;padding:0 22px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px -4px #ff8a3d80;flex-shrink:0;height:44px}.composer .send:hover:not(:disabled){filter:brightness(1.08)}.composer .send:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.right-panel{width:260px;border-left:1px solid var(--hair);background:#0b0f1a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;transition:width .2s ease;overflow:hidden;flex-shrink:0}.right-panel.collapsed{width:0;border-left:none}.right-tabs{display:flex;border-bottom:1px solid var(--hair)}.right-tabs button{flex:1;background:none;border:none;color:var(--text-muted);padding:12px;font-size:.78rem;font-family:IBM Plex Mono;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.right-tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--amber)}.right-tabs .badge{background:var(--amber);color:#0a0503;border-radius:100px;padding:1px 6px;font-size:.68rem}.right-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px}.repo-link{display:block;font-size:.8rem;color:var(--cyan);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--hair)}.file-list{display:flex;flex-direction:column;gap:2px}.file-row{font-family:IBM Plex Mono;font-size:.74rem;color:var(--text-muted);padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row.dir{color:var(--text)}.right-body .empty{padding:0}.issue-card{border:1px solid var(--hair);border-radius:10px;padding:12px;margin-bottom:10px}.issue-card h5{font-family:Space Grotesk;font-size:.85rem;margin:0 0 6px;color:var(--amber)}.issue-card p{font-size:.78rem;color:var(--text-muted);margin:0 0 6px;line-height:1.5}.issue-date{font-size:.65rem}@media (max-width:900px){.sidebar,.right-panel{position:fixed;top:60px;bottom:0;width:82%;max-width:320px;z-index:45;background:var(--bg);transition:transform .25s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.sidebar{left:0;border-right:1px solid var(--hair);transform:translate(0)}.sidebar.collapsed{transform:translate(-100%);width:82%;max-width:320px;padding:16px;border-right:1px solid var(--hair)}.right-panel{right:0;border-left:1px solid var(--hair);transform:translate(0);width:82%;max-width:320px}.right-panel.collapsed{transform:translate(100%)}.panel-backdrop.show{display:block;position:fixed;top:60px;right:0;bottom:0;left:0;background:#0000008c;z-index:40}.panel-toggles button{padding:10px 14px;font-size:.72rem;min-height:40px}.send{min-width:64px;min-height:44px}.composer textarea{min-height:44px}.history-item{padding:12px 10px;min-height:40px}.right-tabs button{min-height:44px}.file-row{font-size:.78rem}}@media (max-width:600px){.wrap{padding:0 18px}.topnav-inner{height:52px}.brand{font-size:.85rem}.navlinks{gap:14px;font-size:.76rem}.hero{padding:48px 0 60px}h1{font-size:clamp(2rem,9vw,2.8rem)}.hero p.lede{font-size:.92rem;max-width:none}.cap-grid{grid-template-columns:1fr 1fr;gap:16px}.section-head{flex-direction:column;align-items:flex-start;gap:8px}.card{min-height:140px;padding:16px}.gate{padding:0 20px}.gate form{flex-wrap:wrap;justify-content:center}.msg{max-width:88%}.composer{padding:12px}.composer textarea{font-size:16px}}.diff-view{font-family:IBM Plex Mono,monospace;font-size:.76rem;background:var(--bg);border-radius:8px;padding:10px;overflow-x:auto;max-height:340px;overflow-y:auto;border:1px solid var(--hair)}.diff-summary{color:var(--text-muted);margin-bottom:6px}.diff-line{white-space:pre;padding:1px 6px;line-height:1.5}.diff-line.add{background:#2ea04326;color:#7ee2a8}.diff-line.remove{background:#f8514926;color:#ff9992}.diff-line.same{color:var(--text-muted)}.diff-line.collapsed{color:var(--text-muted);text-align:center;font-style:italic;padding:4px 0}.shot-list{display:flex;flex-direction:column;gap:2px}.shot-row{background:none;border:none;text-align:left;color:var(--text-muted);font-family:IBM Plex Mono;font-size:.74rem;padding:6px 4px;cursor:pointer;border-radius:6px}.shot-row:hover{background:var(--bg-panel);color:var(--text)}.shot-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.shot-preview img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 60px -10px #0009}.ide-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#c4cad41a,#6fd1f51a)}.ide-toolbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),var(--steel),transparent);opacity:.6}.ide-toolbar button{background:#ffffff05;border:1px solid var(--hair);color:var(--text-muted);font-size:.75rem;padding:6px 12px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,box-shadow .2s ease}.ide-toolbar button:hover{color:var(--text);border-color:var(--cyan);box-shadow:0 0 12px -2px #6fd1f566}.ide-toolbar select{font-size:.78rem;padding:6px 10px}.ide-primary{background:linear-gradient(135deg,var(--cyan),#2f8fc4)!important;color:#03131c!important;border:none!important;font-weight:600;box-shadow:0 4px 14px -4px #6fd1f58c}.ide-primary:hover{box-shadow:0 6px 18px -4px #6fd1f5b3!important;filter:brightness(1.06)}.ide-status{color:var(--text-muted);margin-left:auto;font-size:.68rem}.ide-layout{flex:1;display:flex;min-height:0}.ide-sidebar{width:240px;border-right:1px solid var(--hair);overflow-y:auto;-webkit-overflow-scrolling:touch;transition:width .2s ease;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,rgba(196,202,212,.06),rgba(111,209,245,.02) 40%,transparent 70%)}.ide-sidebar.collapsed{width:0;overflow:hidden;border-right:none}.ide-tree{padding:6px 0}.tree-row{display:block;width:100%;background:none;border:none;text-align:left;color:var(--text-muted);font-size:.8rem;padding:5px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-row:hover{background:var(--bg-panel);color:var(--text)}.tree-row.file.active{background:var(--bg-panel);color:var(--cyan)}.tree-caret{display:inline-block;width:12px;color:var(--text-muted)}.ide-search{padding:10px}.ide-search input{width:100%;margin-bottom:8px}.search-result{display:flex;flex-direction:column;gap:2px;width:100%;background:none;border:none;text-align:left;padding:8px 6px;border-radius:6px;cursor:pointer;border-bottom:1px solid var(--hair)}.search-result:hover{background:var(--bg-panel)}.search-result .mono{font-size:.68rem;color:var(--cyan)}.search-snippet{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-main{flex:1;display:flex;flex-direction:column;min-width:0}.ide-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--hair);flex-shrink:0}.ide-tab{display:flex;align-items:center;border-right:1px solid var(--hair);flex-shrink:0}.ide-tab.active{background:var(--bg-panel);box-shadow:inset 0 -2px 0 var(--cyan)}.ide-tab-label{background:none;border:none;color:var(--text-muted);font-size:.78rem;padding:9px 6px 9px 14px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}.ide-tab.active .ide-tab-label{color:var(--text)}.dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);flex-shrink:0}.ide-tab-close{background:none;border:none;color:var(--text-muted);font-size:.9rem;padding:6px 12px 6px 4px;cursor:pointer}.ide-tab-close:hover{color:var(--text)}.ide-editor{flex:1;min-height:0}.ide-empty{height:100%;display:flex;align-items:center;justify-content:center}.ide-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--hair);flex-shrink:0}.ide-footer-actions{display:flex;gap:10px}@media (max-width:900px){.ide-sidebar{position:fixed;top:96px;bottom:0;left:0;width:82%;max-width:320px;z-index:45;background:var(--bg);transform:translate(0);transition:transform .25s ease}.ide-sidebar.collapsed{transform:translate(-100%);width:82%}.ide-toolbar{padding:8px 10px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.ide-toolbar button{min-height:36px}.ide-toolbar select{min-width:110px}.ide-status{display:none}.ide-tab-label{padding:9px 4px 9px 10px;font-size:.74rem}}.notfound{display:flex;flex-direction:column;align-items:center;text-align:center;padding:80px 20px 100px}.notfound img{max-width:360px;width:60%;margin-bottom:24px}.notfound .lede{color:var(--text-muted);margin-bottom:24px;max-width:40ch}:root{--nebula-purple:#7c5cff;--nebula-blue:#4f6fef;--nebula-pink:#e05cc4;--star-gold:#ffd97a;--star-white:#fff8e6}.brand .dot.star{background:radial-gradient(circle at 35% 30%,#fff,var(--star-gold) 60%,var(--nebula-purple) 100%);box-shadow:0 0 10px var(--star-gold);animation:star-twinkle 3s ease-in-out infinite}@keyframes star-twinkle{0%,to{opacity:1}45%{opacity:.55}55%{opacity:1}}@media (prefers-reduced-motion:reduce){.brand .dot.star{animation:none}}.app.constellations:before{content:"";position:fixed;left:50%;top:-20%;transform:translate(-50%);width:100vw;max-width:1300px;height:60vh;pointer-events:none;z-index:0;background:radial-gradient(closest-side at 25% 20%,rgba(124,92,255,.14),transparent 65%),radial-gradient(closest-side at 75% 10%,rgba(224,92,196,.1),transparent 65%),radial-gradient(closest-side at 50% 40%,rgba(79,111,239,.1),transparent 70%)}.const-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;position:relative;border-bottom:1px solid var(--hair);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#7c5cff14,#ffd97a0f)}.const-toolbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--nebula-purple),var(--star-gold),transparent);opacity:.6}.const-toolbar button{background:#ffffff05;border:1px solid var(--hair);color:var(--text-muted);font-size:.75rem;padding:6px 12px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,box-shadow .2s ease}.const-toolbar button:hover{color:var(--text);border-color:var(--nebula-purple);box-shadow:0 0 12px -2px #7c5cff80}.const-view-toggle{display:flex;gap:4px;background:#ffffff08;border-radius:100px;padding:3px}.const-view-toggle button{border:none;background:none;padding:5px 12px}.const-view-toggle button.active{background:linear-gradient(135deg,var(--nebula-purple),var(--nebula-blue));color:#fff;box-shadow:0 0 12px -2px #7c5cff99}.const-primary{background:linear-gradient(135deg,var(--star-gold),#e8a83f)!important;color:#2a1c00!important;border:none!important;font-weight:600;box-shadow:0 4px 14px -4px #ffd97a8c}.const-primary:hover{filter:brightness(1.05);box-shadow:0 6px 18px -4px #ffd97ab3!important}.const-layout{flex:1;display:flex;min-height:0;position:relative}.const-sidebar{width:230px;border-right:1px solid var(--hair);overflow-y:auto;-webkit-overflow-scrolling:touch;transition:width .2s ease;flex-shrink:0;padding:8px;background:linear-gradient(180deg,rgba(124,92,255,.05),transparent 40%)}.const-sidebar.collapsed{width:0;overflow:hidden;padding:0;border-right:none}.const-note-row{display:flex;align-items:center;border-radius:8px}.const-note-row:hover{background:#ffffff0a}.const-note-row.active{background:#7c5cff1f;box-shadow:inset 2px 0 0 var(--star-gold)}.const-note-title{flex:1;background:none;border:none;text-align:left;color:var(--text-muted);font-size:.82rem;padding:8px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.const-note-row:hover .const-note-title,.const-note-row.active .const-note-title{color:var(--text)}.const-note-delete{background:none;border:none;cursor:pointer;font-size:.72rem;padding:4px 8px;opacity:.5}.const-note-delete:hover{opacity:1}.const-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.const-empty{flex:1;display:flex;align-items:center;justify-content:center}.const-editor-tabs{display:none;gap:6px;padding:8px 12px;border-bottom:1px solid var(--hair)}.const-editor-tabs button{background:none;border:1px solid var(--hair);color:var(--text-muted);font-size:.76rem;padding:6px 14px;border-radius:100px;cursor:pointer}.const-editor-tabs button.active{background:#7c5cff26;color:var(--text);border-color:var(--nebula-purple)}.preview-toggle-desktop{margin-left:auto;background:none;border:1px solid var(--hair);color:var(--text-muted);font-size:.72rem;padding:6px 12px;border-radius:100px;cursor:pointer}.const-split{flex:1;display:flex;min-height:0}.const-editor{flex:1;min-width:0;background:transparent;border:none;color:var(--text);padding:24px 28px;font-size:.92rem;line-height:1.7;resize:none;font-family:IBM Plex Mono,monospace}.const-editor:focus{outline:none}.const-split.split .const-editor{border-right:1px solid var(--hair)}.const-preview{flex:1;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 28px;line-height:1.7}.const-preview h1,.const-preview h2,.const-preview h3{font-family:Space Grotesk;margin:1.2em 0 .5em}.const-preview h1:first-child,.const-preview h2:first-child,.const-preview h3:first-child{margin-top:0}.const-preview p{margin:0 0 1em;color:var(--text)}.const-preview a{color:var(--star-gold);border-bottom:1px solid rgba(255,217,122,.35)}.const-preview a[href^="#missing:"]{color:var(--text-muted);border-bottom:1px dashed var(--text-muted)}.const-preview code{background:var(--bg-panel);padding:2px 6px;border-radius:4px;font-size:.85em}.const-preview pre{background:var(--bg-panel);padding:12px 16px;border-radius:8px;overflow-x:auto;border:1px solid var(--hair)}.const-preview blockquote{border-left:2px solid var(--nebula-purple);margin:0 0 1em;padding-left:16px;color:var(--text-muted)}.const-preview ul,.const-preview ol{padding-left:24px;margin:0 0 1em}.const-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-top:1px solid var(--hair)}.const-footer .mono{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.const-save{background:linear-gradient(135deg,var(--star-gold),#e8a83f);color:#2a1c00;padding:8px 20px}.const-save:disabled{opacity:.5}.graph-view{position:relative;flex:1;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#0a0818,var(--bg) 70%)}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.twinkle{animation:star-twinkle 3.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.twinkle{animation:none}}.nebula{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;opacity:.5}.nebula-a{width:340px;height:340px;top:5%;left:8%;background:radial-gradient(circle,var(--nebula-purple),transparent 70%)}.nebula-b{width:280px;height:280px;bottom:8%;right:10%;background:radial-gradient(circle,var(--nebula-pink),transparent 70%)}.constellation-svg{position:relative;width:100%;height:100%;z-index:1}.const-line{stroke:url(#const-line-gradient);stroke-width:1;opacity:.45}.star-node{cursor:pointer}.star-halo{fill:var(--star-gold);opacity:.12;transition:opacity .2s ease}.star-node:hover .star-halo,.star-node.active .star-halo{opacity:.3}.star-core{fill:var(--star-white);filter:drop-shadow(0 0 6px var(--star-gold))}.star-node.active .star-core{fill:var(--star-gold)}.star-label{fill:var(--text-muted);font-size:11px;font-family:Inter,sans-serif;pointer-events:none}.star-node:hover .star-label,.star-node.active .star-label{fill:var(--text)}.graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1}@media (max-width:900px){.const-sidebar{position:fixed;top:96px;bottom:0;left:0;width:82%;max-width:320px;z-index:45;background:var(--bg);transform:translate(0);transition:transform .25s ease}.const-sidebar.collapsed{transform:translate(-100%);width:82%}.const-toolbar{padding:8px 10px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.ide-status{display:none}.const-editor-tabs{display:flex}.preview-toggle-desktop{display:none}.const-split{position:relative}.const-split .mobile-hide{display:none}.const-split.split .const-editor{border-right:none}.const-editor,.const-preview{padding:16px}}:root{--leaf-light:#a8e6c1;--leaf:#7fd4a8;--leaf-deep:#3f8f63;--bark:#5c4a3a}.brand .dot.leaf{background:radial-gradient(circle at 35% 30%,#fff,var(--leaf) 55%,var(--leaf-deep) 100%);box-shadow:0 0 10px var(--leaf);animation:leaf-sway 4s ease-in-out infinite}@keyframes leaf-sway{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(4deg)}}@media (prefers-reduced-motion:reduce){.brand .dot.leaf{animation:none}}.app.yarndis:before{content:"";position:fixed;left:50%;bottom:-15%;transform:translate(-50%);width:90vw;max-width:1100px;height:50vh;pointer-events:none;z-index:0;background:radial-gradient(closest-side at 30% 80%,rgba(127,212,168,.14),transparent 65%),radial-gradient(closest-side at 70% 60%,rgba(63,143,99,.1),transparent 65%)}.yarn-layout{flex:1;display:flex;min-height:0;position:relative}.yarn-sidebar{width:220px;border-right:1px solid var(--hair);padding:16px;display:flex;flex-direction:column;gap:12px;transition:width .2s ease,padding .2s ease;overflow:hidden;flex-shrink:0;background:linear-gradient(180deg,rgba(127,212,168,.05),transparent 40%)}.yarn-sidebar.collapsed{width:0;padding:0;border-right:none}.yarn-new{width:100%;justify-content:center;font-size:.8rem;padding:10px}.yarndis .msg.assistant{background:linear-gradient(180deg,rgba(127,212,168,.06),transparent 60%);border:1px solid rgba(127,212,168,.18);border-left:2px solid var(--leaf);box-shadow:-6px 0 20px -8px #7fd4a840}.yarndis .composer textarea:focus{border-color:#7fd4a88c;box-shadow:0 0 0 3px #7fd4a81f,0 0 18px -4px #7fd4a859}.yarn-send{background:linear-gradient(135deg,var(--leaf),var(--leaf-deep))!important;color:#0e2317!important;box-shadow:0 4px 16px -4px #7fd4a880!important}.yarn-attach{background:none;border:1px solid var(--hair);border-radius:14px;width:44px;height:44px;flex-shrink:0;font-size:1.1rem;cursor:pointer;color:var(--text-muted);transition:border-color .2s ease}.yarn-attach:hover{border-color:var(--leaf);color:var(--text)}.yarn-attach:disabled{opacity:.4;cursor:not-allowed}.yarn-attachment-bar{display:flex;align-items:center;gap:10px;padding:8px 20px;border-top:1px solid var(--hair);background:#7fd4a80d}.yarn-attachment-bar img{width:36px;height:36px;object-fit:cover;border-radius:6px}.yarn-attachment-bar button{background:none;border:none;color:var(--text-muted);cursor:pointer;margin-left:auto;font-size:.9rem}.yarn-attached-preview{display:block;max-width:220px;border-radius:10px;margin-bottom:8px}.yarn-generated-image{display:block;max-width:100%;border-radius:12px;margin-top:10px;box-shadow:0 12px 30px -10px #00000080}.yarn-image-loading{padding:12px 0;color:var(--text-muted)}.sprout{width:11px;height:11px;border-radius:50% 50% 50% 0;flex-shrink:0;background:radial-gradient(circle at 35% 30%,var(--leaf-light),var(--leaf) 60%,var(--leaf-deep) 100%);box-shadow:0 0 8px 2px #7fd4a880;animation:sprout-grow 1.8s ease-in-out infinite}@keyframes sprout-grow{0%,to{transform:scale(.85) rotate(-8deg)}50%{transform:scale(1.1) rotate(8deg)}}@media (prefers-reduced-motion:reduce){.sprout{animation:none}}@media (max-width:900px){.yarn-sidebar{position:fixed;top:60px;bottom:0;left:0;width:82%;max-width:320px;z-index:45;background:var(--bg);transform:translate(0);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom)}.yarn-sidebar.collapsed{transform:translate(-100%);width:82%;padding:16px}}.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:0}.burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease;margin:0 auto}.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;border:none;z-index:59;cursor:default}.nav-dropdown{position:absolute;top:100%;right:0;z-index:60;min-width:220px;background:#0a0c14f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--hair);border-top:none;border-radius:0 0 14px 14px;padding:10px;display:flex;flex-direction:column;gap:2px;box-shadow:0 20px 50px -15px #0009}.nav-dropdown a,.nav-dropdown .linklike{padding:11px 14px;border-radius:8px;color:var(--text-muted);font-size:.9rem;text-align:left;background:none;border:none;cursor:pointer}.nav-dropdown a:hover,.nav-dropdown .linklike:hover{background:#ffffff0d;color:var(--text)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--text-muted);font-size:.85rem}.footer-links a:hover{color:var(--text)}.footer-note{color:var(--text-muted);font-size:.66rem}.powered-card{min-height:160px}.powered-link{color:var(--text-muted);font-size:.7rem;margin-top:8px;display:inline-block}.powered-card:hover .powered-link{color:var(--text)}.auth-gate-sub{margin-bottom:8px}.auth-form{display:flex;flex-direction:column;gap:10px;width:min(280px,80vw)}.auth-form input{width:100%}.auth-message{font-size:.8rem;padding:8px 12px;border-radius:8px;margin:0}.auth-message.error{background:#e05c5c1f;color:#ff9992;border:1px solid rgba(224,92,92,.3)}.auth-message.info{background:#7fd4a81f;color:var(--leaf-light);border:1px solid rgba(127,212,168,.3)}.auth-links{display:flex;gap:16px;margin-top:14px}.auth-links button{background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;text-decoration:underline}.auth-links button:hover{color:var(--text)}.ide-image-preview{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.ide-image-preview img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 50px -15px #00000080}.ide-save-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.ide-save-confirm .confirm-box{max-width:640px;width:100%;max-height:80vh;overflow-y:auto;background:#0b0f1afa;border:1px solid var(--cyan);box-shadow:0 0 0 1px #6fd1f526,0 8px 30px -10px #6fd1f566}.ide-save-confirm .confirm-box h4{color:var(--cyan)}.yarn-sources{margin-top:10px;padding-top:8px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.yarn-sources .mono{color:var(--text-muted);font-size:.65rem}.yarn-source-link{font-size:.72rem;color:var(--leaf);text-decoration:underline;text-underline-offset:2px}.yarn-source-link:hover{color:var(--leaf-light)}.yarn-gallery{background:#0b0f1afa;border:1px solid var(--hair);border-radius:16px;padding:20px;max-width:720px;width:90vw;max-height:80vh;overflow-y:auto;cursor:default}.yarn-gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.yarn-gallery-header button{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer}.yarn-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.yarn-gallery-thumb{background:none;border:1px solid var(--hair);border-radius:8px;padding:0;overflow:hidden;cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.yarn-gallery-thumb img{width:100%;height:100%;object-fit:cover;margin:0}.auth-resend-link{background:none;border:none;color:var(--leaf-light);text-decoration:underline;cursor:pointer;font-size:.8rem;padding:0}.account-settings{background:#0b0f1afa;border:1px solid var(--hair);border-radius:16px;padding:20px;max-width:420px;width:90vw;cursor:default}.account-tabs{margin-bottom:16px;width:100%}.account-tabs button{flex:1}
