[hidden]{display:none!important}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#e7edf7;background:#07101e;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 10%,#12385a 0,transparent 32rem),#07101e}button,input,textarea{font:inherit}button{cursor:pointer}main{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:rgba(13,27,46,.96);border:1px solid #243d5d;border-radius:20px;box-shadow:0 30px 90px #0008}.auth-card{width:min(100%,460px);padding:32px}.brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand h1,.brand p{margin:0}.brand h1{font-size:24px}.brand p{color:#91a5bf;margin-top:4px}.mark{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#37b8ff;color:#032038;font-size:27px;font-weight:900}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#091725;border-radius:10px;padding:4px;margin-bottom:22px}.tabs button{border:0;border-radius:8px;padding:10px;background:transparent;color:#91a5bf}.tabs button.active{background:#1e3855;color:#fff}form{display:grid;gap:16px}label{display:grid;gap:7px;color:#b9c8da;font-size:14px}input,textarea{width:100%;border:1px solid #2d4969;border-radius:10px;background:#091522;color:#fff;padding:12px;outline:0}input:focus,textarea:focus{border-color:#37b8ff;box-shadow:0 0 0 3px #37b8ff22}.primary{border:0;border-radius:10px;background:#38b8ff;color:#032038;padding:12px 16px;font-weight:800}.primary:hover{background:#71ccff}.status{min-height:22px;color:#ffca68}.fineprint{color:#71869f;font-size:12px;line-height:1.5;margin:22px 0 0}code{display:block;overflow-wrap:anywhere;background:#07111e;padding:12px;border-radius:8px;color:#82d4ff;margin:8px 0}details{color:#8da2bc;font-size:12px}.chat-shell{width:min(1280px,100%);height:min(820px,calc(100vh - 48px));display:grid;grid-template-columns:310px 1fr;background:#0b1727;border:1px solid #243d5d;border-radius:20px;overflow:hidden;box-shadow:0 30px 90px #0008}.chat-shell aside{display:flex;flex-direction:column;padding:20px;background:#091421;border-right:1px solid #203650}.compact{margin-bottom:20px}.compact .mark{width:38px;height:38px}.compact h1{font-size:18px}.compact p{font-size:12px}.chat-shell aside form{grid-template-columns:1fr auto;gap:8px}.chat-shell aside form input{min-width:0}.chat-shell aside form button{padding:10px}nav{display:grid;gap:6px;margin:20px -8px;overflow:auto}nav button{border:0;border-radius:10px;background:transparent;color:#c5d1df;text-align:left;padding:12px}nav button:hover,nav button.active{background:#19304a}.quiet{border:1px solid #294461;border-radius:9px;background:transparent;color:#aabbd0;padding:9px 12px}.chat-shell aside>.quiet{margin-top:auto}.conversation{min-width:0;display:grid;grid-template-rows:auto 1fr auto}.conversation header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #203650}.conversation header h2,.conversation header p{margin:0}.conversation header p{color:#8197b0;font-size:12px;margin-top:4px}.lock{color:#42db9c}.conversation #messages{padding:24px;overflow:auto;display:flex;flex-direction:column;gap:10px}.empty{margin:auto;color:#71869f}.message{max-width:min(72%,650px);align-self:flex-start}.message.mine{align-self:flex-end}.bubble{padding:11px 14px;border-radius:14px 14px 14px 4px;background:#1b3049;white-space:pre-wrap;overflow-wrap:anywhere}.mine .bubble{background:#1688c9;border-radius:14px 14px 4px 14px}.meta{color:#71869f;font-size:11px;margin:4px 5px}.mine .meta{text-align:right}.conversation #message-form{grid-template-columns:1fr auto;padding:16px 24px;border-top:1px solid #203650}.conversation textarea{resize:none}@media(max-width:760px){main{padding:0}.chat-shell{height:100vh;border:0;border-radius:0;grid-template-columns:115px 1fr}.chat-shell aside{padding:12px 8px}.compact div,.chat-shell aside form input{display:none}.chat-shell aside form{display:block}.chat-shell aside form button{width:100%;font-size:12px}.message{max-width:90%}.conversation header,#messages,.conversation #message-form{padding-left:14px;padding-right:14px}}
.chat-shell,.chat-shell aside,.conversation,.conversation #messages{min-height:0}.conversation{overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}@media(max-width:760px){.chat-shell{height:100dvh}}
.header-actions{display:flex;gap:8px;align-items:center}@media(max-width:760px){.header-actions{flex-direction:column;gap:5px}.header-actions .quiet{font-size:11px;padding:6px 8px}}
.conversation-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.conversation-item .chat-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.conversation-item .chat-link>span:first-child{overflow:hidden;text-overflow:ellipsis}.unread{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#38b8ff;color:#032038;font-size:11px;font-weight:900}.conversation-item .delete-chat{padding:8px;opacity:.55;font-size:13px}.conversation-item .delete-chat:hover,.conversation-item .delete-chat:focus-visible{opacity:1;background:#4b2330;color:#ffb5bd}
.boot-card .brand{margin:0}.boot-card .mark{animation:boot-pulse 1.2s ease-in-out infinite}@keyframes boot-pulse{50%{transform:scale(.92);opacity:.65}}
@media(max-width:760px){
html,body{height:100%;overscroll-behavior:none}body{min-height:100dvh}main{display:block;height:100dvh;min-height:0;padding:0}.auth-card{width:100%;min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));border:0;border-radius:0}.auth-card input,.auth-card button{min-height:48px;font-size:16px}.chat-shell{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);box-shadow:none}.chat-shell aside{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand logout" "new new" "nav nav";gap:10px 12px;min-height:0;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left));border-right:0;border-bottom:1px solid #203650}.compact{grid-area:brand;min-width:0;margin:0}.compact div{display:block;min-width:0}.compact .mark{width:40px;height:40px;flex:0 0 auto}.compact h1{font-size:17px}.compact p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-shell aside>#logout{grid-area:logout;min-width:72px;min-height:44px;margin:0}.chat-shell aside form{grid-area:new;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-shell aside form input{display:block;min-width:0;min-height:44px;padding:10px 12px;font-size:16px}.chat-shell aside form button{width:auto;min-height:44px;padding:9px 13px;font-size:13px}.chat-shell nav{grid-area:nav;display:flex;gap:7px;margin:0 -2px;padding:0 2px 2px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin}.conversation-item{flex:0 0 auto;width:min(62vw,240px);scroll-snap-align:start}.conversation-item .chat-link{min-height:44px;padding:10px}.conversation-item .delete-chat{min-width:40px;min-height:40px;padding:7px;opacity:.8}.conversation{min-height:0;overflow:hidden}.conversation header{min-height:58px;gap:8px;padding:9px max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left))}.conversation header>div:first-child{min-width:0}.conversation header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.conversation header p{display:none}.header-actions{flex:0 0 auto;flex-direction:row;gap:5px}.header-actions .quiet{min-height:40px;max-width:94px;padding:7px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.conversation #messages{min-height:0;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));gap:8px;overscroll-behavior:contain}.message{max-width:88%}.bubble{padding:10px 12px;font-size:15px;line-height:1.35}.meta{font-size:10px}.conversation #message-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#0b1727}.conversation textarea{min-height:44px;max-height:120px;padding:11px 12px;font-size:16px}.conversation #message-form .primary{min-width:66px;min-height:44px;padding:10px 14px}.empty{padding:24px;text-align:center}
}
@media(max-width:760px) and (max-height:520px){.chat-shell aside{grid-template-columns:auto minmax(180px,1fr) auto;grid-template-areas:"brand new logout" "nav nav nav";gap:7px}.compact div{display:none}.chat-shell aside form{align-self:center}.conversation header{min-height:48px;padding-top:5px;padding-bottom:5px}}
@media(hover:none){.conversation-item .delete-chat{opacity:.85}button{-webkit-tap-highlight-color:transparent}}
.code-panel{display:grid;gap:3px;margin-top:12px;padding:12px;border:1px solid #2d6184;border-radius:12px;background:#0d2337;text-align:center}.code-panel span,.code-panel small{color:#91a5bf}.code-panel strong{font-size:28px;letter-spacing:.2em;color:#71ccff}.session-action{display:grid;place-items:center;padding:30px;min-height:0}.participants-panel{position:absolute;z-index:5;top:74px;right:20px;width:min(390px,calc(100% - 40px));max-height:calc(100% - 100px);overflow:auto;padding:18px;border:1px solid #294967;border-radius:14px;background:#0d1d30;box-shadow:0 20px 60px #000b}.conversation{position:relative}.panel-heading,.participant-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h3{margin:0}.participant-row{padding:10px 0;border-bottom:1px solid #203650}.participants-panel form{margin-top:16px}.danger{color:#ff9ca7;border-color:#62333c}.chat-link small{color:#71869f;font-size:10px}.chat-link span{min-width:0}.chat-shell aside>#new-session{width:100%}
.message.system{max-width:100%;align-self:center;padding:7px 12px;border-radius:999px;background:#14263a;color:#91a5bf;font-size:12px;text-align:center}.conversation #message-form[hidden]{display:none}.session-action[hidden]{display:none}
@media(max-width:760px){.chat-shell aside>#new-session{grid-area:new;min-height:44px}.code-panel{grid-area:nav;margin:0}.chat-shell aside:has(.code-panel:not([hidden])) nav{display:none}.participants-panel{top:58px;right:8px;width:calc(100% - 16px);max-height:calc(100% - 70px)}}
