/* Decorative layers always sit below the existing site content. */
#fm-point-background{position:fixed;inset:0;width:100%;height:100%;height:100dvh;z-index:0;pointer-events:none;opacity:0}
body.fm-points-ready #fm-point-background{opacity:1}
body.fm-points-ready{--bg:#050505;--fg:#f5f5f1;--muted:#c5c5c0;--line:rgba(255,255,255,.25);--hard-line:rgba(255,255,255,.8)}
body.fm-points-ready :is(.unit00-name,.unit00-sound){color:var(--fg)!important}
body.fm-points-ready .unit00-sound{border-top-color:var(--fg)!important}
#fm-face{position:fixed;top:68px;right:18px;z-index:3;width:120px;height:128px;padding:0;border:0;background:transparent;opacity:.75;cursor:pointer}
#fm-face canvas{display:block;width:100%;height:100%;pointer-events:none}
#fm-face[hidden]{display:none}
#fm-face:focus-visible{outline:1px solid currentColor;outline-offset:4px}
#fm-camera-video{position:fixed;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}
#fm-camera-choice{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 36px));max-height:calc(100dvh - 36px);overflow:auto;padding:28px;background:var(--bg,#fff);color:var(--fg,#000);border:1px solid currentColor;cursor:auto}
#fm-camera-choice::backdrop{background:rgb(0 0 0 / 85%)}
#fm-camera-choice h2{font:600 clamp(28px,5vw,38px)/.95 var(--sans);letter-spacing:-.055em;margin:0 0 24px;text-transform:uppercase}
#fm-camera-choice p{font:11px/1.65 var(--mono);margin:0 0 16px;text-transform:none}
.fm-camera-actions{display:flex;gap:18px;margin-top:24px}
.fm-camera-actions button{width:auto;flex:1;padding:12px 0;font:10px/1.4 var(--mono);cursor:pointer;text-align:left}
#fm-camera-message[hidden]{display:none}
@media(max-width:860px){#fm-face{width:84px;height:90px;top:74px;right:12px}#fm-camera-choice{padding:22px}}
@media(prefers-reduced-motion:reduce){#fm-point-background,#fm-face{transition:none}}
@media(max-width:600px){
  .site{padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .top{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));font-size:9px}
  .hero{height:calc(100svh - 32px);min-height:calc(100svh - 32px);padding-bottom:56px}
  .name{font-size:clamp(40px,14.5vw,64px);line-height:.85;max-width:100%}
  .scroll-cue{bottom:12px;font-size:10px}
  .nav{min-height:80svh;padding:12svh 0}
  .nav-title{font-size:clamp(28px,9.4vw,44px);overflow-wrap:normal}
  #fm-camera-choice{width:calc(100% - 32px);max-height:calc(100svh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:22px}
  .fm-camera-actions{gap:14px}
  .fm-camera-actions button{min-height:48px}
}
@media(max-width:360px){.fm-camera-actions{flex-direction:column;gap:8px}.fm-camera-actions button{flex:auto;width:100%}}
