:root{color-scheme:dark;--bg:#0b1320;--panel:#101c2d;--line:#223147;--text:#edf2f8;--muted:#9aabc0;--accent:#9ce0cf;--cyan:#5ccbb6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);display:flex;min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#08111d;border-right:1px solid var(--line);padding:34px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px}.brand img{width:43px;height:43px}.brand strong{font-size:25px;letter-spacing:-1px}.brand span{display:block;font-size:8px;color:var(--muted);letter-spacing:2px;margin-top:5px}.status{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:35px}.status i,.local-badge i{width:6px;height:6px;border-radius:50%;background:#8b9bad}.status i.online,.local-badge i{background:var(--cyan)}nav{margin-top:28px;display:grid;gap:8px}nav button{background:transparent;color:var(--muted);text-align:left;border:0;border-radius:8px;padding:13px;font-size:13px}nav button.selected{background:#132735;color:var(--accent)}nav button span{float:right;font-size:10px;padding:2px 6px;border:1px solid #284548;border-radius:4px}.sidebar-bottom{margin-top:auto;display:grid;gap:7px;font-size:11px;color:var(--muted)}.sidebar-bottom strong{color:var(--text);font-size:13px}.eyebrow{color:var(--muted);font-size:9px;letter-spacing:2px;font-weight:600}.outline{background:none;color:var(--muted);padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:17px}main{margin-left:252px;flex:1;padding:35px 5vw 22px;max-width:1600px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:24px}h1{font-weight:450;font-size:24px;letter-spacing:-.7px;margin:9px 0 0}.local-badge{white-space:nowrap;border:1px solid #2d4142;border-radius:20px;padding:8px 10px;display:flex;align-items:center;gap:7px;color:var(--accent);font-size:8px;letter-spacing:1px}#chat-view{display:flex;flex-direction:column;min-height:calc(100dvh - 140px)}.messages{flex:1;max-height:calc(100dvh - 280px);min-height:300px;overflow:auto;padding:30px 3px;scrollbar-width:thin;scrollbar-color:#2b3d50 transparent}.welcome{padding-top:min(8vh,80px);text-align:center}.orb{margin:0 auto 25px;width:62px;height:62px;border-radius:21px;display:grid;place-items:center;color:var(--accent);font-size:26px;background:radial-gradient(circle at 30% 20%,#304c50,#152735 75%);border:1px solid #36524e;box-shadow:0 0 60px #36716520}.welcome h2{font-weight:430;font-size:30px;letter-spacing:-1px;margin:0 0 13px}.welcome p{font-size:13px;color:var(--muted);line-height:1.7}.suggestions{display:flex;gap:10px;max-width:730px;margin:32px auto 0}.suggestions button{flex:1;border:1px solid var(--line);border-radius:10px;background:#111e2e;padding:17px 12px;text-align:left;color:#c2cfdf;font-size:11px}.suggestions button span{float:right;color:var(--accent)}.message{display:flex;gap:15px;margin:0 0 23px;line-height:1.65;font-size:14px}.message .avatar{width:29px;height:29px;flex-shrink:0;border-radius:8px;display:grid;place-items:center;background:#1b2f3f;color:var(--accent);font-size:12px}.message.user .avatar{color:#c5b9f1;background:#30273c}.message .content{white-space:pre-wrap;overflow-wrap:anywhere;padding-top:2px;max-width:900px}.message.error .content{color:#ffb1ad}.message .byline{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:7px}.message.notice{color:var(--accent);font-size:12px;background:#152d32;padding:12px;border-radius:8px}#activity{font-size:11px;min-height:25px;color:var(--accent)}#chat-form{display:flex;gap:13px;align-items:flex-end;background:#132030;border:1px solid #2f4356;border-radius:14px;padding:15px}#message{color:var(--text);background:none;border:0;flex:1;resize:none;min-height:29px;max-height:150px;line-height:1.5}textarea::placeholder,input::placeholder{color:#7890a9}#send{background:var(--accent);color:#132c2b;border:0;border-radius:8px;width:36px;height:36px;font-size:23px}.composer-note{text-align:center;color:#6e8096;font-size:9px;margin-top:10px;letter-spacing:.2px}.dev-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px 0 20px}.dev-heading h2{font-size:23px;font-weight:450;letter-spacing:-.6px;margin:0}.dev-heading p{font-size:12px;line-height:1.6;color:var(--muted);max-width:500px}.toggle{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.toggle input{accent-color:var(--accent);width:18px;height:18px}.goal-form{padding:23px;background:#101f2d;border:1px solid var(--line);border-radius:12px}.goal-form label{font-size:12px;color:#d2ddeb}.goal-form textarea,.goal-form input{display:block;background:#0b1623;border:1px solid var(--line);width:100%;padding:12px;border-radius:7px;color:var(--text);resize:vertical;margin-top:13px;font-size:12px}.goal-form>div{display:flex;align-items:center;gap:12px;margin-top:15px}.goal-form select{background:#142535;border:1px solid var(--line);border-radius:6px;padding:9px;color:#b9cbdc;font-size:11px;max-width:100%}.goal-form button{margin-left:auto;background:var(--accent);color:#112a29;font-weight:600;font-size:11px;border:0;border-radius:7px;padding:11px 15px;white-space:nowrap}.goal-form input{margin:0}.section-label{font-size:9px;letter-spacing:2px;color:var(--muted);margin:30px 0 13px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.skill-card{background:#12212f;border:1px solid var(--line);padding:20px;border-radius:10px}.skill-card h3{font-size:14px;font-weight:550;margin:0 0 8px;overflow-wrap:anywhere}.skill-card p{font-size:12px;line-height:1.6;color:var(--muted)}.pill{font-size:9px;padding:5px 8px;border:1px solid #345653;background:#142f32;color:var(--accent);border-radius:20px}.job-row{border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:flex-start;gap:15px;font-size:12px}.job-row .job-text{flex:1}.job-row small{display:block;color:var(--muted);line-height:1.5;margin-top:7px}.job-row .failed{color:#ffb5b5;border-color:#653c46;background:#301d2c}.empty{color:#7e92aa;font-size:12px;line-height:1.6}.lesson{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;color:#bbcbdc}#toast{position:fixed;bottom:30px;right:30px;background:#1b3540;border:1px solid #476b6d;border-radius:10px;padding:15px 20px;max-width:420px;box-shadow:0 10px 40px #0006;font-size:13px;z-index:5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1000px){.sidebar{width:205px;padding:25px 17px}main{margin-left:205px;padding:30px 4vw}h1{font-size:20px}.local-badge{display:none}.suggestions{flex-direction:column;max-width:360px}.welcome{padding-top:30px}.welcome h2{font-size:26px}.dev-heading{align-items:flex-start;flex-direction:column}.goal-form>div{flex-wrap:wrap}.goal-form button{margin-left:0}.goal-form input{min-width:100%}}
@media(max-width:640px){body{display:block}.sidebar{position:static;width:100%;height:auto;padding:17px 20px;flex-direction:row;align-items:center;gap:15px;border-right:0;border-bottom:1px solid var(--line)}.brand img{width:32px;height:32px}.brand strong{font-size:22px}.brand span,.status,.sidebar-bottom{display:none}nav{display:flex;margin:0 0 0 auto;gap:4px}nav button{padding:10px 9px;font-size:10px}nav button span{display:none}main{margin:0;padding:22px 18px}header{padding-bottom:18px}h1{font-size:19px}#chat-view{min-height:calc(100dvh - 180px)}.messages{min-height:230px;max-height:calc(100dvh - 310px);padding-top:24px}.welcome{padding-top:12px}.welcome h2{font-size:25px}.orb{width:50px;height:50px;margin-bottom:19px}.suggestions{margin:20px auto 0;gap:7px}.suggestions button{padding:13px}.message{font-size:13px;gap:10px}#message{font-size:16px}#chat-form{padding:11px}#toast{left:18px;right:18px;bottom:20px}.goal-form{padding:17px}.dev-heading h2{font-size:21px}}

/* Hosting phone interface */
.connection-status{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);padding:16px 0 0;line-height:1.5}.connection-status i{width:7px;height:7px;background:#8391a4;border-radius:50%;flex-shrink:0}.connection-status i.online{background:var(--cyan)}.sidebar nav{margin-top:35px}#mobile-settings{margin:0;white-space:nowrap}.sidebar-bottom .outline{margin-top:5px}#chat-view{min-height:calc(100dvh - 180px)}.messages{max-height:calc(100dvh - 325px)}dialog{max-width:440px;width:calc(100% - 36px);background:#101f2d;color:var(--text);border:1px solid #35515b;border-radius:18px;padding:30px}dialog::backdrop{background:#040b13d9}dialog h2{font-size:24px;font-weight:450}dialog p{color:var(--muted);font-size:13px;line-height:1.6}dialog label{display:block;font-size:12px;margin-top:20px}dialog input{width:100%;background:#091624;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:13px;margin-top:9px;font-size:16px}dialog form>div{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:20px}dialog .outline{margin:0}.primary{background:var(--accent);color:#132c2b;border:0;border-radius:7px;padding:11px 16px}#development-jobs .pill{white-space:nowrap}
@media(max-width:640px){header{align-items:center}.connection-status{font-size:11px}#chat-view{min-height:calc(100dvh - 225px)}.messages{max-height:calc(100dvh - 355px);min-height:200px}#mobile-settings{font-size:11px;padding:9px 11px}.welcome h2{font-size:23px}#goal{font-size:16px}}

#workspace{display:contents}.auth-card{width:calc(100% - 36px);max-width:440px;margin:8vh auto;padding:30px;background:#101f2d;border:1px solid #35515b;border-radius:18px;align-self:flex-start}.auth-card h1{font-size:27px;margin-bottom:18px}.auth-card p{font-size:13px;line-height:1.7;color:var(--muted)}.auth-card label{display:block;font-size:12px;margin:18px 0 8px}.auth-card input{background:#091624;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:13px;width:100%;font-size:16px}.auth-card button{margin-top:20px}.auth-card a{color:var(--accent);font-size:13px}.phone-code{font:600 23px ui-monospace,monospace;color:var(--accent);letter-spacing:2px}#login-error,#setup-result{color:#ffb1ad}.auth-page{display:flex}.auth-card .primary{width:100%}
