:root{--bg: #f3efe6;--bg-deep: #e8e1d4;--ink: #1c1915;--muted: #6b645a;--accent: #0f6e56;--accent-ink: #f7fff9;--danger: #b42318;--line: rgba(28, 25, 21, .12);--editor-bg: #faf7f1;--pane: #f7f3eb;--glow: radial-gradient(1200px 500px at 10% -10%, #d9efe6 0%, transparent 55%), radial-gradient(900px 400px at 100% 0%, #f0e0c8 0%, transparent 50%), var(--bg);--font-ui: "Syne", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--side-w: min(17.5rem, 88vw);--radius: .4rem}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--glow);color:var(--ink);font-family:var(--font-ui)}#app{height:100%;display:grid;grid-template-rows:auto 1fr;min-height:100dvh}a{color:var(--accent)}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem .75rem;border-bottom:1px solid var(--line);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 78%,transparent)}.brand{display:flex;align-items:baseline;gap:.55rem;flex-shrink:0}.brand-cluster{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;flex-shrink:0}.app-switch{display:inline-flex;align-items:stretch;flex-shrink:0;width:max-content;max-width:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--editor-bg)}.app-switch-btn{appearance:none;border:none;background:transparent;color:var(--muted);font-family:var(--font-ui);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.38rem .7rem;flex-shrink:0;white-space:nowrap;transition:background .14s ease,color .14s ease}.app-switch-btn:hover{color:var(--ink);background:#0f6e5614}.app-switch-btn.is-active{background:var(--accent);color:var(--accent-ink)}.app-switch-btn+.app-switch-btn{border-left:1px solid var(--line)}.app-switch-expand{display:inline-flex;align-items:center;transition:background .14s ease,color .14s ease}.app-switch-expand .expand-short,.app-switch-expand .expand-full{white-space:nowrap}.app-switch-expand .expand-full{display:none}.app-switch-expand:hover .expand-short,.app-switch-expand:focus-visible .expand-short{display:none}.app-switch-expand:hover .expand-full,.app-switch-expand:focus-visible .expand-full{display:inline}.brand-mark{font-size:clamp(1.85rem,3vw,2.45rem);font-weight:800;letter-spacing:-.04em;line-height:1}.brand-tag{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.engine-status{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);margin-right:.25rem}.ghost,.run{appearance:none;border-radius:var(--radius);font-family:var(--font-ui);font-weight:700;font-size:.82rem;letter-spacing:.01em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease,filter .14s ease,background .14s ease,border-color .14s ease}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);padding:.48rem .85rem}.ghost:hover{background:#0f6e5614;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.run{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;padding:.48rem .95rem}.run:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.run:disabled,.ghost:disabled{opacity:.55;cursor:not-allowed;transform:none}.tight{padding:.38rem .7rem;font-size:.78rem}.workspace{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:0;height:100%}.side-pane{display:grid;grid-template-rows:auto auto 1fr auto;min-height:0;background:var(--pane);border-right:1px solid var(--line)}.pane-head-light{padding:.75rem .9rem .45rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.side-actions{display:flex;gap:.4rem;padding:0 .85rem .65rem}.session-list{list-style:none;margin:0;padding:.15rem .45rem .75rem;overflow:auto;min-height:0}.session-item{width:100%;text-align:left;border:none;background:transparent;color:var(--ink);font-family:var(--font-ui);font-size:.84rem;font-weight:600;padding:.55rem;border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.session-item:hover{background:#0f6e5614}.session-item.is-active{background:#0f6e5624;color:var(--accent)}.session-item .meta{font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--muted)}.side-foot{border-top:1px solid var(--line);padding:.75rem .85rem 1rem;display:flex;flex-direction:column;gap:.35rem}.model-label{display:flex;flex-direction:column;gap:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.quant-row{display:flex;flex-direction:column;gap:.3rem}.quant-switch{display:inline-flex;align-items:stretch;width:100%;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--editor-bg)}.quant-btn{flex:1;appearance:none;border:none;background:transparent;color:var(--muted);font-family:var(--font-ui);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .55rem;cursor:pointer;transition:background .14s ease,color .14s ease}.quant-btn+.quant-btn{border-left:1px solid var(--line)}.quant-btn:hover{color:var(--ink);background:#0f6e5614}.quant-btn.is-active{background:var(--accent);color:var(--accent-ink)}.model-label select,.ai-compose textarea{font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--editor-bg);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .55rem}.model-note,.engine-blurb{margin:0;font-size:.74rem;line-height:1.4;color:var(--muted)}.engine-blurb strong{color:var(--ink);font-weight:700}.chat-stage{display:grid;grid-template-rows:auto auto 1fr auto;min-height:0;min-width:0}.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .55rem}.chat-title{margin:0;font-size:clamp(1.35rem,2.4vw,1.85rem);letter-spacing:-.03em;line-height:1.15}.chat-sub{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.ai-progress{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);padding:0 1.25rem .45rem;animation:pulse-soft 1.6s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:.7}50%{opacity:1}}.ai-chat-log{overflow:auto;padding:.65rem 1.25rem 1rem;min-height:0;display:flex;flex-direction:column;gap:.65rem}.ai-bubble-wrap{display:flex;flex-direction:column;gap:.35rem;align-self:stretch;animation:rise .18s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ai-bubble-wrap-user{align-self:flex-end;max-width:min(36rem,92%)}.ai-bubble{padding:.6rem .75rem;border-radius:var(--radius);font-size:.84rem;line-height:1.5;white-space:pre-wrap;font-family:var(--font-mono)}.ai-bubble-user{background:#0f6e561f}.ai-bubble-assistant{background:var(--editor-bg);border:1px solid var(--line);max-width:min(42rem,100%)}.ai-bubble-assistant :is(p,ul,ol){margin:0 0 .55rem}.ai-bubble-assistant :is(p,ul,ol):last-child{margin-bottom:0}.ai-bubble-assistant pre{margin:.45rem 0;padding:.65rem .75rem;overflow:auto;background:#1c1915;color:#e8e1d4;border-radius:.35rem;font-size:.76rem}.ai-bubble-assistant code{font-family:var(--font-mono)}.ai-bubble-system{color:var(--danger);font-size:.76rem;align-self:center;text-align:center;max-width:36rem}.empty-hint{margin:auto;max-width:28rem;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.5;padding:2rem 1rem}.empty-hint strong{color:var(--ink)}.ai-compose{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem 1.25rem 1.1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--pane) 70%,transparent);align-items:end}.compose-main{display:flex;flex-direction:column;gap:.45rem;min-width:0}.compose-actions .ghost.is-active,.compose-actions .ghost.is-recording{color:var(--forest, #0f6e56);border-color:color-mix(in srgb,var(--forest, #0f6e56) 55%,var(--line));background:color-mix(in srgb,var(--forest, #0f6e56) 12%,transparent)}.compose-actions .ghost.is-voice-mode:not(.is-recording){border-style:dashed}.attach-preview{display:flex;flex-wrap:wrap;gap:.4rem}.attach-audio-wrap{display:flex;align-items:center;gap:.35rem;max-width:100%;padding:.25rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--editor-bg)}.attach-audio-wrap audio,.bubble-audio{max-width:min(18rem,70vw);height:2rem}.bubble-audios{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.35rem}.ghost.is-recording{background:#b423181f;border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.ai-compose.is-drop-target{outline:2px dashed color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-4px;background:color-mix(in srgb,var(--accent) 6%,var(--pane))}.attach-thumb-wrap{position:relative;width:4.5rem;height:4.5rem;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;background:var(--editor-bg)}.attach-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}.attach-thumb-wrap .attach-remove{position:absolute;top:.15rem;right:.15rem;padding:.1rem .35rem;font-size:.65rem;line-height:1.2}.bubble-images{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem}.bubble-image{max-width:min(14rem,70vw);max-height:12rem;border-radius:var(--radius);border:1px solid var(--line);object-fit:cover;background:var(--editor-bg)}.ai-compose textarea{resize:vertical;min-height:2.75rem;max-height:10rem;font-family:var(--font-ui);font-size:.95rem;width:100%}.ai-compose textarea:focus,.model-label select:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}@media(max-width:820px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side-pane{border-right:none;border-bottom:1px solid var(--line);max-height:11.5rem}.session-list{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.55rem}.session-item{min-width:9.5rem;background:var(--editor-bg);border:1px solid var(--line)}.side-foot,.top .engine-status{display:none}}
