:root{--bg: #16151a;--panel: #1f1e24;--line: #322f3a;--cream: #efeae0;--muted: #9c98a3;--faint: #6a6772;--ok: #7bd6a0;--serif: Georgia, "Iowan Old Style", "Times New Roman", serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:var(--sans);overscroll-behavior:none;-webkit-font-smoothing:antialiased}h1{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.1;letter-spacing:-.01em;margin:0 0 12px}h2{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.01em;margin:0}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}.muted{color:var(--muted);line-height:1.65}.error{color:#e79a9a;font-size:13px;margin-top:12px;font-family:var(--mono)}.pad{padding:0 20px}code{font-family:var(--mono);background:var(--panel);padding:2px 7px;border-radius:5px;font-size:13px}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px}.screen p{max-width:330px}.star{font-size:26px;color:var(--cream);margin-bottom:18px;opacity:.9}.input{margin-top:24px;width:100%;max-width:320px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--cream);font-size:16px;text-align:center;font-family:var(--sans)}.input::placeholder{color:var(--faint)}.btn{margin-top:20px;width:100%;max-width:320px;padding:15px 30px;border-radius:999px;background:var(--cream);color:var(--bg);border:none;font-size:15px;font-weight:600;letter-spacing:.01em;transition:transform .08s,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.35}.consent{display:flex;align-items:flex-start;gap:10px;max-width:330px;margin-top:26px;text-align:left;font-size:12.5px;line-height:1.55;color:var(--muted)}.consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--cream);flex-shrink:0}.consent a{color:var(--cream);text-decoration:underline;text-underline-offset:2px}.footer{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.footer a{color:var(--faint);text-decoration:none;margin:0 7px}.footer a:active{color:var(--cream)}.cam{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.stage{position:relative;flex:1;overflow:hidden;background:#000}.stage video{width:100%;height:100%;object-fit:cover}.grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 120px #00000073}.counter{position:absolute;top:calc(16px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#00000080;padding:8px 16px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}.counter b{font-size:13px}.camoverlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:#000000b8;z-index:2}.bar{display:flex;align-items:center;justify-content:space-between;padding:22px 30px calc(22px + env(safe-area-inset-bottom));background:var(--bg)}.thumb{width:52px;height:52px;border-radius:11px;background:var(--panel);border:1px solid var(--line);overflow:hidden;color:var(--faint);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.thumb img{width:100%;height:100%;object-fit:cover}.shutter{width:76px;height:76px;border-radius:50%;background:var(--cream);border:5px solid var(--bg);outline:2px solid var(--cream);transition:transform .08s}.shutter:active{transform:scale(.9)}.shutter:disabled{opacity:.3}.hint{width:52px;text-align:right;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.page{min-height:100vh;padding-bottom:48px}.topbar{display:flex;align-items:baseline;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 20px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}.topbar .muted{font-family:var(--mono);font-size:11px;letter-spacing:.08em}.link{background:none;border:none;color:var(--cream);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--faint);padding:0 0 1px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;flex-wrap:wrap}.toolbar .muted{font-family:var(--mono);font-size:11px;letter-spacing:.06em}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:10px 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--cream);font-size:12px;font-weight:600;letter-spacing:.02em}.btn-sm.primary{background:var(--cream);color:var(--bg);border-color:var(--cream)}.btn-sm:disabled{opacity:.35}.pill{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.pill-active{color:var(--ok);border-color:#7bd6a066}.pill-published{color:var(--bg);background:var(--cream);border-color:var(--cream)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px}.cell{position:relative;aspect-ratio:1;background:var(--panel);border:none;padding:0;overflow:hidden}.cell img{width:100%;height:100%;object-fit:cover;display:block}.badge{position:absolute;bottom:6px;left:6px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#0009;padding:3px 6px;border-radius:5px}.selectable .check{position:absolute;top:7px;right:7px;width:22px;height:22px;border-radius:50%;border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--bg)}.selectable.on .check{background:var(--cream);border-color:var(--cream)}.selectable:not(.on) img{opacity:.5}.who{position:absolute;bottom:5px;left:5px;font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:#fff;background:#0000008c;padding:2px 5px;border-radius:4px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0b0b0d}.lightbox-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.lightbox-track::-webkit-scrollbar{display:none}.lightbox-slide{min-width:100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.lightbox-slide img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 18px 22px;background:linear-gradient(rgba(0,0,0,.55),transparent)}.lb-count{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--cream)}.lb-close{background:#0006;border:none;color:var(--cream);width:34px;height:34px;border-radius:50%;font-size:14px}.legal{max-width:640px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top)) 22px 60px;line-height:1.7}.legal h1{font-size:26px}.legal h3{font-family:var(--serif);font-weight:500;font-size:16px;margin:28px 0 6px}.legal p,.legal li{color:var(--muted);font-size:14px}.legal a{color:var(--cream)}.legal .stand{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:34px}.legal .back{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--faint);text-decoration:none;display:inline-block;margin-bottom:22px}
