@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--wol-void: #06080d;--wol-bg-0: #0a0e16;--wol-bg-1: #0e131d;--wol-bg-2: #141b28;--wol-bg-3: #1b2433;--wol-line: rgba(255, 255, 255, .08);--wol-line-strong: rgba(255, 255, 255, .14);--wol-line-neon: rgba(25, 227, 255, .35);--wol-cyan-50: #ccf7ff;--wol-cyan-100: #8fe9ff;--wol-cyan-300: #45dcff;--wol-cyan: #19e3ff;--wol-cyan-600: #06b6e0;--wol-cyan-700: #0890b3;--wol-lime: #5cff9b;--wol-lime-deep: #34f5a0;--wol-on: #34f5a0;--wol-on-dim: rgba(52, 245, 160, .14);--wol-off: #ff4d6a;--wol-off-dim: rgba(255, 77, 106, .14);--wol-waking: #ffb020;--wol-waking-dim:rgba(255, 176, 32, .16);--wol-unknown: #6b7689;--wol-unknown-dim:rgba(107, 118, 137, .16);--wol-text-1: #eaf2ff;--wol-text-2: #9fb0c8;--wol-text-3: #647189;--wol-text-on-neon: #04222b;--wol-grad-power: linear-gradient(135deg, #19e3ff 0%, #4facfe 50%, #34f5a0 100%);--wol-grad-arc: linear-gradient(120deg, #19e3ff, #00c6fb);--wol-grad-panel: linear-gradient(180deg, rgba(25,227,255,.06), rgba(25,227,255,0) 60%);--wol-bg: var(--wol-bg-0);--wol-surface: var(--wol-bg-1);--wol-surface-raised:var(--wol-bg-2);--wol-primary: var(--wol-cyan);--wol-primary-text: var(--wol-text-on-neon);--wol-border: var(--wol-line);--wol-text: var(--wol-text-1);--wol-text-muted: var(--wol-text-2);--wol-success: var(--wol-on);--wol-danger: var(--wol-off);--wol-warning: var(--wol-waking)}:root{--wol-font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--wol-font-body: "Manrope", system-ui, -apple-system, sans-serif;--wol-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--wol-text-xs: .75rem;--wol-text-sm: .875rem;--wol-text-base: 1rem;--wol-text-md: 1.125rem;--wol-text-lg: 1.5rem;--wol-text-xl: 2rem;--wol-text-2xl: 2.75rem;--wol-text-3xl: 4rem;--wol-text-4xl: 6rem;--wol-weight-regular: 400;--wol-weight-medium: 500;--wol-weight-semibold:600;--wol-weight-bold: 700;--wol-weight-black: 800;--wol-leading-tight: 1.05;--wol-leading-snug: 1.25;--wol-leading-normal: 1.55;--wol-tracking-tight: -.02em;--wol-tracking-normal: 0;--wol-tracking-wide: .04em;--wol-tracking-mono: .12em}:root{--wol-space-1: 4px;--wol-space-2: 8px;--wol-space-3: 12px;--wol-space-4: 16px;--wol-space-5: 24px;--wol-space-6: 32px;--wol-space-7: 48px;--wol-space-8: 64px;--wol-space-9: 96px;--wol-space-10: 128px;--wol-radius-xs: 4px;--wol-radius-sm: 8px;--wol-radius-md: 12px;--wol-radius-lg: 18px;--wol-radius-xl: 24px;--wol-radius-full: 999px;--wol-border-width: 1px;--wol-border-width-thick: 2px;--wol-container: 1200px;--wol-container-narrow: 920px;--wol-header-h: 72px}:root{--wol-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--wol-shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--wol-shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--wol-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .04);--wol-glow-cyan: 0 0 0 1px rgba(25,227,255,.4), 0 0 22px rgba(25,227,255,.35);--wol-glow-cyan-lg:0 0 0 1px rgba(25,227,255,.5), 0 0 44px rgba(25,227,255,.45);--wol-glow-on: 0 0 18px rgba(52,245,160,.55);--wol-glow-off: 0 0 18px rgba(255,77,106,.5);--wol-glow-waking: 0 0 18px rgba(255,176,32,.5);--wol-glow-text: 0 0 18px rgba(25,227,255,.45);--wol-blur-sm: 8px;--wol-blur-md: 16px;--wol-blur-lg: 28px;--wol-ease: cubic-bezier(.4, 0, .2, 1);--wol-ease-out: cubic-bezier(.16, 1, .3, 1);--wol-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--wol-dur-fast: .14s;--wol-dur-base: .24s;--wol-dur-slow: .48s}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100%}body{margin:0;background:var(--wol-bg-0);color:var(--wol-text-1);font-family:var(--wol-font-body);font-size:var(--wol-text-base);line-height:var(--wol-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--wol-font-display);font-weight:var(--wol-weight-bold);line-height:var(--wol-leading-tight);letter-spacing:var(--wol-tracking-tight);margin:0;color:var(--wol-text-1)}a{color:var(--wol-cyan);text-decoration:none}.wol-eyebrow{font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);font-weight:var(--wol-weight-medium);letter-spacing:var(--wol-tracking-mono);text-transform:uppercase;color:var(--wol-cyan)}.wol-backdrop{position:relative;background:radial-gradient(900px 520px at 78% -10%,rgba(25,227,255,.16),transparent 60%),radial-gradient(720px 480px at 8% 108%,rgba(52,245,160,.1),transparent 60%),var(--wol-bg-0)}.wol-backdrop:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(120% 100% at 50% 0%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 100% at 50% 0%,#000 30%,transparent 78%)}.wol-glass{background:linear-gradient(180deg,#141b28c7,#0e131dd1);border:1px solid var(--wol-line);-webkit-backdrop-filter:blur(var(--wol-blur-md));backdrop-filter:blur(var(--wol-blur-md));box-shadow:var(--wol-shadow-md),var(--wol-shadow-inset)}@keyframes wol-pulse{0%{box-shadow:0 0 #34f5a080}70%{box-shadow:0 0 0 9px #34f5a000}to{box-shadow:0 0 #34f5a000}}@keyframes wol-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes wol-spin{to{transform:rotate(360deg)}}@keyframes wol-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wol-status-dot-on{animation:wol-pulse 1.8s ease-out infinite}.wol-status-dot-waking{animation:wol-blink .9s ease-in-out infinite}.wol-toast{animation:wol-toast-in .32s var(--wol-ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--wol-bg-2: rgba(255, 255, 255, .055);--wol-bg-3: rgba(255, 255, 255, .09);--wol-glass-fill: linear-gradient(155deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03) 45%, rgba(255, 255, 255, .02));--wol-glass-fill-strong: linear-gradient(155deg, rgba(30, 40, 58, .72), rgba(14, 19, 29, .62));--wol-glass-border: rgba(255, 255, 255, .14);--wol-glass-border-lit: rgba(140, 240, 255, .38);--wol-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -1px 0 rgba(255, 255, 255, .03);--wol-glass-shadow: 0 18px 50px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .25);--wol-glass-blur: blur(22px) saturate(165%);--wol-glass-blur-heavy: blur(34px) saturate(180%)}body{background:var(--wol-void)}.wol-aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%,rgba(25,227,255,.07),transparent 60%),var(--wol-void)}.wol-aurora__blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.8;will-change:transform}.wol-aurora__blob--cyan{width:62vmax;height:62vmax;top:-26vmax;right:-18vmax;background:radial-gradient(circle,#19e3ffd9,#19e3ff00 65%);animation:wol-drift-a 26s ease-in-out infinite alternate}.wol-aurora__blob--violet{width:52vmax;height:52vmax;top:28%;left:-24vmax;background:radial-gradient(circle,#7c5cffe6,#7c5cff00 65%);animation:wol-drift-b 32s ease-in-out infinite alternate}.wol-aurora__blob--lime{width:48vmax;height:48vmax;bottom:-24vmax;right:-10vmax;background:radial-gradient(circle,#34f5a099,#34f5a000 65%);animation:wol-drift-c 29s ease-in-out infinite alternate}.wol-aurora:after{content:"";position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes wol-drift-a{to{transform:translate3d(-12vmax,10vmax,0) scale(1.12)}}@keyframes wol-drift-b{to{transform:translate3d(14vmax,-8vmax,0) scale(.92)}}@keyframes wol-drift-c{to{transform:translate3d(-10vmax,-12vmax,0) scale(1.08)}}.wol-glass{position:relative;background:var(--wol-glass-fill-strong);border:1px solid var(--wol-glass-border);-webkit-backdrop-filter:var(--wol-glass-blur);backdrop-filter:var(--wol-glass-blur);box-shadow:var(--wol-glass-shadow),var(--wol-glass-highlight)}.wol-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--wol-glass-fill);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}.wol-glass>*{position:relative}.wol-glass--lit{border-color:var(--wol-glass-border-lit);box-shadow:var(--wol-glass-shadow),var(--wol-glass-highlight),0 0 0 1px #19e3ff1f,0 0 40px #19e3ff29}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.wol-glass{background:#101622f0}}@media(prefers-reduced-motion:reduce){.wol-aurora__blob{animation:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--wol-space-5) + env(safe-area-inset-top,0px)) var(--wol-space-5) calc(var(--wol-space-5) + env(safe-area-inset-bottom,0px))}.login-card{z-index:1;width:100%;max-width:420px;padding:var(--wol-space-6);border-radius:28px;-webkit-backdrop-filter:var(--wol-glass-blur-heavy);backdrop-filter:var(--wol-glass-blur-heavy)}.login-brand{display:flex;align-items:center;gap:var(--wol-space-4);margin-bottom:var(--wol-space-5)}.login-mark{width:48px;height:48px;filter:drop-shadow(0 0 12px rgba(25,227,255,.45))}.login-wordmark{font-size:var(--wol-text-2xl);background:var(--wol-grad-power);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0}.login-tagline{margin:4px 0 0;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);letter-spacing:var(--wol-tracking-mono);text-transform:uppercase;color:var(--wol-text-3)}.login-eyebrow{margin-bottom:var(--wol-space-5)}.login-form{width:100%}.login-switch{margin:var(--wol-space-5) 0 0;text-align:center;font-size:var(--wol-text-sm);color:var(--wol-text-2)}.login-switch a{font-weight:var(--wol-weight-semibold);color:var(--wol-cyan)}.login-switch a:hover{text-decoration:underline}.login-forgot{margin:var(--wol-space-4) 0 0;text-align:center;font-size:var(--wol-text-sm)}.login-forgot a{color:var(--wol-text-2)}.login-forgot a:hover{color:var(--wol-cyan)}.login-forgot+.login-switch{margin-top:var(--wol-space-2)}.login-success{margin:0 0 var(--wol-space-4);padding:var(--wol-space-3) var(--wol-space-4);border:1px solid rgba(52,245,160,.4);border-radius:var(--wol-radius-md);background:var(--wol-on-dim);color:var(--wol-on);font-size:var(--wol-text-sm)}.approval-wait{display:flex;flex-direction:column;align-items:center;gap:var(--wol-space-3);padding:var(--wol-space-4) 0 var(--wol-space-2);text-align:center}.approval-wait__icon{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:var(--wol-cyan-50);background:linear-gradient(145deg,#19e3ff40,#7c5cff26);border:1px solid var(--wol-glass-border)}.approval-wait__ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid transparent;border-top-color:var(--wol-cyan);animation:wol-spin 1.1s linear infinite}.approval-wait__title{font-size:var(--wol-text-lg)}.approval-wait__text{margin:0;color:var(--wol-text-2);font-size:var(--wol-text-sm)}.approve-facts{display:grid;gap:var(--wol-space-3);margin:0 0 var(--wol-space-5);padding:var(--wol-space-4);border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-lg);background:var(--wol-bg-2)}.approve-facts div{display:flex;justify-content:space-between;gap:var(--wol-space-3)}.approve-facts dt{display:inline-flex;align-items:center;gap:6px;color:var(--wol-text-3);font-size:var(--wol-text-sm)}.approve-facts dd{margin:0;color:var(--wol-text-1);font-weight:var(--wol-weight-semibold);text-align:right;overflow-wrap:anywhere}.approve-warning{display:flex;gap:8px;margin:0 0 var(--wol-space-4);color:var(--wol-waking);font-size:var(--wol-text-sm)}.approve-warning svg{flex-shrink:0;margin-top:2px}.approve-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--wol-space-3)}.approve-result{display:flex;align-items:center;gap:8px;margin:0;padding:var(--wol-space-3) var(--wol-space-4);border-radius:var(--wol-radius-md);font-size:var(--wol-text-sm)}.approve-result--approved{color:var(--wol-on);background:var(--wol-on-dim)}.approve-result--denied,.approve-result--expired{color:var(--wol-off);background:var(--wol-off-dim)}.approve-error{margin:0 0 var(--wol-space-4);color:var(--wol-off)}.dashboard-page{width:100%;max-width:var(--wol-container);margin:0 auto;padding:var(--wol-space-6) var(--wol-space-5)}.dashboard-header{margin-bottom:var(--wol-space-6)}.dashboard-header h1{font-size:var(--wol-text-2xl);margin:var(--wol-space-2) 0;background:linear-gradient(120deg,#ffffff 10%,var(--wol-cyan-100) 60%,var(--wol-lime) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}.dashboard-subtitle{font-size:var(--wol-text-base);color:var(--wol-text-2);margin:0}.dashboard-content{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--wol-space-5);align-items:stretch}.dashboard-card{min-width:0;height:100%;display:flex;flex-direction:column}.dashboard-card>div{display:flex;flex-direction:column;flex:1}.dashboard-card--wide{grid-column:1 / -1}.card-description{color:var(--wol-text-2);font-size:var(--wol-text-sm);margin:0 0 var(--wol-space-5);line-height:var(--wol-leading-normal)}.card-actions{margin-bottom:var(--wol-space-4)}.card-status-row{display:flex;justify-content:flex-start;min-height:30px;margin-top:auto}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-page{padding:var(--wol-space-4)}.dashboard-header{margin-bottom:var(--wol-space-4)}.dashboard-header h1{font-size:var(--wol-text-xl)}}.iam-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:var(--wol-space-5);align-items:start}.iam-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--wol-space-3)}.iam-user{display:flex;align-items:center;justify-content:space-between;gap:var(--wol-space-4);padding:var(--wol-space-3) var(--wol-space-4);border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-lg);background:var(--wol-bg-2);box-shadow:var(--wol-glass-highlight)}.iam-user--disabled{opacity:.6}.iam-user__who{display:flex;align-items:center;gap:var(--wol-space-3);min-width:0}.iam-user__avatar{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--wol-grad-power);color:var(--wol-text-on-neon);font-family:var(--wol-font-display);font-weight:var(--wol-weight-bold)}.iam-user__presence{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2px solid #0e131d;background:var(--wol-unknown)}.iam-user__presence--on{background:var(--wol-on);animation:wol-pulse 1.8s ease-out infinite}.iam-user__meta{min-width:0}.iam-user__name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-family:var(--wol-font-display);font-weight:var(--wol-weight-semibold);color:var(--wol-text-1);overflow-wrap:anywhere}.iam-user__seen{margin:2px 0 0;font-size:var(--wol-text-xs);color:var(--wol-text-3)}.iam-user__online{color:var(--wol-on)}.iam-user__dot{margin:0 6px}.iam-user__controls{display:flex;align-items:center;gap:var(--wol-space-2);flex-shrink:0}.iam-user__actions{display:flex;gap:var(--wol-space-2)}.iam-select select{height:34px;padding:0 30px 0 12px;border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-md);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239fb0c8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center,var(--wol-bg-2);color:var(--wol-text-1);font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);letter-spacing:.06em;text-transform:uppercase;appearance:none;cursor:pointer}.iam-select select:disabled{opacity:.55;cursor:not-allowed}.iam-select option{background:#141b28;color:var(--wol-text-1)}.iam-roles{margin:0;display:flex;flex-direction:column;gap:var(--wol-space-3)}.iam-roles__row{display:grid;grid-template-columns:64px 1fr;gap:var(--wol-space-3);align-items:baseline}.iam-roles dd{margin:0;color:var(--wol-text-2);font-size:var(--wol-text-sm)}.iam-roles .user-chip__role{display:inline!important}.iam-note{margin:var(--wol-space-5) 0 0}.iam-dialog-actions{display:flex;justify-content:flex-end;gap:var(--wol-space-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:900px){.iam-layout{grid-template-columns:1fr}}@media(max-width:640px){.iam-user{flex-direction:column;align-items:stretch}.iam-user__controls{display:grid;grid-template-columns:1fr;gap:var(--wol-space-2)}.iam-select select{width:100%;height:38px}.iam-user__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.iam-user__actions button{width:100%!important;padding:0 8px!important;min-width:0}}.wol-dialog-backdrop{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:calc(var(--wol-space-5) + env(safe-area-inset-top,0px)) calc(var(--wol-space-4) + env(safe-area-inset-right,0px)) calc(var(--wol-space-5) + env(safe-area-inset-bottom,0px)) calc(var(--wol-space-4) + env(safe-area-inset-left,0px));background:#04060c73;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);animation:wol-dialog-fade var(--wol-dur-base) var(--wol-ease) both}.wol-dialog-panel{position:relative;width:min(100%,760px);max-height:100%;overflow:auto;background:var(--wol-glass-fill-strong);border:1px solid var(--wol-glass-border);border-radius:28px;-webkit-backdrop-filter:var(--wol-glass-blur-heavy);backdrop-filter:var(--wol-glass-blur-heavy);box-shadow:0 30px 80px #0009,var(--wol-glass-highlight),0 0 0 1px #19e3ff1a,0 0 60px #19e3ff24;animation:wol-dialog-pop var(--wol-dur-slow) var(--wol-ease-out) both}.wol-dialog-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--wol-glass-fill);-webkit-mask-image:linear-gradient(180deg,#000,transparent 55%);mask-image:linear-gradient(180deg,#000,transparent 55%)}.wol-dialog-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--wol-space-3);padding:var(--wol-space-4) var(--wol-space-4) var(--wol-space-3) var(--wol-space-5)}.wol-dialog-title{margin:0;font-size:var(--wol-text-lg);font-weight:600}.wol-dialog-close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-full);background:var(--wol-bg-2);box-shadow:var(--wol-glass-highlight);color:var(--wol-text-2);cursor:pointer;transition:color .15s,border-color .15s,background .15s,transform .15s}.wol-dialog-close:hover{color:var(--wol-text-1);background:var(--wol-bg-3);border-color:var(--wol-glass-border-lit)}.wol-dialog-close:active{transform:scale(.94)}.wol-dialog-body{position:relative;padding:0 var(--wol-space-5) var(--wol-space-5)}@keyframes wol-dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes wol-dialog-pop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.live-camera-player{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-lg);overflow:hidden;box-shadow:0 12px 40px #00000080,inset 0 0 0 1px #ffffff0a}.live-camera-player__video{width:100%;height:100%;object-fit:contain;display:block;background:#000}.live-camera-player__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wol-space-3);padding:var(--wol-space-4);background:#06080d8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.live-camera-player__message{margin:0;color:var(--wol-text-2);font-size:var(--wol-text-sm);line-height:var(--wol-leading-normal)}.live-camera-player__badge{position:absolute;top:var(--wol-space-3);left:var(--wol-space-3);z-index:1}.live-camera-player__spinner{width:32px;height:32px;border:2px solid var(--wol-line-strong);border-top-color:var(--wol-cyan);border-radius:50%;animation:live-camera-spin .8s linear infinite}@keyframes live-camera-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.wol-dialog-panel{border-radius:24px}.wol-dialog-header{padding:var(--wol-space-3) var(--wol-space-3) var(--wol-space-3) var(--wol-space-4)}.wol-dialog-body{padding:0 var(--wol-space-3) var(--wol-space-3)}}.music-player{display:flex;flex-direction:column;gap:var(--wol-space-4)}.music-player__status{display:flex;align-items:center;justify-content:space-between;gap:var(--wol-space-3)}.music-player__listening{display:inline-flex;align-items:center;gap:6px;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);color:var(--wol-cyan)}.music-player__now{display:flex;align-items:center;gap:var(--wol-space-4)}.music-player__art{flex-shrink:0;width:72px;height:72px;border-radius:var(--wol-radius-sm);background:var(--wol-bg-2);border:1px solid var(--wol-line-strong);display:flex;align-items:center;justify-content:center;color:var(--wol-text-3);overflow:hidden}.music-player__art img{width:100%;height:100%;object-fit:cover}.music-player__meta{flex:1;min-width:0}.music-player__title{margin:0;font-family:var(--wol-font-display);font-size:var(--wol-text-lg);font-weight:var(--wol-weight-semibold);color:var(--wol-text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-player__artist{margin:2px 0 0;font-size:var(--wol-text-sm);color:var(--wol-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-player__attribution{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);color:var(--wol-text-3);text-decoration:none}.music-player__attribution:hover{color:var(--wol-cyan)}.music-player__play{flex-shrink:0;width:60px;height:60px;border-radius:50%;border:none;background:var(--wol-grad-arc);color:var(--wol-text-on-neon);box-shadow:var(--wol-glow-cyan);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--wol-dur-fast) var(--wol-ease),box-shadow var(--wol-dur-base) var(--wol-ease)}.music-player__play:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--wol-glow-cyan-lg)}.music-player__play:disabled{opacity:.45;cursor:not-allowed}.music-player__timeline input[type=range]{width:100%;height:6px;margin:0;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(to right,var(--wol-cyan) 0%,var(--wol-cyan) var(--progress, 0%),var(--wol-bg-3) var(--progress, 0%),var(--wol-bg-3) 100%);cursor:pointer}.music-player__timeline input[type=range]:disabled{cursor:not-allowed;opacity:.6}.music-player__timeline input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--wol-text-1);box-shadow:var(--wol-glow-cyan)}.music-player__timeline input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--wol-text-1)}.music-player__times{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);color:var(--wol-text-3)}.music-player__error{margin:0;font-size:var(--wol-text-sm);color:var(--wol-off)}.music-player__form{display:flex;align-items:flex-start;gap:var(--wol-space-3)}.music-player__form button{flex-shrink:0;height:48px}.music-player__results ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--wol-line);border-radius:12px;overflow:hidden}.music-player__results li+li{border-top:1px solid var(--wol-line)}.music-player__results button{display:flex;align-items:center;gap:var(--wol-space-3);width:100%;padding:var(--wol-space-3);background:var(--wol-bg-2);border:0;color:var(--wol-text-1);text-align:left;cursor:pointer;font:inherit}.music-player__results button:hover:not(:disabled),.music-player__results button:focus-visible{background:var(--wol-bg-3);outline:none}.music-player__results button:disabled{opacity:.5;cursor:not-allowed}.music-player__results button svg{flex-shrink:0;color:var(--wol-cyan)}.music-player__result-text{display:flex;flex-direction:column;min-width:0}.music-player__result-title,.music-player__result-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-player__result-account{font-size:var(--wol-text-sm);color:var(--wol-text-3)}.music-player__results-empty{margin:0;font-size:var(--wol-text-sm);color:var(--wol-text-2)}.music-player__stats-row{display:flex;flex-direction:column;gap:var(--wol-space-2)}.music-player__stats-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);color:var(--wol-text-3);cursor:pointer}.music-player__stats-toggle:hover{color:var(--wol-cyan)}.music-player__stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--wol-space-2) var(--wol-space-4);margin:0;padding:var(--wol-space-3);border:1px solid var(--wol-line);border-radius:var(--wol-radius-sm);background:var(--wol-bg-2);font-family:var(--wol-font-mono);font-size:var(--wol-text-xs)}.music-player__stats dt{color:var(--wol-text-3)}.music-player__stats dd{margin:2px 0 0;color:var(--wol-text-1)}.music-player__engine{position:absolute;width:1px;height:1px;border:0;opacity:0;pointer-events:none}@media(max-width:640px){.music-player__form{flex-direction:column;align-items:stretch}.music-player__art{width:56px;height:56px}}.apk-banner{position:fixed;z-index:1050;left:var(--wol-space-3);right:var(--wol-space-3);bottom:calc(var(--wol-space-3) + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:var(--wol-space-3);max-width:520px;margin:0 auto;padding:var(--wol-space-3);border-radius:var(--wol-radius-xl);animation:apk-banner-in var(--wol-dur-slow) var(--wol-ease-out) both}.apk-banner__icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--wol-radius-md);background:var(--wol-grad-power);color:var(--wol-text-on-neon)}.apk-banner__text{flex:1;min-width:0}.apk-banner__title{margin:0;font-family:var(--wol-font-display);font-weight:var(--wol-weight-semibold);color:var(--wol-text-1)}.apk-banner__sub{margin:2px 0 0;font-family:var(--wol-font-mono);font-size:var(--wol-text-xs);color:var(--wol-text-3)}.apk-banner__install{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:var(--wol-radius-full);background:var(--wol-grad-arc);color:var(--wol-text-on-neon);font-family:var(--wol-font-display);font-weight:var(--wol-weight-semibold);font-size:var(--wol-text-sm);box-shadow:var(--wol-glow-cyan);white-space:nowrap}.apk-banner__close{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--wol-text-3);cursor:pointer}.apk-banner__close:hover{color:var(--wol-text-1);background:var(--wol-bg-2)}@keyframes apk-banner-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.layout-container{min-height:100vh;display:flex;flex-direction:column;background:transparent;width:100%;max-width:100%;overflow-x:hidden}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;width:min(calc(100% - 2 * var(--wol-space-5)),var(--wol-container));margin:calc(var(--wol-space-4) + env(safe-area-inset-top,0px)) auto 0;top:calc(var(--wol-space-3) + env(safe-area-inset-top,0px));padding:0 var(--wol-space-5);border-radius:var(--wol-radius-xl)}.app-brand{display:flex;align-items:center;gap:var(--wol-space-3);text-decoration:none;color:var(--wol-text-1)}.app-mark{width:32px;height:32px}.app-wordmark{font-family:var(--wol-font-display);font-size:var(--wol-text-lg);font-weight:var(--wol-weight-bold);background:var(--wol-grad-arc);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-links{display:flex;align-items:center;gap:var(--wol-space-5)}.nav-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--wol-radius-full);border:1px solid transparent;font-family:var(--wol-font-body);font-size:var(--wol-text-sm);font-weight:var(--wol-weight-medium);color:var(--wol-text-2);text-decoration:none;transition:color var(--wol-dur-base) var(--wol-ease)}.nav-links a:hover{color:var(--wol-text-1);background:var(--wol-bg-2);border-color:var(--wol-glass-border)}.nav-links .logout{color:var(--wol-off)}.nav-links .logout:hover{color:var(--wol-off);background:var(--wol-off-dim);border-color:#ff4d6a59}.nav-links a.active{color:var(--wol-text-1);background:var(--wol-bg-2);border-color:var(--wol-glass-border)}.user-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:4px 12px 4px 4px;border:1px solid var(--wol-glass-border);border-radius:var(--wol-radius-full);background:var(--wol-bg-2);box-shadow:var(--wol-glass-highlight)}.user-chip__avatar{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--wol-grad-power);color:var(--wol-text-on-neon);font-family:var(--wol-font-display);font-size:.8125rem;font-weight:var(--wol-weight-bold)}.user-chip__text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.user-chip__name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--wol-text-sm);font-weight:var(--wol-weight-semibold);color:var(--wol-text-1)}.user-chip__role{font-family:var(--wol-font-mono);font-size:.625rem;letter-spacing:var(--wol-tracking-mono);text-transform:uppercase;color:var(--wol-text-3)}.user-chip__role--admin{color:var(--wol-cyan)}.user-chip__role--viewer{color:var(--wol-waking)}.layout-main{flex:1;position:relative;z-index:1;width:100%;max-width:100%;overflow-x:hidden}.app-footer{position:relative;z-index:1;padding:var(--wol-space-4) var(--wol-space-5) calc(var(--wol-space-4) + env(safe-area-inset-bottom,0px));text-align:center;color:var(--wol-text-3);font-size:var(--wol-text-xs)}.notification-stack{position:fixed;bottom:var(--wol-space-5);left:var(--wol-space-5);z-index:1000}@media(max-width:640px){.app-header{height:56px;width:calc(100% - 2 * var(--wol-space-3) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));margin-top:calc(var(--wol-space-3) + env(safe-area-inset-top,0px));top:calc(var(--wol-space-2) + env(safe-area-inset-top,0px));padding:0 var(--wol-space-2) 0 var(--wol-space-4);border-radius:var(--wol-radius-lg)}.app-brand{min-width:0;flex-shrink:1}.app-wordmark{font-size:var(--wol-text-md)}.nav-links{min-width:0;flex-shrink:0;gap:var(--wol-space-3)}.nav-hide-mobile,.nav-label,.user-chip__role{display:none!important}.nav-links a{padding:8px 10px}.user-chip{padding:3px 10px 3px 3px}.notification-stack{left:var(--wol-space-4);right:var(--wol-space-4);max-width:calc(100vw - 32px)}}
