/* KTT POP-UP MANAGER — GUEST PAGE STYLES · Version 1.2.0 · 2026-11-13
   Event colours: Tofu, Potting Soil, Arabian Spice. Night mode uses a lighter Spice
   (the original is too dark to read on a dark background). Built for phones first. */
/* Figtree, SIL Open Font License (fonts/OFL.txt) */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/figtree-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/figtree-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/figtree-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-italic.woff2) format('woff2')}
:root{
  /* Figtree stands in for CoFo Glassier (same geometric build, full weight range) */
  --font-display:'Figtree',-apple-system,'Segoe UI',sans-serif;
  --font-body:'Figtree',-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Figtree',-apple-system,'Segoe UI',sans-serif; /* numbers: tabular figures, see .num */
  --bg:#E8E3D9; --surface:#F6F3EE; --text:#54392D; --muted:#73584B; --accent:#884332; --on-accent:#FFFFFF;
  --line:#CFC6B8; --border:#54392D; --shade:rgba(40,25,18,.55);
}
html[data-theme="dark"]{
  --bg:#17100C; --surface:#271B15; --text:#F2EDE4; --muted:#C2B6A6; --accent:#E58C72; --on-accent:#17100C;
  --line:#4A3A31; --border:#F2EDE4; --shade:rgba(0,0,0,.72);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;-webkit-text-size-adjust:100%}
body{padding-bottom:env(safe-area-inset-bottom)}
button,input{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
.hidden{display:none !important}
.muted{color:var(--muted)}
.center{text-align:center}
.small{font-size:13px}
.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
main{max-width:520px;margin:0 auto;padding:0 20px 28px}

/* Header */
.top{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;max-width:520px;margin:0 auto;padding:14px 20px;border-bottom:2px solid var(--border)}
.logo-main img{height:48px;max-width:190px;width:auto;display:block;object-fit:contain}
.logo-ph{display:inline-block;font-family:var(--font-display);font-weight:800;letter-spacing:.08em;font-size:15px}
.top-right{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.logo-sub{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.logo-sub img{height:40px;width:auto;max-width:80px;display:block;object-fit:contain;margin-left:10px}
.round{width:44px;height:44px;border-radius:999px;border:2px solid var(--border);background:var(--surface);color:var(--text);padding:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}

.banner{margin:16px 0 0;padding:12px 14px;border-radius:12px;border:2px solid var(--accent);background:var(--surface);font-weight:600;line-height:1.4}

/* My spot card */
.card{margin:20px 0;padding:24px 20px;background:var(--surface);border:2px solid var(--border);border-radius:18px}
.card.empty{border-style:dashed}
.card .hi{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}
.card .hi b{font-size:20px;font-family:var(--font-display);font-weight:700}
.chip{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;padding:6px 12px;border-radius:999px;border:2px solid var(--border);white-space:nowrap}
.chip.fill{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pos{display:-webkit-flex;display:flex;-webkit-align-items:baseline;align-items:baseline;margin-top:14px}
.pos .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:92px;font-weight:900;line-height:.95;letter-spacing:-.02em}
.pos span{margin-left:10px;font-size:17px;color:var(--muted)}
.waitbox{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--accent);color:var(--on-accent)}
.waitbox small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em}
.waitbox strong{display:block;font-size:40px;font-weight:800;line-height:1.1}
.card p{margin:16px 0 0;font-size:16px;line-height:1.45}
.card h1{font-family:var(--font-display);font-size:32px;font-weight:800;line-height:1.08;margin:0;letter-spacing:-.01em}
.btn{display:block;width:100%;height:52px;margin-top:16px;border-radius:12px;border:2px solid var(--border);background:transparent;color:var(--text);font-weight:600;font-size:16px;text-align:center;line-height:48px;text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}
.btn + .btn{margin-top:10px}
.btn:disabled{opacity:.5}

/* You're up */
.card.up{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.card.up .chip{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent)}
.card.up h1{font-size:48px;font-weight:900;line-height:1;margin-top:16px;letter-spacing:-.02em}
.card.up p{font-size:19px}
.clock{margin-top:18px;padding:16px;border:2px solid var(--on-accent);border-radius:14px}
.clock small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em}
.clock strong{display:block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:1}
.card.up .btn{border-color:var(--on-accent);color:var(--on-accent)}
.card.up .btn.primary{background:var(--on-accent);color:var(--accent)}

/* The line */
.line-head{display:-webkit-flex;display:flex;-webkit-align-items:baseline;align-items:baseline;-webkit-justify-content:space-between;justify-content:space-between;margin-top:8px}
.line-head h2{margin:0;font-family:var(--font-display);font-size:24px;font-weight:800}
.label{display:block;margin:14px 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.input{display:block;width:100%;height:52px;padding:0 14px;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:17px}
.rows{list-style:none;margin:12px 0 0;padding:0;border-top:2px solid var(--border)}
.rows li{border-bottom:1px solid var(--line)}
.rows button{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;width:100%;min-height:56px;padding:0 10px;border:0;background:none;color:var(--text);text-align:left}
.rows .p{width:40px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}
.rows .nm{-webkit-flex:1;flex:1;font-size:17px;font-weight:500}
.rows .w{width:80px;text-align:right}
.rows .tag{font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:999px;background:var(--accent);color:var(--on-accent);margin-right:8px;white-space:nowrap}
.rows li.you button{background:var(--accent);color:var(--on-accent);border-radius:10px;font-weight:700}
.rows li.you .tag{background:var(--on-accent);color:var(--accent)}
.rows li.you{border-bottom-color:transparent}
.rows .none{padding:18px 10px;color:var(--muted);text-align:center}

/* Bottom sheet */
.shade{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--shade);z-index:20}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:520px;margin:0 auto;background:var(--surface);color:var(--text);border-top:2px solid var(--border);border-radius:20px 20px 0 0;padding:26px 20px calc(28px + env(safe-area-inset-bottom))}
.sheet h3{margin:0;font-family:var(--font-display);font-size:26px;font-weight:800}
.sheet p{margin:12px 0 0;line-height:1.45}
.sheet .pin{font-family:var(--font-mono);font-size:26px;letter-spacing:.3em;text-align:center;height:58px}
.err{color:var(--accent);font-weight:700;min-height:22px;margin-top:10px}
