/* **Created:** 2026-10-01 · **Status:** current */
:root { color-scheme:dark; --bg:#121212; --black:#080808; --panel:#181818; --ink:#f6f6f6; --muted:#a7a7a7; --line:#393939; --blue:#26b9f4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
a { color:var(--blue); }
h1,h2,h3,p { margin-top:0; }
:focus-visible { outline:2px solid #8cddff; outline-offset:3px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:76px; padding:18px clamp(20px,3vw,45px); border-bottom:1px solid var(--line); background:var(--black); }
.wordmark { color:#fff; font:700 18px "Courier New",monospace; letter-spacing:.015em; text-decoration:none; }
.wordmark span { color:var(--blue); }
.header-link { border:0; background:none; color:#c2c2c2; font:700 12px "Courier New",monospace; text-decoration:underline; text-underline-offset:4px; }
.eyebrow { margin-bottom:13px; color:var(--blue); font:700 12px "Courier New",monospace; letter-spacing:.13em; text-transform:uppercase; }
.secondary-text,.field-hint { color:var(--muted); line-height:1.5; }
.field-hint { margin:7px 0 18px; font-size:12px; }
.form-error { margin:13px 0; color:#ffb6a8; font-size:14px; }
.optional { color:#a5a5a5; font-weight:400; }
label { display:block; margin-bottom:9px; color:#e5e5e5; font:700 12px "Courier New",monospace; }
input,textarea { display:block; width:100%; min-height:47px; padding:12px 13px; border:1px solid #686868; border-radius:0; background:#090909; color:#fff; font-size:16px; }
textarea { min-height:104px; resize:vertical; line-height:1.4; }
input::placeholder,textarea::placeholder { color:#777; }
input:focus,textarea:focus { border-color:var(--blue); }
input[type="date"] { color-scheme:dark; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 18px; border:1px solid #767676; border-radius:0; background:transparent; color:#fff; font:800 12px "Courier New",monospace; text-align:center; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.button:hover { border-color:var(--blue); color:var(--blue); }
.button-primary { border-color:var(--blue); background:var(--blue); color:#07151b; }
.button-primary:hover { border-color:#7cdaff; background:#7cdaff; color:#07151b; }
.button-small { min-height:39px; padding:9px 12px; font-size:11px; }
.button-full { width:100%; }
.text-link { font:700 12px "Courier New",monospace; text-decoration:underline; text-underline-offset:4px; }

.home-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); min-height:calc(100vh - 76px); }
.home-main { display:flex; flex-direction:column; justify-content:center; padding:50px clamp(24px,6vw,90px); background:#090909; }
.home-main h1 { max-width:680px; margin:16px 0 20px; font-size:clamp(46px,5.7vw,78px); line-height:1.01; letter-spacing:-.06em; }
.home-main h1 em { color:var(--blue); font-style:normal; }
.lead { max-width:470px; margin-bottom:32px; color:#c7c7c7; font-size:18px; line-height:1.5; }
.join-form { width:100%; max-width:470px; }
.join-form input[name="code"] { font-family:"Courier New",monospace; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.join-form .button { margin-top:20px; }
.organiser-entry { margin:38px 0 0; font:700 12px "Courier New",monospace; }
.home-aside { display:flex; flex-direction:column; justify-content:center; padding:45px clamp(28px,5vw,75px); background:linear-gradient(150deg,#172d38,#0d1519 55%,#111); }
.live-label { align-self:flex-start; padding:7px 10px; background:var(--blue); color:#07151b; font:800 11px "Courier New",monospace; text-transform:uppercase; }
.home-aside blockquote { margin:30px 0 24px; font-size:clamp(28px,3.4vw,45px); line-height:1.12; letter-spacing:-.045em; }
.aside-foot { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid #5e6a70; color:#c3d0d5; font:700 11px "Courier New",monospace; }

.auth-wrap { max-width:480px; margin:90px auto; padding:0 24px; }
.auth-wrap h1 { margin-bottom:12px; font-size:54px; letter-spacing:-.05em; }
.auth-form { margin:35px 0 28px; }
.auth-form .button { margin-top:20px; }
.admin-wrap { max-width:1160px; margin:auto; padding:43px clamp(20px,4vw,52px) 70px; }
.admin-wrap h1 { margin-bottom:30px; font-size:clamp(38px,4vw,54px); letter-spacing:-.05em; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr); gap:46px; }
.admin-form-panel { padding:26px; border:1px solid var(--line); background:#161616; }
.admin-form-panel h2,.admin-events h2 { margin-bottom:24px; font:800 14px "Courier New",monospace; }
.admin-form-panel label { margin-top:20px; }
.admin-form-panel label:first-of-type { margin-top:0; }
.admin-form-panel .button { margin-top:24px; }
.admin-events { padding-top:3px; }
.event-tile { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.event-tile h3 { margin-bottom:7px; font-size:17px; }
.event-tile p { margin:0; color:#9d9d9d; font:400 11px "Courier New",monospace; }

.admin-event-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; padding:17px clamp(20px,4vw,52px); border-bottom:1px solid var(--line); background:#0b0b0b; }
.admin-event-bar strong { color:var(--blue); font:800 12px "Courier New",monospace; letter-spacing:.08em; }
.action-row { display:flex; flex-wrap:wrap; gap:9px; }
.event-wrap { max-width:1170px; margin:auto; padding:39px clamp(20px,4vw,52px) 50px; }
.event-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; padding-bottom:27px; border-bottom:1px solid var(--line); }
.event-heading h1 { margin:0 0 13px; font-size:clamp(38px,4.2vw,56px); line-height:1.05; letter-spacing:-.05em; }
.event-meta { display:flex; flex-wrap:wrap; gap:10px 22px; color:#bdbdbd; font:400 12px "Courier New",monospace; }
.event-meta strong { color:var(--blue); }
.identity { flex:none; margin:5px 0 0; color:#b4b4b4; font-size:13px; }
.identity a,.share-line a,.event-footer a { color:var(--blue); font-family:"Courier New",monospace; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.share-line { padding:19px 0 0; color:#aaa; font:400 12px "Courier New",monospace; overflow-wrap:anywhere; }
.ask-callout { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:27px 0; border-bottom:1px solid var(--line); }
.ask-callout strong { font-size:20px; letter-spacing:-.025em; }
.ask-callout p { margin:7px 0 0; color:#aaa; font-size:13px; }
.list-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:33px 0 15px; }
.list-head h2 { margin:0; color:var(--blue); font:800 15px "Courier New",monospace; letter-spacing:.06em; text-transform:uppercase; }
.sorts { display:flex; gap:3px; flex-wrap:wrap; }
.sorts button { min-height:40px; padding:9px 14px; border:0; background:transparent; color:#ddd; font:800 12px "Courier New",monospace; text-transform:uppercase; }
.sorts button[aria-pressed="true"] { background:var(--blue); color:#07151b; }
.questions { border-top:1px solid var(--line); }
.question { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; padding:23px 0; border-bottom:1px solid var(--line); }
.question.featured { margin-top:18px; padding:27px 25px; border:1px solid var(--blue); background:#101010; }
.q-meta { color:#999; font:400 11px "Courier New",monospace; line-height:1.5; }
.focus-label { color:var(--blue); font-weight:800; }
.answered-status { color:#a7a7a7; font-weight:800; }
.question-text { margin:11px 0 0; font-size:clamp(17px,2vw,22px); line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
.featured .question-text { font-size:clamp(28px,3.3vw,44px); line-height:1.15; }
.vote { display:flex; align-items:center; justify-content:center; gap:8px; min-width:75px; min-height:49px; padding:7px; border:1px solid #777; background:transparent; color:var(--blue); font:800 17px "Courier New",monospace; }
.vote[aria-pressed="true"] { border-color:var(--blue); background:var(--blue); color:#07151b; }
.answer-action { margin-top:12px; padding:3px 0; border:0; background:none; color:var(--blue); font:700 12px "Courier New",monospace; text-decoration:underline; text-underline-offset:3px; }
.answered-divider { padding:27px 0 9px; color:#888; font:800 12px "Courier New",monospace; letter-spacing:.1em; text-transform:uppercase; }
.question.answered { padding-left:15px; padding-right:15px; background:#191919; }
.question.answered .q-meta,.question.answered .question-text { color:#989898; }
.question.answered .vote { color:#858585; border-color:#4b4b4b; background:#1f1f1f; cursor:default; }
.empty { padding:34px 0; color:#aaa; }
.status-message { min-height:1.1em; margin:12px 0; color:var(--blue); font:400 12px "Courier New",monospace; }
.status-message.error { color:#ffb6a8; }
.ask-form { margin-top:28px; padding:23px; border:1px dashed #616161; }
.ask-form label { margin-bottom:13px; }
.ask-form-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-top:13px; }
.ask-form-foot span { color:#aaa; font:400 11px "Courier New",monospace; }
.event-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:17px; margin-top:28px; color:#8e8e8e; font:400 11px "Courier New",monospace; }

.present-screen { min-height:calc(100vh - 76px); padding:25px 5% 45px; background:#070707; }
.present-screen:fullscreen { display:flex; flex-direction:column; min-height:100vh; }
.present-screen:fullscreen .present-main { flex:1; }
.present-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.present-top .eyebrow { color:#929292; }
.present-main { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:650px; text-align:center; }
.present-main h1 { margin:0 0 16px; font-size:clamp(48px,7vw,88px); line-height:1.03; letter-spacing:-.06em; }
.present-date { color:var(--blue); font:800 17px "Courier New",monospace; line-height:1.6; }
.qr-frame { width:min(300px,70vw); padding:13px; margin:24px 0; background:white; }
.qr-frame img { display:block; width:100%; height:auto; image-rendering:pixelated; }
.present-url { margin:0; color:var(--blue); font:800 clamp(17px,2vw,24px) "Courier New",monospace; overflow-wrap:anywhere; }
.present-instruction { margin:18px 0 0; color:#bbb; font-size:15px; }

@media(max-width:780px) {
  .home-grid { grid-template-columns:1fr; }
  .home-main { min-height:calc(100vh - 76px); }
  .home-aside { display:none; }
  .admin-grid { grid-template-columns:1fr; gap:35px; }
  .event-heading { display:block; }
  .identity { margin-top:18px; }
}
@media(max-width:520px) {
  .site-header { min-height:64px; }
  .wordmark { font-size:15px; }
  .home-main { padding:36px 22px; }
  .home-main h1 { font-size:48px; }
  .event-wrap { padding-top:28px; }
  .ask-callout { align-items:stretch; flex-direction:column; }
  .ask-callout .button { width:100%; }
  .question.featured { grid-template-columns:1fr; padding:21px; }
  .question.featured .vote { justify-self:start; }
  .featured .question-text { font-size:29px; }
  .question:not(.featured) .question-text { font-size:16px; }
  .vote { min-width:62px; }
  .admin-event-bar .action-row { width:100%; }
  .admin-event-bar .action-row .button { flex:1; }
  .present-top { flex-direction:column; }
  .present-top .button { align-self:flex-end; }
  .present-main { min-height:570px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
