@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;background:#fafafa;font-family:DM Sans,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#141414}html,body,#root{width:100%;height:100%;margin:0}html{scroll-behavior:smooth}body{min-width:320px}:root{--ink:#1a1a1a;--muted:#616161;--faint:#8a8a8a;--paper:#fafafa;--paper-2:#f0f0f0;--panel:#ececec;--line:#dadada;--green:#1e7a4c;--green-2:#e7e7e7;--gold:#6d6d6d;--danger:#b3261e;--shadow:0 18px 55px #00000014;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}[data-theme=dark]{--ink:#f0f0f0;--muted:#a6a6a6;--faint:#7f7f7f;--paper:#141414;--paper-2:#1e1e1e;--panel:#0f0f0f;--line:#2b2b2b;--green:#5fce8f;--green-2:#232323;--gold:#9a9a9a;--danger:#ff9b92;--shadow:0 18px 55px #0006}*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-width:320px;height:100dvh;color:var(--ink);background:var(--paper);transition:background-color .35s,color .35s;display:flex;overflow:hidden}.app-shell:before{z-index:20;background:linear-gradient(90deg,var(--ink),var(--faint),var(--ink));transform-origin:0;width:100%;height:2px;animation:app-progress .9s var(--ease-out) 80ms both;content:"";pointer-events:none;position:fixed;top:0;left:0;transform:scaleX(0)}.app-shell>.sidebar{animation:surface-arrive .58s var(--ease-out) both}.app-shell>.chat-shell{animation:surface-arrive .62s var(--ease-out) 40ms both}.app-shell>.settings-dialog,.app-shell>.auth-dialog{animation:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#fff;background:var(--ink);border-radius:8px;padding:10px 16px;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid color-mix(in srgb,var(--ink) 60%,white);outline-offset:2px}.icon-button{width:40px;height:40px;color:var(--muted);transition:background-color .2s ease,color .2s ease,transform .2s var(--ease-out);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.icon-button:hover{background:var(--paper-2);color:var(--ink);transform:translateY(-1px)}.icon-button:active{transform:scale(.92)}.sidebar{z-index:5;background:var(--panel);border-right:1px solid var(--line);transform-origin:0;will-change:transform;flex-direction:column;flex:0 0 286px;align-self:stretch;width:286px;height:100dvh;min-height:0;max-height:100dvh;padding:22px 15px 14px;display:flex}.brand>i{transition:transform .45s var(--ease-out),border-radius .25s ease}.brand:hover>i{border-radius:12px 12px 12px 3px;transform:rotate(-8deg)scale(1.06)}.brand{letter-spacing:.15em;align-items:center;gap:10px;padding:0 6px;font-family:DM Mono,monospace;font-size:14px;font-weight:600;display:flex}.brand>i{color:#fff;background:var(--ink);border-radius:10px 10px 10px 2px;place-items:center;width:30px;height:30px;display:grid}.sidebar-close{margin-left:auto;font-size:22px;display:none}.new{color:#fff;background:var(--ink);box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 20%,transparent);transition:transform .2s var(--ease-out),box-shadow .2s ease,filter .2s ease;border:0;border-radius:11px;align-items:center;gap:9px;margin:25px 0 13px;padding:12px 13px;font-weight:600;display:flex}.new:hover{filter:none;box-shadow:0 12px 24px color-mix(in srgb,var(--ink) 22%,transparent);transform:translateY(-2px)}.new:active{transform:translateY(1px)scale(.98)}.side-tools{grid-template-columns:1fr auto;gap:6px;margin-bottom:20px;display:grid}.search{min-width:0;color:var(--faint);background:var(--paper);border:1px solid var(--line);border-radius:9px;align-items:center;gap:7px;padding:8px 9px;display:flex}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.side-tools select{width:68px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:9px;font-size:11px}.sidebar h2{color:var(--faint);letter-spacing:.11em;text-transform:uppercase;margin:0 8px 9px;font-size:10px}.sidebar nav{flex-direction:column;gap:3px;min-height:0;display:flex;overflow-y:auto}.chat-row{animation:row-arrive .45s var(--ease-out) calc(var(--row-index,0) * 35ms + .16s) both;border-radius:9px;align-items:center;display:flex;position:relative}.chat-row:hover,.chat-row.selected{background:var(--paper-2)}.row-menu-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;margin-left:auto;display:grid}.row-menu-btn:hover,.row-menu-btn[aria-expanded=true]{color:var(--ink);background:var(--paper-2)}.row-menu-pop{z-index:60;background:var(--paper);border:1px solid var(--line);width:160px;box-shadow:var(--shadow);transform-origin:100% 0;animation:menu-arrive .18s var(--ease-out) both;border-radius:10px;padding:5px;position:fixed}.chat-select{min-width:0;color:var(--muted);text-align:left;transition:padding-left .2s var(--ease-out),color .2s ease;background:0 0;border:0;flex:1;padding:9px 34px 9px 10px}.chat-row:hover .chat-select,.chat-row.selected .chat-select{padding-left:13px}.chat-select span,.chat-select small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-select span{color:var(--ink);font-size:13px}.chat-select small{margin-top:3px;font-size:10px}.row-menu-pop button{width:100%;color:var(--ink);transition:background-color .16s ease,transform .16s var(--ease-out);background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:8px;font-size:12px;display:flex}.row-menu-pop button:hover{background:var(--paper-2);transform:translate(2px)}.danger{color:var(--danger)!important}.empty-list{color:var(--faint);text-align:center;padding:20px 10px;font-size:12px}.sidebar footer{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding:12px 7px 0;display:grid}.sidebar footer button{color:var(--muted);text-align:left;background:0 0;border:0;padding:7px 0;font-size:12px}.sidebar footer span{color:var(--faint);align-items:center;gap:7px;font-size:10px;display:flex}.sidebar footer i{background:var(--green);border-radius:50%;width:7px;height:7px}.shade{opacity:0;pointer-events:none;display:none}.chat-shell{background:var(--paper);flex:1;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid;position:relative}.chat-shell.has-banner,.chat-shell.has-branch{grid-template-rows:auto auto minmax(0,1fr) auto}.chat-shell.has-banner.has-branch{grid-template-rows:auto auto auto minmax(0,1fr) auto}.topbar{animation:toolbar-arrive .55s var(--ease-out) .14s both;border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px;padding:0 22px;display:grid}.assistant-title{color:var(--ink);align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.assistant-title em{color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-family:DM Mono;font-size:9px;font-style:normal}.top-actions{justify-content:flex-end;align-items:center;display:flex}.temporary{color:var(--muted);border:1px solid var(--line);transition:background-color .2s ease,border-color .2s ease,transform .2s var(--ease-out);background:0 0;border-radius:9px;padding:7px 10px;font-size:11px}.temporary:hover{background:var(--paper-2);border-color:var(--ink);transform:translateY(-1px)}.temporary:active{transform:scale(.96)}.temporary-banner{color:var(--muted);background:var(--paper-2);border-bottom:1px solid var(--line);animation:banner-arrive .4s var(--ease-out) both;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.temporary-banner svg{animation:2.4s ease-in-out infinite soft-pulse}.branch-select{color:var(--faint);font-size:11px}.branch-select select{appearance:none;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:6px 28px 6px 9px;font-size:11px}.branch-toolbar{width:min(100%,880px);margin:auto;padding:8px 28px 0}.branch-toolbar .branch-select{float:right}.feed{overscroll-behavior:contain;min-height:0;scroll-padding-bottom:30px;position:relative;overflow-y:auto}.feed-empty{justify-content:center;align-items:center;display:flex}.feed-empty+.latest{bottom:132px}.empty-composer{width:100%;height:100%;padding:0;position:relative}.welcome{display:none}.orb{width:58px;height:58px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);animation:orb-arrive .7s var(--ease-out) .18s both;will-change:transform;border-radius:20px 20px 20px 4px;place-items:center;margin-bottom:23px;display:grid}.orb svg{animation:3.2s ease-in-out .9s infinite orb-glow}.welcome>p{color:var(--faint);letter-spacing:.04em;animation:text-arrive .55s var(--ease-out) .3s both;font-family:DM Mono,monospace;font-size:11px}.welcome h1{letter-spacing:-.055em;animation:text-arrive .7s var(--ease-out) .34s both;margin:12px 0 15px;font-family:Fraunces,serif;font-size:clamp(42px,6vw,68px);line-height:.96}.welcome article{max-width:490px;color:var(--muted);animation:text-arrive .55s var(--ease-out) .43s both;font-size:15px;line-height:1.7}.prompts{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px;display:grid}.prompts button{min-height:124px;color:var(--ink);background:color-mix(in srgb,var(--paper-2) 85%,transparent);border:1px solid var(--line);text-align:left;transition:transform .22s var(--ease-out),border-color .18s,box-shadow .22s ease;animation:prompt-arrive .55s var(--ease-out) calc(var(--prompt-index,0) * 70ms + .5s) both;border-radius:13px;flex-direction:column;padding:15px;font-size:13px;display:flex}.prompts button:hover{border-color:var(--ink);box-shadow:0 10px 22px color-mix(in srgb,var(--ink) 10%,transparent);transform:translateY(-4px)}.prompts button:active{transform:translateY(-1px)scale(.985)}.prompts span{color:var(--faint);margin-top:auto;font-family:DM Mono;font-size:10px}.messages{width:min(100%,880px);margin:auto;padding:30px 28px 70px}.message{border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent);animation:message-arrive .5s var(--ease-out) calc(min(var(--message-index,0), 12) * 45ms + 80ms) both;gap:14px;padding:17px 0 25px;display:flex}.message:first-child{padding-top:4px}.avatar{color:#fff;background:var(--ink);width:32px;height:32px;transition:transform .22s var(--ease-out);border-radius:10px 10px 10px 3px;flex:0 0 32px;place-items:center;display:grid}.message:hover .avatar{transform:translateY(-2px)rotate(-4deg)}.user .avatar{color:var(--muted);background:var(--paper-2);border:1px solid var(--line);border-radius:50%}.message-body{min-width:0;color:var(--ink);flex:1;font-size:15px;line-height:1.75}.message-body>header{align-items:center;gap:7px;margin-bottom:4px;display:flex}.message-body>header b{font-size:12px}.message-body>header small{color:var(--faint);font-size:9px}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown a{color:var(--ink);align-items:center;gap:3px;display:inline-flex}.markdown blockquote{color:var(--muted);border-left:3px solid var(--faint);margin-left:0;padding-left:14px}.markdown code{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-family:DM Mono;font-size:.86em}.code-block{background:#1e1e1e;border-radius:11px;margin:14px 0;overflow:hidden}.code-block>div{color:#b8b8b8;background:#141414;justify-content:space-between;align-items:center;padding:7px 12px;font-family:DM Mono;font-size:10px;display:flex}.code-block .message-action{color:#dbe6de}.code-block pre{color:#eef4ef;margin:0;padding:16px;overflow-x:auto}.code-block pre code{background:0 0;padding:0}.table-scroll{max-width:100%;overflow-x:auto}.markdown table{border-collapse:collapse;width:100%}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;min-width:110px;padding:8px}.message-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.message-action{color:var(--faint);transition:color .16s ease,transform .16s var(--ease-out);background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:10px;display:inline-flex}.message-action:hover{color:var(--ink);transform:translateY(-1px)}.message-action:active{transform:scale(.95)}.edit-form{animation:section-arrive .3s var(--ease-out) both}.edit-form textarea{width:100%;min-height:100px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);resize:vertical;border-radius:9px;padding:10px}.edit-form div{justify-content:flex-end;gap:7px;display:flex}.edit-form button{color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:7px;padding:7px 10px}.edit-form button[type=submit]{color:#fff;background:var(--ink)}.live-status{color:var(--muted);animation:message-arrive .4s var(--ease-out) both;align-items:center;gap:9px;padding:18px 5px;font-size:12px;display:flex}.live-status span{animation:1.8s ease-in-out infinite status-breathe}.live-status i{background:var(--green);border-radius:50%;width:8px;height:8px;animation:1.2s infinite pulse}.recording i{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.2s infinite pulse}.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:9px;align-items:center;gap:8px;margin-top:14px;padding:11px 13px;font-size:12px;display:flex}.error span{flex:1}.error button{color:inherit;background:0 0;border:1px solid;border-radius:6px;padding:5px 8px}.error{animation:section-arrive .35s var(--ease-out) both}.latest{z-index:2;color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);animation:latest-arrive .35s var(--ease-out) both;transition:box-shadow .2s ease,transform .2s var(--ease-out);border-radius:20px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;display:flex;position:absolute;bottom:116px;right:50%;transform:translate(50%)}.latest:hover{box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 16%,transparent);transform:translate(50%)translateY(-2px)}.composer-area{z-index:3;background:linear-gradient(transparent,var(--paper) 18%);width:min(100%,880px);animation:composer-arrive .6s var(--ease-out) .18s both;align-self:end;margin:0 auto;padding:10px 28px 18px;position:relative}.empty-composer .composer-area{width:min(100% - 56px,880px);animation:composer-center-arrive .65s var(--ease-out) .18s both;margin:0;position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%)}.composer{background:var(--paper);border:1px solid var(--line);box-shadow:0 9px 30px color-mix(in srgb,var(--ink) 9%,transparent);transition:border-color .22s ease,box-shadow .22s ease,transform .22s var(--ease-out);border-radius:16px;align-items:flex-end;gap:7px;padding:8px 9px;display:flex}.composer:focus-within{border-color:var(--ink);box-shadow:0 12px 36px color-mix(in srgb,var(--ink) 12%,transparent);transform:translateY(-1px)}.composer textarea{min-width:0;max-height:180px;color:var(--ink);resize:none;background:0 0;border:0;outline:0;flex:1;padding:8px 3px;overflow-y:auto}.composer-tools{align-items:flex-end;display:flex}.composer-tools button,.voice-button{height:35px;color:var(--muted);transition:background-color .18s ease,color .18s ease,transform .18s var(--ease-out);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:3px;padding:0 8px;display:flex}.composer-tools button:hover,.voice-button:hover{color:var(--ink);background:var(--paper-2);transform:translateY(-1px)}.composer-tools button:active,.voice-button:active{transform:scale(.9)}.composer-tools button.active{color:var(--ink);background:var(--paper-2)}.composer-tools span{font-size:10px}.send-button{color:#fff;background:var(--ink);width:36px;height:36px;transition:transform .2s var(--ease-out),box-shadow .2s ease,background-color .2s ease;border:0;border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.send-button:hover:not(:disabled){box-shadow:0 7px 16px color-mix(in srgb,var(--ink) 26%,transparent);transform:translateY(-2px)scale(1.04)}.send-button:active:not(:disabled){transform:scale(.9)}.send-button:disabled{opacity:.35;cursor:not-allowed}.send-button.stop{background:var(--danger)}.composer-footer{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.composer-footer>p{color:var(--faint);text-align:center;margin:0;font-size:9px}.empty-composer .composer-footer>p{display:none}.model-menu{flex:none;position:relative}.model-menu summary{max-width:190px;color:var(--muted);cursor:pointer;align-items:center;gap:4px;padding:2px 0;font-size:10px;list-style:none;display:flex}.model-menu summary::-webkit-details-marker{display:none}.model-menu summary:hover{color:var(--ink)}.model-menu summary svg{transition:transform .18s}.model-menu[open] summary svg{transform:rotate(180deg)}.model-menu>div{z-index:30;background:var(--paper);border:1px solid var(--line);min-width:190px;max-width:min(280px,100vw - 32px);box-shadow:var(--shadow);animation:menu-arrive .18s var(--ease-out) both;border-radius:10px;padding:5px;position:absolute;bottom:25px;right:0}.model-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:8px;font-size:11px;display:flex}.model-menu button:hover{background:var(--paper-2)}.model-menu button svg{color:var(--muted)}.model-menu>div>span{color:var(--faint);padding:8px;font-size:11px;display:block}.attachments{gap:7px;padding:5px 0;display:flex;overflow-x:auto}.attachments>div{background:var(--paper-2);border:1px solid var(--line);max-width:200px;animation:attachment-arrive .35s var(--ease-out) calc(var(--attachment-index,0) * 50ms) both;border-radius:8px;align-items:center;gap:5px;padding:7px 8px;font-size:10px;display:flex}.attachments span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachments button{color:var(--muted);background:0 0;border:0;padding:0;display:grid}.composer-error{color:var(--danger)!important;text-align:left!important}.recording{color:var(--danger);align-items:center;gap:8px;padding:6px;font-size:10px;display:flex}.recording i{background:var(--danger)}.settings-dialog{width:min(92vw,620px);max-height:88dvh;color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);animation:dialog-arrive .32s var(--ease-out) both;border-radius:18px;padding:0;transition:background-color .35s,color .35s,border-color .35s;overflow-y:auto}.settings-dialog::backdrop{animation:.28s both backdrop-arrive}.settings-dialog section{animation:section-arrive .4s var(--ease-out) both}.settings-dialog section:nth-of-type(2){animation-delay:50ms}.settings-dialog section:nth-of-type(3){animation-delay:.1s}.settings-dialog section:nth-of-type(4){animation-delay:.15s}.auth-dialog form{animation:section-arrive .4s var(--ease-out) 50ms both}.auth-switch{animation:section-arrive .4s var(--ease-out) .1s both}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0008}.dialog-head{z-index:2;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex;position:sticky;top:0}.dialog-head span{color:var(--faint);font-family:DM Mono;font-size:10px}.dialog-head h2{margin:3px 0 0;font-family:Fraunces;font-size:28px}.settings-dialog section{border-bottom:1px solid var(--line);padding:20px 24px}.settings-dialog h3{margin:0;font-size:14px}.settings-dialog p{color:var(--muted);margin:6px 0 14px;font-size:12px;line-height:1.55}.settings-dialog label{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.settings-dialog textarea,.settings-dialog input{width:100%;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:10px}.settings-dialog textarea{resize:vertical;min-height:95px}.setting-row{justify-content:space-between;display:flex}.switch input{opacity:0;position:absolute}.switch span{background:var(--line);border-radius:15px;width:42px;height:24px;padding:3px;display:block}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block}.switch input:checked+span{background:var(--ink)}.switch input:checked+span:after{transform:translate(18px)}.memory-form{gap:7px;display:flex}.memory-form button,.data-actions button{color:var(--ink);background:var(--paper-2);border:1px solid var(--line);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:9px 11px;font-size:11px;display:flex}.memory-list>div{background:var(--paper-2);border-radius:8px;justify-content:space-between;margin-top:7px;padding:8px 10px;font-size:12px;display:flex}.memory-list button{color:var(--danger);background:0 0;border:0}.data-actions{flex-wrap:wrap;gap:8px;display:flex}.data-actions button,.memory-form button,.edit-form button{transition:transform .18s var(--ease-out),background-color .18s ease,border-color .18s ease}.data-actions button:hover,.memory-form button:hover,.edit-form button:hover{border-color:var(--ink);transform:translateY(-1px)}.policy{background:var(--paper-2);border:1px solid var(--line)}.attachments progress{width:72px;height:6px;accent-color:var(--ink)}.attachments .image-thumb{background:var(--paper);border:1px solid var(--line);border-radius:7px;width:42px;height:42px;padding:0;overflow:hidden}.attachments .image-thumb img{object-fit:cover;width:100%;height:100%}.attachments input{min-width:100px;max-width:180px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:10px}.message-attachments{flex-wrap:wrap;gap:7px;margin:3px 0 10px;display:flex}.message-attachments a{color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;text-decoration:none;display:flex}.message-attachments small{color:var(--faint)}.message-attachments .message-image{max-width:260px;padding:5px;display:grid}.message-image img{object-fit:contain;border-radius:6px;width:100%;max-height:220px;display:block}.message-image span{text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;overflow:hidden}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}@keyframes app-progress{0%{opacity:1;transform:scaleX(0)}78%{opacity:1;transform:scaleX(.84)}to{opacity:0;transform:scaleX(1)}}@keyframes surface-arrive{0%{opacity:0}to{opacity:1}}@keyframes sidebar-arrive{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes toolbar-arrive{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes row-arrive{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes menu-arrive{0%{opacity:0;transform:scale(.94)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes banner-arrive{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes orb-arrive{0%{opacity:0;transform:scale(.78)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes orb-glow{0%,to{opacity:.82;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes text-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes prompt-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes message-arrive{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes composer-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes composer-center-arrive{0%{opacity:0;transform:translate(-50%,calc(50% + 12px))}to{opacity:1;transform:translate(-50%,50%)}}@keyframes latest-arrive{0%{opacity:0;transform:translate(50%)translateY(8px)scale(.96)}to{opacity:1;transform:translate(50%)translateY(0)scale(1)}}@keyframes attachment-arrive{0%{opacity:0;transform:translate(-8px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes section-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes status-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes soft-pulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (width<=760px){.sidebar{width:min(88vw,310px);transition:transform .32s var(--ease-out);position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.sidebar.open{transform:none}.sidebar-close{display:grid}.shade{z-index:4;opacity:0;visibility:hidden;pointer-events:none;background:#0006;border:0;transition:opacity .32s,visibility 0s linear .32s;display:block;position:fixed;inset:0}.shade.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.topbar{min-height:56px;padding:0 10px}.assistant-title span{display:none}.temporary{font-size:10px}.branch-toolbar{padding:8px 14px 0}.branch-select{font-size:10px}.branch-select select{max-width:86px}.welcome{padding:45px 20px 35px}.welcome h1{font-size:clamp(40px,14vw,56px)}.prompts{grid-template-columns:1fr}.prompts button{min-height:78px}.messages{padding:20px 15px 65px}.message{gap:10px}.composer-area{padding:8px max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom))}.composer-tools span{display:none}.composer-tools button,.voice-button{padding:0 5px}.latest{bottom:108px}.feed-empty+.latest{bottom:122px}.empty-composer{width:100%;padding:0}.empty-composer .composer-area{width:calc(100% - 20px)}.composer-footer{justify-content:space-between;gap:8px}.token-cell{flex:auto;max-width:280px}.composer-footer>p{display:none}.model-menu summary{max-width:150px}}@media (width<=370px){.avatar{display:none}.composer{gap:2px}.voice-button{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.search-snippet{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;white-space:normal!important;display:-webkit-box!important;overflow:hidden!important}.load-more{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:9px;margin:9px 6px;padding:9px;font-size:11px}.load-more:disabled{opacity:.55}.list-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:8px;margin:8px;padding:9px;font-size:10px}.list-error button{color:inherit;background:0 0;border:0;margin-top:5px;padding:0;text-decoration:underline;display:block}.empty-list{align-items:center;gap:6px;display:flex}.spin{animation:.8s linear infinite spin}.message.search-target{background:var(--paper-2);border-radius:10px;margin-inline:-12px;padding-inline:12px;animation:1.6s ease-out search-flash}@keyframes spin{to{transform:rotate(360deg)}}@keyframes search-flash{0%,35%{box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 28%,transparent)}to{box-shadow:none}}.auth-dialog form{padding:24px}.auth-dialog form label{margin-top:12px}.auth-dialog .new{justify-content:center;width:100%;margin-bottom:0}.auth-switch{color:var(--ink);background:0 0;border:0;margin:0 auto 22px;padding:8px;display:block}.model-row{flex:none;align-items:center;gap:4px;display:flex}.model-gear{width:24px;height:24px;color:var(--faint);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.model-gear:hover{color:var(--ink);background:var(--paper-2)}.model-dialog form{padding:0}.model-dialog code{background:var(--paper-2);border-radius:5px;padding:1px 5px;font-size:11px}.model-notice{color:var(--green)!important}.model-params{gap:8px;display:grid}.model-params label{margin:4px 0 0}.model-params label span{color:var(--faint);margin-top:2px;font-size:10px;display:block}.model-params input[type=range]{background:0 0;border:0;width:100%;padding:0}.model-check{color:var(--muted);align-items:flex-start;gap:8px;margin-top:6px;font-size:11px;display:flex!important}.model-check input{width:auto;margin-top:2px}.model-pick-list{gap:6px;max-height:240px;display:grid;overflow-y:auto}.model-pick-list>button{width:100%;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);text-align:left;border-radius:9px;align-items:baseline;gap:8px;padding:10px 12px;font-size:12px;display:flex}.model-pick-list>button.picked{border-color:var(--ink)}.model-pick-list>button small{color:var(--faint);margin-left:auto;font-size:10px}.model-pick-list>button svg{color:var(--muted);flex:none}.model-empty{color:var(--faint);padding:10px;font-size:12px}.token-cell{flex:0 230px;min-width:0;display:flex}.token-meter{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.token-bar{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;flex:1;min-width:56px;height:6px;position:relative;overflow:hidden}.token-bar i{background:var(--ink);border-radius:inherit;height:100%;transition:width .25s var(--ease-out);display:block}.token-meter.over .token-bar{border-color:var(--danger)}.token-meter.over .token-bar i{background:var(--danger)}.token-text{color:var(--muted);white-space:nowrap;align-items:baseline;gap:5px;font-size:10px;display:flex}.token-text small{color:var(--faint);font-size:9px}.token-meter.over .token-text,.token-meter.over .token-text small{color:var(--danger)}.model-page{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.model-page-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 14px 10px;display:flex}.model-page-head span{color:var(--faint);font-family:DM Mono;font-size:10px}.model-page-head h1{margin:2px 0 0;font-family:Fraunces;font-size:24px}.model-page-body{width:100%;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0 auto;animation:none;overflow-y:auto}.access-gate{background:var(--paper);flex:1;place-items:center;min-height:100dvh;padding:24px;display:grid}.access-card{width:min(92vw,420px);color:var(--ink);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);animation:dialog-arrive .32s var(--ease-out) both;border-radius:18px;padding:28px 26px}.access-icon{color:#fff;background:var(--ink);border-radius:12px 12px 12px 3px;place-items:center;width:44px;height:44px;margin-bottom:16px;display:grid}.access-kicker{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin:0;font-family:DM Mono,monospace;font-size:10px}.access-card h1{letter-spacing:-.02em;margin:6px 0 8px;font-family:Fraunces,serif;font-size:30px}.access-desc{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.65}.access-card form{gap:8px;display:grid}.access-card label{color:var(--muted);font-size:11px}.access-card input{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 12px}.access-card input[aria-invalid=true]{border-color:var(--danger)}.access-help{color:var(--faint);margin:0;font-size:11px;line-height:1.6}.access-submit{justify-content:center;width:100%;margin:8px 0 0}.access-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}.access-loading{color:var(--muted);font-size:13px}.csv-analysis{max-height:35vh;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;margin:8px 0;padding:12px;font-size:12px;overflow:auto}.csv-analysis p{margin:8px 0}.csv-analysis button{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:4px;padding:8px 10px}.csv-analysis button:disabled{opacity:.5}.csv-table-scroll{max-width:100%;margin:10px 0;overflow:auto}.csv-analysis table{border-collapse:collapse;min-width:100%;font-size:11px}.csv-analysis th,.csv-analysis td{border:1px solid var(--line);text-align:left;overflow-wrap:anywhere;min-width:70px;max-width:220px;padding:6px}.csv-analysis :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
