*{scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box}*::-webkit-scrollbar{display:none;width:0;height:0}:root{--red: #ff1d1d;--red-dark: #c40f0f;--bg: #0f1115;--bg2: #171a21;--card: #1c1f27;--ink: #f4f4f5;--muted: #9aa0ab;--line: #2a2e38;--ok: #22c55e;--warn: #f59e0b}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--ink);text-decoration:none}a:visited{color:var(--ink)}button,.btn,.tab,.chip,input,textarea,select{color:var(--ink);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}button{background:none;border:none;cursor:pointer;padding:0}input,textarea,select{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--red)}input::placeholder,textarea::placeholder{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:700;width:100%}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:transparent;border:1px solid var(--red);color:var(--red)}.app{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;padding:16px 16px 96px}.page h1{font-size:22px;margin:4px 0}.page .sub{color:var(--muted);font-size:14px;margin:0 0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.error{background:#ff1d1d1f;border:1px solid var(--red);color:#ffb4b4;border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:14px}.ok-box{background:#22c55e1f;border:1px solid var(--ok);color:#a7f3c7;border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:14px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.link-btn{color:var(--red);font-size:14px;font-weight:600;background:none;border:none;padding:4px 0;cursor:pointer}.avatar{width:44px;height:44px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--red),#ff6b6b);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:18px;text-transform:uppercase}.avatar-lg{width:72px;height:72px;font-size:30px}.badge{display:inline-flex;align-items:center;gap:4px;background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;letter-spacing:.04em}.badge-soft{background:var(--bg2);border:1px solid var(--line);color:var(--muted)}.timer{font-variant-numeric:tabular-nums;color:var(--red);font-weight:700;font-size:13px}.chat-list-item{display:flex;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:center;width:100%;text-align:left}.chat-list-item:last-child{border-bottom:none}.msg{max-width:78%;padding:10px 14px;border-radius:16px;margin-bottom:8px;line-height:1.45;font-size:15px;word-break:break-word}.msg-mine{background:var(--red);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.msg-theirs{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}.msg-meta{font-size:11px;opacity:.75;margin-top:4px;display:flex;gap:8px;align-items:center}.composer{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}.composer input{flex:1}.composer .send-btn{width:48px;flex:none;border-radius:12px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:560px;background:var(--bg2);border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;color:var(--muted);font-size:11px}.tabbar a.active{color:var(--red)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.logo-word{font-size:22px;font-weight:900;letter-spacing:.02em}.logo-word span{color:var(--red)}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chip{flex:none;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;background:var(--bg2);color:var(--ink)}.chip.active{background:var(--red);border-color:var(--red);color:#fff}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.toggle:last-child{border-bottom:none}.switch{width:48px;height:28px;border-radius:999px;background:var(--line);position:relative;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}.switch.on{background:var(--red)}.switch.on:after{left:23px}.guide p{color:var(--muted);font-size:14px;line-height:1.6}.guide li{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:6px}.empty{text-align:center;color:var(--muted);padding:48px 16px;font-size:14px;line-height:1.6}.flash-body{font-size:16px;line-height:1.5}.buzz-btn{border:1px solid var(--red);color:var(--red);border-radius:12px;padding:8px 14px;font-weight:700;font-size:13px;display:inline-flex;gap:6px;align-items:center}.splash{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:50}.splash-logo{font-size:72px;font-weight:900;color:var(--red);position:relative;animation:glitch .35s infinite steps(2)}.splash-logo:before,.splash-logo:after{content:"K";position:absolute;top:0;right:0;bottom:0;left:0;color:var(--red)}.splash-logo:before{transform:translate(-3px,2px);color:#fff;opacity:.7;clip-path:inset(0 0 55% 0)}.splash-logo:after{transform:translate(3px,-2px);color:#ff6b6b;opacity:.7;clip-path:inset(55% 0 0 0)}@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-1px)}to{transform:translate(0)}}.splash-tag{color:var(--muted);font-size:14px;letter-spacing:.18em;text-transform:uppercase}
