@import url('/fonts.css');
:root{color-scheme:dark;--bg:#0b1b17;--panel:#12261f;--line:#b69a6033;--gold:#dbc18c;--text:#f2ecdd;--muted:#a7b2a5;--red:#f2a29d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.grain{pointer-events:none;position:fixed;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{color:var(--text);text-decoration:none;font-size:24px;letter-spacing:5px;font-weight:650;line-height:1.1}.brand span{display:block;font-size:8px;letter-spacing:5.6px;color:var(--gold);margin-top:8px}.edition,.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.guest{display:grid;grid-template-columns:1fr 1fr;max-width:1400px;margin:auto;min-height:calc(100svh - 98px)}.intro{padding:70px 6vw 55px;align-self:center}.eyebrow{display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';height:1px;width:32px;background:var(--gold)}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(52px,5.6vw,84px);line-height:1.03;letter-spacing:-2px;margin:28px 0}h1 em{color:var(--gold);font-weight:400}p{color:var(--muted);max-width:440px}h2{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.2;margin:0 0 18px}h3{font-size:15px;font-weight:550;margin:0 0 14px}.stage{position:relative;overflow:hidden;background:#233229;min-height:600px}.stage img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;position:absolute}.stage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07130ed9,transparent 45%)}.stage-caption{position:absolute;bottom:35px;left:35px;z-index:1;font-family:Georgia,serif;font-size:22px}.stage-caption span{display:block;font:10px -apple-system,sans-serif;letter-spacing:2px;color:var(--gold);margin-top:12px}button,.button{border:0;min-height:52px;padding:15px 22px;border-radius:4px;font:600 14px -apple-system,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#102018;background:var(--gold);text-decoration:none;transition:background .2s,transform .2s}button:hover,.button:hover{background:#efdaa9}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.secondary:hover{background:#ffffff0d}.danger{background:#512725;color:#ffd2c8}.wide{width:100%}.upload{margin:35px 0 20px;max-width:405px}.consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;color:var(--muted);margin:20px 0}input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px;flex-shrink:0}small{display:block;font-size:11px;color:var(--muted);margin-top:12px}.steps{border-top:1px solid var(--line);display:flex;gap:20px;padding-top:22px;margin-top:28px;font-size:11px;color:var(--muted)}.steps b{display:block;color:var(--gold);font-size:11px;font-weight:500;margin-bottom:4px}.preview{width:100%;max-height:260px;object-fit:contain;background:#06120e;border:1px solid var(--line);border-radius:4px;margin-bottom:16px}.hidden{display:none!important}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{flex:1}.error{color:var(--red);font-size:14px;margin:14px 0}.status-pill{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:7px 12px;color:var(--gold);display:inline-block;letter-spacing:1px;margin:16px 0}.login{max-width:480px;margin:10vh auto;padding:30px}.login p{font-size:14px}input,select{width:100%;background:#081610;border:1px solid #c8b37840;color:var(--text);border-radius:4px;padding:14px;font:16px -apple-system,sans-serif;min-height:50px}label.field{display:block;font-size:12px;color:var(--muted);margin:18px 0 6px}label.field input,label.field select{margin-top:6px}input[type=range]{padding:0;accent-color:var(--gold)}.dashboard{max-width:1260px;margin:auto;padding:40px 30px}.dashboard-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-title p{margin:3px 0;font-size:13px}nav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:26px}nav button{background:transparent;color:var(--muted);white-space:nowrap;min-height:44px;padding:10px 18px}nav button.active{color:var(--gold);background:#dbc18c13}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:#10231c;padding:24px;border-radius:6px}.card p{font-size:13px}.span2{grid-column:span 2}.span3{grid-column:span 3}.metric{font-family:Georgia,serif;font-size:46px;line-height:1.2;color:var(--gold)}.metric small{font:12px -apple-system,sans-serif}.controls{display:grid;gap:12px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.control-row button{min-height:42px;min-width:100px;padding:9px 16px}.connected{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:8px;background:#acba9a}.offline{background:#d88c78}.notice{background:#dbc18c0c;border-left:2px solid var(--gold);padding:14px 18px;color:var(--muted);font-size:13px;margin:20px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photo-item{border:1px solid var(--line);border-radius:4px;padding:14px;overflow:hidden}.photo-item img{width:100%;height:200px;object-fit:contain;background:#06120e}.photo-item code{font-size:10px;word-break:break-all;color:var(--muted)}.photo-item .row{margin-top:14px}.photo-item button{padding:12px;font-size:12px}.photo-item .status-pill{margin:8px 0}.diagnostic{background:#06120e;border:1px solid var(--line);border-radius:4px;width:100%;height:280px}.qr{width:140px;background:white;border-radius:4px}.mono{font:12px/1.7 ui-monospace,monospace;word-break:break-word;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:14px 22px;border:1px solid var(--line);background:#1b3528;box-shadow:0 10px 40px #0008;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;max-width:90vw}#toast.show{opacity:1}progress{width:100%;height:8px;accent-color:var(--gold);margin:14px 0}.footer-note{font-size:10px;letter-spacing:1px;color:#87978a;margin-top:36px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:800px){header{height:78px;padding:0 22px}.edition{font-size:8px;letter-spacing:1px}.brand{font-size:20px}.guest{display:flex;flex-direction:column-reverse;min-height:0}.stage{min-height:310px;height:310px}.stage img{object-position:50% 44%}.stage-caption{font-size:18px;bottom:22px;left:24px}.stage-caption span{font-size:8px}.intro{padding:35px 25px 45px;width:100%}h1{font-size:54px;margin:20px 0}.intro p{font-size:14px}.upload{max-width:none;margin-top:24px}.steps{gap:15px;font-size:10px}.dashboard{padding:28px 18px}.grid{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}.span2{grid-column:span 2}.card{padding:19px}.photo-grid{grid-template-columns:1fr 1fr}.login{padding:24px}.dashboard-title h2{font-size:28px}.dashboard-title .status-pill{font-size:9px}nav button{padding:9px 13px}.photo-item .row{display:grid}}@media(max-width:450px){.grid,.photo-grid{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.stage{height:265px;min-height:265px}.metric{font-size:38px}}
