@font-face{font-family:FS Pixel Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./FSPixelSansUnicode-Regular-D9-dh-Uo.ttf) format("truetype")}:root{--pixel-bg: #1f1a24;--loader-frame-size: 48px;--loader-frame-count: 8;--loader-scale: 3;--loader-cycle-duration: 1.2s;--loader-caption-font-size: 18px;--loader-caption-gap: 56px;--pixel-surface: rgba(0, 0, 0, .25);--pixel-surface-soft: rgba(255, 245, 235, .05);--pixel-surface-soft-hover: rgba(255, 245, 235, .08);--pixel-border: #5a4a6a;--pixel-border-light: #7a6a8a;--pixel-border-soft: rgba(255, 245, 235, .12);--pixel-accent: #e8a84c;--pixel-accent-dim: rgba(232, 168, 76, .45);--pixel-green: #7bc88c;--pixel-shadow: 2px 2px 0px #0a0812;--pixel-font: "FS Pixel Sans", sans-serif;--pixel-text: rgba(255, 245, 235, .9);--pixel-text-dim: rgba(255, 245, 235, .7);--pixel-text-hint: rgba(255, 245, 235, .65);--pixel-btn-bg: rgba(255, 245, 235, .08);--pixel-btn-hover-bg: rgba(255, 245, 235, .15);--pixel-btn-disabled-opacity: .35;--pixel-active-bg: rgba(232, 168, 76, .25);--pixel-agent-bg: rgba(123, 200, 140, .15);--pixel-agent-hover-bg: rgba(123, 200, 140, .3);--pixel-agent-border: #7bc88c;--pixel-agent-text: rgba(200, 255, 220, .95);--pixel-close-text: rgba(255, 245, 235, .75);--pixel-close-hover: #d44;--pixel-hint-bg: #c87a4a;--pixel-reset-text: #ecc;--pixel-danger-bg: #a33;--pixel-error: rgba(255, 100, 100, .8);--pixel-vignette: radial-gradient(ellipse at center, transparent 50%, rgba(10, 4, 0, .6) 100%);--pixel-status-permission: #e8503a;--pixel-status-permission-bg: rgba(232, 80, 58, .12);--pixel-status-active: #e8a84c;--pixel-kiosk-panel-bg: rgba(20, 14, 24, .8);--pixel-kiosk-blur: blur(4px);--pixel-modal-backdrop: rgba(0, 0, 0, .65);--pixel-modal-w-sm: 480px;--pixel-modal-w-md: 700px;--pixel-modal-w-lg: 900px;--pixel-modal-backdrop-z: 49;--pixel-modal-z: 50;--pixel-modal-nested-backdrop-z: 51;--pixel-modal-nested-z: 52;--pixel-controls-z: 50;--pixel-overlay-z: 100;--pixel-overlay-selected-z: 110}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;font-family:FS Pixel Sans,sans-serif;background:var(--pixel-bg)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:1px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:var(--pixel-border);border:1px solid rgba(0,0,0,.3)}::-webkit-scrollbar-thumb:hover{background:var(--pixel-border-light)}.pixel-btn{font-family:FS Pixel Sans,sans-serif;background:transparent;border:2px solid transparent;color:var(--pixel-text-dim);cursor:pointer;transition:background 80ms steps(2,end),color 80ms steps(2,end),border-color 80ms steps(2,end);image-rendering:pixelated}.pixel-btn:hover{background:var(--pixel-btn-hover-bg);color:var(--pixel-text)}.pixel-btn:active:not(:disabled){background:var(--pixel-btn-bg);transform:translate(1px,1px)}.pixel-btn-active,.pixel-btn.active{background:var(--pixel-active-bg);border-color:var(--pixel-accent);color:var(--pixel-text)}.pixel-btn-primary{color:#7bc88c;border-color:#7bc88c4d}.pixel-btn-primary:hover{background:#7bc88c26;border-color:#7bc88c80}.pixel-btn-danger:hover{background:#ff555526;color:#f55}.pixel-close-btn{font-family:FS Pixel Sans,sans-serif;color:var(--pixel-close-text);background:transparent;border:none;cursor:pointer;min-width:44px;min-height:44px;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.pixel-close-btn:hover{color:var(--pixel-close-hover);background:var(--pixel-btn-hover-bg)}.pixel-close-btn:active{background:var(--pixel-btn-bg);transform:translate(1px,1px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--pixel-border);flex-shrink:0;min-height:44px;gap:8px}.modal-header__title{font-size:24px;color:var(--pixel-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pixel-input{font-family:FS Pixel Sans,sans-serif;width:100%;padding:8px 10px;font-size:20px;color:var(--pixel-text);background:#0000004d;border:2px solid var(--pixel-border);border-radius:0;box-sizing:border-box}.pixel-input:hover:not(:disabled){border-color:var(--pixel-border-light)}.pixel-input:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:1px}button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:var(--pixel-btn-disabled-opacity)}button[aria-busy=true]{cursor:progress}@keyframes pixel-fade-in{0%{opacity:0}to{opacity:1}}.pixel-fade-in{animation:pixel-fade-in .14s ease-out}@keyframes pixel-modal-rise{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.pixel-modal-rise{animation:pixel-modal-rise .16s ease-out}@keyframes pixel-loader-pulse{0%,to{opacity:.45;transform:scale(var(--loader-scale))}50%{opacity:1;transform:scale(calc(var(--loader-scale) * 1.12))}}.pixel-loader-coffee{width:var(--loader-frame-size);height:var(--loader-frame-size);box-sizing:border-box;border:6px solid var(--pixel-border);border-top-color:var(--pixel-accent);border-right-color:var(--pixel-green);background:var(--pixel-surface);image-rendering:pixelated;transform:scale(var(--loader-scale));animation:pixel-loader-pulse var(--loader-cycle-duration) steps(2,end) infinite}.pixel-loader-caption{margin-top:var(--loader-caption-gap);font-size:var(--loader-caption-font-size);color:var(--pixel-text-dim);letter-spacing:1px}.pixel-loader-caption:after{content:"...";display:inline-block;width:3ch;text-align:left;animation:pixel-loader-dots var(--loader-cycle-duration) steps(1) infinite}@keyframes pixel-loader-dots{0%{content:"."}33%{content:".."}66%{content:"..."}}.gallery-card{transition:border-color 80ms steps(2,end),background 80ms steps(2,end)}.gallery-card:hover{border-color:var(--pixel-accent)}.pixel-menu-item:hover{background:#fff5eb14}.pixel-zoom-btn:hover:not(:disabled){background:var(--pixel-btn-hover-bg)}.pixel-zoom-btn:active:not(:disabled){background:var(--pixel-btn-bg);transform:translate(1px,1px)}.pixel-share-btn:hover{background:var(--pixel-agent-hover-bg);color:var(--pixel-agent-text)}.pixel-hemisphere-btn:hover{border-color:var(--pixel-border-light)!important}.pixel-settings-select:hover{border-color:var(--pixel-border-light)}@media(prefers-reduced-motion:reduce){.pixel-agents-pulse{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
