:root{--bg:#111;--ink:#f2efe8;--soft:#bdb9b0;--muted:#9a968e;--rule:#2c2c2c;--red:#d8302a;--red-hi:#e8443e;--panel:#1a1a1a;--mono:"Martian Mono", ui-monospace, monospace;--sans:"Archivo", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body.sheet-open{overflow:hidden}a{color:#ff6b5e}a:hover{color:#ff9488}img{display:block}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--red-hi);outline-offset:2px}#app{background:var(--bg);max-width:560px;min-height:100vh;margin:0 auto}@media (width>=600px){body{background:#0a0a0a}body:not([data-page=admin]):before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0a0a0a73,#0a0a0a99),#0a0a0a url(/backdrop.jpg) top/cover no-repeat;position:fixed;inset:0}#app{border-inline:1px solid var(--rule);position:relative;box-shadow:0 0 60px #0009}}.mono{font-family:var(--mono);letter-spacing:.06em;font-size:11px}.headline,.hero h1,.featured-title,.stop-title,.op-title,.wall-head h2,.sheet h2,.upload h1,.missing h1{text-transform:uppercase;letter-spacing:-.01em;margin:0;font-weight:900;font-stretch:62%}.square{width:44px;height:44px;color:var(--ink);background:0 0;border:1px solid #3a3a3a;border-radius:0;flex:none;justify-content:center;align-items:center;display:flex}.square:hover{color:var(--ink);border-color:var(--ink)}.topbar{background:var(--red);height:8px}.head{align-items:center;gap:12px;padding:14px 16px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand img{border-radius:6px;width:36px;height:36px}.brand span{font:600 13px var(--mono);letter-spacing:.04em}.hero{border-bottom:1px solid var(--rule);padding:18px 16px 24px}.hero h1{font-size:clamp(60px,19vw,88px);line-height:.86}.hero h1 em{color:var(--red);font-style:normal}.hero p{color:var(--soft);max-width:30em;margin:14px 0 0}.featured{height:260px;color:var(--ink);background:var(--panel);text-decoration:none;display:block;position:relative;overflow:hidden}.featured:hover{color:var(--ink)}.featured img{object-fit:cover;object-position:center 25%;width:100%;height:100%;transition:transform .4s}.featured:hover img{transform:scale(1.03)}.featured:after{content:"";background:linear-gradient(#0000 35%,#111111f2);position:absolute;inset:0}.featured-text{z-index:1;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.featured-text .mono{color:#d8d4cb}.featured-title{font-size:48px;line-height:.9}.chip-ar{background:var(--red);color:#fff;flex:none;align-items:center;gap:6px;height:44px;padding:0 14px;font-size:15px;font-weight:800;display:flex}.stops{padding:18px 16px 8px}.stops-head{color:var(--muted);justify-content:space-between;padding-bottom:10px;display:flex}.filters{flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.filters button{min-height:36px;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #3a3a3a;padding:0 12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.stop-list{margin:0;padding:0;list-style:none}.stop-list a{border-top:1px solid var(--rule);color:var(--ink);grid-template-columns:30px 64px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid}.stop-list li:last-child a{border-bottom:1px solid var(--rule)}.stop-list a:hover{color:var(--ink);background:#161616}.stop-list .num{color:var(--red);font-size:12px}.thumb{background:#1f1f1f;width:64px;height:64px;overflow:hidden}.thumb img{object-fit:cover;width:64px;height:64px}.stop-text{flex-direction:column;gap:3px;min-width:0;display:flex}.stop-title{font-size:26px;line-height:.95}.where{color:var(--muted);font-size:10px}.more{color:var(--muted);margin:0;padding:16px 0 8px}.foot{color:var(--muted);border-top:1px solid var(--rule);align-items:center;gap:10px;margin-top:16px;padding:24px 16px 32px;font-size:10px;display:flex}.foot img{border-radius:4px}.op{padding-bottom:150px}.op-hero{background:radial-gradient(at 50% 70%,#2a2a2a,#111 70%);height:min(72vh,520px);min-height:400px;position:relative;overflow:hidden}.stage{touch-action:pan-y;position:absolute;inset:0}.stage .poster{object-fit:cover;object-position:center 30%;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.stage.ready .poster{opacity:0;pointer-events:none}.stage-canvas{opacity:0;transition:opacity .6s;position:absolute;inset:0;width:100%!important;height:100%!important}.stage.ready .stage-canvas{opacity:1}.stage .loading{color:var(--soft);white-space:nowrap;background:#111111bf;padding:6px 8px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.op-shade{pointer-events:none;background:linear-gradient(#1111118c, transparent 22%, transparent 62%, var(--bg));position:absolute;inset:0}.op-top{padding:max(14px, env(safe-area-inset-top)) 16px 14px;border-top:8px solid var(--red);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.op-top .square{background:#11111159;border-color:#f2efe880}.op-top .tag{background:#111111bf;padding:6px 8px}.op-title{pointer-events:none;text-wrap:balance;font-size:clamp(64px,23vw,104px);line-height:.82;position:absolute;bottom:0;left:16px;right:16px}.op-body{flex-direction:column;gap:18px;padding:14px 16px 0;display:flex}.meta{color:var(--muted);line-height:1.7}.desc{color:var(--soft);margin:0}.steps{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--rule);grid-template-columns:54px minmax(0,1fr);align-items:center;padding:12px 0;font-size:17px;font-weight:700;display:grid}.steps .num,.sheet-steps .num{color:var(--red);font-size:13px}.wall-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wall-head h2{font-size:36px;line-height:1}.wall-head .mono{color:var(--muted)}.wall{scroll-snap-type:x mandatory;gap:8px;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.wall figure{scroll-snap-align:start;flex:0 0 140px;margin:0}.wall figure img{object-fit:cover;background:#1c1c1c;width:140px;height:186px}.wall figcaption{color:var(--muted);padding-top:6px;font-size:10px}.wall-empty{color:var(--ink);border:1px dashed #444;flex-direction:column;flex:1;gap:8px;margin-right:16px;padding:22px 18px;text-decoration:none;display:flex}.wall-empty>span:first-child{text-transform:uppercase;font-size:26px;font-weight:900;font-stretch:62%;line-height:1}.wall-empty .mono{color:var(--muted);align-items:center;gap:6px;display:flex}.wall-empty:hover{color:var(--ink);border-color:var(--ink)}.ar-bar{z-index:20;max-width:560px;padding:24px 16px max(18px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 32%);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.ar-bar[hidden]{display:none}.ar-go{background:var(--red);color:#fff;text-align:left;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex;box-shadow:0 8px 30px #d8302a59}.ar-go:hover{background:var(--red-hi)}.ar-go:active{transform:translateY(1px)}.ar-go-text{flex-direction:column;gap:3px;min-width:0;display:flex}.ar-go-title{text-transform:uppercase;font-size:27px;font-weight:900;font-stretch:75%;line-height:1}.ar-go-sub{font-size:13px;font-weight:500}.ar-go svg{flex:none}.upload-link{text-align:center;color:var(--ink);padding-top:12px;text-decoration:none;display:block}.upload-link:hover{color:#ff9488}.sheet-back{z-index:50;background:#000000b3;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-top:8px solid var(--red);width:100%;max-width:560px;max-height:92vh;padding:22px 16px max(22px, env(safe-area-inset-bottom));animation:.25s ease-out rise;position:relative;overflow-y:auto}@media (width>=600px){.sheet-back{align-items:center}.sheet{max-width:460px}}.sheet-close{position:absolute;top:12px;right:12px}.sheet-kicker{color:var(--muted);padding-right:56px}.sheet h2{margin:8px 56px 18px 0;font-size:46px;line-height:.9}.sheet h2:focus{outline:none}.sheet-steps{border-top:1px solid var(--rule);margin:0 0 20px;padding:0;list-style:none}.sheet-steps li{border-bottom:1px solid var(--rule);grid-template-columns:46px minmax(0,1fr);padding:14px 0;display:grid}.sheet-steps strong{font-size:18px;display:block}.sheet-steps li span span{color:var(--soft);font-size:15px}.big-red,.big-line{background:var(--red);color:#fff;text-transform:uppercase;border:0;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;font-size:20px;font-weight:900;font-stretch:75%;text-decoration:none;display:flex}.big-red:hover{background:var(--red-hi);color:#fff}.big-red:disabled{opacity:.5}.big-line{border:2px solid var(--ink);color:var(--ink);background:0 0}.skip{color:var(--soft);justify-content:center;align-items:center;gap:8px;padding-top:14px;font-size:14px;display:flex}.skip input,.consent input{width:20px;height:20px;accent-color:var(--red)}.qr{background:#fff;width:min(260px,70vw);margin:0 auto 16px;padding:14px}.qr svg{width:100%;height:auto;display:block}.sheet-note{color:var(--soft);margin:0 0 12px;font-size:15px}.sheet-url{color:var(--muted);text-align:center}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.upload{flex-direction:column;gap:14px;padding:8px 16px 40px;display:flex}.upload .kicker{color:var(--muted)}.upload h1{font-size:clamp(52px,16vw,76px);line-height:.86}.pick{background:var(--panel);cursor:pointer;border:2px dashed #444;display:block;position:relative}.pick:hover{border-color:var(--ink)}.pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.pick-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;padding:24px;display:flex}.pick-empty[hidden]{display:none}.pick-empty strong{text-transform:uppercase;font-size:30px;font-weight:900;font-stretch:62%}.pick-empty .mono{color:var(--muted)}.pick-preview{width:100%;height:auto;display:block}.pick-preview[hidden]{display:none}.hint{color:var(--muted);margin:0}.upload-form{flex-direction:column;gap:14px;display:flex}.upload-form[hidden]{display:none}.field{flex-direction:column;gap:6px;display:flex}.field .mono{color:var(--muted)}.field input{background:var(--panel);min-height:48px;color:var(--ink);font:16px var(--sans);border:1px solid #3a3a3a;border-radius:0;padding:0 12px}.consent{color:var(--soft);align-items:flex-start;gap:10px;font-size:15px;display:flex}.status{color:var(--ink);min-height:1.5em;margin:0}.missing{flex-direction:column;gap:16px;padding:24px 16px 60px;display:flex}.missing h1{font-size:72px;line-height:.86}.missing p{color:var(--soft);margin:0}#ar-overlay{z-index:100;padding:max(12px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));color:#fff;font:15px/1.4 var(--sans);pointer-events:auto;touch-action:none;flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}#ar-overlay[hidden]{display:none}#ar-overlay .ar-top{justify-content:space-between;align-items:center;gap:12px;display:flex}#ar-overlay .ar-title{text-transform:uppercase;text-shadow:0 1px 4px #000c;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:900;font-stretch:75%;overflow:hidden}#ar-overlay .ar-exit{color:#fff;background:#111111bf;border:0;flex:none;width:44px;height:44px;font-size:18px}#ar-overlay .ar-hint{text-align:center;background:#111111bf;align-self:center;max-width:30em;margin:auto 0 12px;padding:8px 14px}#ar-overlay .ar-bottom{justify-content:center;gap:12px;display:flex}#ar-overlay .ar-bottom button{text-transform:uppercase;color:#fff;background:#111c;border:0;min-height:52px;padding:0 24px;font-size:18px;font-weight:900;font-stretch:75%}#ar-overlay .ar-bottom .primary{background:var(--red)}#ar-overlay .ar-bottom button:disabled{opacity:.45}#ar-overlay .ar-bottom button[hidden]{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}body[data-page=admin] #app{max-width:none}.admin{max-width:1100px;margin:0 auto;padding:8px 16px 64px}.admin h1{text-transform:uppercase;margin:16px 0;font-size:44px;font-weight:900;font-stretch:62%;line-height:1}.admin h2{text-transform:uppercase;border-top:2px solid var(--rule);margin:32px 0 12px;padding-top:16px;font-size:28px;font-weight:900;font-stretch:62%}.admin h3{margin:20px 0 8px;font-size:20px}.admin h2 .mono,.admin h3 .mono{color:var(--red);font-size:.7em}.admin .muted{color:var(--muted)}.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-out{border:1px solid var(--rule);color:var(--soft);background:0 0;padding:8px 12px;font-size:11px}.admin-login{gap:16px;max-width:420px;display:grid}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.admin-grid.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.admin-card{background:var(--panel);align-content:start;gap:10px;padding:10px;display:grid}.admin-card img{aspect-ratio:3/4;object-fit:cover;background:#222;width:100%}.admin-card .mono{color:var(--soft);word-break:break-word;font-size:10px}.admin-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-card .big-red,.admin-card .big-line{min-height:44px;font-size:16px}.admin-card.confirm .reject,.admin-card.confirm .remove{border-color:var(--red);color:var(--red-hi)}
