:root {
  --bg: #111214;
  --surface: #1b1c20;
  --surface-2: #23252a;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.16);
  --text: #f4f4f5;
  --muted: #999da6;
  --accent: #9c8cff;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { background: var(--bg); color: var(--text); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, textarea { font: inherit; } button { color: inherit; border: 0; cursor: pointer; }
svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#app { width: 100%; height: 100%; overflow: hidden; }

.topbar { height: 60px; padding: 0 14px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; border-bottom: 1px solid var(--line); background: rgba(17,18,20,.9); backdrop-filter: blur(18px); }
.icon-button, .header-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: transparent; }
.icon-button { border: 1px solid var(--line); color: #c7c9ce; }.icon-button svg { width: 19px; }
.header-avatar { justify-self: end; overflow:hidden; background: #e8e8ea; color: #17181b; font-size: 12px; font-weight: 750; }
.header-avatar img,.avatar img{width:100%;height:100%;display:block;object-fit:cover}
.brand-button { justify-self: center; display: flex; align-items: center; gap: 8px; padding: 7px 10px; background: transparent; font-size: 15px; }
.brand-button strong { font-weight: 650; letter-spacing: -.02em; }.chevron { color: #777b84; font-size: 13px; }
.brand-orb, .model-select > span { width: 10px; height: 10px; border-radius: 50%; background: conic-gradient(from 210deg,#79a8ff,#b37cff,#ff91af,#79a8ff); }

main { position: relative; height: calc(100% - 60px - 66px - var(--safe-bottom)); min-height: 0; overflow: hidden; }
.view {
  display: none;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 22px 16px 118px;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.view::-webkit-scrollbar { display: none; }
.view.active { display: block; }
.chat-shell, .messages, .composer, .composer-tools { width: 100%; max-width: 720px; margin-inline: auto; }
.hero { padding: clamp(36px,10vh,96px) 0 20px; text-align: center; }
.welcome-orb { width: 52px; height: 52px; margin: 0 auto 22px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(145deg,rgba(111,145,255,.24),rgba(180,117,255,.2)); }
.welcome-orb span { width: 25px; height: 25px; border-radius: 50%; background: conic-gradient(from 220deg,#74a8ff,#a988ff,#f08ba9,#74a8ff); box-shadow: 0 0 28px rgba(156,140,255,.35); }
h1,h2,h3 { margin: 0; letter-spacing: -.035em; }h1 { font-size: clamp(29px,7.5vw,43px); font-weight: 570; }h2 { font-size: 28px; font-weight: 620; }h3 { font-size: 17px; font-weight: 620; }
.hero > p { max-width: 440px; margin: 12px auto 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.quick-grid { max-width: 570px; margin: 28px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.quick-grid button { height: 42px; padding: 0 14px 0 8px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 21px; background: var(--surface); font-size: 12px; font-weight: 540; transition: background .15s,transform .15s; }
.quick-grid button:active { background: var(--surface-2); transform: scale(.98); }.quick-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-size: 10px; font-style: normal; font-weight: 700; }
.quick-icon.violet { background:#302b47;color:#b8a9ff }.quick-icon.blue { background:#223346;color:#8dc2ff }.quick-icon.green { background:#203a32;color:#85d6b4 }.quick-icon.amber { background:#3b3121;color:#e7bd79 }.quick-icon.rose{background:#412833;color:#f0a1bc}
.messages { display: flex; flex-direction: column; gap: 14px; padding-bottom: 20px; }.message { max-width: min(90%,620px); padding: 12px 14px; border-radius: 18px; font-size: 14px; line-height: 1.55; word-break: break-word; }.message.user { align-self: flex-end; border-bottom-right-radius: 6px; background: #2c2d33; white-space:pre-wrap }.message.assistant { align-self: flex-start; padding-inline: 3px; }.message .meta { display: block; margin-top: 9px; color: var(--muted); font-size: 10px; }.typing::after { content:"▋"; margin-left:3px; color:var(--accent); animation:blink .8s infinite; }@keyframes blink{50%{opacity:0}}
.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.message-content p{margin:.65em 0}.message-content h1,.message-content h2,.message-content h3,.message-content h4{margin:1em 0 .45em;letter-spacing:-.02em}.message-content h1{font-size:1.42em}.message-content h2{font-size:1.28em}.message-content h3,.message-content h4{font-size:1.12em}.message-content ul,.message-content ol{margin:.55em 0;padding-left:1.45em}.message-content li{margin:.28em 0}.message-content blockquote{margin:.65em 0;padding:.2em 0 .2em .85em;border-left:3px solid var(--accent);color:#c8cad0}.message-content code{padding:.14em .36em;border-radius:5px;background:#292b31;color:#e7dfff;font-family:"SFMono-Regular",Consolas,monospace;font-size:.9em}.message-content pre{max-width:100%;margin:.75em 0;padding:12px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#090a0c;white-space:pre}.message-content pre code{padding:0;background:transparent;color:#e8e9ec;font-size:12px}.message-content a{color:#a99cff;text-decoration:none}.message-content strong{font-weight:700}.message-content del{color:var(--muted)}
.message-image{display:block;width:min(100%,360px);max-height:360px;margin-bottom:9px;border-radius:14px;object-fit:cover}

.composer-wrap { position: fixed; left: 0; right: 0; bottom: calc(66px + var(--safe-bottom)); z-index: 4; padding: 24px 10px 8px; background: linear-gradient(transparent,var(--bg) 22px); }
.attachment-preview{width:100%;max-width:700px;margin:0 auto 8px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line-strong);border-radius:14px;background:#202125;box-shadow:0 8px 28px rgba(0,0,0,.25)}.attachment-preview[hidden]{display:none}.attachment-preview img{width:42px;height:42px;border-radius:10px;object-fit:cover}.attachment-preview span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#d7d8dc}.attachment-preview button{width:30px;height:30px;border-radius:50%;background:#303239;color:#b9bbc1;font-size:20px}
.composer { min-height: 58px; padding: 8px; display: flex; align-items: flex-end; gap: 6px; border: 1px solid var(--line-strong); border-radius: 27px; background: #202125; box-shadow: 0 10px 35px rgba(0,0,0,.28); }
.attach, .composer #send { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 50%; }.attach { background: #2d2f35; color:#c6c8cd }.attach svg,.composer #send svg { width: 19px; }.composer #send { background: #eeeef0; color:#15161a }.composer #send:disabled{opacity:.4}
textarea { flex:1; max-height:130px; min-height:42px; padding:11px 7px; resize:none; overflow-y:auto; border:0; outline:0; background:transparent; color:var(--text); font-size:14px; line-height:1.4 }textarea::placeholder{color:#777b83}
.composer-tools { padding: 7px 16px 0; display:flex; justify-content:space-between; align-items:center; color:#777b83; font-size:10px }.model-select { display:flex;align-items:center;gap:7px;padding:0;background:transparent;color:#a9adb5;font-size:11px }.model-select > span{width:8px;height:8px}

.section-head,.chips,.cards,.identity,.stats,.profile-actions { width:100%;max-width:720px;margin-inline:auto }.section-head{margin-bottom:22px}.section-head p{margin:7px 0 0;color:var(--muted);font-size:13px}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.chip{flex:0 0 auto;padding:8px 13px;border-radius:18px;background:var(--surface);color:var(--muted);font-size:11px}.chip.active{background:#eeeef0;color:#17181b}.cards{display:flex;flex-direction:column;gap:8px}.model-card,.history-card{position:relative;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-align:left}.model-card{display:grid;grid-template-columns:1fr auto;gap:6px 10px}.model-card.selected{border-color:#8678d8;background:#211f2c}.model-card strong,.history-card strong{font-size:14px;font-weight:610}.model-card p,.history-card p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.4}.badge{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.badge.premium{color:#b9aaff}.history-card{padding-right:42px}.history-card time{display:block;margin-top:8px;color:#737780;font-size:10px}.delete{position:absolute;right:8px;top:7px;padding:8px;background:transparent;color:#777b83}.empty{padding:55px 10px;color:var(--muted);text-align:center;font-size:13px}
.identity { position:relative; padding:18px; display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:17px;background:var(--surface) }.avatar{width:50px;height:50px;display:grid;flex:0 0 50px;place-items:center;overflow:hidden;border-radius:50%;background:#eeeef0;color:#17181b;font-size:15px;font-weight:750}.identity p{margin:4px 0 0;color:var(--muted);font-size:12px}.plan-pill{margin-left:auto;padding:6px 9px;border-radius:12px;background:#2b2938;color:#b9aaff;font-size:9px;font-weight:700;letter-spacing:.06em}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.stats div{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.stats strong,.stats span{display:block}.stats strong{font-size:20px;font-weight:600}.stats span{margin-top:6px;color:var(--muted);font-size:10px}.profile-actions{margin-top:18px}.wide{width:100%;margin-bottom:8px;padding:13px;border-radius:22px;font-size:13px;font-weight:620}.primary{background:#eeeef0;color:#17181b}.secondary{background:var(--surface);border:1px solid var(--line)}.ghost{background:transparent;color:var(--muted)}
.bottom-nav { position:fixed;left:0;right:0;bottom:0;z-index:5;height:calc(66px + var(--safe-bottom));padding:5px 7px var(--safe-bottom);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:rgba(17,18,20,.95);backdrop-filter:blur(18px) }.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:#737780;font-size:10px}.bottom-nav button svg{width:20px;height:20px}.bottom-nav button.active{color:#e7e7e9}.bottom-nav button.active svg{stroke:var(--accent)}
.toast{position:fixed;left:16px;right:16px;bottom:82px;z-index:20;padding:12px 14px;border:1px solid var(--line-strong);border-radius:14px;background:#292b31;opacity:0;transform:translateY(120px);transition:.2s;text-align:center;font-size:12px}.toast.show{opacity:1;transform:none}
.modal-backdrop{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}.modal-backdrop[hidden]{display:none}.modal-sheet{width:min(100%,600px);max-height:78vh;padding:10px 14px 14px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:24px 24px 18px 18px;background:#1b1c20;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-handle{width:38px;height:4px;margin:0 auto 17px;border-radius:4px;background:#51545c}.modal-sheet>p{margin:8px 0 15px;color:var(--muted);font-size:12px;line-height:1.45}.vision-models{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}.vision-option{padding:12px 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;background:#23252a;text-align:left}.vision-option strong{font-size:13px}.vision-option span{color:#aaa0e8;font-size:10px}.vision-option.selected{border-color:#8f82dc;background:#29263a}
@media(min-width:800px){.view{padding-inline:calc((100% - 760px)/2)}.bottom-nav{left:50%;width:760px;transform:translateX(-50%);border-radius:18px 18px 0 0}.composer-wrap{left:50%;width:780px;transform:translateX(-50%)}}

/* Brand artwork */
.brand-logo {
  width: 20px;
  height: 20px;
  border-radius: 7px;
  object-fit: cover;
}
.welcome-logo {
  width: 58px;
  height: 58px;
  margin: 0 auto 22px;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 19px;
  background: #17181d;
  box-shadow: 0 10px 38px rgba(74,83,255,.16);
}
.welcome-logo img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 15px;
  object-fit: cover;
}

/* Image studio */
.compact-sheet h3{margin-bottom:12px}.media-action{width:100%;margin-bottom:7px;padding:11px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;background:#23252a;text-align:left}.media-action>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;background:#302b47;color:#b9aaff;font-size:17px}.media-action div{min-width:0}.media-action strong,.media-action small{display:block}.media-action strong{font-size:13px}.media-action small{margin-top:3px;color:var(--muted);font-size:10px}
.image-head{display:flex;align-items:center;gap:10px}.back-button{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--surface);font-size:27px;color:#c8cad0}.image-workspace{width:100%;max-width:720px;margin:auto}.segmented{margin-bottom:18px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border-radius:13px;background:#1b1c20}.segmented button{padding:9px;border-radius:10px;background:transparent;color:var(--muted);font-size:12px}.segmented button.active{background:#303138;color:#f4f4f5;box-shadow:0 2px 8px rgba(0,0,0,.25)}.image-label{display:block;margin:15px 2px 7px;color:#b8bbc2;font-size:11px}.image-prompt{width:100%;height:110px;max-height:none;padding:13px;border:1px solid var(--line-strong);border-radius:16px;background:#1b1c20;line-height:1.5}.prompt-presets{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none}.prompt-presets[hidden]{display:none}.prompt-presets button{flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:16px;background:#202126;color:#b9bbc2;font-size:10px}.ratio-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ratio-picker button{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:13px;background:#1b1c20;color:var(--muted);font-size:11px}.ratio-picker button.active{border-color:#8d80db;background:#282538;color:#eee}.ratio{display:block;border:1.5px solid currentColor;border-radius:2px}.ratio.square{width:15px;height:15px}.ratio.portrait{width:11px;height:17px}.ratio.landscape{width:18px;height:12px}.image-submit{margin-top:20px}.image-drop{width:100%;min-height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #50535c;border-radius:17px;background:#18191d}.image-drop span{font-size:27px;color:#aaa0e8}.image-drop strong{margin-top:5px;font-size:13px}.image-drop small{margin-top:4px;color:var(--muted);font-size:10px}.edit-preview{position:relative}.edit-preview[hidden]{display:none}.edit-preview img{width:100%;max-height:310px;display:block;border-radius:17px;object-fit:contain;background:#0b0c0e}.edit-preview button{position:absolute;right:9px;bottom:9px;padding:8px 11px;border-radius:14px;background:rgba(20,21,24,.85);font-size:10px}.image-progress{text-align:center;padding:28px 8px}.image-progress[hidden],.image-result[hidden]{display:none}.image-progress>span{width:31px;height:31px;display:block;margin:0 auto 12px;border:3px solid #353741;border-top-color:#a899ff;border-radius:50%;animation:spin .8s linear infinite}.image-progress strong,.image-progress small,.image-progress em{display:block}.image-progress strong{font-size:13px}.image-progress p{margin:5px 0;color:var(--muted);font-size:11px}.image-progress small{color:#777b83;font-size:9px}.image-progress em{margin-top:11px;color:#9f96cf;font-size:9px;font-style:normal}.stage-track{width:min(100%,360px);height:5px;margin:15px auto 8px;overflow:hidden;border-radius:5px;background:#30323a}.stage-track i{width:8%;height:100%;display:block;border-radius:5px;background:linear-gradient(90deg,#786bd1,#b19eff);transition:width .6s}.image-result{margin-top:18px}.image-result>img{width:100%;max-height:560px;display:block;border-radius:18px;object-fit:contain;background:#090a0c}.image-result>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.image-result a,.image-result button{padding:11px;border-radius:20px;text-align:center;font-size:12px}.image-result a{border:1px solid var(--line);color:#f4f4f5;text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}

/* Coding workspace and code blocks */
.code-workspace{width:100%;max-width:720px;margin:auto}.code-task-picker{padding:3px;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border-radius:13px;background:#1b1c20}.code-task-picker button{padding:9px 4px;border-radius:10px;background:transparent;color:var(--muted);font-size:10px}.code-task-picker button.active{background:#303138;color:#f4f4f5}.code-languages button.active{border-color:#7f73c9;background:#29263a;color:#eee}.code-task{height:96px}.code-input-head{display:flex;align-items:end;justify-content:space-between}.code-input-head label span{color:#747780}.code-input-head button{margin-bottom:6px;padding:5px 8px;border-radius:11px;background:#24262b;color:#aaa0e8;font-size:9px}.source-code{width:100%;height:170px;max-height:300px;padding:12px;border:1px solid var(--line-strong);border-radius:16px;background:#0c0d10;color:#e3e4e7;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;line-height:1.5;tab-size:2}.code-models{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.code-models button{min-width:130px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#1b1c20;text-align:left}.code-models button strong,.code-models button small{display:block}.code-models button strong{font-size:11px}.code-models button small{margin-top:3px;color:var(--muted);font-size:8px}.code-models button.active{border-color:#887bd3;background:#29263a}.code-models button.locked{opacity:.55}.code-check{margin:17px 2px;display:flex;align-items:center;gap:9px;color:#b8bbc2;font-size:11px}.code-check input{width:17px;height:17px;accent-color:#8f82db}.code-submit{margin-top:2px}
.code-block{margin:.8em 0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#090a0c}.code-toolbar{height:35px;padding:0 7px 0 11px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#15161a}.code-toolbar>span{margin-right:auto;color:#8e929b;font:10px "SFMono-Regular",Consolas,monospace}.code-toolbar button{padding:6px 8px;border-radius:8px;background:transparent;color:#b8bbc2;font-size:9px}.code-toolbar button:active{background:#292b31}.message-content .code-block pre{margin:0;border:0;border-radius:0}.code-preview-sheet{width:min(100%,900px);height:min(82vh,760px);display:flex;flex-direction:column}.preview-head{display:flex;align-items:center;margin-bottom:10px}.preview-head h3{margin-right:auto}.preview-head button{width:34px;height:34px;border-radius:50%;background:#2b2d32;font-size:20px}.code-preview-sheet iframe{width:100%;flex:1;border:0;border-radius:12px;background:#fff}
.code-top{width:100%;max-width:900px;margin:0 auto 10px;display:grid;grid-template-columns:36px 1fr 36px 36px;gap:7px;align-items:center}.code-top select,.file-row select{min-width:0;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:#1b1c20;color:var(--text);outline:0}.code-top>button:not(.back-button){border-radius:11px;background:#24262b;font-size:17px}.ide-tabs{width:100%;max-width:900px;margin:0 auto 10px;padding:3px;display:grid;grid-template-columns:repeat(3,1fr);border-radius:13px;background:#1b1c20}.ide-tabs button{padding:8px;border-radius:10px;background:transparent;color:var(--muted);font-size:10px}.ide-tabs button.active{background:#303138;color:#fff}.ide-panel{display:none;width:100%;max-width:900px;margin:auto}.ide-panel.active{display:block}.file-row{display:grid;grid-template-columns:1fr auto 34px;gap:7px;margin-bottom:8px}.file-row button{padding:0 10px;border-radius:10px;background:#24262b;color:#c3c5ca;font-size:10px}.ide-editor{height:calc(100vh - 285px);min-height:310px;max-height:none;border-radius:13px}.editor-actions{display:flex;align-items:center;padding-top:7px}.editor-actions span{margin-right:auto;color:#777b83;font-size:9px}.editor-actions button{padding:8px 13px;border-radius:13px;background:#eee;color:#17181b;font-size:10px}.agent-intro{padding:14px;border:1px solid var(--line);border-radius:15px;background:#1b1c20}.agent-intro strong{font-size:14px}.agent-intro p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.agent-progress{margin:12px 0;padding:13px;border-radius:13px;background:#211f2c;color:#c7c0ec;font-size:11px}.agent-progress span{width:12px;height:12px;display:inline-block;margin-right:8px;border:2px solid #504b70;border-top-color:#b4a7ff;border-radius:50%;animation:spin .8s linear infinite}.change-card{margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#1b1c20}.change-card strong,.change-card small{display:block}.change-card strong{font:11px "SFMono-Regular",Consolas,monospace}.change-card small{margin-top:4px;color:var(--muted);font-size:9px}.proposal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.proposal-actions button{padding:10px;border-radius:16px}.proposal-actions .primary{background:#eee;color:#17181b}#projectPreview{width:100%;height:calc(100vh - 275px);min-height:350px;border:0;border-radius:14px;background:#fff}#ideAgent>.wide,#idePreview>.wide{margin-top:10px}

/* Vekta Code v2 */
.code-mode .topbar,.code-mode .bottom-nav{display:none}.code-mode main{height:100%}.code-mode #codeView{padding:0 0 max(12px,var(--safe-bottom));background:#101114}.ide-header{height:58px;padding:8px 10px;display:grid;grid-template-columns:38px 1fr 38px 38px;gap:7px;align-items:center;border-bottom:1px solid var(--line);background:#15161a;position:sticky;top:0;z-index:3}.ide-circle{height:38px;border:1px solid var(--line);border-radius:12px;background:#202126;color:#c8cad0;font-size:18px}.project-switch{min-width:0;padding:4px 9px;display:flex;flex-direction:column;align-items:flex-start;background:transparent;text-align:left}.project-switch span{color:#747780;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.project-switch strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ide-tabs{height:52px;margin:0;max-width:none;padding:4px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-bottom:1px solid var(--line);border-radius:0;background:#15161a}.ide-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;color:#777b84;font-size:10px}.ide-tabs button b{font-size:13px;font-weight:500}.ide-tabs button.active{background:#282a30;color:#f1f1f3}.ide-panel{display:none;width:100%;max-width:none;padding:10px}.ide-panel.active{display:block}.file-strip{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none}.file-strip button{min-width:104px;max-width:150px;padding:7px 9px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:#191a1e;color:#9a9da5}.file-strip button.active{border-color:#776bc3;background:#272436;color:#eee}.file-strip i{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:7px;background:#292b31;color:#9e95d5;font-size:7px;font-style:normal}.file-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.editor-head{height:40px;padding:0 4px 0 10px;display:flex;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;background:#17181c}.editor-head>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px "SFMono-Regular",Consolas,monospace}.editor-head small{margin-right:5px;color:#737780;font-size:8px}.editor-head button{width:30px;height:30px;border-radius:8px;background:transparent;color:#92959d}.ide-editor{width:100%;height:calc(100vh - 226px);min-height:330px;max-height:none;padding:13px;border:1px solid var(--line);border-radius:0 0 13px 13px;background:#0b0c0f;color:#e6e7ea;font:12px/1.55 "SFMono-Regular",Consolas,monospace;tab-size:2}.save-fab{position:fixed;right:16px;bottom:calc(16px + var(--safe-bottom));z-index:4;padding:10px 14px;border-radius:18px;background:#eee;color:#18191c;font-size:10px;box-shadow:0 8px 25px rgba(0,0,0,.4)}.agent-hero{padding:14px;display:flex;gap:11px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#211f2d,#191a1e)}.agent-hero>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;background:#342e50;color:#c0b4ff}.agent-hero strong{font-size:13px}.agent-hero p{margin:4px 0 0;color:#9699a2;font-size:10px;line-height:1.4}.agent-presets{display:flex;gap:6px;margin:9px 0;overflow-x:auto;scrollbar-width:none}.agent-presets button{flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:15px;background:#1b1c20;color:#adafb6;font-size:9px}.agent-prompt{width:100%;height:115px;max-height:none;padding:13px;border:1px solid var(--line-strong);border-radius:15px;background:#15161a;color:#f1f1f3;line-height:1.45}.agent-model-button{width:100%;margin:8px 0;padding:10px 12px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#1b1c20;text-align:left}.agent-model-button span{color:#777b83;font-size:9px}.agent-model-button strong{font-size:11px}.agent-model-button i{color:#888b93;font-size:18px;font-style:normal}.agent-run{width:100%;padding:12px;border-radius:18px;background:#ececef;color:#17181b;font-size:12px;font-weight:650}.agent-run span{margin-right:7px;color:#6659b6}.agent-run:disabled{opacity:.5}.agent-progress{margin-top:10px;padding:13px;display:flex;align-items:center;gap:9px;border:1px solid #38334e;border-radius:14px;background:#211f2c}.agent-progress[hidden]{display:none}.agent-progress>span{width:21px;height:21px;flex:0 0 21px}.agent-progress strong,.agent-progress small{display:block}.agent-progress strong{font-size:11px}.agent-progress small{margin-top:3px;color:#9590b0;font-size:8px}.proposal{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#17181c}.proposal[hidden]{display:none}.proposal-head>span{color:#8fcaad;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.proposal-head h3{margin:5px 0 10px;font-size:13px;line-height:1.35}.change-card{padding:9px;display:flex;align-items:center;gap:9px}.change-card>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#29263a;color:#b5a9f3}.undo-button{width:100%;margin-top:10px;padding:10px;border-radius:16px;background:transparent;color:#858891;font-size:10px}.preview-bar{height:38px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;background:#202126}.preview-bar>span{width:7px;height:7px;border-radius:50%;background:#555861}.preview-bar strong{margin:auto;color:#a5a8af;font-size:9px}.preview-bar button{width:28px;height:28px;border-radius:8px;background:#2b2d32}.code-mode #projectPreview{height:calc(100vh - 168px);min-height:400px;border-radius:0 0 13px 13px}.ide-sheet{padding-bottom:calc(14px + var(--safe-bottom))}.sheet-list{display:flex;flex-direction:column;gap:7px;margin:12px 0}.sheet-option{width:100%;padding:11px 12px;display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#222328;text-align:left}.sheet-option div{min-width:0;flex:1}.sheet-option strong,.sheet-option small{display:block}.sheet-option strong{font-size:12px}.sheet-option small{margin-top:3px;color:#858891;font-size:8px}.sheet-option>span{color:#777b84;font-size:17px}.sheet-option.selected{border-color:#8275cd;background:#29263a}.sheet-option.locked{opacity:.48}.compact-empty{padding:25px 10px}
@media(min-width:800px){.code-mode #codeView{padding-inline:calc((100% - 920px)/2)}.ide-header,.ide-tabs{max-width:920px;margin:auto}.save-fab{right:calc((100% - 900px)/2 + 16px)}}

/* Agent review: real unified diff before apply */
.diff-add{color:#63d59a!important}.diff-del{color:#f08383!important}.change-card small b{font-weight:650}
.diff-modal{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;background:#0d0e11;color:#f0f1f3}
.diff-modal[hidden]{display:none}.diff-modal header{min-height:58px;padding:calc(8px + env(safe-area-inset-top,0px)) 11px 8px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:#15161a}
.diff-modal header button{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);border-radius:12px;background:#202126;color:#d0d2d6;font-size:25px}.diff-modal header div{min-width:0}.diff-modal header span,.diff-modal header strong{display:block}.diff-modal header span{color:#777b84;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.diff-modal header strong{max-width:calc(100vw - 75px);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px "SFMono-Regular",Consolas,monospace}
.diff-summary{height:42px;padding:0 13px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:#111216;font-size:10px}.diff-summary strong{margin-right:auto;font-size:11px}.diff-summary span{font:10px "SFMono-Regular",Consolas,monospace;font-weight:700}
.diff-files{padding:7px 9px;display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);background:#15161a;scrollbar-width:none}.diff-files button{min-width:128px;max-width:210px;padding:8px 9px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#1c1d22;text-align:left}.diff-files button.active{border-color:#766ac3;background:#282538}.diff-files span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px "SFMono-Regular",Consolas,monospace}.diff-files small{flex:0 0 auto;font-size:8px}.diff-files b{font-weight:650}
.diff-code{min-width:0;overflow:auto;overscroll-behavior:contain;background:#090a0c;font:11px/1.55 "SFMono-Regular",Consolas,monospace;scrollbar-color:#33353c transparent}.diff-line{min-width:max-content;display:grid;grid-template-columns:42px 42px minmax(calc(100vw - 84px),auto);border-bottom:1px solid rgba(255,255,255,.025)}.diff-line>i{padding:2px 7px;border-right:1px solid rgba(255,255,255,.04);color:#555963;text-align:right;font-style:normal;user-select:none}.diff-line>code{padding:2px 10px;white-space:pre;color:#cfd1d6}.diff-line.add{background:rgba(45,153,95,.16)}.diff-line.add>code{color:#b9efcf}.diff-line.del{background:rgba(200,72,72,.16)}.diff-line.del>code{color:#f0b6b6}.diff-line.hunk{margin:5px 0;background:#1d2031}.diff-line.hunk>code{color:#aaa3dc}.diff-empty{padding:45px 15px;color:var(--muted);text-align:center;font:11px Inter,sans-serif}
.diff-modal footer{padding:9px 11px calc(9px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:.72fr 1.28fr;gap:8px;border-top:1px solid var(--line);background:#15161a}.diff-modal footer button{height:43px;border-radius:16px;font-size:11px;font-weight:650}.diff-modal footer .ghost{background:#202126}.diff-modal footer button:disabled{opacity:.5}
@media(min-width:800px){.diff-modal{left:50%;width:min(100%,920px);transform:translateX(-50%);border-inline:1px solid var(--line)}.diff-line{grid-template-columns:48px 48px minmax(824px,auto)}}
