.viewer-startup{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;border:0;padding:clamp(10px,2.5vw,32px);background:radial-gradient(ellipse at 20% 15%,#50562b44,transparent 55%),#10110ff0;color:var(--prostor-text);font:15px/1.5 system-ui,sans-serif;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.viewer-startup::backdrop{background:#11130f}
.viewer-startup[data-stage=instructions]{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.viewer-startup[open]{display:flex;flex-direction:column;align-items:center}
.viewer-startup *{box-sizing:border-box}
.viewer-startup-card{display:flex;flex-direction:column;flex-shrink:0;width:min(900px,100%);min-height:0;margin-block:auto;border:1px solid #ffffff26;border-radius:26px;padding:clamp(18px,2.5vw,24px);background:linear-gradient(135deg,#303321e8,#1b1d17f5 65%);box-shadow:0 24px 80px #0006;overflow:hidden}
.viewer-startup-brand{color:var(--prostor-accent-hover);font-size:10px;letter-spacing:.2em;font-weight:750;margin:0 0 12px}
.viewer-startup h1{flex-shrink:0;font-size:clamp(27px,3.8vw,36px);letter-spacing:-.025em;line-height:1.15;margin:0 0 5px}
.viewer-guide-device{flex-shrink:0;color:#deded0;font-size:17px;margin:0 0 18px}
.viewer-startup-body{flex-shrink:0}
.viewer-startup-instructions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.viewer-guide-tile{min-width:0;overflow:hidden;border:1px solid #ffffff17;border-radius:17px;background:#ffffff04}
.viewer-guide-label{display:flex;align-items:center;gap:11px;padding:16px 16px 12px}
.viewer-guide-label h2{font-size:21px;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}
.viewer-guide-label p{font-size:12px;line-height:1.45;color:#c1c3b3;margin:0}
.viewer-guide-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--prostor-accent-hover)}
.viewer-guide-icon svg{display:block;width:23px;height:23px}
.viewer-guide-label>.viewer-guide-icon{display:none}
.viewer-guide-demo{display:block;width:calc(100% - 24px);height:clamp(110px,18vh,170px);object-fit:contain;margin:0 12px 12px;border-radius:12px;background:#24271c;pointer-events:none}
.viewer-guide-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #ffffff12;border-radius:12px;margin:0 12px 12px;padding:10px 8px;font-size:11px;line-height:1.4;color:#e0e1d4}
.viewer-guide-legend>span{display:flex;align-items:center;gap:6px}
.viewer-guide-legend>span+span{border-left:1px solid #ffffff20;padding-left:8px}
.viewer-guide-legend svg{width:18px;height:22px}
.viewer-guide-static{display:grid;place-items:center;min-height:150px;background:radial-gradient(ellipse,var(--prostor-accent-soft),transparent 70%)}
.viewer-guide-static svg{width:72px;height:72px}
.viewer-guide-mode{color:var(--prostor-muted);font-size:11px;margin:10px 0}
.viewer-startup-loading{border-top:1px solid #ffffff15;padding-top:10px}
.viewer-startup-loading h2{font-size:13px;color:#dce0c7;margin:0 0 3px;font-weight:600}
.viewer-startup-loading p[role=status]{font-size:12px;color:#b9beaa;margin:0 0 4px;overflow-wrap:anywhere}
.viewer-startup progress{display:block;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--prostor-accent);margin:8px 0;background:#ffffff12}
.viewer-startup progress::-webkit-progress-bar{background:#ffffff12;border-radius:99px}
.viewer-startup progress::-webkit-progress-value{background:var(--prostor-accent);border-radius:99px}
.viewer-startup progress::-moz-progress-bar{background:var(--prostor-accent);border-radius:99px}
.viewer-startup-phases{display:flex;flex-wrap:wrap;gap:3px 12px;list-style:none;padding:0;margin:7px 0 0;color:#aeb59b;font-size:10px;line-height:1.4}
.viewer-startup .viewer-startup-phases:not([data-errors=true]){display:none}
.viewer-guide-footer{position:fixed;z-index:1;left:0;right:0;bottom:0;text-align:center;padding:12px max(24px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:linear-gradient(transparent,#171a12 18px)}
.viewer-startup button{border:1px solid #59613a;border-radius:12px;background:#2d3322;color:#fff;padding:12px 18px;cursor:pointer;text-align:center;font:600 15px/1.3 system-ui,sans-serif;min-height:44px}
.viewer-startup button:hover{background:#394429}
.viewer-startup button:focus-visible{outline:3px solid var(--prostor-focus);outline-offset:3px}
.viewer-startup .viewer-guide-confirm{display:flex;align-items:center;justify-content:center;gap:10px;width:min(360px,100%);margin:auto;background:var(--prostor-accent);border-color:var(--prostor-accent);color:var(--prostor-on-accent);box-shadow:0 0 20px var(--prostor-accent-soft);font-size:17px}
.viewer-startup .viewer-guide-confirm:hover{background:var(--prostor-accent-hover)}
.viewer-startup-warning{color:#e9d99a;font-size:12px;margin:6px 0}
.viewer-startup-warning:empty{display:none}
.viewer-startup [hidden]{display:none!important}
.viewer-startup-reload{margin-top:8px}
.viewer-startup[data-stage=quality] .viewer-startup-card{width:min(520px,100%)}
.viewer-guide-spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:viewer-guide-spin .8s linear infinite;flex-shrink:0}
@keyframes viewer-guide-spin{to{transform:rotate(360deg)}}
.viewer-quality-intro{color:var(--prostor-muted);margin:14px 0 20px;font-size:14px}
.viewer-quality-choices{display:grid;gap:12px}
.viewer-quality-vpn-note{margin:18px 0 0;color:var(--prostor-muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.viewer-startup .viewer-quality-choice{display:flex;align-items:center;gap:18px;padding:22px;text-align:left;border:1px solid #ffffff26;border-radius:17px;background:#ffffff05}
.viewer-startup .viewer-quality-choice:hover{border-color:var(--prostor-accent);background:var(--prostor-accent-soft)}
.viewer-quality-choice>.viewer-guide-icon svg{width:34px;height:34px}
.viewer-quality-choice strong{display:block;font-size:23px;line-height:1.2;margin-bottom:7px;color:var(--prostor-text)}
.viewer-quality-choice strong+span{display:block;color:var(--prostor-muted);font-size:13px;line-height:1.5}
.viewer-startup button:disabled{cursor:wait;opacity:.55}
.viewer-startup .viewer-guide-confirm:disabled{background:#353b27;border-color:#59613a;color:#bdc6a6;box-shadow:none;opacity:1}
#viewer-startup-placeholder{position:fixed;inset:0;z-index:100;background:#11130f;color:#e2e8ca;display:grid;place-content:center;gap:16px;padding:24px;font:16px system-ui;text-align:center}
#viewer-startup-placeholder progress{width:min(320px,80vw);accent-color:var(--prostor-accent)}
.viewer-startup-instructions[data-touch=true]{grid-template-columns:1fr}
.viewer-startup:has(.viewer-startup-instructions[data-touch=true]) .viewer-startup-card{width:min(440px,100%)}
.viewer-startup:has(.viewer-startup-instructions[data-touch=true]) #viewer-startup-heading{margin-bottom:14px}
.viewer-startup-instructions[data-touch=true] .viewer-guide-label>.viewer-guide-icon{display:inline-flex;border:1px solid #c7d44733;background:#a9b5430d;border-radius:10px;width:36px;height:36px}
.viewer-startup-instructions[data-touch=true] .viewer-guide-label{padding:12px;gap:10px}
.viewer-startup-instructions[data-touch=true] .viewer-guide-label h2{font-size:18px;margin:0 0 2px}
.viewer-startup-instructions[data-touch=true] .viewer-guide-label p{min-height:0;font-size:12px}
.viewer-startup-instructions[data-touch=true] .viewer-guide-demo{height:clamp(140px,28dvh,248px);object-fit:cover;object-position:center 42%;margin:0;width:100%;border-radius:0}
.viewer-startup-instructions[data-touch=true] .viewer-guide-static{min-height:90px}
@media(max-width:640px){.viewer-startup-card{border-radius:22px;padding:18px 16px}.viewer-startup-brand{font-size:9px;letter-spacing:.17em;margin-bottom:10px}.viewer-guide-device{font-size:14px;margin-bottom:12px}.viewer-startup-instructions{gap:9px}.viewer-guide-mode{font-size:10px;margin:8px 0}.viewer-guide-footer{padding-top:10px}.viewer-startup-phases{gap:2px 8px}.viewer-startup .viewer-guide-confirm{width:100%}}
@media(max-height:600px){.viewer-startup{padding:10px}.viewer-startup-card{padding:18px}.viewer-startup-brand{margin-bottom:6px}.viewer-startup h1{font-size:27px}.viewer-guide-device{margin-bottom:12px}.viewer-guide-demo{height:130px}}
@media(prefers-reduced-motion:reduce){.viewer-startup *{scroll-behavior:auto}.viewer-guide-spinner{animation:none}}
.viewer-startup-notice{position:fixed;z-index:20;left:12px;right:12px;bottom:80px;max-width:620px;box-sizing:border-box;display:flex;align-items:center;gap:16px;border:1px solid var(--prostor-line);border-radius:16px;padding:16px;background:var(--prostor-panel);color:#fff;font:13px/1.5 system-ui,sans-serif}
.viewer-startup-notice button{min-height:44px;border:1px solid var(--prostor-line);border-radius:10px;background:var(--prostor-panel-raised);color:#fff;padding:8px 12px;cursor:pointer}
.viewer-startup-notice button:focus-visible{outline:3px solid var(--prostor-focus);outline-offset:3px}
/* Programmatic announcement focus is not an interactive control. */
.viewer-startup #viewer-startup-heading{outline:none;border:0;box-shadow:none}
