:root{--bg:#080b12;--surface:#101620;--surface2:#151d29;--line:#273242;--text:#f4f6f9;--muted:#8290a3;--dim:#536176;--gold:#e9bf68;--cyan:#71d4cc;--red:#ee777e;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -10%,#223449 0,transparent 35%),var(--bg);color:var(--text);font-family:var(--sans);min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}.hidden{display:none!important}.app{min-height:100vh}.topbar{height:76px;padding:0 4.5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(8,11,18,.78);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--gold);color:#17130a;font-weight:800;font-size:20px}.brand-mark span{color:#4f9a93}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small,.eyebrow{font:10px var(--mono);letter-spacing:.16em;color:var(--muted)}.brand small{margin-top:4px}.topbar-right{display:flex;align-items:center;gap:28px}.system-status{font:10px var(--mono);letter-spacing:.12em;color:var(--cyan)}.system-status i{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#62dc9b;box-shadow:0 0 12px #62dc9b}.profile-button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:6px 10px 6px 6px;border-radius:8px;background:var(--surface);font-size:12px}.profile-button span:first-child{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--cyan);color:#10201f;font:11px var(--mono);font-weight:600}.profile-button b{color:var(--muted);font-weight:400}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{display:flex;flex-direction:column;padding:25px 16px;border-right:1px solid var(--line);background:rgba(13,18,27,.72)}.new-project,.primary{border:0;border-radius:8px;padding:13px 14px;background:var(--gold);color:#1b160c;font-weight:800;text-align:left}.new-project span{font-size:18px;margin-right:8px}.nav{display:grid;gap:4px;margin-top:22px;padding-bottom:23px;border-bottom:1px solid var(--line)}.nav-item,.sidebar-link{border:1px solid transparent;background:none;padding:11px 10px;text-align:left;color:var(--muted);font-size:12px;border-radius:7px}.nav-item:hover,.nav-item.active{background:#17202c;color:var(--text);border-color:#273749}.nav-icon{display:inline-block;width:23px;color:var(--cyan);font-size:17px}.sidebar-section{padding-top:24px}.section-label{font:10px var(--mono);letter-spacing:.16em;color:var(--dim);padding:0 10px 12px}.project-list{display:grid;gap:3px}.project-list .project-card{padding:9px 10px;background:transparent;border-color:transparent}.project-list .project-card strong{font-size:11px}.project-list .project-card small{font-size:9px}.project-card{display:block;width:100%;padding:17px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(22,31,43,.9),rgba(14,20,29,.9));text-align:left;transition:.2s}.project-card:hover{border-color:#4a6174;transform:translateY(-2px)}.project-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.folder-icon{font-size:23px;color:var(--gold)}.project-status{font:9px var(--mono);color:var(--muted);letter-spacing:.08em}.project-status.ready{color:var(--cyan)}.project-card strong,.project-card small{display:block}.project-card strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card small{margin-top:7px;color:var(--muted);font-size:10px}.project-card small span{margin:0 3px;color:var(--dim)}.sidebar-bottom{margin-top:auto}.usage-card{padding:13px 12px;border:1px solid var(--line);border-radius:9px;background:#121a25}.usage-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.usage-card span,.usage-card small{font-size:10px;color:var(--muted)}.usage-card strong{font:12px var(--mono);color:var(--gold)}.usage-track{height:4px;margin:11px 0 8px;background:#273242;border-radius:5px;overflow:hidden}.usage-track i{display:block;width:0;height:100%;background:var(--gold);border-radius:5px;transition:.3s}.usage-card small{font:9px var(--mono);color:var(--dim)}.sidebar-link{width:100%;display:flex;justify-content:space-between;margin-top:10px}.sidebar-link:hover{color:var(--text)}.main-content{min-width:0}.view{width:min(100%,1080px);margin:auto;padding:62px 6vw 28px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow{color:var(--cyan);margin-bottom:14px}.eyebrow span{color:var(--gold);margin:0 7px}h1{font-size:clamp(30px,4vw,52px);line-height:1.05;letter-spacing:-.06em;margin:0}h2{font-size:23px;margin:0 0 9px;letter-spacing:-.04em}.page-heading p{color:var(--muted);font-size:14px;margin:13px 0 0}.model-badge{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #5a4c2c;border-radius:6px;color:var(--gold);font:9px var(--mono);white-space:nowrap}.model-badge i{width:6px;height:6px;border-radius:50%;background:var(--cyan)}.model-badge strong{font-weight:500;color:var(--text);margin-left:4px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:44px 0 30px}.quick-actions button{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:9px;background:rgba(17,25,36,.8);text-align:left;transition:.2s}.quick-actions button:hover{border-color:#60758a;transform:translateY(-2px)}.quick-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid #4b665e;border-radius:7px;color:var(--cyan);font:16px var(--mono)}.quick-actions b,.quick-actions small{display:block}.quick-actions b{font-size:11px}.quick-actions small{margin-top:4px;color:var(--muted);font-size:10px}.quick-actions em{margin-left:auto;color:var(--muted);font-style:normal}.messages{min-height:350px;padding:23px 0 28px}.welcome{max-width:470px;margin:38px auto 0;text-align:center;color:var(--muted)}.welcome-orbit{position:relative;display:grid;place-items:center;width:64px;height:64px;margin:0 auto 21px;border:1px solid #4e625d;border-radius:18px;color:var(--gold);font:20px var(--mono)}.welcome-orbit:before,.welcome-orbit:after{content:'';position:absolute;border:1px solid #536c63;border-radius:50%;width:78px;height:28px;transform:rotate(40deg)}.welcome-orbit:after{transform:rotate(-40deg)}.welcome-orbit span{position:absolute;width:5px;height:5px;top:5px;right:7px;border-radius:50%;background:var(--gold)}.welcome h2{color:var(--text)}.welcome p{font-size:13px;line-height:1.8}.message{display:flex;gap:12px;max-width:87%;margin:0 0 18px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(16,23,33,.92);font-size:13px;line-height:1.7;animation:in .2s ease-out}.message.user{margin-left:auto;background:#182b42;border-color:#2c4969}.message.error{border-color:#743b42;color:#ffb5b5}.avatar{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:7px;background:var(--cyan);color:#11201f;font:9px var(--mono);font-weight:800}.user .avatar{background:var(--gold)}.message-main{min-width:0;flex:1}.message-label{margin-bottom:6px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em}.message-body{overflow-wrap:anywhere}.message-body p{margin:0 0 10px}.message-body strong{color:var(--gold)}.message-body h3,.message-body h4{margin:12px 0 6px;color:var(--text)}pre{position:relative;overflow:auto;margin:12px 0;padding:14px;border:1px solid #33455b;border-radius:8px;background:#0a1018;font:11px/1.55 var(--mono)}.copy-code{position:absolute;right:8px;top:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface2);color:var(--muted);font:9px var(--mono);padding:4px 6px}.composer{border:1px solid #34465b;border-radius:11px;padding:14px;background:rgba(14,23,35,.96);box-shadow:0 16px 45px rgba(0,0,0,.25)}.composer textarea{width:100%;min-height:56px;resize:vertical;border:0;outline:0;background:none;color:var(--text);line-height:1.5}.composer textarea::placeholder{color:#64758a}.composer-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:11px}.attach{font-size:22px;color:var(--muted);cursor:pointer}.attach:hover{color:var(--text)}.file-name{flex:1;overflow:hidden;color:var(--cyan);font:10px var(--mono);text-overflow:ellipsis;white-space:nowrap}.composer-hint{color:var(--dim);font:9px var(--mono)}.send,.auth-submit{border:0;border-radius:7px;padding:10px 14px;background:var(--gold);color:#17130a;font-weight:800}.send span,.auth-submit span{margin-left:8px;font-size:15px}.send:disabled,.auth-submit:disabled{opacity:.6}.busy{opacity:.75}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px;margin-top:42px}.empty-state,.empty-small{color:var(--muted);font-size:13px;padding:30px;text-align:center;border:1px dashed var(--line);border-radius:10px}.empty-small{border:0;padding:10px;text-align:left;font-size:11px}.auth-screen{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr}.auth-art{position:relative;overflow:hidden;padding:10vh 10vw;background:radial-gradient(circle at 30% 35%,#21414c 0,transparent 36%),linear-gradient(135deg,#101d2a,#080b12 70%)}.auth-glow{position:absolute;width:500px;height:500px;right:-180px;bottom:-220px;border:1px solid #355b5b;border-radius:50%;box-shadow:0 0 0 45px rgba(61,120,113,.08),0 0 0 100px rgba(61,120,113,.05)}.auth-mark{font:800 24px var(--mono);color:var(--gold)}.auth-mark span{color:var(--cyan)}.auth-copy{position:relative;margin-top:19vh;max-width:430px}.auth-copy h1{font-size:clamp(48px,6vw,88px);margin:15px 0;line-height:.95}.auth-copy h1 em{color:var(--gold);font-style:normal}.auth-copy p{max-width:300px;color:var(--muted);font-size:14px;line-height:1.7}.auth-footer{position:absolute;bottom:32px;color:var(--dim);font:9px var(--mono);letter-spacing:.15em}.auth-footer span{color:var(--cyan);margin:0 8px}.auth-panel{display:grid;place-items:center;background:#0d131d}.auth-panel-inner{width:min(380px,80%)}.mobile-brand{display:none}.auth-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:42px}.auth-tab{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 13px;background:none;color:var(--muted);font-size:12px}.auth-tab.active{border-color:var(--gold);color:var(--text)}.auth-title{margin-bottom:28px}.auth-title h2{font-size:28px}.auth-title p{color:var(--muted);font-size:12px}.field{display:block;margin:16px 0}.field span{display:block;margin-bottom:7px;color:var(--muted);font:10px var(--mono);letter-spacing:.08em}.field input{width:100%;padding:13px 12px;border:1px solid var(--line);border-radius:7px;outline:0;background:#111a26;color:var(--text);font-size:13px}.field input:focus{border-color:#66818e;box-shadow:0 0 0 3px rgba(113,212,204,.08)}.auth-error{min-height:20px;margin-top:5px;color:var(--red);font-size:11px}.auth-submit{width:100%;margin-top:7px;text-align:center}.auth-note{margin-top:20px;color:var(--dim);font:10px/1.6 var(--mono)}.toast{position:fixed;right:24px;bottom:24px;z-index:5;max-width:340px;padding:12px 16px;border:1px solid #435a6a;border-radius:8px;background:#172331;box-shadow:0 10px 30px #0008;color:var(--text);font-size:12px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.visible{opacity:1;transform:none}.toast.error{border-color:#81454b;color:#ffb7b7}@keyframes in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:800px){.topbar{height:64px;padding:0 18px}.system-status{display:none}.workspace{display:block;min-height:calc(100vh - 64px)}.sidebar{display:none}.view{padding:36px 16px 18px}.quick-actions{grid-template-columns:1fr;margin:30px 0 20px}.quick-actions button{padding:12px}.model-badge{display:none}.message{max-width:96%}.auth-screen{min-height:calc(100vh - 64px);display:block}.auth-art{display:none}.auth-panel{min-height:calc(100vh - 64px);padding:30px 0}.auth-panel-inner{width:min(380px,calc(100% - 38px))}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:46px;font-size:14px;font-weight:700}.mobile-brand .brand-mark{width:32px;height:32px;font-size:16px}.page-heading{display:block}.composer-hint{display:none}.projects-grid{grid-template-columns:1fr}.topbar-right{gap:0}}

/* Large responses stay inside the workspace instead of pushing the composer off-screen. */
html,body{overflow-x:hidden}
.workspace{height:calc(100vh - 76px);min-height:0}
.main-content{min-height:0;overflow:hidden}
.chat-view{height:calc(100vh - 76px);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.chat-view .page-heading,.chat-view .quick-actions,.chat-view .composer{flex:0 0 auto}
.chat-view .messages{flex:1 1 auto;min-height:180px;height:auto;max-height:none;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;padding:23px 3px 28px;overscroll-behavior:contain}
.message{width:min(100%,860px);max-width:100%;min-width:0}
.message-main,.message-body{min-width:0;max-width:100%}
.message-body{overflow-wrap:anywhere;word-break:break-word}
.message-body pre{max-width:100%;max-height:520px;overflow-x:auto;overflow-y:auto;white-space:pre;word-break:normal;overflow-wrap:normal;padding-top:42px;scrollbar-gutter:stable}
.message-body pre code{display:block;min-width:max-content;padding-right:46px}
.code-meta{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:31px;padding:0 9px;border-bottom:1px solid #27384b;background:#101a27;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.copy-code{position:static}
.composer{flex:0 0 auto}
.download-link{display:inline-block;margin-top:10px;padding:9px 12px;border:1px solid #5a4c2c;border-radius:7px;background:var(--gold);color:#17130a;font-size:11px;font-weight:800;text-decoration:none}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:40px 0 24px}
.admin-stat{padding:18px;border:1px solid var(--line);border-radius:9px;background:rgba(17,25,36,.8)}
.admin-stat small,.admin-stat strong{display:block}.admin-stat small{color:var(--muted);font:10px var(--mono)}.admin-stat strong{margin-top:8px;color:var(--gold);font-size:27px}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.admin-table{width:100%;border-collapse:collapse;min-width:620px;font-size:12px}.admin-table th,.admin-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{color:var(--dim);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.admin-table td{color:var(--muted)}.role-select{padding:7px;border:1px solid var(--line);border-radius:5px;background:var(--surface2);color:var(--text);font-size:11px}
@media(max-width:800px){.workspace{height:calc(100vh - 64px)}.chat-view{height:calc(100vh - 64px)}.chat-view .messages{min-height:150px;padding:18px 0 22px}.message-body pre{max-height:380px}.message-body pre code{min-width:600px}.message{font-size:12px}}