 .routine-output{white-space:pre-wrap;overflow-wrap:anywhere}
/* Local system font stacks keep the workspace self-contained under CSP. */
html .page,html .panel,html .grid,html .list{min-width:0}
html .page{overflow-wrap:anywhere}
html .page pre{max-width:100%;min-width:0;overflow:auto}
html .list-row>*{min-width:0;max-width:100%}
/* Specificity keeps later desktop rules from compressing phone/tablet editors. */
@media(max-width:1000px){
  html .shell{display:block}
  html .sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(290px,84vw);transform:translateX(-102%);min-height:100dvh;overflow-y:auto;box-shadow:var(--shadow)}
  html .mobile-nav-open .sidebar{transform:translateX(0)}
  html .drawer-scrim{display:block;position:fixed;inset:0;background:#12231d80;z-index:25;opacity:0;visibility:hidden}
  html .mobile-nav-open .drawer-scrim{opacity:1;visibility:visible}
  html .menu-toggle{display:grid;place-items:center}
  html .studio-columns,html .studio-bottom,html .grid-two,html .grid-main,html .home-columns,html .conversation-layout{grid-template-columns:minmax(0,1fr)}
  html .studio-agent{grid-column:auto}
  html .studio-files-list{max-height:220px}
  html .conversation-list{border-right:0;border-bottom:1px solid var(--line);max-height:200px}
  html .chat-pane{min-height:500px}
  html .studio-editor-pane .textarea{min-height:350px}
}
:root{--ink:#192a25;--muted:#687871;--paper:#f2f4ed;--surface:#fbfcf8;--line:#dce3d9;--pine:#24483b;--moss:#66856f;--lime:#d9ee91;--amber:#dba64e;--rose:#b9584e;--soft:#e7eee4;--shadow:0 18px 45px #1c30221a;--display:"Manrope",ui-sans-serif,system-ui,sans-serif;--mono:"DM Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;color:var(--ink);font:15px/1.5 var(--display);min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8ba957;outline-offset:2px}a{color:inherit}#app{min-height:100vh}.shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--ink);color:#e7eee4;padding:24px 16px 18px;display:flex;flex-direction:column;gap:26px;min-height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:2px 10px}.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800;font-size:16px;letter-spacing:-2px}.brand-name{font-size:18px;font-weight:800;letter-spacing:-.6px}.brand-caption{color:#91a59a;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.nav-group{display:grid;gap:4px}.nav-label{font-size:10px;font-weight:700;color:#859a8f;letter-spacing:.14em;text-transform:uppercase;padding:0 11px 7px}.nav-link{border:0;background:transparent;color:#b6c4bb;text-align:left;min-height:40px;padding:9px 11px;border-radius:9px;display:flex;align-items:center;gap:12px;text-decoration:none;transition:background .18s,color .18s}.nav-link:hover,.nav-link.active{background:#31463c;color:#f5f7ee}.nav-link.active:before{content:"";width:3px;height:19px;border-radius:3px;background:var(--lime);margin-left:-11px;margin-right:8px}.nav-glyph{width:18px;text-align:center;color:#a4bb8b;font-family:var(--mono);font-size:13px}.side-bottom{margin-top:auto;border-top:1px solid #ffffff20;padding:15px 9px 0}.identity{font-size:13px;font-weight:700}.identity-role{font-size:11px;color:#92a49a;margin-top:2px}.logout{border:0;background:none;color:#cad5cc;margin-top:12px;padding:7px 0}.main{min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);background:#f8f9f4d9;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,42px);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.top-left{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;border:1px solid var(--line);background:var(--surface);border-radius:9px;width:40px;height:40px}.crumb{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:10px}.live-dot{font-size:12px;color:var(--pine);display:flex;align-items:center;gap:7px}.live-dot:before{content:"";width:7px;height:7px;border-radius:100%;background:#76a36e}.page{max-width:1440px;margin:0 auto;padding:34px clamp(18px,3vw,42px) 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{color:var(--moss);font:500 11px var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:9px}.page-title{font-size:clamp(28px,3vw,40px);line-height:1.06;letter-spacing:-1.7px;margin:0;font-weight:800}.purpose{color:var(--muted);margin:9px 0 0;max-width:730px}.panel{border:1px solid var(--line);background:var(--surface);border-radius:15px;box-shadow:0 3px 10px #20332408}.panel-pad{padding:22px}.section-title{font-size:16px;margin:0 0 5px;letter-spacing:-.3px}.section-note{color:var(--muted);font-size:13px;margin:0 0 18px}.grid{display:grid;gap:16px}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr)}.field{display:grid;gap:7px;margin:0 0 15px}.field label,.label{font-size:12px;font-weight:700;color:#41544a}.input,.textarea,.select{width:100%;border:1px solid #cad5cb;background:#fff;border-radius:9px;padding:11px 12px;min-height:44px}.textarea{min-height:120px;resize:vertical;line-height:1.5}.textarea.code{font:13px/1.6 var(--mono);min-height:320px;tab-size:2}.hint{font-size:12px;color:var(--muted)}.btn{border:1px solid transparent;border-radius:9px;background:var(--pine);color:#f8faef;padding:10px 15px;min-height:42px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .16s,background .16s}.btn:hover{background:#315b49;transform:translateY(-1px)}.btn.secondary{background:var(--soft);color:var(--pine);border-color:#d3ded2}.btn.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.btn.danger{background:#a64239}.btn.small{padding:6px 10px;min-height:34px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;border-radius:99px;background:#e7eee5;color:#43604c;padding:4px 9px;font:11px var(--mono);text-transform:capitalize}.status.warn{background:#f8ebd1;color:#805d21}.status.bad{background:#f7e4e1;color:#8c3d37}.status.neutral{background:#e8ece8;color:#637068}.notice{padding:11px 13px;border-radius:9px;background:#edf3e8;color:#426248;font-size:13px;margin:12px 0}.notice.error{background:#f8e9e5;color:#90463d}.notice.pending{background:#f7efd9;color:#765c25}.list{display:grid;gap:9px}.list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.list-main{min-width:0}.list-title{font-weight:700}.list-meta{font:11px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.empty{padding:36px 24px;text-align:center;border:1px dashed #c7d3c7;border-radius:13px;background:#f7f9f3}.empty-mark{width:46px;height:46px;margin:0 auto 12px;background:#e5eddc;border-radius:14px;display:grid;place-items:center;color:var(--pine);font:16px var(--mono)}.empty h3{margin:0 0 5px;font-size:16px}.empty p{margin:0 auto 16px;color:var(--muted);max-width:430px;font-size:13px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:#fff}table{width:100%;border-collapse:collapse;min-width:560px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e8ede7;font-size:13px;vertical-align:top}th{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f5f7f2}tr:last-child td{border-bottom:0}.mono{font-family:var(--mono)}.hero-work{background:var(--pine);color:#f4f6ed;border-radius:18px;padding:clamp(22px,4vw,38px);position:relative;overflow:hidden}.hero-work:after{content:"";position:absolute;width:250px;height:250px;border:1px solid #ffffff24;border-radius:50%;right:-72px;top:-90px;box-shadow:0 0 0 28px #ffffff09,0 0 0 58px #ffffff07}.hero-work h2{font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-1.5px;max-width:580px;margin:0 0 11px;position:relative;z-index:1}.hero-work p{color:#c4d3c8;max-width:580px;margin:0 0 22px;position:relative;z-index:1}.hero-work .textarea{background:#f8faf3;border-color:transparent;min-height:112px}.hero-work .actions{position:relative;z-index:1;margin-top:10px}.hero-work .btn{background:var(--lime);color:var(--ink)}.home-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:17px;margin-top:18px}.conversation-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100dvh - 150px);overflow:hidden}.conversation-list{border-right:1px solid var(--line);padding:16px;overflow:auto}.conversation-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.conversation-item{width:100%;background:transparent;text-align:left;border:0;border-radius:9px;padding:11px;margin-bottom:4px}.conversation-item:hover,.conversation-item.active{background:#eaf0e7}.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:480px}.chat-messages{padding:22px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:15px;max-height:calc(100dvh - 340px)}.bubble{max-width:min(780px,90%);border-radius:14px;padding:14px 16px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;background:var(--pine);color:#f8faf3;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:#edf1e9;border-bottom-left-radius:4px}.bubble-author{font:10px var(--mono);opacity:.7;margin-bottom:7px;text-transform:uppercase;letter-spacing:.08em}.chat-compose{padding:14px;border-top:1px solid var(--line);background:#f6f8f2}.chat-compose textarea{min-height:86px}.chat-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.approval-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.drawer-scrim{display:none}.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);background:var(--paper)}.auth-art{background:var(--ink);color:#edf2e8;padding:clamp(28px,7vw,90px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #a3b89455;border-radius:50%;right:-160px;bottom:-170px;box-shadow:0 0 0 35px #a3b89416,0 0 0 80px #a3b8940c}.auth-art h1{font-size:clamp(44px,7vw,82px);line-height:.98;letter-spacing:-4px;max-width:600px;margin:60px 0 20px;position:relative;z-index:1}.auth-art p{font-size:17px;color:#b6c6b9;max-width:470px;position:relative;z-index:1}.auth-art .brand{padding:0}.auth-art-foot{font:11px var(--mono);color:#92a49a;letter-spacing:.08em}.auth-form-wrap{display:grid;place-items:center;padding:28px}.auth-card{width:min(100%,420px);padding:34px;border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:var(--shadow)}.auth-card h2{font-size:27px;margin:0 0 7px;letter-spacing:-1px}.auth-card>p{color:var(--muted);margin:0 0 25px}.mobile-nav-open{overflow:hidden}.route-enter{animation:rise .3s ease both}@keyframes rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.studio-root{display:grid;gap:14px}.studio-toolbar{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.studio-toolbar .field{margin:0}.studio-columns{display:grid;grid-template-columns:minmax(215px,.72fr) minmax(330px,1.2fr) minmax(300px,1fr);gap:12px;align-items:stretch}.studio-files,.studio-editor-pane,.studio-agent{min-width:0}.studio-files-list{max-height:430px;overflow:auto;display:grid;gap:3px}.file-button{border:0;background:none;padding:8px 9px;text-align:left;border-radius:7px;font:12px var(--mono);overflow-wrap:anywhere}.file-button:hover,.file-button.selected{background:#e9f0e5;color:var(--pine)}.studio-editor-pane{display:flex;flex-direction:column}.studio-editor-pane .textarea{flex:1;min-height:430px}.studio-prompt{min-height:120px}.code-diff{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#182a24;color:#dce9dc;border-radius:9px;padding:13px;font:12px/1.6 var(--mono)}.event-feed{display:grid;gap:8px;max-height:390px;overflow:auto}.event-item{border-left:2px solid #a7bf8e;padding:4px 10px;font-size:12px}.event-item time{display:block;color:var(--muted);font:10px var(--mono);margin-bottom:3px}.studio-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-frame{width:100%;height:320px;border:1px solid var(--line);border-radius:9px;background:white}.page-status{font-size:12px;color:var(--muted);min-height:20px}.memory-row textarea{min-height:75px}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.subnav a{font-size:12px;padding:7px 10px;border-radius:8px;text-decoration:none;background:#e7ede5;color:var(--pine)}.subnav a.active{background:var(--pine);color:white}
@media(max-width:1050px){.shell{grid-template-columns:220px minmax(0,1fr)}.studio-columns{grid-template-columns:220px minmax(0,1fr)}.studio-agent{grid-column:1/-1}.studio-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(290px,84vw);transform:translateX(-102%);transition:transform .22s ease;box-shadow:var(--shadow);min-height:100dvh}.mobile-nav-open .sidebar{transform:translateX(0)}.drawer-scrim{display:block;position:fixed;inset:0;background:#12231d80;z-index:25;opacity:0;visibility:hidden;transition:opacity .2s}.mobile-nav-open .drawer-scrim{opacity:1;visibility:visible}.menu-toggle{display:grid;place-items:center}.topbar{height:60px;padding:0 15px}.page{padding:23px 15px 45px}.page-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:18px}.page-title{font-size:30px}.grid-two,.grid-main,.home-columns{grid-template-columns:1fr}.conversation-layout{grid-template-columns:1fr;min-height:auto}.conversation-list{border-right:0;border-bottom:1px solid var(--line);max-height:195px}.chat-pane{min-height:520px}.chat-messages{max-height:none;min-height:290px;padding:15px}.chat-compose{padding:12px}.bubble{max-width:96%}.studio-toolbar{grid-template-columns:1fr 1fr}.studio-columns{grid-template-columns:1fr}.studio-files-list{max-height:220px}.studio-editor-pane .textarea{min-height:350px}.studio-agent{grid-column:auto}.studio-bottom{grid-template-columns:1fr}.auth-wrap{grid-template-columns:1fr;min-height:100dvh}.auth-art{min-height:300px;padding:26px}.auth-art h1{font-size:50px;margin:45px 0 12px;letter-spacing:-2px}.auth-form-wrap{padding:18px;align-items:start}.auth-card{padding:24px}.live-dot{display:none}}
@media(max-width:420px){.studio-toolbar{grid-template-columns:1fr}.actions .btn{flex:1}.chat-compose-footer{align-items:flex-start;flex-direction:column}.top-actions .btn{padding:7px 10px}.list-row{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.auth-card>.btn{width:100%}.company-logo{object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.nav-link{transition:transform .18s,opacity .18s}.btn{transition:transform .16s,opacity .16s}.input,.textarea,.select,.list-row,.table-wrap,.preview-frame{background:#fdfef9}.preview-frame{background:#fdfef9}@media(max-width:1200px){.studio-columns{grid-template-columns:220px minmax(0,1fr)}.studio-agent{grid-column:1/-1}}
