@font-face{font-family:Newsreader;src:url(/fonts/Newsreader60-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Light.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}:root{--ease:cubic-bezier(.22, 1, .36, 1);--bg:#f6f3ed;--panel:#fbf9f5;--card:#fff;--line:#e7e2d8;--line-soft:#efebe3;--soft:#f3f0e9;--ink:#1b1a17;--ink-2:#4f4b44;--muted:#6f6a60;--brand:#08403b;--brand-2:#0d5550;--cream:#edede8;--ok-bg:#e3f3ea;--ok-fg:#146038;--warn-bg:#fbefd9;--warn-fg:#8a5100;--bad-bg:#fbe4e2;--bad-fg:#a3221b;--serif:"Newsreader", Georgia, serif;--sans:"Poppins", system-ui, sans-serif;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}a{color:inherit}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}button,input,textarea,select,.card,.tab,.thumb,.row-link{transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), transform .18s var(--ease), opacity .18s var(--ease)}.serif{font-family:var(--serif);color:var(--brand);font-weight:400}.muted{color:var(--muted)}.small{font-size:12px}.btn{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--soft);border-color:#d6cfc1}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-2)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--soft)}.btn.sm{padding:5px 12px;font-size:12px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.input,.textarea,.select{border:1px solid var(--line);background:var(--card);border-radius:10px;outline:none;width:100%;padding:9px 12px}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #08403b1f}.textarea{resize:vertical;min-height:80px;line-height:1.5}.label{color:var(--muted);margin:0 0 4px;font-size:12px;display:block}.chip{background:var(--soft);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip.ok{background:var(--ok-bg);color:var(--ok-fg)}.chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.chip.bad{background:var(--bad-bg);color:var(--bad-fg)}.chip.run{color:var(--brand);background:#e6eef0}.shell{min-height:100vh;display:flex}.nav{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:0 0 232px;gap:28px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.nav .logo{justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.nav .logo img.word{width:120px;height:auto}.nav .logo img.mark{width:26px;height:auto}.nav a.item{color:var(--ink-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.nav a.item.active,.nav a.item:hover{background:var(--soft);color:var(--brand)}.nav .foot{color:var(--muted);margin-top:auto;padding:0 8px;font-size:12px}.main{flex:1;min-width:0;padding:48px 56px 80px}.main-inner{max-width:980px;margin:0 auto}.hero-title{margin-bottom:10px;font-size:44px;line-height:1.1}.lead{color:var(--ink-2);max-width:560px;font-size:15px}.paste{background:var(--card);border:1px solid var(--line);border-radius:18px;gap:10px;margin-top:28px;padding:8px;display:flex;box-shadow:0 1px 2px #1b1a170a,0 10px 30px #1b1a170d}.paste input{background:0 0;border:0;outline:none;flex:1;padding:10px 14px;font-size:15px}.flow{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;display:grid}.flow div{background:var(--panel);border:1px solid var(--line-soft);color:var(--ink-2);border-radius:12px;padding:12px 14px;font-size:12px}.flow b{color:var(--brand);margin-bottom:2px;font-size:13px;font-weight:500;display:block}.error{color:var(--bad-fg);margin-top:10px;font-size:13px}.section-title{margin:48px 0 14px;font-size:22px}.list{gap:10px;display:grid}.row-link{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);animation:rise .3s var(--ease) both;grid-template-columns:76px 1fr auto;align-items:center;gap:16px;padding:10px;text-decoration:none;display:grid}.row-link:hover{border-color:#d6cfc1;transform:translateY(-1px);box-shadow:0 6px 18px #1b1a170f}.row-link .thumb-img{object-fit:cover;background:var(--soft);border-radius:8px;width:76px;height:56px;display:block}.row-link .t{color:var(--ink);text-transform:none;font-weight:500}.empty-state{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:28px}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login form{background:var(--card);border:1px solid var(--line);border-radius:18px;gap:14px;width:100%;max-width:360px;padding:28px;display:grid}.progress-wrap{max-width:560px;margin:8vh auto;padding:0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.steps{gap:4px;margin:18px 0 0;padding:0;list-style:none;display:grid}.steps li{color:var(--muted);align-items:center;gap:12px;padding:8px 4px;display:flex}.steps li.done{color:var(--ink-2)}.steps li.now{color:var(--brand);font-weight:500}.steps .dot{border:1.5px solid var(--line);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.steps li.done .dot{background:var(--brand);border-color:var(--brand);color:#fff}.steps li.now .dot{border-color:var(--brand)}.studio{grid-template-rows:auto 1fr;height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;min-width:0;padding:10px 16px;display:flex}.topbar .title{font-family:var(--serif);color:var(--brand);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:20px;overflow:hidden}.topbar .spacer{flex:1}.topbar .select{border-radius:999px;width:auto;max-width:300px;padding:6px 10px;font-size:13px}.body{grid-template-columns:420px 1fr;min-height:0;display:grid}.side{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:10px 12px 0;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px 10px;font-weight:500}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.pane{flex:1;min-height:0;padding:16px;overflow-y:auto}.preview{background:#e4e0d7;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.preview iframe{background:0 0;border:0;flex:1;width:100%}.preview .note{background:var(--warn-bg);color:var(--warn-fg);justify-content:center;align-items:center;gap:10px;padding:8px;font-size:13px;display:flex}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.msg{max-width:92%;animation:rise .25s var(--ease) both;white-space:pre-wrap;border-radius:14px;padding:10px 14px}.msg.user{background:var(--brand);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg.assistant{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.msg .vlink{margin-top:8px;display:inline-flex}.composer{border-top:1px solid var(--line);background:var(--panel);padding:12px}.composer .box{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;display:flex}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:40px;max-height:160px;padding:8px 0}.suggest{flex-wrap:wrap;gap:6px;display:flex}.suggest button{border:1px solid var(--line);background:var(--card);color:var(--ink-2);text-align:left;border-radius:999px;padding:6px 12px;font-size:12px}.suggest button:hover{border-color:var(--brand);color:var(--brand)}.intro{background:var(--card);border:1px solid var(--line);border-radius:14px;gap:10px;padding:14px;display:grid}.group{background:var(--card);border:1px solid var(--line);border-radius:14px;gap:10px;margin-bottom:12px;padding:14px;display:grid}.group h3{font-family:var(--serif);color:var(--brand);font-size:18px;font-weight:400}.kv{grid-template-columns:1fr 1fr auto;align-items:center;gap:6px;display:grid}.kv .input{padding:6px 10px;font-size:13px}.icon-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 6px}.icon-btn:hover{background:var(--soft);color:var(--bad-fg)}.thumbs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.thumb{background:var(--soft);aspect-ratio:4/3;border:2px solid #0000;border-radius:8px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb.on{border-color:var(--brand)}.thumb.none{color:var(--muted);place-items:center;font-size:11px;display:grid}.upload{color:var(--muted);border:1.5px dashed var(--line);aspect-ratio:4/3;cursor:pointer;border-radius:8px;place-items:center;font-size:11px;display:grid}.upload:hover{border-color:var(--brand);color:var(--brand)}.dev-card{border-top:1px solid var(--line-soft);gap:6px;padding-top:10px;display:grid}.savebar{background:var(--panel);border-top:1px solid var(--line);align-items:center;gap:8px;margin:0 -16px -16px;padding:12px 16px;display:flex;position:sticky;bottom:-16px}.sources dt{color:var(--brand);text-transform:capitalize;margin-top:10px;font-weight:500}.sources dd{color:var(--ink-2);word-break:break-word;margin:2px 0 0;font-size:13px}@media (max-width:900px){.nav{display:none}.main{padding:28px 16px 60px}.flow{grid-template-columns:1fr 1fr}.body{grid-template-rows:55vh 1fr;grid-template-columns:1fr}.side{border-right:0;border-top:1px solid var(--line);order:2}.topbar{flex-wrap:wrap}}
