:root{color-scheme:light;--ink: #1c1917;--muted: #57534e;--paper: #f4efe6;--card: #fffaf2;--line: #d6cfc4;--accent: #9a3412;--accent-soft: #fed7aa;--danger: #9f1239;--ok: #3f6212;--sidebar: 17rem;--sidebar-bg: #efe8db;--bubble-user: #efe4d4;--thinking: #f0ebe2;--input-bg: #ffffff;--font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;font-family:var(--font-family);line-height:1.45;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;height:100dvh;width:100%;max-width:100%;overflow-x:hidden;overflow-y:hidden}button,input,textarea,select{font:inherit}a{color:var(--accent)}.app-shell{position:fixed;inset:0;width:100%;max-width:100%;height:100%;height:100dvh;display:grid;grid-template-columns:var(--sidebar) 1fr;overflow:hidden}.sidebar{min-height:0;overflow:hidden;border-right:1px solid var(--line);background:var(--sidebar-bg);padding:1rem .85rem;display:flex;flex-direction:column;gap:.75rem}.sidebar-foot{display:flex;flex-direction:column;gap:.45rem;padding-top:.4rem;border-top:1px solid var(--line);flex-shrink:0}.brand{font-size:1.35rem;letter-spacing:.04em;margin:0 .4rem}.nav-row,.conv-item,.conv-delete,.conv-confirm button,.sidebar-foot button,.toolbar button,.composer button,.auth-card button,.settings-page button,.dialog-actions button,.bubble-actions button,.scroll-nav button,.mobile-nav a,.drawer-toggle,.settings-tabs button,.user-table button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:.45rem;padding:.4rem .7rem;cursor:pointer}.toolbar button.primary,.composer button.primary,.auth-card button.primary,.settings-page button.primary,.dialog-actions button.primary,.bubble-actions button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.toolbar button.danger,.settings-page button.danger,.bubble-actions button.danger{color:var(--danger)}.conv-list{overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:.35rem}.conv-row{display:flex;align-items:stretch;gap:.3rem}.conv-item{text-align:left;width:100%;flex:1;min-width:0}.conv-row.active .conv-item{border-color:var(--accent);background:var(--accent-soft)}.conv-delete{padding:.25rem .5rem;flex-shrink:0}.conv-confirm{display:flex;gap:.25rem;flex-shrink:0}.conv-confirm button,.conv-delete{color:var(--danger)}.main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.toolbar{display:flex;gap:.5rem;align-items:center;padding:.55rem .85rem;border-bottom:1px solid var(--line);background:var(--paper);min-width:0;max-width:100%;box-sizing:border-box}.toolbar h1,.toolbar-title{font-size:1.05rem;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .65rem;border-radius:.5rem;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;flex-shrink:0;font-size:.88rem;line-height:1;transition:background .15s ease,border-color .15s ease,transform .1s ease}.icon-btn svg{display:block;flex-shrink:0}.icon-btn:hover{background:var(--paper)}.icon-btn.primary{background:var(--accent);color:var(--accent-ink, #ffffff);border-color:var(--accent)}.icon-btn.primary:hover{opacity:.92}.icon-btn.recording{background:var(--danger);color:#fff;border-color:var(--danger);animation:pulse-red 1.2s infinite alternate}@keyframes pulse-red{0%{opacity:.85;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}.notif-btn.active{color:var(--accent);border-color:var(--accent)}.menu-container{position:relative;flex-shrink:0}.menu-dropdown{position:absolute;top:calc(100% + .35rem);right:0;z-index:50;min-width:13rem;background:var(--card);border:1px solid var(--line);border-radius:.65rem;box-shadow:0 8px 24px #00000026;padding:.35rem;display:flex;flex-direction:column;gap:.2rem;animation:menu-appear .15s ease-out}@keyframes menu-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border:none;background:transparent;color:var(--ink);border-radius:.4rem;text-align:left;width:100%;cursor:pointer;font-size:.9rem}.menu-item:hover{background:var(--paper)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.menu-divider{height:1px;background:var(--line);margin:.25rem 0}@media(min-width:801px){.menu-mobile-only{display:none}}@media(hover:none)and (pointer:coarse){.menu-item.menu-mobile-only{display:flex}.menu-divider.menu-mobile-only{display:block}}.dialog.danger .dialog-actions .danger{background:var(--danger);border-color:var(--danger);color:#fff}.messages{flex:1;min-height:0;overflow-x:hidden;overflow-y:scroll;padding:.75rem 2.6rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.15rem;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--muted) var(--paper)}.messages::-webkit-scrollbar{width:14px}.messages::-webkit-scrollbar-track{background:var(--paper)}.messages::-webkit-scrollbar-thumb{background:var(--muted);border-radius:8px;border:3px solid var(--paper)}.messages::-webkit-scrollbar-button{display:none;height:0;width:0}.scroll-nav{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:.35rem}.scroll-nav button{width:2rem;padding:.35rem 0;line-height:1}.bubble{width:100%;max-width:46rem;margin:0 auto;background:transparent;border:none;border-radius:0;padding:.55rem .15rem .65rem;border-bottom:1px solid var(--line)}.bubble.user{align-self:stretch;background:transparent}.bubble.collapsed{padding:.2rem .15rem;cursor:pointer}.bubble.collapsed .meta{margin-bottom:0}.bubble-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.bubble .meta{font-size:.78rem;color:var(--muted);margin-bottom:.35rem}.bubble-edit{width:100%;min-height:4.2rem;resize:vertical;border:1px solid var(--line);border-radius:.45rem;padding:.5rem .65rem;background:var(--input-bg);color:var(--ink)}.bubble-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.45rem}.bubble-actions .icon-btn{padding:.35rem .5rem;min-height:2.2rem}.bubble-preview{margin:0;color:var(--muted)}.thinking{background:var(--thinking);border-radius:.4rem;padding:.25rem .5rem;margin-bottom:.35rem;font-size:.88rem}.tool-card{border-left:2px solid var(--accent);padding-left:.5rem;font-size:.86rem;margin:.2rem 0}.tool-line{margin:.15rem 0;font-size:.86rem;color:var(--muted)}.tool-line summary{cursor:pointer}.tool-card.failed{border-left-color:var(--danger);color:var(--danger)}.build-meta{margin:0;font-size:.75rem;color:var(--muted)}.status-ok{color:var(--ok)}.status-warn{color:var(--accent)}.toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:40;display:grid;gap:.4rem;width:min(24rem,calc(100vw - 2rem))}.toast{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:.5rem;padding:.55rem .7rem;display:grid;gap:.15rem;cursor:pointer}.toast.error{border-color:var(--danger)}.toast.ok{border-color:var(--ok)}.toast strong{font-size:.78rem}.composer{flex-shrink:0;display:flex;flex-direction:column;gap:.45rem;padding:.65rem .85rem .85rem;border-top:1px solid var(--line);background:var(--paper);min-width:0;max-width:100%;box-sizing:border-box}.composer-input-row{width:100%;min-width:0}.composer textarea{width:100%;min-height:3.5rem;max-height:12rem;resize:vertical;border:1px solid var(--line);border-radius:.55rem;padding:.6rem .75rem;background:var(--card);color:var(--ink);box-sizing:border-box;font-size:.95rem;line-height:1.45}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.45rem;flex-wrap:wrap;width:100%}.composer-tool-group{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.tool-btn{padding:.4rem .65rem;font-size:.84rem}.send-btn{padding:.45rem .95rem;font-weight:500;margin-left:auto}.composer-thumbs,.message-thumbs{display:flex;flex-wrap:wrap;gap:.45rem}.composer-thumb,.message-thumb{position:relative;width:4.2rem;height:4.2rem;border-radius:.45rem;overflow:hidden;border:1px solid var(--line);background:var(--card)}.composer-thumb img,.message-thumb img{width:100%;height:100%;object-fit:cover;display:block}.composer-thumb button{position:absolute;top:.15rem;right:.15rem;width:1.35rem;height:1.35rem;padding:0;border-radius:999px;line-height:1;font-size:.95rem}.composer-thumb.file,.message-thumb .composer-thumb.file,a.composer-thumb.file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;width:auto;min-width:4.2rem;padding:.35rem .55rem;text-decoration:none;color:inherit;font-size:.72rem;line-height:1.15}.composer-thumb.file span,a.composer-thumb.file span{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-thumb:has(.file){width:auto;height:auto;min-height:4.2rem}.alarm-card{max-width:25rem;width:90vw;text-align:center;border:2px solid var(--accent);animation:alarm-pulse 1.8s infinite ease-in-out}@keyframes alarm-pulse{0%,to{box-shadow:0 8px 30px #0003}50%{box-shadow:0 8px 35px color-mix(in srgb,var(--accent) 55%,transparent)}}.alarm-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.alarm-icon{font-size:2.2rem}.alarm-topic{font-weight:600;margin:.25rem 0;font-size:1rem}.alarm-text{font-size:1.05rem;margin:.5rem 0 1.25rem;color:var(--ink);line-height:1.4}.alarm-actions{display:flex;flex-direction:column;gap:.45rem}.auth-wrap{position:fixed;inset:0;overflow:auto;max-width:40rem;margin:0 auto;padding:2.5rem 1rem 3rem}.settings-page{position:fixed;inset:0;overflow:auto;max-width:none;margin:0;padding:1rem 1rem 5.5rem}.settings-inner{max-width:52rem;margin:0 auto}.settings-fold{background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:.85rem 1.25rem}.settings-fold>summary{cursor:pointer;font-weight:600;font-size:1.15rem}.settings-fold .settings-card{border:none;padding:.85rem 0 0}.sticky-save{position:sticky;bottom:0;z-index:6;margin-top:1rem;padding:.75rem 0 .25rem;background:var(--paper);border-top:1px solid var(--line)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:.78rem;cursor:pointer}.status-badge.on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.status-badge:disabled{opacity:.45;cursor:default}.auth-card,.settings-card{background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:1.25rem;display:grid;gap:.7rem}.auth-card label,.settings-card label{display:grid;gap:.25rem;font-size:.92rem}.settings-card label.settings-check{display:flex;align-items:center;gap:.4rem}.settings-hint{margin:0;font-size:.85rem;color:var(--muted)}.theme-actions{display:flex;flex-wrap:wrap;gap:.5rem}.theme-editor{display:grid;gap:.7rem;padding-top:.35rem;border-top:1px solid var(--line)}.theme-editor h3{margin:.2rem 0 0;font-size:1rem}.theme-swatches{display:flex;flex-wrap:wrap;gap:.35rem}.theme-swatch{width:1.25rem;height:1.25rem;border-radius:999px;border:1px solid var(--line)}.theme-tokens{display:grid;gap:.55rem}.settings-card label.theme-token{grid-template-columns:8.4rem minmax(0,1fr);align-items:center;gap:.55rem}.theme-token-color{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.4rem;align-items:center}.settings-card .theme-token-color input[type=color]{padding:.12rem;height:2.15rem;cursor:pointer}.horizon-fieldset{border:1px solid var(--line);border-radius:.5rem;padding:.6rem .75rem .8rem;display:grid;gap:.45rem}.horizon-fieldset:disabled{opacity:.55}.horizon-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.auth-card input,.settings-card input,.settings-card select,.settings-card textarea{border:1px solid var(--line);border-radius:.4rem;padding:.45rem .6rem;background:var(--input-bg);color:var(--ink)}.totp-secret{margin:0;padding:.7rem .8rem;border-radius:.4rem;background:var(--input-bg);border:1px dashed var(--line)}.totp-secret code{font-size:1.15rem;letter-spacing:.06em;word-break:break-all;-webkit-user-select:all;user-select:all}.totp-otpauth{margin:0;font-size:.9rem}.error{color:var(--danger)}.usage{font-size:.8rem;color:var(--muted)}.dialog-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 35%,transparent);display:grid;place-items:center;z-index:20}.dialog{background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:1.1rem 1.2rem;width:min(28rem,calc(100vw - 2rem))}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.install-bar{margin-top:auto;font-size:.85rem}.markdown img{max-width:100%}.settings-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.15rem 0 .85rem;position:sticky;top:0;z-index:4;background:var(--paper)}.settings-tabs button{flex:0 0 auto;min-height:2.75rem}.settings-tabs button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.user-table{width:100%;border-collapse:collapse;font-size:.92rem}.user-table th,.user-table td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}.user-actions{display:flex;flex-wrap:wrap;gap:.3rem}.subtabs-bar{display:flex;gap:.35rem;overflow-x:auto;padding:.25rem 0 .85rem;border-bottom:1px solid var(--line);margin-bottom:.75rem}.subtabs-bar button{padding:.35rem .65rem;font-size:.88rem;border-radius:999px;background:var(--card);border:1px solid var(--line);cursor:pointer;white-space:nowrap}.subtabs-bar button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tools-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.5rem}.tools-table th,.tools-table td{padding:.6rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.tools-table td.center,.tools-table th.center{text-align:center;width:5.5rem}.tools-table .tool-name{font-weight:600;display:block}.tools-table .tool-desc{font-size:.8rem;color:var(--muted);display:block}.tools-table input[type=checkbox]{cursor:pointer;width:1.15rem;height:1.15rem;margin:0}.preset-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.6rem .8rem;background:var(--paper);border-radius:.5rem;border:1px solid var(--line);margin-bottom:.75rem}.preset-bar select{flex:1;min-width:12rem}.settings-table{width:100%;border-collapse:collapse;font-size:.9rem}.settings-table th,.settings-table td{padding:.6rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.settings-table th{border-bottom-width:2px;color:var(--muted);font-weight:600}.settings-table tbody tr:last-child td{border-bottom:none}.settings-table td:first-child code{overflow-wrap:anywhere}.settings-table .model-caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem .75rem}.provider-card{display:grid;gap:.55rem;padding:.85rem;border:1px solid var(--line);border-radius:.6rem;background:var(--card);margin-bottom:.75rem}.provider-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.4rem}.provider-header h3{margin:0;font-size:1.05rem}.drawer-toggle{display:none;min-width:2.75rem;min-height:2.75rem}.drawer-backdrop,.mobile-nav{display:none}html[data-density=compact] .messages{gap:0;padding-top:.4rem}html[data-density=compact] .bubble{padding:.28rem .1rem .35rem}html[data-density=compact] .bubble.collapsed{padding:.08rem .1rem}html[data-density=compact] .bubble .meta,html[data-density=compact] .bubble-preview{font-size:.78rem}html[data-density=compact] .composer textarea{min-height:3.2rem}@media(max-width:800px),(hover:none)and (pointer:coarse),(display-mode:standalone)and (max-width:1024px){.app-shell{grid-template-columns:1fr;width:100%;max-width:100%;overflow-x:hidden}.main{width:100%;max-width:100%;overflow-x:hidden}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;inset:0 auto 0 0;top:env(safe-area-inset-top,0px);width:min(86vw,18rem);z-index:12}.drawer-toggle{display:inline-flex;align-items:center;justify-content:center}.drawer-backdrop.open{display:block;position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 35%,transparent);z-index:11}.toolbar{padding:calc(.45rem + env(safe-area-inset-top,0px)) .65rem .45rem;gap:.4rem}.toolbar-title{font-size:.98rem}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;gap:.35rem;padding:.4rem .6rem calc(.4rem + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line)}.mobile-nav a{flex:1;text-align:center;text-decoration:none;min-height:2.6rem;display:inline-flex;align-items:center;justify-content:center}.mobile-nav a.active{background:var(--accent-soft);border-color:var(--accent)}.messages{padding:.65rem .65rem .85rem}.scroll-nav{display:none}.composer{padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.settings-page{padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.horizon-units{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar button,.composer button,.settings-page button,.mobile-nav a{min-height:2.5rem}}@media(max-width:500px),(hover:none)and (pointer:coarse){.tool-btn .btn-label,.bubble-actions .btn-label{display:none}.tool-btn,.bubble-actions .icon-btn{padding:.4rem;min-width:2.4rem;min-height:2.4rem}.composer-toolbar{gap:.25rem}.toolbar{padding:calc(.35rem + env(safe-area-inset-top,0px)) .5rem .35rem;gap:.3rem}.toolbar-title{font-size:.92rem}.icon-btn{padding:.4rem}.composer{padding:.45rem .55rem calc(.55rem + env(safe-area-inset-bottom,0px));gap:.3rem}.composer textarea{min-height:2.8rem;padding:.45rem .6rem;font-size:.92rem}.bubble-actions{gap:.2rem;margin-top:.35rem}}
