@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg: #161826;--color-surface: #232532;--color-text: #e9e9ed;--color-accent: #9184d9;--color-accent-2: #a7a1db;--color-divider: color-mix(in srgb, #e9e9ed 16%, transparent);--color-neutral-100: #f3f5fe;--color-neutral-200: #e4e7f5;--color-neutral-300: #cfd3e5;--color-neutral-400: #b2b6ca;--color-neutral-500: #9397ab;--color-neutral-600: #75798c;--color-neutral-700: #595d6c;--color-neutral-800: #3f424d;--color-neutral-900: #292b31;--color-accent-100: #f5f4ff;--color-accent-200: #e7e5fe;--color-accent-300: #d2cefd;--color-accent-400: #b5abfc;--color-accent-500: #968ae0;--color-accent-600: #796cbf;--color-accent-700: #5d5294;--color-accent-800: #423a6a;--color-accent-900: #2b2741;--color-accent-2-100: #f5f4ff;--color-accent-2-200: #e7e5fe;--color-accent-2-300: #d2cefd;--color-accent-2-400: #b5afe8;--color-accent-2-500: #9690c9;--color-accent-2-600: #7972a9;--color-accent-2-700: #5c5783;--color-accent-2-800: #423e5d;--color-accent-2-900: #2b293a;--color-section: #262a60;--color-section-glow: #353b80;--color-section-ghost: #4c5397;--font-heading: "Inter", system-ui, sans-serif;--font-heading-weight: 500;--font-body: "Inter", system-ui, sans-serif;--space-1: 2.8px;--space-2: 5.6px;--space-3: 8.4px;--space-4: 11.2px;--space-6: 16.8px;--space-8: 22.4px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--shadow-sm: 0 0 0 1px #3f424d;--shadow-md: 0 0 0 1px #595d6c, 0 6px 18px rgba(0,0,0,.55);--shadow-lg: 0 0 0 1px #9397ab, 0 16px 40px rgba(0,0,0,.65)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.lighten{mix-blend-mode:lighten;background-color:transparent}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px}h6{letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn-primary:active{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-danger{color:#e57373;border-color:#e5737373}.btn-danger:hover{background:color-mix(in srgb,#e57373 12%,transparent)}.btn-danger:active{background:color-mix(in srgb,#e57373 22%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-accent-2{background:var(--color-accent-2-800);color:var(--color-accent-2-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2);border-bottom:1px solid transparent}.table td{padding:var(--space-2);border-bottom:1px solid transparent}.table thead tr{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.table tbody tr:hover{background:linear-gradient(color-mix(in srgb,var(--color-text) 4%,transparent),color-mix(in srgb,var(--color-text) 4%,transparent)) no-repeat 0 0 / 100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom / 100% 1px}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}html,body{height:100%;overflow-x:hidden}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}button{font-family:inherit}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-300)}.app{position:relative;min-height:100%;max-width:1120px;margin:0 auto;padding:calc(54px + env(safe-area-inset-top,0px)) 20px calc(96px + env(safe-area-inset-bottom,0px))}.app--plain{padding-bottom:40px}.app:before{content:"";position:fixed;top:-150px;left:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(145,132,217,.18),transparent 68%);pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.screen-title{font-size:28px;line-height:1.08;letter-spacing:-.02em;margin:5px 0 0}.sub{font-size:13px;line-height:1.55;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.mut{color:color-mix(in srgb,var(--color-text) 48%,transparent)}.stack{display:flex;flex-direction:column}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.screen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.avatar{width:46px;height:46px;flex:none;border-radius:50%;background:var(--color-accent-800);color:var(--color-accent-100);display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.04em}.lift{padding:var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--color-section) 0%,var(--color-surface) 66%);box-shadow:0 0 0 1px #9184d94d,0 14px 32px #00000073}.lift-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-300)}.lift-title{font-size:24px;line-height:1.1;letter-spacing:-.02em;margin:var(--space-3) 0 0}.lift-meta{font-size:12.5px;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-top:4px}.lift-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.row{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-3);padding:12px 13px;border-radius:var(--radius-md);background:#1c1e2c;border:1px solid transparent}.row+.row{margin-top:var(--space-2)}.row:hover{background:#212434}.row-main{flex:1;min-width:0}.row-title{font-size:14px;line-height:1.25}.row-sub{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 45%,transparent);margin-top:2px}.row--unread{background:var(--color-surface)}.row-fx{position:absolute;left:76%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 0 1px var(--color-accent)}.row.is-rippling .row-fx{animation:row-ripple .42s ease-out both}@keyframes row-ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(36)}}.row-label{display:inline-block;animation:label-in .3s ease both}@keyframes label-in{0%{opacity:0;transform:translateY(4px)}}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary:disabled{border-color:#e573734d;color:#e573738c}.btn-secondary:disabled{border-color:#e5737333;color:#e5737373}.btn-pin:disabled{color:#e5737359}.unlock:disabled{opacity:.4;cursor:not-allowed}.btn,.chip,.track,button:not(.hit-exempt),[role=button]:not(.hit-exempt),input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;min-width:44px;box-sizing:border-box}.btn,.chip{display:inline-flex;align-items:center;justify-content:center}.input{padding:11px 13px;font-size:15px}textarea.input{min-height:96px}.btn-lg{min-height:50px;font-size:15px;padding-inline:var(--space-6)}.btn-md{min-height:44px}.btn-sm{font-size:13px;padding:6px 13px}.btn-round{width:44px;height:44px;padding:0;border-radius:var(--radius-md)}.btn-reveal{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border-color:transparent;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.btn-reveal:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-pin{color:color-mix(in srgb,var(--color-text) 42%,transparent);border-color:transparent}.btn-pin:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-pin[aria-pressed=true]{color:var(--color-accent)}.btn-row{display:flex;gap:var(--space-2)}.unlock{position:relative;width:138px;height:138px;border-radius:50%;border:1px solid var(--color-accent);background:radial-gradient(circle at 50% 45%,#9184d933,#9184d90d 70%);color:var(--color-accent-400);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 0 0 12px #9184d90d;transition:color .2s,box-shadow .3s,background .3s,border-color .2s}.unlock:hover{background:radial-gradient(circle at 50% 45%,#9184d947,#9184d914 70%)}.unlock:active{box-shadow:0 0 0 6px #9184d91a}.unlock small{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.unlock.is-working{color:var(--color-accent-300)}.unlock.is-open{color:var(--color-accent-200);border-color:var(--color-accent-300);background:radial-gradient(circle at 50% 45%,#9184d957,#9184d914 72%);box-shadow:0 0 0 16px #9184d912,0 0 40px #9184d933}.unlock--xl{width:178px;height:178px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@property --fill{syntax: "<percentage>"; inherits: true; initial-value: 52%;}@keyframes fluid-spin{to{transform:rotate(360deg)}}@keyframes fluid-roll{0%{transform:rotate(-4.5deg) translate(-2%)}to{transform:rotate(4.5deg) translate(2%)}}.fluid-host .fluid{position:absolute;inset:0;border-radius:50%;overflow:hidden;pointer-events:none;--fill: 52%;transition:--fill .9s cubic-bezier(.3,.7,.2,1)}.fluid-host .fluid-slosh{position:absolute;inset:-18%;transform-origin:50% 68%;animation:fluid-roll 7.5s cubic-bezier(.45,0,.55,1) infinite alternate}.fluid-host .wave{position:absolute;left:50%;width:210%;aspect-ratio:1;top:calc(100% - var(--fill));margin-left:-105%;border-radius:44% 46% 43% 47%;transform-origin:50% 50%}.fluid-host .wave-1{background:color-mix(in srgb,var(--color-accent) 24%,transparent);animation:fluid-spin 9s linear infinite}.fluid-host .wave-2{margin-top:3%;border-radius:47% 43% 45% 45%;background:color-mix(in srgb,var(--color-accent) 18%,transparent);animation:fluid-spin 13s linear infinite reverse}.fluid-host .wave-3{margin-top:7%;border-radius:42% 48% 46% 44%;background:color-mix(in srgb,var(--color-accent) 20%,transparent);animation:fluid-spin 19s linear infinite}.fluid-host .fluid-glass{position:absolute;inset:0;border-radius:50%;background:radial-gradient(58% 46% at 30% 20%,color-mix(in srgb,#fff 20%,transparent),transparent 70%),radial-gradient(44% 34% at 74% 86%,color-mix(in srgb,var(--color-accent) 22%,transparent),transparent 72%);box-shadow:inset 0 0 18px color-mix(in srgb,var(--color-accent) 16%,transparent),inset 0 -10px 22px color-mix(in srgb,var(--color-accent) 12%,transparent)}.unlock--xl,.unlock--xl.is-working,.unlock--xl.is-open{color:var(--color-text)}.unlock--xl svg,.unlock--xl small{position:relative;z-index:1;filter:drop-shadow(0 1px 2px color-mix(in srgb,#000 55%,transparent))}.unlock--xl:active .fluid{--fill: 60%}.unlock--xl:active .wave-1{animation-duration:4s}.unlock--xl:active .wave-2{animation-duration:6s}.unlock--xl.is-working .fluid{--fill: 64%}.unlock--xl.is-working .fluid-slosh{animation-duration:2.6s}.unlock--xl.is-working .wave-1{animation-duration:3s}.unlock--xl.is-working .wave-2{animation-duration:4.5s}.unlock--xl.is-working .wave-3{animation-duration:7s}.unlock--xl.is-open .fluid{--fill: 82%}.vessel{position:relative;width:64px;height:64px;flex:none;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 34%,transparent);background:color-mix(in srgb,var(--color-bg) 60%,transparent)}.vessel,.vessel .fluid{transition:--fill 1s linear}.countdown{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.count-val{font-size:19px;line-height:1.1;font-variant-numeric:tabular-nums}.countdown.is-expired .vessel{box-shadow:inset 0 0 0 1px var(--color-neutral-700)}@media(prefers-reduced-motion:reduce){.fluid-host .fluid-slosh,.fluid-host .wave{animation:none}}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:8px 15px;border-radius:999px;font-size:12.5px;cursor:pointer;background:transparent;color:color-mix(in srgb,var(--color-text) 72%,transparent);border:1px solid var(--color-divider)}.chip:hover{border-color:color-mix(in srgb,var(--color-text) 40%,transparent)}.chip[aria-pressed=true]{background:color-mix(in srgb,var(--color-accent) 14%,transparent);border-color:var(--color-accent);color:var(--color-accent-300)}.chip:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.cam{position:relative;aspect-ratio:16 / 10;width:100%;border-radius:var(--radius-md);overflow:hidden;background:repeating-linear-gradient(0deg,rgba(233,233,237,.035) 0 1px,transparent 1px 3px),linear-gradient(160deg,#22243a,#14151f);box-shadow:inset 0 0 0 1px var(--color-neutral-800);display:grid;place-items:center}.cam img,.cam video{width:100%;height:100%;object-fit:cover}.cam-hint{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 40%,transparent);text-align:center;padding:0 var(--space-6)}.cam-busy{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6)}.cam-live{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#161826b8;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-200)}.cam-live i{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.cam-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:color-mix(in srgb,var(--color-bg) 86%,#000);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transition:opacity .5s ease}.cam.is-ready .cam-veil{opacity:0}.cam img,.cam video{filter:blur(12px) brightness(.5);transition:filter .55s ease}.cam.is-ready img,.cam.is-ready video{filter:none}.cam-hint,.cam-live{opacity:0;transition:opacity .4s .1s ease}.cam.is-ready .cam-hint,.cam.is-ready .cam-live{opacity:1}.dot-live{width:7px;height:7px;flex:none;border-radius:50%;background:var(--color-accent);animation:dot-breathe 3s ease-in-out infinite}@keyframes dot-breathe{0%,to{opacity:.8;box-shadow:0 0 color-mix(in srgb,var(--color-accent) 42%,transparent)}50%{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb,var(--color-accent) 0%,transparent)}}.tabbar{position:fixed;left:12px;right:12px;z-index:40;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-around;padding:8px 6px 6px;border-radius:28px;overflow:visible;background:color-mix(in srgb,var(--color-bg) 68%,transparent);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);box-shadow:inset 0 1px color-mix(in srgb,#fff 24%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 12%,transparent),0 12px 32px #00000080,0 2px 8px #00000057;transition:left .4s cubic-bezier(.32,.72,0,1),right .4s cubic-bezier(.32,.72,0,1),bottom .4s cubic-bezier(.32,.72,0,1),padding .4s cubic-bezier(.32,.72,0,1),border-radius .4s cubic-bezier(.32,.72,0,1)}.tabbar:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,#fff 14%,transparent),transparent 46%)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.tabbar{background:color-mix(in srgb,var(--color-bg) 96%,transparent)}}.tab-slide{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/5);border-radius:21px;background:color-mix(in srgb,var(--color-accent) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 26%,transparent);transform:translate(calc(var(--tabi, 2) * 100%));transition:transform .34s cubic-bezier(.32,.72,0,1),opacity .22s ease;pointer-events:none}.tab{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 6px;background:none;border:0;cursor:pointer;color:color-mix(in srgb,var(--color-text) 42%,transparent);font-size:10px;transition:opacity .3s ease,transform .3s ease,color .2s ease}.tab:hover{color:color-mix(in srgb,var(--color-text) 70%,transparent)}.tab.is-active{color:var(--color-accent)}.tab-ico{position:relative;display:flex;align-items:center;justify-content:center}.tab-badge{position:absolute;transform:translate(13px,-4px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-accent-700);color:var(--color-accent-100);font-size:10px;line-height:16px;text-align:center}.tabbar.is-collapsed{left:12px;right:auto;width:56px;padding:6px;border-radius:50%}.tabbar.is-collapsed .tab{opacity:0;transform:scale(.6);pointer-events:none}.tabbar.is-collapsed .tab--center{opacity:1;transform:none;pointer-events:auto}.tabbar.is-collapsed .tab--center .tab-ico{width:44px;height:44px;margin:0}.tabbar.is-collapsed .tab--center{font-size:0}.tabbar.is-collapsed .tab-slide,.tabbar.is-collapsed .tab-badge{opacity:0}.toasts{position:fixed;left:0;right:0;bottom:calc(106px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 20px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;width:100%;max-width:420px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 0 0 1px #9184d952,0 12px 28px #00000080;font-size:13.5px;animation:rise .28s ease both}.toast svg{color:var(--color-accent);flex:none}.toast--warn{box-shadow:0 0 0 1px var(--color-neutral-700),0 12px 28px #00000080}.toast--warn svg{color:var(--color-neutral-300)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.linkbox{display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;border-radius:var(--radius-md);background:#e9e9ed0f;border:1px solid rgba(145,132,217,.28);font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--color-accent-200)}.linkbox span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.panel-title{font-size:16px;margin:0 0 var(--space-3)}.switch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:11px 0}.switch+.switch{border-top:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.switch{cursor:pointer}.switch:hover .track{border-color:color-mix(in srgb,var(--color-text) 34%,transparent)}.track{width:44px;flex:none;border:0;background:none;padding:0;cursor:pointer;position:relative}.track:before{content:"";position:absolute;top:50%;left:1px;width:42px;height:24px;margin-top:-12px;border-radius:999px;background:var(--color-neutral-800);border:1px solid var(--color-divider);transition:background .2s,border-color .2s}.track i{position:absolute;top:50%;left:4px;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--color-neutral-400);transition:transform .2s,background .2s}.track[aria-pressed=true]:before{background:color-mix(in srgb,var(--color-accent) 26%,transparent);border-color:var(--color-accent)}.track[aria-pressed=true] i{transform:translate(18px);background:var(--color-accent-200)}.soon{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:13.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.soon+.soon{border-top:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.accordion{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.accordion-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;background:none;border:0;cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:16px;color:var(--color-text);text-align:left;min-height:44px}.accordion-head:hover{color:var(--color-accent-200)}.accordion-chev{transition:transform .2s;flex:none;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.accordion-head[aria-expanded=true] .accordion-chev{transform:rotate(90deg)}.accordion-body{padding-top:var(--space-3)}.accordion-body[hidden]{display:none}.backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:end center;padding:var(--space-4);background:#0a0b12a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);margin-bottom:calc(106px + env(safe-area-inset-bottom,0px));animation:rise .26s ease both}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.howto{display:flex;flex-direction:column;gap:var(--space-4)}.howto-h{font-size:14px;font-weight:600;margin:0;color:var(--color-text)}.howto-h-sm{font-size:12.5px;font-weight:600;margin:0;color:color-mix(in srgb,var(--color-text) 72%,transparent)}.howto-sub{font-size:12.5px;line-height:1.5;margin:0;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.howto-list{margin:var(--space-2) 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:12.5px;line-height:1.5;color:color-mix(in srgb,var(--color-text) 68%,transparent)}.howto-list li{marker:none}.howto-list strong{color:var(--color-text);font-weight:600}.auth{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8);max-width:420px;margin:0 auto;padding:calc(84px + env(safe-area-inset-top,0px)) 26px calc(44px + env(safe-area-inset-bottom,0px))}.mark{width:46px;height:46px;border-radius:13px;border:1px solid var(--color-accent);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6)}.auth-title{font-size:34px;line-height:1.05;letter-spacing:-.025em;margin:var(--space-2) 0 0}.ext-input{font-size:20px;letter-spacing:.22em;text-align:center;min-height:54px}.ext-input::placeholder{font-size:13px;letter-spacing:.04em;color:color-mix(in srgb,var(--color-text) 35%,transparent)}.rule{display:flex;align-items:center;gap:12px;font-size:11px;color:color-mix(in srgb,var(--color-text) 32%,transparent)}.rule:before,.rule:after{content:"";flex:1;height:1px;background:var(--color-divider)}.hintlist{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.hintlist .ok{color:var(--color-accent-300)}.err{font-size:12px;color:var(--color-neutral-200);background:var(--color-neutral-800);padding:9px 11px;border-radius:var(--radius-md)}.visitor{min-height:100vh;display:grid;place-items:center;padding:40px 24px}.visitor-inner{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-6);text-align:center}.visitor-building{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-300)}@media(min-width:720px){.app{padding:40px 32px 40px 132px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}.grid-2>.span-2{grid-column:1 / -1}.tabbar{inset:0 auto 0 0;width:100px;flex-direction:column;justify-content:flex-start;gap:0;padding:40px 10px;border-radius:0;border-top:0;border-right:1px solid color-mix(in srgb,var(--color-text) 7%,transparent)}.tabbar:before{display:none}.tab-slide{inset:40px 6px auto;width:auto;height:calc((100% - 80px)/5);border-radius:var(--radius-md);transform:translateY(calc(var(--tabi, 2) * 100%))}.tab{flex:1;max-width:none;width:100%;padding:12px 0}.tabbar.is-collapsed{left:0;width:100px;border-radius:0;padding:40px 10px}.tabbar.is-collapsed .tab{opacity:1;transform:none;pointer-events:auto}.tabbar.is-collapsed .tab--center .tab-ico{width:auto;height:auto}.tabbar.is-collapsed .tab--center{font-size:10px}.tabbar.is-collapsed .tab-slide{opacity:1}.toasts{bottom:28px;align-items:flex-start;padding-left:132px}.backdrop{place-items:center}.sheet{margin-bottom:0}}.backdrop--center{place-items:center}.bridge-card{gap:var(--space-4);text-align:center;align-items:center;padding:var(--space-6) var(--space-5) var(--space-5);animation:bridge-pop .46s cubic-bezier(.2,1.5,.4,1) both}@keyframes bridge-pop{0%{opacity:0;transform:translateY(18px) scale(.9) rotate(-1.5deg)}60%{opacity:1;transform:translateY(0) scale(1.02) rotate(.6deg)}to{opacity:1;transform:none}}.bri-art{position:relative;width:240px;height:132px;margin:0 auto}.bri-deck{position:absolute;bottom:46px;height:13px;border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-text) 26%,transparent),color-mix(in srgb,var(--color-text) 10%,transparent));box-shadow:0 1px color-mix(in srgb,var(--color-text) 12%,transparent) inset}.bri-deck--l{left:0;width:92px}.bri-deck--r{right:0;width:92px}.bri-deck:after{content:"";position:absolute;bottom:-46px;width:9px;height:46px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-text) 14%,transparent),transparent)}.bri-deck--l:after{right:12px}.bri-deck--r:after{left:12px}.bri-gap{position:absolute;left:92px;width:56px;bottom:51px;height:3px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 55%,transparent) 0 6px,transparent 6px 13px);background-size:26px 100%;animation:bri-dash 1.1s linear infinite,bri-flicker 2.6s ease-in-out infinite}@keyframes bri-dash{to{background-position:26px 0}}@keyframes bri-flicker{0%,to{opacity:.85}44%{opacity:.25}52%{opacity:.9}}.bri-plank{position:absolute;left:96px;bottom:58px;width:22px;height:6px;border-radius:2px;background:color-mix(in srgb,var(--color-text) 30%,transparent);animation:bri-fall 3.6s cubic-bezier(.5,0,.9,.6) infinite}@keyframes bri-fall{0%,22%{transform:translate(0) rotate(0);opacity:0}26%{transform:translate(0) rotate(-6deg);opacity:1}to{transform:translate(16px,84px) rotate(200deg);opacity:0}}.bri-walker{position:absolute;bottom:59px;left:16px;animation:bri-walk 4.8s cubic-bezier(.4,0,.3,1) infinite,bri-teeter 4.8s ease-in-out infinite}.bri-walker b{display:block;width:13px;height:13px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent),0 0 16px color-mix(in srgb,var(--color-accent) 55%,transparent);animation:bri-hop .34s ease-in-out infinite alternate}@keyframes bri-walk{0%,6%{left:16px}30%{left:82px}38%,62%{left:87px}86%,to{left:16px}}@keyframes bri-teeter{0%,34%{transform:rotate(0)}42%{transform:rotate(16deg) translate(3px)}50%{transform:rotate(-12deg)}58%{transform:rotate(9deg)}66%,to{transform:rotate(0)}}@keyframes bri-hop{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.bri-walker:after{content:"!?";position:absolute;top:-20px;left:14px;font-size:12px;font-weight:700;letter-spacing:.5px;color:color-mix(in srgb,var(--color-text) 60%,transparent);opacity:0;animation:bri-say 4.8s ease-in-out infinite}@keyframes bri-say{0%,36%{opacity:0;transform:translateY(4px) scale(.8)}46%,60%{opacity:1;transform:translateY(0) scale(1)}70%,to{opacity:0;transform:translateY(-4px) scale(.9)}}.bri-title{font-size:19px;margin:0}.bri-quip{min-height:34px;font-size:13.5px;line-height:1.45;color:color-mix(in srgb,var(--color-text) 62%,transparent);max-width:300px;text-wrap:pretty;animation:bri-quip-in .4s ease both}@keyframes bri-quip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bri-meter{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 42%,transparent)}.bri-meter i{width:7px;height:7px;border-radius:50%;background:var(--color-accent);animation:bri-pulse 1.8s ease-in-out infinite}@keyframes bri-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.bridge-card.is-retrying .bri-art{animation:bri-shake .5s ease-in-out}@keyframes bri-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media(prefers-reduced-motion:reduce){.row.is-rippling .row-fx,.row-label,.dot-live,.cam-veil,.cam img,.cam video,.cam-hint,.cam-live,.bridge-card,.bri-walker,.bri-walker b,.bri-walker:after,.bri-plank,.bri-gap,.bri-quip,.bri-meter i,.extbar-slide,.gates-body,.gates-body .row,.ext-name,.avatar--ext{animation:none!important;transition:none!important}.cam-veil{opacity:0}.cam img,.cam video{filter:none}.cam-hint,.cam-live{opacity:1}}.extbar{position:relative;display:flex;gap:0;margin:0 0 var(--space-6);padding:4px;border-radius:999px;background:color-mix(in srgb,var(--color-surface) 82%,transparent);border:1px solid color-mix(in srgb,var(--color-text) 9%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 6%,transparent),var(--shadow-sm);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.extbar-slide{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n));transform:translate(calc(var(--i) * 100%));border-radius:999px;background:color-mix(in srgb,var(--color-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 34%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--color-accent) 22%,transparent);transition:transform .42s cubic-bezier(.32,.72,0,1);pointer-events:none}.extchip{position:relative;z-index:1;flex:1 1 0;min-width:0;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 8px;background:none;border:0;cursor:pointer;border-radius:999px;color:color-mix(in srgb,var(--color-text) 52%,transparent);transition:color .24s ease;-webkit-tap-highlight-color:transparent}.extchip:hover{color:color-mix(in srgb,var(--color-text) 78%,transparent)}.extchip.is-active{color:var(--color-text)}.extchip-bead{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font:600 10.5px/1 var(--font-body);letter-spacing:.04em;font-style:normal;background:color-mix(in srgb,var(--color-text) 8%,transparent);color:color-mix(in srgb,var(--color-text) 58%,transparent);transition:background .28s ease,color .28s ease,transform .42s cubic-bezier(.32,.72,0,1)}.extchip.is-active .extchip-bead{background:var(--color-accent);color:var(--color-accent-100, #fff);transform:scale(1.06)}.extchip-txt{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.extchip-txt b{font:500 12.5px/1.15 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.extchip-txt small{font:400 10.5px/1 var(--font-body);opacity:.6;letter-spacing:.04em}@media(max-width:400px){.extchip-txt b{display:none}.extchip{gap:6px}}@media(min-width:720px){.extbar{max-width:520px}}.avatar--ext{font-size:13px;letter-spacing:.06em;animation:ext-badge .44s cubic-bezier(.32,.72,0,1) both}@keyframes ext-badge{0%{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:none}}.ext-name{animation:ext-roll .38s cubic-bezier(.32,.72,0,1) both}@keyframes ext-roll{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.gates-body{animation:gates-in .44s cubic-bezier(.32,.72,0,1) both}.gates-body.from-right{--dx: 34px}.gates-body.from-left{--dx: -34px}@keyframes gates-in{0%{opacity:0;transform:translate(var(--dx, 34px))}to{opacity:1;transform:none}}.gates-body .row{animation:row-in .4s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(var(--n, 0) * 34ms + 90ms)}@keyframes row-in{0%{opacity:0;transform:translate(calc(var(--dx, 34px) * .8))}to{opacity:1;transform:none}}
