@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-400-normal-D8MC3_dU.woff2) format("woff2"),url(/assets/exo-2-latin-400-normal-_vYD6UCb.woff) format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-latin-600-normal-DOMk466V.woff2) format("woff2"),url(/assets/exo-2-latin-600-normal-DZPWd1Z-.woff) format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff) format("woff")}:root{--bg: #070b14;--bg-2: #0c1426;--surface: #101a30;--surface-glass: rgba(20, 34, 62, .72);--border: rgba(0, 229, 255, .22);--text: #e6f1ff;--text-dim: #9aaeca;--accent: #00e5ff;--accent-2: #ff2bd6;--success: #3dffa2;--danger: #ff4d6d;--warning: #ffb020;--on-accent: #04121a;--bubble-own: #0b3a4a;--bubble-own-text: #e6fbff;--bubble-other: #141f38;--bubble-other-text: #e6f1ff;--tick-read: #ff2bd6;--online: #3dffa2;--waveform: rgba(230, 241, 255, .35);--waveform-played: #00e5ff;--font-title: "Orbitron", "Exo 2", sans-serif;--font-ui: "Exo 2", system-ui, sans-serif;--radius-s: 8px;--radius-m: 14px;--radius-l: 22px;--radius-bubble: 16px;--border-w: 1px;--blur: 14px;--glow: 1;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--dur-s: .12s;--dur-m: .22s;--dur-l: .42s;--ease: cubic-bezier(.2, .8, .2, 1);--font-scale: 1;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}html{font-size:calc(16px * var(--font-scale));-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}h1,h2,h3{font-family:var(--font-title);margin:0;font-weight:700;letter-spacing:.01em}h1{font-size:1.35rem}h2{font-size:1.05rem}h3{font-size:.95rem}a{color:var(--accent);word-break:break-word}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.grow{flex:1;min-width:0}.hint{color:var(--text-dim);font-size:.85rem;margin:.25rem 0}.error{color:var(--danger)}.ok{color:var(--success)}.note{background:color-mix(in srgb,var(--warning) 14%,transparent);border-left:3px solid var(--warning);padding:.6rem .8rem;border-radius:var(--radius-s)}.small{font-size:.8rem}.full{width:100%;flex-basis:100%}mark{background:color-mix(in srgb,var(--accent) 40%,transparent);color:inherit;border-radius:3px}html[data-bg=grid] body{background-image:linear-gradient(rgba(0,229,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.05) 1px,transparent 1px),radial-gradient(ellipse at top,var(--bg-2),var(--bg) 70%);background-size:32px 32px,32px 32px,100% 100%}html[data-bg=orbs] body{background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 40%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--accent-2) 20%,transparent),transparent 45%),var(--bg)}html[data-bg=scanlines] body{background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px),var(--bg)}html[data-style=retro]{image-rendering:pixelated}html[data-style=retro] h1,html[data-style=retro] h2,html[data-style=retro] h3{font-size:.8em;line-height:1.5}html[data-style=clear] .hint{color:var(--text-dim)}.wordmark{font-family:var(--font-title);font-weight:700;letter-spacing:.12em;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}html[data-style=clear] .wordmark,html[data-style=classic] .wordmark{background:none;color:var(--accent)}.splash{flex:1;display:grid;place-items:center;align-content:center;gap:1.2rem;text-align:center;padding:2rem}.boot-splash{background:#070b14;height:100dvh}.boot-splash .wordmark{font-size:3rem;color:#00e5ff;font-family:system-ui,sans-serif}.logo{color:var(--accent);filter:drop-shadow(0 0 calc(12px * var(--glow)) color-mix(in srgb,var(--accent) 60%,transparent))}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.logo,.btn.primary{filter:none!important;box-shadow:none!important}}.shell{flex:1;min-height:0;display:flex}.shell.narrow{flex-direction:column}.shell.narrow .main{flex:1;min-height:0;overflow:auto}.shell.wide .sidebar{width:clamp(320px,28vw,380px);flex:none;display:flex;flex-direction:column;min-height:0;border-right:var(--border-w) solid var(--border);background:color-mix(in srgb,var(--surface) 55%,transparent)}.shell.wide .sidebar .chat-list{flex:1;min-height:0;overflow:auto}.shell.wide .main{flex:1;min-width:0;display:flex;min-height:0;overflow:auto}.empty-main{flex:1;display:grid;place-items:center;align-content:center;gap:.6rem;text-align:center;padding:2rem;color:var(--text-dim)}.bottom-nav{display:flex;border-top:var(--border-w) solid var(--border);background:var(--surface-glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));padding-bottom:var(--safe-bottom)}.nav-item{flex:1;display:grid;justify-items:center;gap:.1rem;padding:.45rem 0 .35rem;min-height:56px;background:none;border:0;color:var(--text-dim);font-size:.72rem;position:relative}.nav-item.active{color:var(--accent)}.nav-item .badge{position:absolute;top:4px;left:calc(50% + 6px)}.page{padding:calc(.8rem + var(--safe-top)) 1rem 2rem;display:grid;gap:.9rem;align-content:start;width:100%;max-width:860px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between}.actions{margin-bottom:.2rem}.contact-row{display:flex;align-items:center;gap:.8rem;width:100%;background:none;border:0;text-align:left;padding:.35rem .2rem;border-radius:var(--radius-m);min-height:52px}.contact-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.onboarding{flex:1;overflow:auto;display:grid;gap:1.2rem;align-content:start;justify-items:stretch;width:100%;max-width:480px;margin:0 auto;padding:calc(2rem + var(--safe-top)) 1.2rem calc(2rem + var(--safe-bottom))}.onboarding .hero{display:grid;justify-items:center;gap:.4rem;text-align:center}.onboarding .hero h1{font-size:2.6rem}.tagline{color:var(--text-dim);margin:0}.facts{margin:0;padding-left:1.2rem;display:grid;gap:.5rem}.steps{display:grid;gap:.5rem;padding-left:1.3rem;margin:0}.chat-list{display:flex;flex-direction:column}.list-head{display:flex;align-items:center;justify-content:space-between;padding:calc(.7rem + var(--safe-top)) .6rem .4rem 1rem}.list-head h1{font-size:1.6rem}.head-actions{display:flex}.search{display:flex;align-items:center;gap:.5rem;margin:.2rem .8rem .6rem;padding:0 .8rem;border-radius:var(--radius-m);background:var(--bg-2);border:var(--border-w) solid var(--border);color:var(--text-dim)}.search input{flex:1;border:0;background:none;min-height:42px;outline:none;color:var(--text)}.requests{padding:0 .8rem}.request{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.items{list-style:none;margin:0;padding:0 .4rem}.items .empty{padding:2rem 1rem;text-align:center;color:var(--text-dim);display:grid;gap:.7rem;justify-items:center}.chat-item{width:100%;display:flex;gap:.75rem;align-items:center;padding:.55rem .6rem;background:none;border:0;text-align:left;border-radius:var(--radius-m);min-height:64px;transition:background var(--dur-s)}.chat-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.chat-item.active{background:color-mix(in srgb,var(--accent) 15%,transparent)}.ci-main{flex:1;min-width:0;display:grid;gap:.1rem}.ci-top,.ci-bottom{display:flex;align-items:center;gap:.4rem}.ci-name{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ci-time{font-size:.74rem;color:var(--text-dim)}.ci-preview{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem;color:var(--text-dim)}.ci-preview.typing{color:var(--accent)}.draft{color:var(--danger);font-weight:600}.search-hits{padding:0 .8rem 1rem;display:grid;gap:.2rem}.hit{display:grid;text-align:left;background:none;border:0;padding:.5rem;border-radius:var(--radius-s)}.hit:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.hit-name{font-size:.75rem;color:var(--text-dim)}.hit-text{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-view{flex:1;min-width:0;min-height:0;display:flex;height:100%;position:relative}.shell.narrow>.chat-view{height:100dvh}.chat-col{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;position:relative}.chat-head{display:flex;align-items:center;gap:.3rem;padding:calc(.35rem + var(--safe-top)) .4rem .35rem;border-bottom:var(--border-w) solid var(--border);background:var(--surface-glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.chat-title{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;background:none;border:0;text-align:left;padding:.2rem .3rem;border-radius:var(--radius-m)}.chat-title span:last-child{display:grid;min-width:0}.chat-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-title small{color:var(--text-dim);font-size:.78rem}.chat-title small.typing{color:var(--accent)}.key-banner{display:flex;gap:.6rem;align-items:center;padding:.6rem .8rem;background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:var(--text);font-size:.88rem;flex-wrap:wrap}.messages{flex:1;min-height:0;overflow-y:auto;padding:.6rem .7rem 1rem;display:flex;flex-direction:column;gap:.15rem;overscroll-behavior:contain}.messages>div{content-visibility:auto;contain-intrinsic-size:auto 56px}.e2e-note{align-self:center;text-align:center;font-size:.76rem;color:var(--text-dim);background:var(--surface-glass);padding:.35rem .7rem;border-radius:var(--radius-m);display:flex;gap:.35rem;align-items:center;margin:.3rem 0 .8rem}.day-sep,.unread-marker{display:flex;justify-content:center;margin:.7rem 0 .4rem}.day-sep span{font-size:.74rem;padding:.2rem .7rem;border-radius:99px;background:var(--surface-glass);color:var(--text-dim)}.unread-marker{border-top:1px solid var(--accent)}.unread-marker span{font-size:.72rem;color:var(--accent);margin-top:-.6rem;background:var(--bg);padding:0 .5rem}.system-note{align-self:center;font-size:.78rem;color:var(--text-dim);display:flex;gap:.3rem;align-items:center;margin:.4rem 0;text-align:center}.system-note.warn{color:var(--warning)}.msg-row{display:flex;flex-direction:column;max-width:min(78%,560px);margin-top:.15rem}.msg-row.out{align-self:flex-end;align-items:flex-end}.msg-row.in{align-self:flex-start;align-items:flex-start}.bubble{position:relative;padding:.45rem .7rem .3rem;border-radius:var(--radius-bubble);max-width:100%;background:var(--bubble-other);color:var(--bubble-other-text);border:var(--border-w) solid color-mix(in srgb,var(--border) 60%,transparent);box-shadow:0 1px 2px #00000026;touch-action:pan-y;user-select:text;transition:transform var(--dur-s) var(--ease)}.out .bubble{background:var(--bubble-own);color:var(--bubble-own-text)}.in .bubble{border-bottom-left-radius:var(--radius-s)}.out .bubble{border-bottom-right-radius:var(--radius-s)}html[data-style=neon] .out .bubble{box-shadow:0 0 calc(10px * var(--glow)) color-mix(in srgb,var(--accent) 25%,transparent)}.bubble.deleted{opacity:.65}.bubble.has-image{padding:.25rem .25rem .3rem}.bubble.has-image .text{padding:.3rem .45rem 0}.text{margin:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.meta{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;font-size:.68rem;opacity:.75;margin-top:.1rem;float:right;padding-left:.6rem}.has-image .meta{padding-right:.4rem}.expiry{opacity:.8}.expiry.urgent{color:var(--warning);opacity:1;font-weight:700}.ticks{display:inline-flex}.ticks.read{color:var(--tick-read)}.ticks.failed{color:var(--danger)}.bubble-menu{position:absolute;top:2px;right:2px;width:26px;height:26px;border-radius:50%;border:0;background:var(--surface);opacity:0;display:grid;place-items:center;transition:opacity var(--dur-s)}.bubble:hover .bubble-menu,.bubble-menu:focus-visible{opacity:.9}@media(pointer:coarse){.bubble-menu{display:none}}.flash .bubble{outline:2px solid var(--accent)}.reactions{display:flex;gap:.2rem;margin-top:-.25rem;z-index:1}.reaction{font-size:.85rem;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:99px;padding:0 .4rem}.quote{display:grid;text-align:left;width:100%;border:0;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--bg) 35%,transparent);border-radius:var(--radius-s);padding:.25rem .5rem;margin-bottom:.3rem;font-size:.82rem;color:inherit}.quote span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.quote.missing{font-style:italic;opacity:.7}.img-btn{display:block;border:0;padding:0;background:none;width:min(300px,62vw)}.img-box{position:relative;display:block;width:100%;border-radius:calc(var(--radius-bubble) - 4px);overflow:hidden;background:var(--bg-2)}.img-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.img-box .thumb{filter:blur(10px);transform:scale(1.1)}.voice{display:flex;align-items:center;gap:.5rem;min-width:min(280px,64vw);padding:.15rem 0;position:relative}.voice-play{width:40px;height:40px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;flex:none}.wave{flex:1;height:32px;display:flex;align-items:center;gap:2px;cursor:pointer}.wave .bar{flex:1;background:var(--waveform);border-radius:2px;min-width:2px}.wave .bar.played{background:var(--waveform-played)}.voice-time{font-size:.72rem;min-width:34px;font-variant-numeric:tabular-nums}.rate{border:var(--border-w) solid var(--border);background:none;border-radius:99px;font-size:.72rem;padding:.1rem .4rem;min-width:38px}.unheard{width:8px;height:8px;border-radius:50%;background:var(--accent);position:absolute;left:34px;top:0}.to-bottom{position:absolute;right:1rem;bottom:84px;width:44px;height:44px;border-radius:50%;border:var(--border-w) solid var(--border);background:var(--surface);display:grid;place-items:center;box-shadow:var(--shadow)}.to-bottom .badge{position:absolute;top:-6px;right:-6px}.composer-wrap{border-top:var(--border-w) solid var(--border);background:var(--surface-glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));padding-bottom:var(--safe-bottom);position:relative}.composer{display:flex;align-items:flex-end;gap:.2rem;padding:.4rem}.composer textarea{max-height:9.5em;min-height:44px}.composer.locked{justify-content:center;padding:.9rem;color:var(--text-dim);font-size:.9rem;border-top:var(--border-w) solid var(--border)}.reply-bar{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem .1rem 1rem;font-size:.85rem;color:var(--text-dim)}.reply-bar .grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid var(--accent);padding-left:.5rem}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));max-height:200px;overflow:auto;padding:.4rem}.emoji-grid button{height:44px;border:0;background:none;font-size:1.4rem;border-radius:var(--radius-s)}.emoji-grid button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.recording{display:flex;align-items:center;gap:.4rem;padding:0 .3rem}.recording.floating{position:absolute;left:.6rem;right:3.6rem;bottom:.55rem;height:44px;background:var(--surface);border-radius:var(--radius-m);padding:0 .8rem;z-index:2}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);transition:transform 80ms linear}.image-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.4rem}.image-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-s)}.info-col{width:340px;flex:none;border-left:var(--border-w) solid var(--border);overflow:auto;background:color-mix(in srgb,var(--surface) 60%,transparent)}.info-col-head{display:flex;justify-content:flex-end;padding:.4rem}.chat-info{display:grid;gap:1rem;padding:0 1rem 1.4rem}.info-head{display:grid;justify-items:center;text-align:center;gap:.3rem}.chat-info section{display:grid;gap:.45rem}.danger-zone{display:grid;gap:.5rem}.report-list{list-style:none;padding:0;margin:0;max-height:45dvh;overflow:auto;display:grid;gap:.2rem}.viewer{position:fixed;inset:0;background:#000;z-index:90;display:flex;flex-direction:column;color:#fff}.viewer-bar{display:flex;align-items:center;gap:.5rem;padding:calc(.4rem + var(--safe-top)) .6rem .4rem 1rem}.viewer-bar .icon-btn{color:#fff}.viewer-stage{flex:1;display:grid;place-items:center;overflow:hidden;touch-action:none}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform 60ms linear;user-select:none}.viewer-caption{padding:.8rem 1rem calc(1rem + var(--safe-bottom));margin:0;text-align:center}.viewer-nav{position:absolute;top:50%;width:48px;height:64px;border:0;background:#ffffff1f;color:#fff;font-size:2rem;border-radius:8px}.viewer-nav.prev{left:.5rem}.viewer-nav.next{right:.5rem}.btn{min-height:44px;padding:.55rem 1.1rem;border-radius:var(--radius-m);border:var(--border-w) solid var(--border);background:var(--surface);color:var(--text);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform var(--dur-s) var(--ease),background var(--dur-s),box-shadow var(--dur-m)}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 0 calc(18px * var(--glow)) color-mix(in srgb,var(--accent) 45%,transparent)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.btn.ghost{background:transparent;border-color:transparent}.btn.small{min-height:36px;padding:.3rem .75rem;font-size:.85rem}@media(pointer:coarse){.btn.small{min-height:44px}}.icon-btn{width:44px;height:44px;flex:0 0 44px;display:inline-grid;place-items:center;border-radius:50%;background:transparent;border:0;color:var(--text-dim);transition:background var(--dur-s),color var(--dur-s)}.icon-btn:hover:not(:disabled),.icon-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.icon-btn.primary{background:var(--accent);color:var(--on-accent)}.icon-btn.mic.active{background:var(--danger);color:#fff}.icon{display:block;flex:none}.input{width:100%;min-height:44px;padding:.55rem .8rem;border-radius:var(--radius-m);border:var(--border-w) solid var(--border);background:var(--bg-2);color:var(--text);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}textarea.input{resize:none;line-height:1.4}.field{display:grid;gap:.3rem;font-size:.9rem}.check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;padding:.3rem 0}.check input{width:20px;height:20px;accent-color:var(--accent);margin-top:.1rem;flex:none}.stack{display:grid;gap:.8rem}.stack.center{justify-items:center;text-align:center}.row{display:flex;align-items:center;gap:.6rem}.row.wrap{flex-wrap:wrap}.card{background:var(--surface-glass);border:var(--border-w) solid var(--border);border-radius:var(--radius-l);padding:1rem 1.1rem;display:grid;gap:.7rem;backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.pill{font-size:.72rem;padding:.1rem .45rem;border-radius:99px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}.avatar{position:relative;display:inline-grid;place-items:center;border-radius:50%;flex:none;font-weight:700;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 55%,var(--surface)),color-mix(in srgb,var(--accent-2) 55%,var(--surface)));color:var(--text)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar.big{width:96px;height:96px;font-size:2rem;overflow:hidden}.presence{position:absolute;right:0;bottom:0;width:28%;height:28%;min-width:10px;min-height:10px;border-radius:50%;border:2px solid var(--bg);background:var(--text-dim);opacity:0}.presence.on{background:var(--online);opacity:1;box-shadow:0 0 calc(8px * var(--glow)) var(--online)}.avatar-pick{display:inline-flex;align-items:center;gap:.8rem;cursor:pointer}.overlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:50;padding:1rem;animation:fade var(--dur-m) var(--ease)}.overlay.clear{background:transparent;place-items:start;padding:0}@keyframes fade{0%{opacity:0}}.sheet{width:min(480px,100%);max-height:min(90dvh,900px);overflow:auto;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);display:flex;flex-direction:column}.sheet.wide{width:min(720px,100%)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .6rem .6rem 1.1rem;border-bottom:var(--border-w) solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.sheet-body{padding:1rem 1.1rem 1.3rem;display:grid;gap:.8rem}@media(max-width:599px){.overlay:not(.clear){place-items:end stretch;padding:0}.sheet{width:100%;border-radius:var(--radius-l) var(--radius-l) 0 0;padding-bottom:var(--safe-bottom)}}.menu{position:fixed;min-width:230px;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);display:grid;padding:.3rem;z-index:60}.menu>button{text-align:left;background:none;border:0;padding:.7rem .9rem;border-radius:var(--radius-s);min-height:44px}.menu>button:hover,.menu>button:focus-visible{background:color-mix(in srgb,var(--accent) 14%,transparent)}.menu .danger{color:var(--danger)}.menu-emojis{display:flex;gap:.15rem;padding:.3rem;border-bottom:var(--border-w) solid var(--border);flex-wrap:wrap}.menu-emojis button{width:40px;height:40px;font-size:1.3rem;border:0;background:none;border-radius:50%}.menu-emojis button.on,.menu-emojis button:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.qr{width:min(320px,80vw);aspect-ratio:1;background:#fff;border-radius:var(--radius-m);padding:.5rem}.qr svg{width:100%;height:100%;display:block}.scanner{display:grid;gap:.7rem}.scanner-frame{position:relative;width:100%;aspect-ratio:1;max-width:360px;justify-self:center;border-radius:var(--radius-l);overflow:hidden;background:#000}.scanner-frame video{width:100%;height:100%;object-fit:cover}.scanner-target{position:absolute;inset:15%;border:3px solid var(--accent);border-radius:var(--radius-m);box-shadow:0 0 0 999px #00000059}.toast,.update-banner,.conn-banner{position:fixed;left:50%;transform:translate(-50%);z-index:80;max-width:min(560px,calc(100% - 2rem));background:var(--surface);border:var(--border-w) solid var(--border);border-radius:var(--radius-m);padding:.7rem 1rem;box-shadow:var(--shadow)}.toast{bottom:calc(80px + var(--safe-bottom));cursor:pointer}.toast.error{border-color:var(--danger)}.update-banner{top:calc(.6rem + var(--safe-top));display:flex;gap:.8rem;align-items:center}.conn-banner{top:calc(.6rem + var(--safe-top));font-size:.82rem;padding:.35rem .8rem;border-color:var(--warning)}.info-list{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0}.info-list dt{color:var(--text-dim)}.info-list dd{margin:0}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.plain-list>li{padding:.45rem 0}.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:1rem 0 .4rem;font-family:var(--font-ui)}.status.open{color:var(--accent)}.status.redeemed{color:var(--success)}.status.expired,.status.revoked{color:var(--text-dim)}.copyable{display:block;word-break:break-all;font-size:.75rem;cursor:copy;padding:.4rem;background:var(--bg-2);border-radius:var(--radius-s)}.pair-code{font-family:var(--font-title);font-size:2.4rem;letter-spacing:.2em;margin:.5rem 0;color:var(--accent)}.safety{display:grid;grid-template-columns:repeat(4,auto);gap:.3rem .8rem;font-family:ui-monospace,monospace;font-size:1.05rem;justify-content:start;margin:.3rem 0}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.style-card{display:grid;gap:.2rem;text-align:left;padding:.7rem;border-radius:var(--radius-m);border:2px solid;min-height:96px}.style-card.active{outline:3px solid var(--accent);outline-offset:2px}.style-card small{opacity:.8;font-size:.75rem}.swatch{display:inline-block;width:18px;height:18px;border-radius:50%;margin-right:.2rem}.style-card .swatch{display:inline-block}
