@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Sora:wght@600;700&display=swap";:root,[data-theme=dark]{color-scheme:dark;--base: #0e121a;--surface: #161d29;--surface-2: #202b3c;--surface-3: #2a3850;--accent: #00e5ff;--accent-soft: rgba(0, 229, 255, .14);--accent-border: rgba(0, 229, 255, .35);--text: #f0f4f8;--muted: #72849a;--dim: #4e5f75;--success: #3ddc97;--danger: #ff5c7a;--hairline: rgba(240, 244, 248, .06);--panel: rgba(22, 29, 41, .88);--glow: rgba(0, 229, 255, .16);--radius: 16px;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif}[data-theme=light]{color-scheme:light;--base: #f4f6f9;--surface: #ffffff;--surface-2: #e9ecef;--surface-3: #dde3ea;--accent: #008f9a;--accent-soft: rgba(0, 143, 154, .12);--accent-border: rgba(0, 143, 154, .28);--text: #1e2530;--muted: #657388;--dim: #8a97a8;--success: #1fa971;--danger: #d93a5e;--hairline: rgba(30, 37, 48, .08);--panel: rgba(255, 255, 255, .92);--glow: rgba(0, 143, 154, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 70% 50% at 85% -10%,var(--glow),transparent 55%),radial-gradient(ellipse 50% 40% at 0% 80%,rgba(61,220,151,.08),transparent 50%),var(--base);color:var(--text)}#root{min-height:100vh}.app{width:min(440px,100%);margin:0 auto;padding:28px 18px 48px;display:flex;flex-direction:column;gap:16px}.app.is-pairing{width:min(520px,100%);min-height:100vh;justify-content:center;padding-top:40px;padding-bottom:56px}@media(min-width:960px){.app.is-linked{width:min(1120px,100%);min-height:100vh;padding:28px 32px 40px;display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);column-gap:20px;row-gap:16px;align-items:start}.app.is-linked .brand{grid-column:1 / -1}.app.is-linked .panel.thread{grid-column:2;grid-row:2 / span 8;display:flex;flex-direction:column;min-height:calc(100vh - 140px)}.app.is-linked .panel.thread .chat-log{max-height:none;flex:1;min-height:420px}}.brand{display:flex;align-items:center;gap:14px}.app.is-pairing .brand{flex-wrap:wrap;row-gap:16px;padding:4px 2px 8px}.brand-logo{width:56px;height:56px;border-radius:16px;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px var(--hairline),0 10px 28px var(--glow)}.app.is-pairing .brand-logo{width:72px;height:72px;border-radius:20px}.brand-copy{flex:1;min-width:0}.brand-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.theme-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--hairline)}.theme-toggle button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;cursor:pointer}.theme-toggle button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 0 var(--hairline)}.brand h1{font-family:Sora,ui-sans-serif,system-ui,sans-serif;font-size:26px;margin:2px 0 0;letter-spacing:-.04em;line-height:1.05}.app.is-pairing .brand h1{font-size:32px}.brand-copy>p:last-child{margin:4px 0 0;color:var(--muted);font-size:13px}.badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:999px;padding:5px 10px}.panel{background:var(--panel);border:1px solid var(--hairline);border-radius:20px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel h2{margin:0 0 4px;font-family:Sora,ui-sans-serif,system-ui,sans-serif;font-size:15px}.panel .hint{color:var(--muted);font-size:13px;margin:0 0 12px;line-height:1.45}.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:0}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.status-dot.ok{background:var(--success);box-shadow:0 0 10px var(--success)}label{display:block;color:var(--dim);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:12px 0 6px}input,textarea{width:100%;background:var(--base);color:var(--text);border:1px solid var(--hairline);border-radius:12px;padding:12px;font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:84px;resize:vertical}.actions{display:flex;gap:8px;margin-top:12px}button{flex:1;background:var(--accent);color:var(--base);border:0;border-radius:12px;padding:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .16s ease,filter .16s ease}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--hairline)}button:hover:not(:disabled){filter:brightness(1.06)}button:disabled{opacity:.45;cursor:not-allowed;filter:none}button:active:not(:disabled){transform:scale(.98)}@media(prefers-reduced-motion:no-preference){.panel{animation:rise .42s ease both}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.panel,button{animation:none;transition:none}}.link-head{display:flex;flex-direction:column;gap:14px}.eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.panel.link h2{font-size:22px;letter-spacing:-.03em;margin-bottom:6px}.panel.link.live{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-soft),0 18px 48px #0000002e}.status-dot.pulse{animation:pulse-dot 1.6s ease-in-out infinite}.qr-stage{margin:28px auto 36px;width:min(320px,100%);display:flex;flex-direction:column;align-items:center;gap:12px}.qr-viewport{position:relative;width:min(312px,100%)}.qr-frame{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;pointer-events:none}.qr-frame .corner{position:absolute;width:28px;height:28px;border:2px solid var(--accent);opacity:.55}.qr-frame .corner.tl{top:0;left:0;border-right:0;border-bottom:0;border-radius:10px 0 0}.qr-frame .corner.tr{top:0;right:0;border-left:0;border-bottom:0;border-radius:0 10px 0 0}.qr-frame .corner.bl{bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 10px}.qr-frame .corner.br{bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 10px}.qr-stage.waiting .qr-frame .corner{opacity:1;animation:frame-breathe 2.4s ease-in-out infinite}.qr-wrap{position:relative;z-index:1;width:100%;aspect-ratio:1;display:grid;place-items:center;background:#fff;border-radius:22px;padding:16px;box-shadow:0 0 0 1px #1118270f,0 18px 40px #00000038,0 0 40px var(--glow)}.qr-wrap img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;display:block;image-rendering:pixelated}.qr-idle{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:14px;border-radius:12px;background:linear-gradient(135deg,rgba(17,24,39,.04),transparent 55%),repeating-linear-gradient(-12deg,rgba(17,24,39,.04) 0 10px,transparent 10px 20px);color:#657388;font-size:13px;font-weight:600;text-align:center;padding:16px}.qr-idle-mark{width:54px;height:54px;border-radius:16px;border:2px dashed rgba(17,24,39,.22);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(145deg,#00e5ff59,#1118271f) border-box}.qr-idle.spin .qr-idle-mark{animation:idle-spin 1.1s linear infinite;border-style:solid;border-color:transparent;border-top-color:#008f9a;background:transparent}.qr-caption{margin:0;color:var(--muted);font-size:12px;text-align:center;letter-spacing:.01em}.renew-timer{position:relative;width:52px;height:52px;display:grid;place-items:center;margin-top:4px}.renew-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:52px;height:52px;transform:rotate(-90deg)}.renew-track,.renew-progress{fill:none;stroke-width:3.5}.renew-track{stroke:var(--surface-3)}.renew-progress{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .2s ease;filter:drop-shadow(0 0 6px var(--glow))}.renew-count{position:relative;z-index:1;font-family:Sora,ui-sans-serif,system-ui,sans-serif;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text)}.renew-timer.urgent .renew-progress{stroke:var(--danger);filter:drop-shadow(0 0 8px rgba(255,92,122,.35))}.renew-timer.urgent .renew-count{color:var(--danger);animation:renew-pulse .9s ease-in-out infinite}.link-controls{margin-top:20px}.link-controls .actions{margin-top:0}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes frame-breathe{0%,to{opacity:.7}50%{opacity:1}}@keyframes idle-spin{to{transform:rotate(360deg)}}@keyframes renew-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.75}}@media(prefers-reduced-motion:reduce){.status-dot.pulse,.qr-stage.waiting .qr-frame .corner,.qr-idle.spin .qr-idle-mark,.renew-timer.urgent .renew-count{animation:none}.renew-progress{transition:none}}.chat-log{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}.bubble{align-self:flex-start;max-width:88%;background:var(--surface-2);border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:14px;line-height:1.4;border:1px solid var(--hairline)}.bubble.me{align-self:flex-end;background:var(--accent);color:var(--base);border-radius:14px 14px 4px;border:0}.bubble .meta{display:block;margin-top:4px;font-size:10px;opacity:.7;font-weight:600}.identity{display:flex;align-items:center;gap:10px;margin-bottom:8px}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#00e5ff,#008f9a);display:grid;place-items:center;font-weight:700;color:var(--base)}.identity strong{display:block;font-size:14px}.identity span{color:var(--muted);font-size:12px}
