:root{--bg:#0b141a;--panel:#111b21;--surface:#202c33;--surface-2:#2a3942;--accent:#00a884;--out:#005c4b;--tick:#53bdeb;--text:#e9edef;--muted:#8696a0;--dim:#667781;--gold:#ffd279;--divider:#ffffff14;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--bg-primary:#0b141a;--bg-surface:#111b21;--bg-surface-elevated:#202c33;--bg-card:#202c33;--border-subtle:#ffffff14;--accent-sage:#00a884;--accent-sage-light:#25d3a6;--accent-sage-dark:#008f70;--accent-amber:#ffd279;--text-primary:#e9edef;--text-secondary:#8696a0;--radius-sm:8px;--radius-md:14px;--radius-lg:20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100dvh;color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background:#0b141a;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{display:block}#root{flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.app-container{background:var(--bg);flex-direction:column;width:100%;max-width:500px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=720px){body{background:#05090c;justify-content:center;align-items:center;display:flex;position:static}#root{justify-content:center;align-items:center}.app-container{border-radius:36px;height:92vh;max-height:860px;box-shadow:0 0 0 10px #1c2a31,0 0 0 11px #000,0 40px 100px #000c}}.chead{padding-top:max(10px, env(safe-area-inset-top,10px));border-bottom:1px solid var(--divider);z-index:50;background:#111b21;flex-shrink:0;align-items:center;gap:10px;min-height:60px;padding-bottom:10px;padding-left:8px;padding-right:12px;display:flex}.btn-back{cursor:pointer;width:40px;min-width:40px;height:40px;color:var(--text);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.btn-back:active{background:#ffffff29}.ring{color:#04231c;cursor:pointer;background:linear-gradient(145deg,#25d3a6,#008f70);border-radius:50%;place-items:center;width:40px;min-width:40px;height:40px;font-size:16px;font-weight:700;display:grid;position:relative;box-shadow:0 0 0 2px #00a88473}.cinfo{cursor:pointer;flex:1;min-width:0}.cname{letter-spacing:-.01em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.cstat{color:var(--muted);margin-top:1px;font-size:12px}.cstat b{color:var(--accent);font-weight:500}.cacts{align-items:center;gap:8px;display:flex}.lockpill{color:#7ae3c3;background:#00a88429;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.wrap{background-color:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.paper{opacity:.042;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23e9edef' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 30v26M20 30v12a6 6 0 0 0 12 0V30'/%3E%3Cpath d='M96 22c-7 0-10 6-10 12s4 8 7 8l-1 16'/%3E%3Cpath d='M160 26h26v12a13 13 0 0 1-26 0z M186 30a6 6 0 0 1 0 10'/%3E%3Cpath d='M228 96c-14 0-21 8-21 21 13 0 21-7 21-21z M210 114l14-12'/%3E%3Cpath d='M40 106c-5-6 1-12 6-7 5-5 11 1 6 7l-6 7z'/%3E%3Cpath d='M112 100h30a6 6 0 0 1 6 6v14a6 6 0 0 1-6 6h-18l-9 7v-7h-3a6 6 0 0 1-6-6v-14a6 6 0 0 1 6-6z'/%3E%3Cpath d='M30 186a14 14 0 1 0 15 15 11 11 0 0 1-15-15z'/%3E%3Cpath d='M110 190h34l-4 30h-26z M108 190h38'/%3E%3Cpath d='M196 182c8 0 13 6 13 14s-5 16-13 16-13-8-13-16 5-14 13-14z M196 182v30'/%3E%3C/g%3E%3C/svg%3E");background-size:260px 260px;position:absolute;inset:0}.thread{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:4px;padding:12px 14px;display:flex;position:relative;overflow-y:auto}.pill{color:#8696a0;background:#182229;border-radius:8px;align-self:center;margin:6px 0;padding:4px 12px;font-size:11.5px;font-weight:500;box-shadow:0 1px 2px #0000004d}.e2ee{max-width:90%;color:var(--gold);text-align:center;background:#182229;border:1px solid #ffd27926;border-radius:10px;align-self:center;align-items:center;gap:8px;margin:4px 0 12px;padding:8px 14px;font-size:11.5px;line-height:1.45;display:flex}.msg{width:100%;margin:2px 0;display:flex}.msg.out{justify-content:flex-end}.msg.in{justify-content:flex-start}.bubble{word-break:break-word;border-radius:12px;max-width:82%;padding:8px 12px 6px;font-size:15px;line-height:1.42;position:relative;box-shadow:0 1px 1.5px #00000047}.out .bubble{background:var(--out);color:#fff;border-top-right-radius:2px}.in .bubble{background:var(--surface);color:var(--text);border-top-left-radius:2px}.bubble-text{margin-right:8px;display:inline}.bubble-meta{float:right;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;margin-top:4px;font-size:11px;display:inline-flex}.out .bubble-meta{color:#ffffffa6}.in .bubble-meta{color:var(--muted)}.cooldown-strip{color:#ffd279;cursor:pointer;z-index:20;background:#ffd27914;border-top:1px solid #ffd2792e;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:12.5px;display:flex}.dock{padding:8px 10px max(10px, env(safe-area-inset-bottom,10px)) 10px;border-top:1px solid var(--divider);z-index:30;background:#111b21;flex-shrink:0}.composer{align-items:center;gap:8px;display:flex}.field{background:#202c33;border-radius:24px;flex:1;align-items:center;gap:8px;min-height:44px;padding:4px 12px;display:flex}.chat-input{color:#e9edef;resize:none;background:0 0;border:none;outline:none;flex:1;max-height:84px;padding:6px 0;font-family:inherit;font-size:15px;line-height:1.35}.chat-input::placeholder{color:var(--dim)}.btn-send{color:#04231c;cursor:pointer;background:#00a884;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;transition:transform .12s;display:flex}.btn-send:active{transform:scale(.92)}.lobby-head{padding:max(14px, env(safe-area-inset-top,14px)) 18px 14px;background:var(--bg);border-bottom:1px solid var(--divider);flex-shrink:0}.lobby-top{justify-content:space-between;align-items:center;display:flex}.lobby-title{letter-spacing:-.02em;color:var(--text);font-size:24px;font-weight:700}.row{background:var(--panel);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.av{color:#04231c;background:linear-gradient(145deg,#25d3a6,#008f70);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.rmid{flex:1;min-width:0}.rtop{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rname{font-size:15.5px;font-weight:600}.rtime{color:var(--accent);font-size:12px;font-weight:600}.rbot{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.codebox{justify-content:space-between;gap:8px;display:flex}.codebox input{background:var(--bg);text-align:center;width:100%;height:52px;color:var(--text);border:1.5px solid #ffffff1f;border-radius:12px;outline:none;font:700 22px/1 monospace;transition:border-color .15s}.codebox input:focus{border-color:var(--accent)}.cta{background:var(--accent);color:#04231c;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;width:100%;padding:13px;font-size:15px;font-weight:700;display:flex}.cta:active{transform:scale(.985)}.toast{z-index:90;color:#e9edef;opacity:0;pointer-events:none;white-space:nowrap;background:#2a3942f5;border-radius:12px;padding:9px 16px;font-size:13px;transition:all .26s;position:absolute;bottom:80px;left:50%;transform:translate(-50%,14px);box-shadow:0 4px 18px #0006}.toast.on{opacity:1;transform:translate(-50%)}.glass-panel{background:var(--panel);border:1px solid var(--divider)}.glass-card{background:var(--surface);border:1px solid var(--divider)}.btn{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#04231c}.btn-secondary{color:var(--text);border:1px solid var(--divider);background:#ffffff14}.spin-anim{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
