button{font-family:inherit}.app{height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-size:16px;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--rule-soft);flex-direction:column;flex-shrink:0;width:286px;transition:margin-left .25s;display:flex}.sidebar-top{padding:14px 14px 10px}.sidebar-brand{color:var(--navy);align-items:center;gap:10px;padding:4px 6px 12px;text-decoration:none;display:flex}.sidebar-brand img{display:block}.sidebar-brand span{font-family:var(--serif);letter-spacing:-.2px;font-size:20px;font-weight:600}.new-chat-btn{border:1px solid var(--rule);background:var(--surface);width:100%;min-height:44px;color:var(--navy);font:600 14.5px/1 var(--sans);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:0 14px;transition:background .15s,border-color .15s;display:flex}.new-chat-btn:hover{border-color:var(--navy);background:#fff}.new-chat-btn svg{flex-shrink:0}.sidebar-search{margin-top:10px;position:relative}.sidebar-search svg{pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sidebar-search input{width:100%;height:40px;font:400 14px/1 var(--sans);color:var(--ink);background:#ffffffb3;border:1px solid #0000;border-radius:10px;padding:0 12px 0 38px}.sidebar-search input::placeholder{color:#8494a6}.sidebar-search input:focus{border-color:var(--navy);background:var(--surface);outline:none}.sidebar-scroll{flex:1;padding:6px 10px 12px;overflow-y:auto}.sidebar-group{margin-top:14px}.sidebar-group h3{font:600 11.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#8494a6;padding:0 8px 8px}.chat-item{width:100%;color:var(--muted);background:0 0;border-radius:10px;align-items:center;display:flex}.chat-item-main{min-width:0;color:inherit;font:500 14px/1.35 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:9px 4px 9px 10px;display:flex;overflow:hidden}.chat-item-main svg{opacity:.65;flex-shrink:0}.chat-item-main span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-item:hover{color:var(--navy);background:#ffffffd9}.chat-item.active{background:var(--surface);color:var(--navy);box-shadow:0 1px 2px #0e2a4714}.chat-item-del{color:#8494a6;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin:0 4px 0 2px;transition:opacity .15s;display:inline-flex}.chat-item:hover .chat-item-del,.chat-item-del:focus-visible{opacity:1}.chat-item-del:hover{background:var(--rule-soft);color:#b3261e}@media (hover:none){.chat-item-del{opacity:1}}.sidebar-foot{border-top:1px solid var(--rule-soft);padding:10px 14px}.foot-user{border-radius:10px;align-items:center;gap:4px;display:flex}.foot-user:hover{background:#ffffffd9}.foot-user-link{min-width:0;color:inherit;border-radius:10px;flex:1;align-items:center;gap:10px;padding:6px;text-decoration:none;display:flex}.foot-user .avatar{background:var(--navy);color:#fff;width:32px;height:32px;font:600 12px/1 var(--sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.foot-user .avatar-img{object-fit:cover;background:var(--rule-soft)}.foot-user .meta{flex:1;min-width:0}.foot-user .meta strong{font:600 13.5px/1.2 var(--sans);color:var(--navy);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.foot-user .meta small{font:400 12px/1.3 var(--sans);color:#8494a6;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.foot-signout{color:#8494a6;font:500 12px/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;padding:6px 8px}.foot-signout:hover{background:var(--rule-soft);color:var(--navy)}.foot-signin{color:var(--muted);font:500 14px/1.35 var(--sans);border-radius:10px;align-items:center;gap:10px;padding:9px 8px;text-decoration:none;display:flex}.foot-signin:hover{color:var(--navy);background:#ffffffd9}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-topbar{border-bottom:1px solid var(--rule-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f6f8faeb;align-items:center;gap:12px;height:60px;padding:0 18px;display:flex}.icon-btn{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--rule-soft);color:var(--navy)}.icon-btn.sidebar-toggle{display:none}.chat-title{align-items:center;gap:9px;min-width:0;display:flex}.chat-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.chat-title .mode{font:500 12px/1 var(--sans);color:var(--amber-ink);background:#f2b23029;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.chat-title .mode .dot{background:var(--amber);border-radius:50%;width:7px;height:7px}.topbar-spacer{flex:1}.topbar-new{border:1px solid var(--rule);background:var(--surface);min-height:38px;color:var(--navy);font:600 13.5px/1 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.topbar-new:hover{border-color:var(--navy)}.chat-scroll{scroll-behavior:smooth;flex:1;overflow-y:auto}.chat-thread{flex-direction:column;gap:26px;max-width:768px;margin:0 auto;padding:28px 22px 20px;display:flex}.empty-state{text-align:center;padding-top:9vh}.empty-state h2{margin-bottom:8px;font-size:32px}.empty-state>p{color:var(--muted);max-width:460px;margin:0 auto 26px;font-size:15.5px}.suggestions{text-align:left;grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.suggestion{border:1px solid var(--rule-soft);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:14px;flex-direction:column;gap:6px;padding:15px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.suggestion:hover{border-color:var(--navy);box-shadow:0 2px 10px #0e2a4712}.suggestion strong{font:600 14px/1.35 var(--sans);color:var(--navy)}.suggestion small{font:400 13px/1.45 var(--sans);color:var(--muted)}.msg{gap:13px;animation:.25s rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg-avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;display:flex}.msg-ai .msg-avatar{background:var(--navy)}.msg-user .msg-avatar{color:var(--amber-ink);font:600 12px/1 var(--sans);background:#f2b23033}.msg-body{flex:1;min-width:0}.msg-user .msg-body{flex-direction:column;align-items:flex-end;display:flex}.msg-user .bubble{background:var(--surface);border:1px solid var(--rule-soft);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;border-radius:16px 16px 4px;max-width:85%;padding:11px 16px;box-shadow:0 1px 2px #0e2a470d}.msg-ai .msg-body{padding-top:4px}.msg-ai .content{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.msg-ai .content strong{color:var(--navy)}.msg-ai .content p{margin:0 0 12px}.msg-ai .content p:last-child{margin-bottom:0}.source{font:500 12.5px/1.4 var(--sans);color:var(--muted);background:var(--surface);border:1px solid var(--rule-soft);border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:6px 12px;display:inline-flex}.source .dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:7px;height:7px}.msg-actions{opacity:0;gap:4px;margin-top:10px;transition:opacity .15s;display:flex}.msg:hover .msg-actions,.msg-actions:focus-within{opacity:1}.action-chip{height:30px;color:var(--muted);font:500 12.5px/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.action-chip:hover{background:var(--rule-soft);color:var(--navy)}.attachment-preview{align-items:flex-start;margin-bottom:8px;display:flex;position:relative}.attachment-preview img{border:1px solid var(--rule);object-fit:cover;border-radius:12px;max-width:220px;max-height:140px;display:block}.attachment-preview button{color:#fff;cursor:pointer;background:#0a1e33bf;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;top:6px;right:6px}.attachment-preview button:hover{background:#0a1e33f2}.msg-user .msg-attachment{margin-bottom:8px}.msg-user .msg-attachment img{border:1px solid var(--rule);border-radius:12px;max-width:min(280px,70%);display:block}.typing{align-items:center;gap:5px;padding:8px 2px;display:inline-flex}.typing i{background:#8494a6;border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.msg.streaming .content:after{content:"";vertical-align:-2px;background:var(--navy);width:8px;height:16px;margin-left:2px;animation:1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{0%{opacity:1}50%{opacity:0}to{opacity:1}}.composer-wrap{padding:8px 22px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--ground) 70%,#f6f8fa00)}.composer{background:var(--surface);border:1px solid var(--rule);border-radius:22px;flex-direction:column;gap:8px;max-width:768px;margin:0 auto;padding:10px 12px 10px 16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 14px #0e2a470f}.composer:focus-within{border-color:var(--navy);box-shadow:0 4px 18px #0e2a471a}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer-tools{gap:2px;padding-bottom:2px;display:flex}.tool-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.tool-btn:hover{background:var(--rule-soft);color:var(--navy)}.composer textarea{resize:none;font:400 15.5px/1.5 var(--sans);color:var(--ink);background:0 0;border:0;flex:1;min-height:36px;max-height:180px;padding:7px 0}.composer textarea::placeholder{color:#8494a6}.composer textarea:focus{outline:none}.send-btn{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,opacity .15s;display:inline-flex}.send-btn:hover{background:var(--navy-deep)}.send-btn:disabled{opacity:.35;cursor:default}.send-btn.stop{background:var(--surface);color:var(--navy);border:1px solid var(--rule)}.composer-hint{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.composer-hint small{font:400 12px/1.4 var(--sans);color:#8494a6}.composer-hint .attach-note{font:500 12px/1.4 var(--sans);color:var(--amber-ink);align-items:center;gap:6px;display:none}.composer-hint .attach-note.visible{display:inline-flex}.disclaimer{text-align:center;max-width:768px;font:400 12px/1.4 var(--sans);color:#8494a6;margin:9px auto 0}.modal-overlay{z-index:70;background:#0a1e3373;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--rule-soft);text-align:center;border-radius:18px;width:100%;max-width:420px;padding:30px 28px 26px;position:relative;box-shadow:0 18px 44px #0a1e3340}.modal-card h2{margin-bottom:10px;font-size:23px}.modal-card>p{color:var(--muted);margin-bottom:22px;font-size:15px}.modal-actions{flex-direction:column;gap:10px;display:flex}.modal-actions a{min-height:46px;font:600 15px/1 var(--sans);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;display:flex}.modal-actions a.solid{background:var(--navy);color:#fff}.modal-actions a.solid:hover{background:var(--navy-deep)}.modal-actions a.ghost{border:2px solid var(--navy);color:var(--navy)}.modal-actions a.ghost:hover{background:var(--surface)}.modal-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--rule-soft);color:var(--navy)}.toast{background:var(--navy);color:#fff;font:500 13px/1 var(--sans);opacity:0;pointer-events:none;z-index:60;border-radius:999px;padding:10px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:96px;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.sidebar-overlay{z-index:30;background:#0a1e3359;display:none;position:fixed;inset:0}@media (max-width:900px){.sidebar{z-index:40;height:100dvh;position:fixed;top:0;bottom:0;left:0;box-shadow:0 0 40px #0a1e3333}.sidebar.hidden{margin-left:-286px}.sidebar:not(.hidden)~.sidebar-overlay{display:block}.icon-btn.sidebar-toggle{display:inline-flex}.suggestions{grid-template-columns:1fr}.empty-state h2{font-size:26px}}@media (max-width:540px){.chat-title .mode span,.topbar-new span{display:none}.topbar-new{border-radius:10px;justify-content:center;width:38px;min-height:38px;padding:0}.chat-thread{padding:20px 20px 16px}.composer-wrap{padding-left:20px;padding-right:20px}.chat-topbar{padding:0 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
