/*! © 2026 Somni Technologies, LLC. All rights reserved. Unauthorized copying, modification or reverse engineering is prohibited. */
@font-face{font-family:Somni;src:url('../assets/Montserrat-ui.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#080f13;--card:#122127;--inner:#1a3036;--line:#263c43;--text:#f1f6f7;--soft:#b4c3c9;--muted:#97aab3;--accent:#16dfcb;--warn:#ffb245;--track:#243238;--gradient:linear-gradient(110deg,#00b4e8,#00e5ce)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);background:radial-gradient(ellipse 650px 430px at 50% 145px,#10353688,transparent),linear-gradient(#0d1b20,var(--bg) 950px);font:400 15px/1.6 Somni,Arial,sans-serif;min-height:100vh;padding-bottom:100px;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}a{color:var(--accent)}h1,h2,h3,b,strong{font-weight:700}h1{font-size:clamp(26px,3vw,34px);line-height:1.2}h2{font-size:19px;line-height:1.4}h3{font-size:16px;margin:0}p{margin:6px 0 12px}button,input{font:inherit}button,summary,a,input{touch-action:manipulation}button{border:1px solid var(--line);background:transparent;color:var(--soft);border-radius:14px;padding:11px 17px;min-height:44px;font-size:14px;font-weight:700;cursor:pointer}button:hover{background:var(--inner);border-color:#56616b;color:var(--text)}button:disabled{cursor:default;opacity:.46}button[aria-pressed=true],.filled{background:#1d2126;border-color:var(--accent);color:var(--accent)}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.btn-primary{background:var(--gradient);border:0;color:#edf1f4}.btn-primary:hover{background:linear-gradient(110deg,#21c7f0,#2cf0d9);color:#edf1f4}.wide{width:100%}
body #somni-header[data-appearance=tool]{background:#080f13e8;border-color:var(--line)}.wrap{width:100%;max-width:690px;margin:auto;padding:26px 24px}.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 28px}.app-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.app-brand b{display:block;letter-spacing:5px;line-height:1.3;font-size:18px;background:var(--gradient);color:transparent;background-clip:text}.app-brand small{display:block;color:var(--soft);font-size:9px;letter-spacing:6px;margin-top:4px}.app-brand img{width:29px;height:34px}.top-status{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.chip{display:inline-block;border:1px solid var(--line);border-radius:99px;font-size:11px;padding:5px 10px;letter-spacing:.7px;font-weight:700;color:var(--soft);font-variant-numeric:tabular-nums}.chip-off{text-transform:uppercase}.chip-on{color:var(--accent)}.chip-warn{color:var(--warn)}
#welcome{text-align:center}.mask-stage{height:290px;position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;margin:0 auto 28px;max-width:530px}.mask-render{height:auto;width:85%;max-width:470px;position:relative;margin:22px auto 26px}.stage-mark{width:49px;height:58px;position:relative}.scan-rings{position:absolute;top:0;left:50%;transform:translateX(-50%);height:290px;aspect-ratio:1;border:1px solid #16dfcb26;border-radius:50%;background:radial-gradient(circle,#16dfcb10,transparent 65%)}.scan-rings:after{content:'';position:absolute;inset:22%;border:1px solid #16dfcb32;border-radius:50%}.connecting .scan-rings{animation:breathe 1.4s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.35;transform:translateX(-50%) scale(.94)}}#welcome h1{margin:0 0 14px}.welcome-caption{color:var(--soft);font-size:14px;margin-bottom:26px}.connect-main{width:100%;min-height:58px;font-size:17px;display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:12px}.connect-main span{font-size:30px;line-height:1}.features{display:flex;justify-content:space-around;gap:8px;margin:30px 0}.features div{flex:1}.features i{display:grid;place-content:center;width:48px;height:48px;border:1px solid var(--line);background:var(--card);border-radius:50%;font-style:normal;font-size:24px;margin:0 auto 10px}.features b,.features small{display:block;font-size:13px}.features small{font-size:12px;color:var(--muted)}.connection-help{text-align:left;color:var(--soft);margin-top:15px}.steps{padding-left:23px;font-size:14px}.steps li{margin:10px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;margin-bottom:12px}.section-title{display:flex;align-items:center;gap:15px;margin:28px 0 12px;font-size:18px}.section-title:after{content:'';height:1px;background:var(--line);flex:1}.micro{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);font-weight:700}.row-head,.connection-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-row p{margin:3px 0 0;color:var(--soft);font-size:14px}#rem-state{border:0;padding:0}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.btn-chip{min-height:36px;padding:5px 13px;border-radius:99px}.sound-header{display:flex;gap:13px;align-items:center}.sound-header>div{flex:1;min-width:0}.sound-header p{font-size:13px;line-height:1.5;color:var(--soft);margin:4px 0}.round-play{border:0;border-radius:50%;background:var(--gradient);color:#edf1f4;min-width:47px;width:47px;height:47px;padding:0}.gear{border-radius:50%;padding:0;width:42px;min-width:42px;font-size:23px;min-height:42px}#cue-options{border-top:1px solid var(--line);margin-top:18px;padding-top:5px}#card-progress,#card-note{margin:2px 4px 8px}.row-desc{font-size:13px;line-height:1.65;color:var(--muted)}.row-warn{color:var(--warn);font-size:13px;line-height:1.55;margin-top:7px}.row{padding:15px 0}.row-head{margin-bottom:8px}.row-label{font-size:14px;font-weight:700}.row-value{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;font-size:15px;white-space:nowrap}.param-stack>.row{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:10px}.row input[type=range]{margin:12px 0 16px}.row-desc{margin-top:4px}.row+.row{border-top:1px solid var(--line)}
input[type=range]{display:block;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:20px;background:var(--track);cursor:pointer;padding:0}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:21px;height:21px;border:3px solid #56616b;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:3px solid #56616b;border-radius:50%;background:var(--accent)}input[type=range]:disabled{opacity:.4}.colour-picker .hue-track{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)!important;height:14px}.colour-picker .brightness-track{height:14px}.swatch{display:inline-block;width:19px;height:19px;border-radius:50%;border:1px solid #ffffff50;vertical-align:middle;margin-right:9px}.channels{font-size:12px}.channels summary{padding:14px 0}summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:14px;font-weight:700;color:var(--soft)}.restore{margin-top:24px}.restore.warn{border-color:var(--warn);color:var(--warn)}#channels-label{margin-left:12px;color:var(--muted);font-size:10px}
canvas{width:100%;max-width:100%;display:block}.legend{font-size:9px;color:#16dfcb;white-space:nowrap}.legend span:first-child{color:#058791}.legend span:last-child{color:#b4c3c9}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.stats>div{text-align:center;border:1px solid var(--line);border-radius:18px;padding:14px 5px}.stats b{display:block;font-size:23px;font-variant-numeric:tabular-nums}.stats small{color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase}#session-events{font-size:12px;color:var(--soft)}#session-events p{border-bottom:1px solid var(--line);padding:8px 0}#session-events .list-label,#session-events .row-desc{border:0;padding:4px 0 0}
.note{padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-size:14px;margin-bottom:18px}.note.warn{color:var(--warn)}.toast{position:fixed;z-index:300;bottom:105px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:#343d46;color:var(--text);border:1px solid #56616b;border-radius:16px;padding:14px 20px;font-size:14px;box-shadow:0 8px 35px #0008}.applybar{position:fixed;bottom:0;left:0;right:0;background:#080f13f2;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:14px 20px;z-index:200}.applybar-inner{max-width:642px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--soft)}.applybar-inner>div{display:flex;gap:8px}.applybar button{min-width:85px}footer{text-align:center;color:var(--muted);font-size:12px;margin-top:28px}footer a{color:var(--muted);text-decoration:none}footer span{margin:0 10px}
@media(min-width:1000px){.wrap{padding-top:34px}.row-label{font-size:15px}.row-desc{font-size:14px}.card{padding:22px}}
@media(max-width:480px){.wrap{padding:20px 18px}.card{padding:16px}.app-top{margin-top:3px;margin-bottom:22px}.app-brand b{font-size:15px}.app-brand small{font-size:8px}.chip{font-size:10px;padding:4px 8px}.mask-stage{height:240px}.mask-render{width:90%;margin-bottom:18px}.scan-rings{height:250px}.stage-mark{height:48px}.features b,.features small{font-size:11px}.connection-row{flex-wrap:wrap}#battery{font-size:9px}.legend{font-size:8px}.applybar-inner{flex-wrap:wrap}.applybar-inner>div{margin-left:auto}.section-title{font-size:17px}.row-head{gap:8px}.row-label{font-size:13px}.row-value{font-size:14px}.row-desc{font-size:12px}.stats b{font-size:20px}.stats small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
