@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plexmono-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{--base: #08080A;--raised: #101014;--inset: #17171D;--lifted: #1E1E25;--line: rgba(255,255,255,.07);--line-strong: rgba(255,255,255,.13);--paint: #F4F5F8;--paint-dim: #9096A3;--signal: #FF2E45;--signal-deep: #B3121F;--platinum: #C9CEDA;--go: #3FBF77;--t-home: #C9CEDA;--t-meet: #FF2E45;--t-cars: #6FA8FF;--t-past: #A78BFA;--t-prof: #4FD1C5;--sans: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--base);color:var(--paint);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(125% 55% at 50% -8%,rgba(255,46,69,.13),transparent 62%),radial-gradient(90% 45% at 50% 104%,rgba(150,170,210,.05),transparent 70%)}#root{position:relative;z-index:1}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5rem;line-height:1.08}h1{font-size:clamp(1.7rem,6.5vw,2.3rem);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.015em}h2{font-size:1.15rem;font-weight:700;font-stretch:112%;letter-spacing:-.01em}h3{font-size:.95rem;font-weight:700;font-stretch:100%}p{margin:0 0 .75rem}small,.muted{color:var(--paint-dim);font-size:.84rem}label,.eyebrow,.cap,.stat span,.tabbar a,.chip,th,.adminnav a{font-stretch:75%;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.eyebrow{display:block;font-size:.66rem;color:var(--paint-dim);margin-bottom:.5rem}.mono,.stat b,.gesture,td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;padding:calc(var(--safe-top) + .8rem) 1rem .8rem;background:#08080ad1;backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.6rem}.topbar .brand{display:flex;align-items:baseline;gap:.5rem;cursor:pointer}.logo{display:block;width:auto;height:15px}.brand-sub{font-size:.6rem;font-weight:600;font-stretch:75%;letter-spacing:.28em;text-transform:uppercase;color:var(--paint-dim)}.brand-sub.accent{color:var(--signal)}.topbar .spacer{flex:1}.page{flex:1;padding:1.15rem 1rem calc(5.75rem + var(--safe-bottom));max-width:720px;width:100%;margin:0 auto}.page.wide{max-width:1100px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;padding:.3rem .25rem calc(.35rem + var(--safe-bottom));background:#101014e6;backdrop-filter:blur(20px) saturate(140%);border-top:1px solid var(--line)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem .2rem .35rem;font-size:.55rem;color:var(--paint-dim);position:relative}.tabbar a svg{width:21px;height:21px;color:var(--tab);opacity:.48;transition:opacity .18s}.tabbar a.active svg{opacity:1}.tabbar a.active{color:var(--paint)}.tabbar a.active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;border-radius:0 0 2px 2px;background:var(--tab)}.card{background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:.8rem;box-shadow:inset 0 1px #ffffff0b,0 1px 2px #00000080}.card.tight{padding:.8rem .9rem}.card.accent{border-color:#ff2e4559}.card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem}.card-head h2,.card-head h3{margin:0;flex:1}.panel{position:relative;overflow:hidden;background:linear-gradient(180deg,#1A1417 0%,var(--raised) 58%);border:1px solid var(--line-strong);border-top-color:#ff2e4573;border-radius:12px;padding:1.45rem 1.15rem 1.2rem;margin-bottom:.8rem;box-shadow:inset 0 1px #ffffff0f,0 10px 34px #0000008c}.panel:before{content:"";position:absolute;left:12%;right:12%;top:-120px;height:210px;background:radial-gradient(ellipse at 50% 100%,rgba(255,46,69,.2),transparent 72%);pointer-events:none}.panel>*{position:relative}.stack{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row.tight{gap:.35rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.spread{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.stat{background:var(--inset);border-radius:8px;padding:.65rem .75rem;border:1px solid var(--line);box-shadow:inset 0 1px #ffffff0a}.stat b{display:block;font-size:1.4rem;font-weight:500;letter-spacing:-.02em}.stat span{display:block;color:var(--paint-dim);font-size:.57rem;margin-top:.2rem}.chip{display:inline-flex;align-items:center;padding:.24rem .55rem .24rem .5rem;border-radius:5px;font-size:.6rem;background:var(--inset);color:var(--paint-dim);border:1px solid var(--line);border-left:3px solid var(--paint-dim);white-space:nowrap}.chip.ok{color:#9be3b4;border-color:#3fbf7747;border-left-color:var(--go);background:#3fbf7712}.chip.warn{color:#ffd08a;border-color:#ffb74d47;border-left-color:#ffb74d;background:#ffb74d12}.chip.bad{color:#ff97a3;border-color:#ff2e454d;border-left-color:var(--signal);background:#ff2e4514}.chip.info{color:var(--t-cars);border-color:#6fa8ff47;border-left-color:var(--t-cars);background:#6fa8ff12}label{display:block;font-size:.62rem;color:var(--paint-dim);margin:.1rem 0 .3rem}input,select,textarea{width:100%;padding:.82rem .8rem;font-size:1rem;color:var(--paint);background:var(--inset);border:1px solid var(--line);border-radius:8px;font-family:inherit;box-shadow:inset 0 1px 2px #00000059}input:focus,select:focus,textarea:focus{outline:none;border-color:#ff2e458c;box-shadow:inset 0 1px 2px #00000059,0 0 0 3px #ff2e4529}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;margin-right:.5rem;accent-color:var(--signal)}.check{display:flex;align-items:center;font-size:.9rem;color:var(--paint);text-transform:none;letter-spacing:0;font-stretch:100%;font-weight:400}fieldset{border:none;padding:0;margin:0 0 .75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.05rem;min-height:48px;border-radius:8px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--lifted),var(--inset));color:var(--paint);font-family:inherit;font-size:.78rem;font-weight:700;font-stretch:87%;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;text-align:center;box-shadow:inset 0 1px #ffffff0f}.btn:disabled{opacity:.42;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,var(--signal),var(--signal-deep));border-color:#ff2e4580;color:#fff;box-shadow:inset 0 1px #ffffff38,0 4px 16px #ff2e4538}.btn.ghost{background:transparent;box-shadow:none}.btn.danger{background:transparent;border-color:#ff2e4566;color:#ff97a3;box-shadow:none}.btn.ok{background:linear-gradient(180deg,#1c5638,#143f29);border-color:#3fbf7759;color:#c6f5da}.btn.block{width:100%}.btn.sm{min-height:34px;padding:.35rem .65rem;font-size:.62rem;letter-spacing:.12em;border-radius:6px}.error{background:#ff2e4514;border:1px solid rgba(255,46,69,.3);color:#ffc2c8;padding:.75rem .85rem;border-radius:8px;font-size:.88rem;margin-bottom:.75rem}.notice{background:#3fbf7714;border:1px solid rgba(63,191,119,.3);color:#c8f2d8;padding:.75rem .85rem;border-radius:8px;font-size:.88rem;margin-bottom:.75rem}.warnbox{background:#ffb74d14;border:1px solid rgba(255,183,77,.3);color:#ffdfae;padding:.75rem .85rem;border-radius:8px;font-size:.88rem;margin-bottom:.75rem}.address{font-family:var(--mono);font-weight:500;font-size:clamp(1rem,4.6vw,1.35rem);letter-spacing:-.01em;line-height:1.35;text-transform:uppercase;margin:.1rem 0 .95rem;color:var(--paint);overflow-wrap:anywhere}.address .settling{color:var(--signal);opacity:.8}.venue{font-size:1.05rem;font-weight:700;font-stretch:112%;text-transform:uppercase;letter-spacing:.01em;margin:0 0 .15rem}.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--inset);border:1px solid var(--line);display:block}.photo-slot{position:relative}.photo-slot .cap{font-size:.56rem;color:var(--paint-dim);margin-top:.3rem;display:block}.dropzone{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;aspect-ratio:4/3;border:1px dashed var(--line-strong);border-radius:8px;color:var(--paint-dim);font-size:.8rem;background:var(--inset);padding:.5rem;cursor:pointer}.progress{height:3px;background:var(--inset);overflow:hidden;margin-top:.4rem;border-radius:99px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--signal-deep),var(--signal));transition:width .2s}.gesture{font-size:2.6rem;font-weight:500;color:var(--signal);line-height:1}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--paint-dim);font-size:.57rem}tbody tr:hover{background:var(--raised)}.list-item{display:flex;gap:.75rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}.list-item .grow{flex:1;min-width:0}.list-item .grow b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv{display:grid;grid-template-columns:40% 1fr;gap:.4rem .5rem;font-size:.86rem}.kv dt{color:var(--paint-dim);font-size:.62rem;font-stretch:75%;text-transform:uppercase;letter-spacing:.14em;font-weight:600;padding-top:.12rem}.kv dd{margin:0}.center{text-align:center}.spinner{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--signal);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--paint-dim);padding:2.5rem 1rem;font-size:.9rem}.hero{padding:2.75rem 0 1.75rem}.hero-logo{height:42px;margin:0 auto .7rem}.hero-sub{font-family:var(--sans);font-size:.68rem;font-weight:600;font-stretch:75%;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--signal);margin:0 0 1rem}.divider{height:1px;background:var(--line);margin:1rem 0}.adminnav{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.6rem;margin-bottom:.6rem}.adminnav a{padding:.4rem .7rem;border-radius:6px;background:var(--raised);border:1px solid var(--line);font-size:.57rem;white-space:nowrap;color:var(--paint-dim)}.adminnav a.active{background:linear-gradient(180deg,var(--signal),var(--signal-deep));border-color:#ff2e4580;color:#fff}.modal-back{position:fixed;inset:0;background:#000000c7;backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--raised);border:1px solid var(--line-strong);border-radius:12px;padding:1.15rem;width:100%;max-width:460px;margin-bottom:var(--safe-bottom);box-shadow:inset 0 1px #ffffff0f,0 20px 60px #000000b3}@media (min-width: 600px){.modal-back{align-items:center}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.iglink{color:var(--t-cars);border-bottom:1px solid rgba(111,168,255,.35);white-space:nowrap}.iglink:hover{color:var(--paint);border-bottom-color:var(--paint)}.demobar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:calc(var(--safe-top) + .5rem) 1rem .5rem;background:linear-gradient(180deg,var(--signal),var(--signal-deep));color:#fff;font-size:.78rem;font-weight:600}.demobar span{flex:1;min-width:0}.demobar .btn{min-height:32px;padding:.3rem .7rem;font-size:.62rem;background:#00000047;border-color:#ffffff59;color:#fff}.demobar~.topbar{top:auto;position:relative}
