:root{color:#ececec;font-synthesis:none;--bg:#212121;--side:#171717;--hover:#2f2f2f;--muted:#a2a2a2;--line:#454545;--box:#303030;background:#212121;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #aaa}button:hover{background:var(--hover)}svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:22px;height:22px}.icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.app{height:100dvh;display:flex}.sidebar{background:var(--side);flex-direction:column;flex-shrink:0;width:260px;padding:10px 8px;transition:margin .2s;display:flex}.side-top{justify-content:space-between;align-items:center;margin:2px 4px 18px;display:flex}.brand-mark{font-size:27px;line-height:32px}.nav-item{text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;display:flex}.nav-item svg{width:20px;height:20px}.nav-items{gap:2px;display:grid}.side-label{color:var(--muted);padding:26px 12px 9px;font-size:12px}.history{flex:1;overflow:auto}.history-row{border-radius:8px;align-items:center;display:flex}.history-row:hover,.history-row.active{background:var(--hover)}.history-row .title{white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;padding:11px 12px;font-size:14px;overflow:hidden}.history-row .remove{visibility:hidden;padding:6px 10px;font-size:18px}.history-row:hover .remove{visibility:visible}.profile{text-align:left;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 8px;display:flex}.avatar{color:#fff;background:#7148ae;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:12px;display:flex}.profile-text{flex:1;font-size:14px}.profile-text small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.header{flex-shrink:0;justify-content:space-between;align-items:center;height:66px;padding:10px 22px;display:flex}.head-left,.head-right{align-items:center;gap:8px;display:flex}.model{border-radius:10px;align-items:center;gap:7px;padding:8px 10px;font-size:20px;font-weight:600;display:flex}.model svg{color:#9b9b9b;width:14px}.pill{color:#111;background:#fff;border-radius:22px;padding:10px 16px;font-size:13px;font-weight:600}.outline{border:1px solid var(--line);color:inherit;background:0 0}.head-avatar{margin-left:10px}.empty{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 24px 11vh;display:flex}.empty h1{letter-spacing:-.7px;margin:0 0 32px;font-size:30px;font-weight:500}.composer-wrap{width:min(768px,100%);margin:0 auto}.composer{background:var(--box);border-radius:26px;padding:15px 16px 10px;box-shadow:0 1px 6px #0001}.composer textarea{resize:none;width:100%;color:inherit;background:0 0;border:none;outline:none;min-height:34px;max-height:180px;padding:2px 4px 9px;font-size:16px;line-height:24px}.composer textarea::placeholder{color:#b4b4b4}.composer-bottom{justify-content:space-between;align-items:center;display:flex}.tools{align-items:center;gap:5px;display:flex}.tool-btn{border-radius:20px;align-items:center;gap:7px;padding:8px 10px;font-size:14px;display:flex}.tool-btn svg{width:18px;height:18px}.send{color:#202020;background:#ececec;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.send:disabled{color:#333;cursor:default;background:#696969}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px;display:flex}.suggestions button{border:1px solid var(--line);color:#ccc;border-radius:24px;align-items:center;gap:8px;padding:11px 14px;font-size:13px;display:flex}.suggestions svg{width:17px;height:17px}.bottom-note{color:var(--muted);text-align:center;padding:12px 12px 10px;font-size:11px;line-height:16px}.bottom-note a{color:inherit;cursor:pointer;text-decoration:underline}.chat-scroll{scroll-behavior:smooth;flex:1;padding:28px 24px 25px;overflow:auto}.messages{max-width:768px;margin:auto}.message{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:28px;font-size:16px;line-height:1.8}.message.user{justify-content:flex-end;display:flex}.bubble{background:#303030;border-radius:24px;max-width:80%;padding:10px 20px}.message.assistant .response{padding:0 4px}.message-actions{color:#999;gap:4px;margin-top:13px;display:flex}.message-actions .icon{width:29px;height:29px}.message-actions svg{width:17px;height:17px}.chat-composer{padding:0 24px}.welcome-top{justify-content:space-between;align-items:center;padding:20px 26px;display:flex}.welcome-title{font-size:23px;font-weight:600}.welcome{flex-direction:column;height:100dvh;display:flex}.welcome-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 20px 12vh;display:flex}.welcome-body h1{letter-spacing:-1px;margin:24px 0 12px;font-size:34px;font-weight:600}.welcome-body p{color:#bbb;margin-bottom:26px;font-size:16px}.auth-actions{gap:10px;display:flex}.auth-actions button{min-width:140px;padding:13px 24px;font-size:14px}.guest{color:#aaa;text-underline-offset:4px;margin-top:22px;font-size:14px;text-decoration:underline}.welcome-footer{text-align:center;color:#999;padding:16px;font-size:12px}.welcome-footer a{color:inherit;cursor:pointer;text-decoration:underline}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0008;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#2f2f2f;border:1px solid #464646;border-radius:20px;width:100%;max-width:420px;padding:28px;box-shadow:0 20px 80px #0008}.modal h2{margin-top:0;font-size:23px}.modal p{color:#bbb;font-size:14px;line-height:1.7}.modal input{width:100%;color:inherit;background:#212121;border:1px solid #666;border-radius:9px;margin:12px 0;padding:14px}.modal .pill{width:100%;margin-top:8px}.modal .close{float:right}.menu{z-index:10;background:#303030;border:1px solid #4a4a4a;border-radius:14px;width:260px;padding:8px;position:absolute;top:60px;left:24px;box-shadow:0 6px 30px #0004}.menu button{text-align:left;border-radius:9px;width:100%;padding:13px;display:block}.menu small{color:#aaa;margin-top:5px;display:block}.toast{color:#222;z-index:50;background:#f1f1f1;border-radius:12px;padding:13px 21px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.hide{display:none!important}.sidebar-closed .sidebar{margin-left:-260px}.mobile-open{display:none}.demo-tag{color:#aaa;border:1px solid #555;border-radius:5px;margin-left:9px;padding:3px 6px;font-size:11px}.search-input{width:100%;color:inherit;background:#212121;border:1px solid #666;border-radius:8px;padding:12px}.light{--bg:#fff;--side:#f9f9f9;--hover:#eee;--muted:#777;--line:#ddd;--box:#f4f4f4;color:#202020;background:#fff}.light .bubble{background:#f1f1f1}.light .modal,.light .menu{color:#202020;background:#fff}.light .modal input{color:#111;background:#fff}.light .suggestions button{color:#555}.light .welcome-body p{color:#666}@media (width<=760px){.sidebar{z-index:20;position:fixed;top:0;bottom:0;left:0;box-shadow:10px 0 40px #0005}.sidebar-closed .sidebar{margin-left:-280px}.header{height:60px;padding:8px 12px}.model{padding:8px 4px;font-size:18px}.head-right .temporary{display:none}.empty{padding:10px 16px 10vh}.empty h1{margin-bottom:26px;font-size:27px}.suggestions{gap:7px;margin-top:22px}.suggestions button{padding:10px;font-size:12px}.suggestions button:last-child{display:none}.chat-composer{padding:0 12px}.chat-scroll{padding:22px 18px}.bubble{max-width:90%}.welcome-body h1{font-size:30px}.welcome-top{padding:18px}.demo-tag{display:none}.tool-btn{padding:8px}.bottom-note{font-size:10px}.auth-actions button{min-width:128px}.menu{left:12px}}.companion{-webkit-user-select:none;user-select:none;text-align:center;width:240px;margin:0 auto 20px;position:relative}.avatar-stage{height:210px;position:relative}.avatar-canvas{z-index:1;position:absolute;inset:-14px 0 0}.avatar-canvas canvas{pointer-events:none;display:block;width:240px!important;height:220px!important}.avatar-halo{background:radial-gradient(circle,#8674ba28,#0000 70%);border-radius:50%;width:155px;height:155px;position:absolute;top:15px;left:43px}.avatar-caption{color:#aaa;letter-spacing:.1px;margin:4px 0 12px;font-size:12px}.avatar-demo{justify-content:center;gap:5px;display:flex}.avatar-demo button{border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:6px 10px;font-size:11px}.avatar-demo button:hover{color:inherit;border-color:#8f80bc}.thought-dots{color:#baace3;font-size:10px;line-height:15px;animation:1.7s ease-in-out infinite thought-pulse;display:none;position:absolute;top:23px;right:15px}.companion[data-state=thinking] .thought-dots{display:block}.companion[data-state=thinking] .avatar-caption{color:#baace3}.companion.floating{z-index:5;pointer-events:none;transform-origin:100% 100%;width:150px;position:fixed;bottom:150px;right:20px}.floating .avatar-stage{transform-origin:0 0;width:240px;height:125px;margin-bottom:-5px;transform:scale(.65)}.floating .avatar-caption{margin:0;font-size:11px}.floating .avatar-demo{display:none}.empty{padding-top:0;padding-bottom:5vh}.empty h1{margin-bottom:26px}.welcome-body{padding-bottom:5vh}.welcome-body h1{margin-top:5px}.welcome-body .companion{margin-bottom:15px}@keyframes thought-pulse{50%{opacity:.35;transform:translateY(-3px)}}@media (width>=1100px){.companion.floating{bottom:160px;right:28px}}@media (width<=760px){.companion{margin-top:-24px;margin-bottom:-5px;transform:scale(.83)}.empty h1{font-size:25px}.companion.floating{opacity:.88;width:86px;top:60px;bottom:auto;right:8px;transform:none}.floating .avatar-stage{height:77px;margin-bottom:0;transform:scale(.38)}.floating .avatar-caption{font-size:9px}.welcome-body .companion{margin-bottom:0}.welcome-body p{margin-top:8px}}@media (prefers-reduced-motion:reduce){.thought-dots{animation:none}}.avatar-vector{fill:initial;stroke:none;overflow:visible;width:240px!important;height:220px!important}.vector-head{transform-origin:120px 155px;animation:7s ease-in-out infinite head-idle}.vector-eyes{transform-origin:120px 107px;animation:4.8s infinite eye-blink}.vector-mode[data-state=thinking] .vector-head{animation:3s ease-in-out infinite head-think}.vector-mode[data-state=responding] .vector-head{animation:1.5s ease-in-out infinite head-nod}@keyframes head-idle{0%,to{transform:rotate(-1deg)translateY(0)}50%{transform:rotate(1deg)translateY(1px)}}@keyframes eye-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes head-think{0%,to{transform:rotate(-5deg)translateY(-1px)}50%{transform:rotate(-3deg)translateY(0)}}@keyframes head-nod{0%,to{transform:translateY(0)rotate(1deg)}50%{transform:translateY(2px)rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.vector-head,.vector-eyes{animation:none!important}}.companion .avatar-caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vector-head,.vector-mode[data-state=thinking] .vector-head,.vector-mode[data-state=responding] .vector-head{animation:none}.vector-mode[data-state=thinking] .vector-gaze{transform:none}.companion{margin-bottom:10px}.companion.floating{margin-bottom:0}.attachment{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;font-size:13px;display:flex}.attachment:empty{display:none}.attachment button{border-radius:6px;flex-shrink:0;font-size:22px}.attachment-label{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px;font-size:12px}.icon:disabled{opacity:.5;cursor:default}
