.link-btn{padding:var(--sp-2) 0;min-height:36px;color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border:0}.safety-banner{font-size:var(--fs-sm);margin-bottom:var(--sp-3);background:#8b5cf614;border-color:#8b5cf666}.safety-banner p{margin:0 0 var(--sp-2);line-height:1.45}.safety-banner-head{gap:var(--sp-3);align-items:flex-start;display:flex}.safety-banner-head p{margin:0}.safety-shield{color:var(--accent);font-size:20px;line-height:1.2}.safety-banner-body{margin-top:var(--sp-2)}.screened-notice{padding:0 var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-xs);background:#8b5cf614;margin:0}.screened-notice .link-btn{font-size:var(--fs-xs);color:#c4b5fd;width:100%;min-height:32px}.screened-notice p{margin:0 0 var(--sp-2);color:var(--text-muted);line-height:1.4}.lock-screen{z-index:1000;padding:calc(var(--safe-top) + var(--sp-5)) var(--sp-4) calc(var(--safe-bottom) + var(--sp-5));background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lock-card{text-align:center;max-width:360px}.lock-card h1{font-size:var(--fs-xl);margin:var(--sp-3) 0}.lock-card p{line-height:1.5}.lock-moon{color:var(--highlight);font-size:56px}.safety-page .review-card{margin-bottom:var(--sp-3)}.review-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.review-meta{font-size:var(--fs-xs);color:var(--text-muted)}.review-text{margin:var(--sp-2) 0;padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--bg-elev-2);white-space:pre-wrap;overflow-wrap:anywhere}.review-media{border-radius:var(--radius-sm);max-width:100%;max-height:320px;margin:var(--sp-2) 0;display:block}.review-tags{gap:var(--sp-1);margin:var(--sp-2) 0;flex-wrap:wrap;display:flex}.chip.chip-flag{color:#fca5a5;text-transform:none;background:#ef444429}.chip.chip-held{color:var(--warning);text-transform:none;background:#f59e0b29}.review-hits{padding-left:var(--sp-4);font-size:var(--fs-xs);color:var(--text-muted);margin:0}.review-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.review-actions .btn{flex:120px}.limits-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.toggle-row{align-items:center;gap:var(--sp-2);min-height:var(--tap);font-size:var(--fs-sm);display:flex}.toggle-row input{width:22px;height:22px}.review-head .grow{flex:1;min-width:0}.safety-page .segmented{margin:var(--sp-3) 0 var(--sp-4)}.safety-shield{background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid}.screened-notice .inline-ic{vertical-align:-2px;margin-right:2px;display:inline-block}.review-card{animation:rise var(--dur-slow) var(--ease-out) both;position:relative;overflow:hidden}.review-card.held{box-shadow:inset 4px 0 0 var(--warning)}.review-text{border-left:3px solid #ef444480;font-size:15px}.limits-card{margin-bottom:var(--sp-3)}.toggle-row input{accent-color:var(--accent)}.lock-screen{animation:fade-in var(--dur-slow) var(--ease);background:radial-gradient(80% 50% at 50% 30%,#6366f138,#0000 70%),#07070c}.lock-moon{width:96px;height:96px;animation:splash-breathe 3s var(--ease) infinite alternate;background:#facc151a;border-radius:50%;place-items:center;margin:0 auto;display:grid;box-shadow:0 0 60px #facc152e}.review-av{flex:none;display:inline-flex;position:relative}.review-av-badge{box-shadow:0 0 0 2px var(--bg-elev);border-radius:50%;display:inline-flex;position:absolute;bottom:-3px;right:-3px}.review-av-badge .avatar{font-size:7px!important}.review-hit-why{color:var(--text-muted)}.safety-people-lead{margin:0 0 var(--sp-3)}.review-title{font-weight:700}.review-arrow{color:var(--text-faint);font-weight:400}.review-why{margin:var(--sp-2) 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.review-why li{font-size:var(--fs-sm);padding-left:16px;position:relative}.review-why li:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:2px}.chip.chip-alert{background:var(--bg-elev-2);color:var(--text-muted);text-transform:none}.review-details{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted)}.review-details summary{cursor:pointer;min-height:32px;color:var(--text-muted);align-items:center;gap:4px;font-weight:600;list-style:none;display:flex}.review-details summary::-webkit-details-marker{display:none}.review-details-chev{transition:transform .18s}.review-details[open] .review-details-chev{transform:rotate(180deg)}.review-details .review-hits{margin-bottom:var(--sp-1)}.safety-pill{max-width:calc(100% - 2 * var(--sp-4));margin:0 var(--sp-4) var(--sp-2);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--text-muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;border:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.safety-pill svg{color:var(--accent);flex:none}.safety-pill u{text-underline-offset:2px}.safety-banner-actions{justify-content:space-between;gap:var(--sp-3);display:flex}:root{--bg:#0b0b10;--bg-elev:#15151d;--bg-elev-2:#1f1f2a;--bg-overlay:#0b0b10b8;--border:#2a2a36;--text:#f4f4f7;--text-muted:#a1a1b5;--text-faint:#6b6b80;--accent:#8b5cf6;--accent-strong:#7c3aed;--accent-contrast:#fff;--highlight:#facc15;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--snap-photo:#ef4444;--snap-video:#a855f7;--chat:#3b82f6;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--radius-sm:8px;--radius:14px;--radius-lg:22px;--radius-full:999px;--tap:48px;--tabbar-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--content-max:560px;--shadow:0 8px 24px #00000073;--shadow-lg:0 18px 48px #0000008c;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.12s;--dur:.22s;--dur-slow:.36s;--accent-soft:#8b5cf629;--accent-glow:#8b5cf661;--grad-brand:linear-gradient(135deg, #a78bfa 0%, #8b5cf6 45%, #ec4899 100%);--grad-ring:conic-gradient(from 210deg, #facc15, #f472b6, #8b5cf6, #60a5fa, #facc15);--glass:#12121ac7;--glass-border:#ffffff12;--press:#ffffff0f;--skel:#1c1c26;--skel-shine:#282834;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.4}body{text-rendering:optimizelegibility;overflow-x:hidden}#app{min-height:100%}.ic{flex:none;display:block}::selection{background:var(--accent-glow)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration:none}img,video,canvas{max-width:100%;display:block}.app-shell{min-height:100dvh;overflow-x:clip}.route-pane{touch-action:pan-y;min-height:100dvh;padding-top:var(--safe-top);background:var(--bg);position:relative}.app-shell.has-tabbar .route-pane{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom))}.route-pane.dragging{will-change:transform;-webkit-user-select:none;user-select:none;transition:none!important}.swipe-peek{z-index:30;width:72px;color:var(--text);font-size:var(--fs-xs);letter-spacing:.02em;pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:6px;margin-top:-40px;font-weight:700;display:flex;position:fixed;top:50%}.swipe-peek-icon{background:var(--glass);border:1px solid var(--glass-border);width:52px;height:52px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);border-radius:50%;place-items:center;display:grid}.swipe-peek.left{left:8px}.swipe-peek.right{right:8px}.swipe-peek.armed .swipe-peek-icon{background:var(--accent);color:#fff;border-color:#0000}.page{max-width:var(--content-max);padding:var(--sp-4);margin:0 auto}.fullscreen{z-index:10;background:#000;position:fixed;inset:0}.page.tab-root{padding-top:var(--sp-2)}.tab-head{align-items:center;gap:var(--sp-2);min-height:52px;margin:0 0 var(--sp-2);display:flex}.tab-head h1{letter-spacing:-.02em;flex:1;min-width:0;margin:0;font-size:28px;font-weight:800}.page-header{align-items:center;gap:var(--sp-3);min-height:var(--tap);margin-bottom:var(--sp-3);display:flex}.page-header h1{letter-spacing:-.02em;flex:1;margin:0;font-size:26px;font-weight:800}.page-header .icon-btn:first-child{margin-left:calc(-1 * var(--sp-3))}.page-header.sticky{top:var(--safe-top);z-index:5;margin:calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4)) var(--sp-3);padding:var(--sp-2) var(--sp-4);background:linear-gradient(var(--bg) 60%, #0b0b1000);position:sticky}.tabbar{z-index:20;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:0 var(--sp-2) var(--safe-bottom);background:var(--glass);border-top:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(160%)blur(18px);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:var(--tap);color:var(--text-faint);letter-spacing:.01em;transition:color var(--dur-fast) var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar a:active .tab-icon{transform:scale(.88)}.tabbar a.active{color:var(--text)}.tabbar a.active .tab-icon{color:var(--accent)}.tabbar a.active .tab-icon:before{content:"";border-radius:var(--radius-full);background:var(--accent-soft);animation:tab-pill var(--dur) var(--ease-spring);position:absolute;inset:-5px -14px}@keyframes tab-pill{0%{opacity:0;transform:scale(.6)}}.tab-icon{--ic-cut:var(--bg-elev);transition:transform var(--dur-fast) var(--ease);place-items:center;line-height:1;display:grid;position:relative}.tab-icon>.ic{position:relative}.tab-dot{background:var(--danger);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg-elev);animation:pop var(--dur) var(--ease-spring);border-radius:50%;position:absolute;top:-2px;right:-4px}@keyframes pop{0%{transform:scale(0)}}.tabbar.overlay{z-index:auto;width:100%;height:var(--tabbar-h);padding:0 var(--sp-2);-webkit-backdrop-filter:none;background:0 0;border-top:0;position:static}.tabbar.overlay a{color:#ffffffd1;text-shadow:0 1px 3px #0009}.tabbar.overlay a.active{color:#fff}.tabbar.overlay .tab-icon{filter:drop-shadow(0 1px 2px #0000008c)}.tabbar.overlay a.active .tab-icon:before{background:#ffffff2e}.profile-btn{width:var(--tap);height:var(--tap);-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-4px;display:inline-flex;position:relative}.profile-btn:active{transform:scale(.9)}.profile-btn.on-media .avatar{box-shadow:0 0 0 2px #ffffffe6}.profile-btn-dot{background:var(--danger);width:11px;height:11px;box-shadow:0 0 0 2px var(--bg);animation:pop var(--dur) var(--ease-spring);border-radius:50%;position:absolute;top:3px;right:3px}.profile-btn.on-media .profile-btn-dot{box-shadow:0 0 0 2px #fff}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--radius-full);background:var(--bg-elev-2);color:var(--text);font:inherit;cursor:pointer;transition:transform .1s var(--ease), background .15s;border:0;font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(1.08)}.icon-btn:hover{background:var(--press)}}.btn:disabled{opacity:.4;box-shadow:none;cursor:default;transform:none}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 6px 20px -6px var(--accent-glow)}.btn-lg{border-radius:var(--radius-full);min-height:56px;font-size:17px}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:0 0}.btn-outline{box-shadow:inset 0 0 0 1.5px var(--border-strong,#ffffff47);background:0 0}.btn-primary:disabled,.btn-danger:disabled{background:var(--bg-elev-2);color:var(--text-faint);opacity:1}.btn-block{width:100%}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);color:var(--text);cursor:pointer;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.icon-btn:active{background:var(--press);transform:scale(.9)}.field{gap:var(--sp-1);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.field label{font-size:var(--fs-sm);color:var(--text-muted)}.input,textarea.input,select.input{width:100%;min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);font:inherit;font-size:var(--fs-md)}textarea.input{resize:none}.input{transition:border-color var(--dur-fast), box-shadow var(--dur-fast)}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.error-text{color:var(--danger);font-size:var(--fs-sm)}.muted{color:var(--text-muted)}.list{margin:0;padding:0;list-style:none}.list-item{align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-2) 0;border-bottom:1px solid var(--border);display:flex}.list-item .grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4)}.badge{border-radius:var(--radius-full);background:var(--accent);color:#fff;min-width:20px;height:20px;font-size:var(--fs-xs);justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.avatar{border-radius:var(--radius-full);color:#fff;-webkit-user-select:none;user-select:none;letter-spacing:.01em;text-shadow:0 1px 2px #0003;background-image:linear-gradient(160deg,#ffffff2e,#0000001f);flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative}.avatar.ring:before{content:"";background:var(--grad-ring);pointer-events:none;border-radius:50%;position:absolute;inset:-5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px))}.gav{background:var(--bg);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;gap:1.5px;font-weight:800;line-height:1;display:grid;overflow:hidden}.gav-2{grid-template-columns:1fr 1fr}.gav-3,.gav-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.gav-3 .gav-tile:first-child{grid-row:span 2}.gav-tile{text-shadow:0 1px 2px #00000040;background-image:linear-gradient(160deg,#ffffff29,#0000001f);justify-content:center;align-items:center;min-width:0;display:flex}.gav-2 .gav-tile:first-child,.gav-3 .gav-tile:first-child{padding-left:12%}.gav-2 .gav-tile:last-child{padding-right:12%}.gav-3 .gav-tile:nth-child(2),.gav-4 .gav-tile:nth-child(2){padding:18% 18% 0 0}.gav-3 .gav-tile:nth-child(3),.gav-4 .gav-tile:nth-child(4){padding:0 18% 18% 0}.gav-4 .gav-tile:first-child{padding:18% 0 0 18%}.gav-4 .gav-tile:nth-child(3){padding:0 0 18% 18%}.gav-wrap{border-radius:50%;flex:none;display:inline-flex;position:relative}.gav-wrap.ring:before{content:"";background:var(--grad-ring);pointer-events:none;border-radius:50%;position:absolute;inset:-5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px))}.switch-row{align-items:center;gap:var(--sp-3);cursor:pointer;min-height:52px;display:flex}.switch-row .grow{flex-direction:column;flex:1;min-width:0;display:flex}.switch-label{font-weight:600}.switch{appearance:none;cursor:pointer;width:50px;height:30px;transition:background var(--dur-fast) var(--ease);background:#3a3a48;border-radius:15px;flex:none;margin:0;position:relative;box-shadow:inset 0 0 0 1px #ffffff29}.switch:after{content:"";width:24px;height:24px;transition:transform var(--dur-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000059}.switch:checked{background:var(--accent);box-shadow:none}.switch:checked:after{transform:translate(20px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.center{justify-content:center;align-items:center;min-height:60dvh;display:flex}.skel{background:linear-gradient(100deg, var(--skel) 30%, var(--skel-shine) 50%, var(--skel) 70%) 0 0 / 300% 100%;border-radius:7px;flex:none;animation:1.3s ease-in-out infinite skel-shine;display:block}@keyframes skel-shine{0%{background-position:100% 0}to{background-position:0 0}}.skel-list{flex-direction:column;display:flex}.skel-row{align-items:center;gap:var(--sp-3);min-height:68px;padding:var(--sp-2) 0;animation:fade-in var(--dur-slow) var(--ease) both;display:flex}.skel-lines{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.skel-card{margin-bottom:var(--sp-3)}.empty{text-align:center;padding:var(--sp-6) var(--sp-4);animation:rise var(--dur-slow) var(--ease-out) both;flex-direction:column;align-items:center;display:flex}.empty.compact{padding:var(--sp-4)}.empty-art{width:88px;height:88px;margin-bottom:var(--sp-4);color:var(--accent);background:radial-gradient(circle at 30% 25%, #facc152e, transparent 55%), radial-gradient(circle at 70% 80%, #ec489929, transparent 60%), var(--accent-soft);border-radius:30px;place-items:center;display:grid;transform:rotate(-6deg)}.empty-art>.ic{width:40px;height:40px;transform:rotate(6deg)}.empty.compact .empty-art{border-radius:22px;width:64px;height:64px}.empty.compact .empty-art>.ic{width:30px;height:30px}.empty-title{margin:0 0 var(--sp-1);font-size:18px;font-weight:700}.empty-body{max-width:300px;color:var(--text-muted);font-size:var(--fs-sm);margin:0}.empty-action{margin-top:var(--sp-4)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.pressable{transition:background var(--dur-fast), transform var(--dur-fast) var(--ease)}.pressable:active{background:var(--press)}.splash{z-index:200;background:radial-gradient(120% 70% at 50% 40%, #1a1330 0%, var(--bg) 60%);place-items:center;display:grid;position:fixed;inset:0}.splash-inner{flex-direction:column;align-items:center;gap:18px;display:flex}.splash-logo{animation:splash-breathe 1.6s var(--ease) infinite alternate;filter:drop-shadow(0 10px 40px #8b5cf673)}.splash-name{letter-spacing:-.01em;color:var(--text);opacity:.92;font-size:20px;font-weight:800}@keyframes splash-breathe{0%{transform:scale(.94)}to{transform:scale(1.04)}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-sm{min-height:40px;padding:0 var(--sp-4);font-size:var(--fs-sm)}.link-btn{min-height:40px;color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:0}.danger-text{color:var(--danger)}.field-hint{font-size:var(--fs-xs);color:var(--text-muted)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.field-label{font-size:var(--fs-sm);color:var(--text-muted)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin:var(--sp-3) 0 var(--sp-1);display:flex}.section-head h2{font-size:var(--fs-md);margin:0}.empty-state{text-align:center;padding:var(--sp-6) var(--sp-4)}.empty-state p{margin:0 0 var(--sp-2)}.empty-state h1{font-size:var(--fs-xl)}.notice{margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:var(--fs-sm);background:#f59e0b1a;border:1px solid #f59e0b4d}.row-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.stack-actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.inline-glyph{vertical-align:-3px;display:inline-block}.chip{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:capitalize;vertical-align:1px;background:var(--bg-elev-2);height:20px;color:var(--text-muted);white-space:nowrap;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.chip-owner{color:var(--highlight);background:#facc1529}.chip-admin{color:#c4b5fd;background:#8b5cf633}.chip.chip-supervised{color:#c4b5fd;text-transform:none;background:#8b5cf633;flex:none;gap:3px;margin-left:6px}.chip-suspended,.chip-inv-revoked,.chip-rep-content_deleted{color:#fca5a5;background:#ef444429}.chip-pending,.chip-inv-expired{color:#fcd34d;background:#f59e0b29}.chip-on,.chip-inv-active{color:#86efac;background:#22c55e29}.chip-inv-used{color:#93c5fd;background:#3b82f62e}.chip-filter{gap:var(--sp-2);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.chip-filter::-webkit-scrollbar{display:none}.filter-chip{min-height:40px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;flex:none;font-weight:600}.filter-chip span{color:var(--text-faint);margin-left:4px}.filter-chip.active{background:var(--text);border-color:var(--text);color:var(--bg)}.filter-chip.active span{color:var(--bg);opacity:.6}.modal-backdrop{z-index:50;animation:fade-in .15s var(--ease);background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{width:100%;max-width:var(--content-max);max-height:calc(100dvh - var(--safe-top) - var(--sp-5));overscroll-behavior:contain;padding:var(--sp-2) var(--sp-4) calc(var(--sp-5) + var(--safe-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);animation:sheet-up .22s var(--ease);border-bottom:0;outline:none;overflow-y:auto}.modal-sheet.wide{max-width:720px}@media (min-width:640px){.modal-backdrop{align-items:center}.modal-sheet{border-radius:var(--radius-lg);border-bottom:1px solid var(--border);padding-bottom:var(--sp-5)}.modal-grabber{display:none}}.modal-grabber{width:40px;height:5px;margin:0 auto var(--sp-2);border-radius:var(--radius-full);background:var(--border)}.modal-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.modal-head h2{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.modal-head .icon-btn{margin-right:calc(-1 * var(--sp-2));color:var(--text-muted);font-size:28px}.confirm-body p{margin:0 0 var(--sp-3)}.modal-actions{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.modal-actions .btn{padding:0 var(--sp-3);flex:1}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@keyframes toast-down{0%{opacity:0;transform:translateY(-16px)}}@keyframes fade-in{0%{opacity:0}}.toast-stack{left:50%;top:calc(var(--safe-top) + 64px);z-index:100;align-items:center;gap:var(--sp-2);width:max-content;max-width:calc(100vw - 2 * var(--sp-4));pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-2);padding:10px var(--sp-4) 10px 12px;border-radius:var(--radius-full);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);font-size:var(--fs-sm);animation:toast-down var(--dur) var(--ease-spring);background:#1f1f2aeb;font-weight:600;display:flex}.toast.leaving{animation:toast-up var(--dur) var(--ease) forwards}.toast-glyph{background:var(--bg-elev);width:22px;height:22px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.toast-success .toast-glyph{color:#86efac;background:#22c55e33}.toast-error .toast-glyph{color:#fca5a5;background:#ef444433}.toast-error{color:#fecaca}@keyframes toast-up{to{opacity:0;transform:translateY(-12px)}}.install-hint{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);border-radius:var(--radius);background:linear-gradient(135deg,#8b5cf633,#facc1514);border:1px solid #8b5cf666;display:flex}.install-hint-icon{border-radius:10px;flex:none}.install-hint .grow{flex:1;min-width:0}.install-hint p{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}.install-hint.compact p{margin-bottom:0}.install-banner{align-items:center;gap:var(--sp-2);border-radius:var(--radius-full);color:#fff;min-height:44px;font-size:var(--fs-sm);-webkit-backdrop-filter:blur(10px);background:#11111bd1;border:1px solid #ffffff1a;padding:0 4px 0 10px;font-weight:600;display:flex}.install-banner-icon{border-radius:6px;flex:none}.install-banner-text{flex:1;min-width:0}.install-banner-go{border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font:inherit;cursor:pointer;border:0;flex:none;padding:6px 12px;font-weight:700}.install-banner-x{color:#ffffffb3;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;padding:0;display:grid}.install-hint .icon-btn{margin-top:calc(-1 * var(--sp-2));color:var(--text-muted)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.welcome-note{font-size:var(--fs-sm);margin:0}.count-badge{color:#fff;text-align:center;pointer-events:none;background:#ef4444;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:-4px;right:-6px}.cam-chats{position:relative}.segmented{top:var(--safe-top);z-index:5;margin:0 calc(-1 * var(--sp-1)) var(--sp-4);border-radius:var(--radius-full);background:var(--bg-elev);border:1px solid var(--border);gap:4px;padding:4px;display:flex;position:sticky;box-shadow:0 6px 16px #00000059}.segmented button{border-radius:var(--radius-full);min-height:40px;color:var(--text-muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease);background:0 0;border:0;flex:1;font-weight:600}.segmented button:active{transform:scale(.96)}.segmented button.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px -4px var(--accent-glow)}.segmented{background:var(--glass);border-color:var(--glass-border);-webkit-backdrop-filter:blur(14px)}.report-chips{gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3);flex-wrap:wrap;display:flex}.report-chip{min-height:40px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elev);color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:transform .1s var(--ease), background .15s, border-color .15s;font-weight:600}.report-chip:active{transform:scale(.96)}.report-chip[aria-pressed=true]{border-color:var(--danger);color:#fecaca;background:#ef444424}.report-details{margin-bottom:var(--sp-3)}
