:root{--brand:#35CDC8;--brand-dark:#2bb5b0;--ink:#000;--paper:#fff;--bg:#000000;--s1:#0c111b;--s2:#131a28;--line:#1f2a3f;--tx:#eef2fb;--mu:#9aa6bd;--blue:#35CDC8;--bb:#35CDC8;--blue2:#35CDC8;--btn:#35CDC8;--ok:#3ddc97;--warn:#ffc04d;--bad:#ff6b6b;--r:12px;--border-strong:#56698c;
font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--tx)}
body{min-height:100dvh;padding-bottom:84px;font-size:1rem;line-height:1.45}
a{color:var(--blue2)}button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue2);outline-offset:2px}
.demo-strip{background:#0a1530;color:#c9d7ff;font-size:0.8125rem;text-align:center;padding:6px 12px}
.update{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--bb);color:#fff;padding:10px 16px;font-size:0.875rem}
.update[hidden]{display:none}.update .btn{background:#fff;color:#0a1a44;border:0}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(5,7,12,.96);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;color:var(--tx);text-decoration:none;font-weight:750;font-size:1.25rem;letter-spacing:-.02em}
.role{margin-left:8px;font-size:0.8125rem;color:var(--mu);display:flex;align-items:center;gap:6px}
.top.is-signed-in [data-testid=header-sign-in],.top.is-signed-in [data-testid=header-sign-up]{display:none!important}
.role select{background:var(--s2);border:1px solid var(--border-strong);border-radius:8px;padding:8px;min-height:44px;max-width:140px}
.iconbtn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--tx);background:var(--s1);border:1px solid var(--line);text-decoration:none}
.bell i{position:absolute;top:4px;right:4px;background:var(--bb);color:#fff;font-style:normal;font-size:0.6875rem;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center}
main{max-width:720px;margin:0 auto;padding:20px 16px 24px}
h1{font-size:1.875rem;line-height:1.15;letter-spacing:-.02em;margin:4px 0 8px;overflow-wrap:anywhere;word-break:break-word}h2{font-size:1.375rem;line-height:1.25;letter-spacing:-.015em;margin:28px 0 12px;overflow-wrap:anywhere;word-break:break-word}h3{margin:0 0 6px;font-size:1.1875rem;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word}
p{margin:0 0 10px}.mu{color:var(--mu)}.sm{font-size:0.875rem}
.card{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 12px}
.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}
.list{list-style:none;margin:0;padding:0}.list li{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.list li:last-child{border:0}.list a.rowlink{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;width:100%}
.av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--s2);color:var(--blue2);font-weight:700;border:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--s2);text-decoration:none;color:var(--tx);font-weight:700;font-size:0.9375rem;letter-spacing:-.01em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease}
.btn.primary{background:var(--btn,#35CDC8);border-color:var(--btn,#35CDC8);color:#000}
.btn.primary:hover{background:#2bb5b0;border-color:#2bb5b0;color:#000}
.btn.secondary{background:transparent;border-color:var(--btn,#35CDC8);color:var(--btn,#35CDC8)}
.btn.secondary:hover{background:rgba(53,205,200,.12)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--tx);font-weight:600}
.btn.ghost:hover{background:rgba(255,255,255,.06);color:#fff}
.btn.danger{border-color:#c4475d;color:#ffb3b3;background:transparent}
.btn.danger:hover{background:rgba(196,71,93,.12)}
.btn.small{min-height:44px;padding:0 14px;font-size:0.875rem}.btn.block{width:100%}
.btn:hover{box-shadow:0 0 0 1px rgba(53,205,200,.25)}
.btn:focus-visible{outline:2px solid #35CDC8;outline-offset:3px}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.btn-row,.event-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.header-auth{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.header-auth .btn{padding:0 14px;font-size:0.875rem}
.st{display:inline-flex;align-items:center;gap:6px;font-size:0.8125rem;font-weight:600;color:var(--mu)}
.st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st.ok{color:var(--ok)}.st.warn{color:var(--warn)}.st.bad{color:var(--bad)}.st.blue{color:var(--blue2)}
.price{font-variant-numeric:tabular-nums;font-weight:700}.price small{display:block;font-weight:500;color:var(--mu);font-size:0.8125rem}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dual div{background:var(--s2);border-radius:10px;padding:10px 12px}
.big{font-size:2.125rem;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.qr{background:#fff;padding:14px;border-radius:14px;width:min(260px,72vw);margin:8px auto}.qr svg,.qr img{display:block;width:100%;height:auto}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:0.875rem;font-weight:600}
.field input,.field textarea,.field select{background:var(--s2);border:1px solid var(--border-strong);border-radius:10px;padding:12px;min-height:44px}
.field.ok input{border-color:var(--ok)}.field.bad input{border-color:var(--bad)}.hint{font-size:0.8125rem}
.hint.ok{color:var(--ok)}.hint.bad{color:var(--bad)}
.seg{display:flex;background:var(--s2);border-radius:10px;padding:4px;gap:4px}.seg button{flex:1;min-height:44px;border:0;border-radius:8px;background:none;color:var(--mu);font-weight:600;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--bb);color:#fff}
.scanner{position:relative;aspect-ratio:3/4;max-height:58vh;margin:0 auto 14px;border-radius:16px;background:#0b0f18 repeating-linear-gradient(0deg,#0d1320 0 2px,#0b0f18 2px 6px);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}
.scanner .frame{width:62%;aspect-ratio:1;border:3px solid var(--blue);border-radius:18px}
.scanner .line{position:absolute;left:19%;right:19%;height:2px;background:var(--blue2);top:30%;animation:scan 2.2s ease-in-out infinite alternate}
@keyframes scan{to{top:62%}}@media (prefers-reduced-motion:reduce){.scanner .line{animation:none}}
.chat{display:flex;flex-direction:column;gap:8px;margin:12px 0}.msg{max-width:78%;padding:10px 14px;border-radius:14px;background:var(--s2)}.msg.me{align-self:flex-end;background:var(--bb);color:#fff}
.lock{color:var(--ok);font-size:0.8125rem;display:flex;gap:6px;align-items:center}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:6;display:flex;justify-content:center;background:rgba(8,11,18,.98);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.tabs a{flex:1;max-width:130px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;min-height:52px;color:var(--mu);text-decoration:none;font-size:0.75rem;font-weight:600}
.tabs a[aria-current=page]{color:var(--blue2)}.tabs svg{width:24px;height:24px}
.tabs a.qrtab span.ring{display:grid;place-items:center;width:46px;height:46px;margin-top:-18px;border-radius:50%;background:var(--bb);color:#fff;border:4px solid var(--bg)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.menu-link{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:var(--r);background:var(--s1);border:1px solid var(--line);color:var(--tx);text-decoration:none;font-weight:600;min-height:56px}
.menu-link small{display:block;color:var(--mu);font-weight:400}
.banner{border-left:4px solid var(--warn);background:#1c1608;padding:12px 14px;border-radius:8px;margin:10px 0}.banner.bad{border-color:var(--bad);background:#220c10}.banner.ok{border-color:var(--ok);background:#08201a}.banner.info{border-color:var(--blue);background:#0a1530}
.stat{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:12px}.stat b{display:block;font-size:1.625rem;font-variant-numeric:tabular-nums}
.thumb{width:56px;height:56px;border-radius:10px;background:var(--s2);flex:none;display:grid;place-items:center;color:var(--mu);font-size:0.75rem;border:1px solid var(--line)}
.empty{text-align:center;padding:32px 16px}.empty svg{color:var(--blue2)}
.toggle{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:4px 0}.toggle label{flex:1;min-height:44px;display:flex;align-items:center;cursor:pointer}
.toggle input{width:44px;height:44px;margin:0;border:1px solid var(--border-strong);accent-color:var(--blue)}
.result{text-align:center;padding:24px 16px;border-radius:var(--r)}
.result.ok{background:#08201a;border:1px solid #1b5e45}.result.bad{background:#220c10;border:1px solid #6a2430}.result.warn{background:#1c1608;border:1px solid #5e4a12}
.flex1{flex:1;min-width:0}.right{text-align:right}
@media (min-width:900px){main{padding-top:36px}h1{font-size:2.125rem}.grid2.lg3{grid-template-columns:repeat(3,1fr)}}
.menu-link{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.col .menu-link{flex-direction:row;align-items:center;justify-content:space-between}
.price{white-space:nowrap}
.role .rl{white-space:nowrap}@media (max-width:420px){.role .rl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.role select{max-width:150px}}
.foot{text-align:center;padding:8px 16px 20px}

.brand-logo{border-radius:6px;display:inline-block;vertical-align:middle;object-fit:cover;background:#000}
.brand{gap:8px;align-items:center}

/* Home network badges (labels from UI config in app.js) */
.event-card-own{border-color:rgba(20,184,166,.45)}
.event-card-community{border-style:dashed;border-color:rgba(255,255,255,.22);opacity:.98}
[data-testid="badge-community"]{background:#111;color:#14b8a6;border:1px solid #14b8a6}
[data-testid="badge-own"]{background:#0d9488;color:#000}
[data-testid="community-subtitle"]{margin-top:-6px;margin-bottom:10px}

/* WookOnDaGo empty hosted section */
.coming-soon-card{text-align:center;padding:18px 16px;border:1px dashed rgba(13,148,136,.45);background:rgba(13,148,136,.06)}
.coming-soon-text{margin:0;font-size:.95rem;letter-spacing:.02em;color:#5eead4;font-weight:600}

/* Larger event section + card titles (mobile-first, no clip at 360px) */
h2[data-testid="own-events-heading"],
h2[data-testid="floor-heading"],
h2[data-testid="out-there-heading"]{
  font-size:1.5rem;line-height:1.25;letter-spacing:-.02em;font-weight:750;
  overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
.event-card [data-testid="event-title"],
.event-card h3[data-testid="event-title"]{
  font-size:1.25rem;line-height:1.3;letter-spacing:-.015em;font-weight:700;
  overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
@media (min-width:600px){
  h2[data-testid="own-events-heading"],
  h2[data-testid="floor-heading"],
  h2[data-testid="out-there-heading"]{font-size:1.625rem}
  .event-card [data-testid="event-title"]{font-size:1.3125rem}
}

.subscribe-card{margin:20px 0 8px;padding:14px 14px 12px}
.subscribe-label{font-weight:700;font-size:1rem;margin:0 0 6px;display:block}
.subscribe-card input[type=email]{width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:420px){.brand span{font-size:1.05rem}.header-auth,.account-menu{gap:6px;flex-wrap:nowrap}.header-auth .btn,.account-menu .btn{padding:0 10px;font-size:0.8125rem;min-width:0}
.account-menu a.btn{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
