.gap-room[hidden]{display:none!important}
.gap-room{--gap-gold:#e8b44a;position:fixed;inset:0 0 calc(100px + env(safe-area-inset-bottom));z-index:75;display:flex;flex-direction:column;max-width:840px;margin:auto;background:radial-gradient(ellipse at 10% 0,rgba(232,180,74,.055),transparent 42%),#0a0a0c;color:#edf0f5;font-family:inherit;color-scheme:dark;isolation:isolate}
.gap-chat-open{overflow:hidden}
.gap-chat-open #bottomNav{z-index:80}
.gap-chat-open:before{content:'';position:fixed;inset:0;z-index:74;background:#0a0a0c}
.gap-chat-open #bottomNav{background:#11151b!important;border-color:#30353c!important;box-shadow:none!important;backdrop-filter:none!important}
.gap-chat-open #bottomNav .bottom-nav-item{color:#aeb6c2!important}
.gap-chat-open #bottomNav [data-bottom-nav=ai]{color:#e8b44a!important;background:#302718!important;border-color:#66502a!important}
.gap-header{display:flex;align-items:center;gap:12px;padding:calc(18px + env(safe-area-inset-top)) 24px 20px;border-bottom:1px solid #262b32;flex-shrink:0}
.gap-header h1{font-size:clamp(20px,4vw,28px);font-weight:550;margin:0;color:var(--gap-gold);letter-spacing:-.04em}
.gap-header h1 span{color:#aeb5c1;font-weight:400}
.gap-brand-bolt{width:28px;color:var(--gap-gold);filter:drop-shadow(0 0 12px #e8b44a55)}
.gap-room svg{display:block;width:100%;height:auto}
.gap-back{font:28px sans-serif;border:0;background:none;color:#9da6b2;padding:4px 6px;cursor:pointer}
.gap-status{margin-inline-start:auto;font:12px system-ui;white-space:nowrap;color:#969da7}
.gap-status:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:7px}
.gap-status[data-state=online]{color:#28d39b}.gap-status[data-state=error]{color:#ed8d8d}
.gap-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-width:thin;scrollbar-color:#41434a transparent}
.gap-message{max-width:90%;margin-bottom:24px;padding:20px;border-radius:26px;animation:gap-enter .22s ease-out;overflow-wrap:anywhere;line-height:1.8;font-size:15px}
.gap-user{margin-left:auto;width:fit-content;border:1px solid #24303b;background:linear-gradient(145deg,#111b23,#0d141a);border-bottom-right-radius:8px}
.gap-assistant{margin-right:auto;border:1px solid #a78032;background:radial-gradient(ellipse at 0 0,#e8b44a09,transparent 50%),linear-gradient(145deg,#0c1013,#080b0d);box-shadow:0 8px 30px #0003}
.gap-author{display:flex;gap:10px;align-items:center;color:var(--gap-gold);font-size:16px;margin-bottom:14px;direction:ltr}
.gap-author svg{width:20px;filter:drop-shadow(0 0 8px #e8b44a44)}
.gap-content{white-space:pre-wrap}.gap-content p{margin:10px 0}.gap-content p:first-child{margin-top:0}
.gap-chord{max-width:260px;background:#050a0d;border:1px solid #283038;border-radius:20px;padding:10px;margin:12px auto;white-space:normal}
.gap-tuning{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:12px;border:1px solid #353329;border-radius:16px;color:#f1cb7e;font:14px/1.7 system-ui;white-space:normal}
.gap-source{display:block;color:#d9b977;font-size:12px}.gap-cached{display:block;color:#879485;font-size:11px;margin-top:10px}
.gap-empty{text-align:center;max-width:470px;margin:36px auto;color:#a6aeb9}.gap-empty h2{color:#e7e9ee;font-size:24px;font-weight:500;letter-spacing:-.035em}.gap-empty p{font-size:14px;line-height:1.9}
.gap-hero-bolt{display:block;margin:auto;width:45px;color:var(--gap-gold);filter:drop-shadow(0 0 20px #e8b44a66)}
.gap-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.gap-chips button,.gap-retry{color:#d4d9e2;background:#11181f;border:1px solid #303540;border-radius:18px;padding:12px;font:inherit;font-size:13px;cursor:pointer}
.gap-composer{display:flex;align-items:center;gap:10px;padding:10px;margin:0 20px;background:linear-gradient(120deg,#081720,#0c1014 60%,#1e1a10);border:1px solid #394552;border-radius:40px;box-shadow:0 -4px 26px #0003;flex-shrink:0}
.gap-composer textarea{flex:1;min-width:0;resize:none;border:0;outline:none;background:transparent;color:#f2f4f7;padding:10px 2px;font:16px/1.5 inherit;max-height:112px;min-height:44px;box-shadow:none}.gap-composer textarea::placeholder{color:#858f9b}
.gap-composer button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;cursor:pointer;transition:transform .15s}
.gap-composer button:active,.gap-chips button:active{transform:scale(.95)}
.gap-composer button svg{width:25px}.gap-voice{color:#15d5f5;border:1px solid #10bbde;background:#042632;box-shadow:0 0 18px #03bfff22}.gap-voice path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gap-send{color:#38270d;background:linear-gradient(135deg,#ffe49d,#e8b44a);border:1px solid #fce2a1;box-shadow:0 0 18px #e8b44a30}.gap-send:disabled{opacity:.45;cursor:wait}
.gap-composer-note{min-height:20px;margin:7px 24px 5px;color:#939ba7;text-align:center;font-size:11px}
.gap-dots{display:flex;gap:7px;padding:10px;direction:ltr}.gap-dots i{width:7px;height:7px;background:#c6b78e;border-radius:50%;animation:gap-pulse 1.2s infinite}.gap-dots i:nth-child(2){animation-delay:.15s}.gap-dots i:nth-child(3){animation-delay:.3s}
.gap-skeleton{width:190px;height:190px;border:1px solid #3b3930;border-radius:18px;background:linear-gradient(110deg,#10161a,#252626,#10161a);background-size:200% 100%;animation:gap-shimmer 2s infinite}
.gap-error{color:#e9b5a3}.gap-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gap-room button:focus-visible,.gap-room textarea:focus-visible{outline:2px solid #e8b44a;outline-offset:3px}
#bottomNav [data-bottom-nav=ai] svg{color:#e8b44a;fill:#e8b44a;stroke:none}
@keyframes gap-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes gap-pulse{50%{opacity:.3;transform:translateY(-3px)}}@keyframes gap-shimmer{to{background-position:-200% 0}}
@media(max-width:599px){.gap-room{bottom:calc(94px + env(safe-area-inset-bottom))}.gap-header{padding-left:14px;padding-right:14px;gap:8px}.gap-thread{padding:20px 14px}.gap-message{max-width:95%;padding:16px}.gap-composer{margin:0 10px;padding:7px;gap:7px}.gap-status{font-size:11px}.gap-chips{grid-template-columns:1fr}.gap-empty{margin-top:15px}.gap-empty h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.gap-room *{animation:none!important;transition:none!important}}
