:root { --ink:#17212b; --blue:#315cff; --mint:#59d8b2; --paper:#070809; --muted:#a8afb8; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; color:#fff; font-family:Montserrat,Arial,sans-serif; background-color:var(--paper); background-image:radial-gradient(circle at 90% 8%,rgba(49,92,255,.22),transparent 24rem),radial-gradient(circle at 10% 38%,rgba(89,216,178,.08),transparent 21rem),linear-gradient(115deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:auto,auto,32px 32px; }
.shell { width:min(1200px,calc(100% - 48px)); margin:auto; }
.nav { display:flex; justify-content:space-between; align-items:center; padding:24px 0; }
.site-topbar { display:flex; justify-content:space-between; align-items:center; padding:26px 0; }.site-topbar .brand { color:#fff; }.site-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px 0 38px; color:var(--muted); font-size:12px; }.site-footer a { color:var(--mint); text-decoration:none; }.site-footer .footer-links { color:var(--mint); font-weight:600; }
.brand { display:flex; gap:10px; align-items:center; color:#fff; font:700 17px Syne,sans-serif; letter-spacing:-.045em; text-decoration:none; }.brand img { width:34px; height:34px; border-radius:8px; }
.back { color:var(--mint); text-decoration:none; font-size:13px; font-weight:600; }
.hero { padding:62px 0 44px; max-width:760px; }.eyebrow { margin:0 0 17px; color:var(--mint); font-size:12px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }.eyebrow:before { content:""; display:inline-block; width:28px; height:2px; margin:0 10px 3px 0; background:var(--blue); }
h1,h2 { margin:0; font-family:Syne,Arial,sans-serif; letter-spacing:-.06em; line-height:.98; }h1 { font-size:clamp(45px,7vw,76px); }h2 { font-size:29px; }.lead { margin:23px 0 0; color:#c8ccd2; font-size:17px; line-height:1.7; }
.panel { margin:20px 0 60px; padding:34px; border-radius:18px; background:#fff; color:var(--ink); box-shadow:10px 12px 0 var(--blue); }.panel p { color:#53606c; line-height:1.6; }.event { margin:0 0 25px; padding:18px 0 24px; border-bottom:1px solid #dce0e3; }.event:after { content:""; display:block; clear:both; }.event-banner { float:right; width:40%; height:auto; margin:0 0 18px 26px; border-radius:11px; object-fit:contain; }.event h2 { font-size:31px; }.event .meta { margin:12px 0 0; color:var(--blue); font-size:13px; font-weight:600; }
.discord-link { display:inline-flex; align-items:center; gap:8px; margin-top:17px; border-radius:8px; padding:10px 13px; background:#5865f2; color:#fff; text-decoration:none; font-size:13px; font-weight:600; }.discord-link:hover { background:#4650c7; }.discord-link svg { width:19px; height:19px; }
.event-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 25px; }.event-gallery figure { margin:0; overflow:hidden; border-radius:10px; background:#edf0f2; }.event-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.event-gallery figcaption { padding:9px 11px; color:#53606c; font-size:12px; line-height:1.45; }.gallery-captions { display:grid; gap:12px; }.gallery-existing { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.gallery-existing > p { grid-column:1/-1; margin:0; }.gallery-existing-item { display:grid; grid-template-columns:1fr auto; gap:7px; align-items:center; padding:8px; border:1px solid #dce0e3; border-radius:8px; font-size:11px; }.gallery-existing-item img { grid-column:1/-1; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:5px; }.gallery-existing-item input { width:auto; padding:0; }
.notice { margin:0 0 20px; padding:13px 15px; border-radius:8px; background:#e8faf3; color:#126445; font-size:14px; }.error { background:#fff0f0; color:#a32929; }
form { display:grid; gap:16px; }.fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }label { display:grid; gap:7px; color:#283641; font-size:12px; font-weight:600; }input,textarea { width:100%; border:1px solid #ced4da; border-radius:8px; padding:13px 14px; color:var(--ink); font:14px Montserrat,sans-serif; }textarea { min-height:125px; resize:vertical; }input:focus,textarea:focus { outline:3px solid rgba(89,216,178,.55); border-color:var(--mint); }.check { display:flex; gap:9px; align-items:flex-start; font-size:12px; line-height:1.5; font-weight:400; }.check input { width:auto; margin:2px 0 0; }.button { justify-self:start; border:0; border-radius:8px; padding:14px 18px; background:var(--ink); color:#fff; cursor:pointer; font:600 12px Montserrat,sans-serif; }.button:hover { background:var(--blue); }.capacity { display:inline-flex; align-items:center; margin:0 0 20px; border-radius:999px; padding:8px 12px; background:var(--ink); color:#fff; font-size:12px; font-weight:600; }.capacity b { margin-left:5px; color:var(--mint); }
.empty { padding:25px; border:1px dashed rgba(255,255,255,.35); border-radius:12px; color:#c8ccd2; line-height:1.6; }.admin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:22px; padding:22px 0 60px; }.admin-grid .panel { margin:0; box-shadow:7px 9px 0 var(--blue); }.admin-grid h2 { margin-bottom:18px; }.table-wrap { overflow:auto; }.table { width:100%; border-collapse:collapse; font-size:13px; }.table th,.table td { padding:11px 8px; border-bottom:1px solid #e0e4e7; text-align:left; vertical-align:top; }.table th { color:#64717c; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }.small { color:#66717d; font-size:12px; line-height:1.55; }.logout { margin-top:16px; background:#e8eaed; color:#25313c; }.event-list { margin:0; padding:0; list-style:none; }.event-list li { padding:12px 0; border-bottom:1px solid #e0e4e7; }.event-list strong { display:block; }.event-list span { color:#66717d; font-size:12px; }
.legal-copy { margin:20px 0 60px; padding:34px; border-radius:18px; background:#fff; color:var(--ink); box-shadow:10px 12px 0 var(--blue); }.legal-copy h2 { margin:34px 0 12px; font-size:26px; }.legal-copy h2:first-child { margin-top:0; }.legal-copy p,.legal-copy li { color:#53606c; font-size:14px; line-height:1.7; }.legal-copy a,.check a { color:#204ee7; }.legal-copy ul { padding-left:22px; }.legal-footer { display:flex; gap:15px; padding:0 0 30px; color:var(--muted); font-size:12px; }.legal-footer a { color:var(--mint); text-decoration:none; }
.form-actions,.event-actions { display:flex; align-items:center; gap:12px; }.event-actions { margin-top:11px; }.event-actions form { display:block; }.text-action { color:#204ee7; font-size:12px; font-weight:600; text-decoration:none; }.danger-button { border:0; padding:0; background:transparent; color:#b22d35; font:600 12px Montserrat,sans-serif; cursor:pointer; }
.partner-admin-row { display:flex; align-items:center; gap:12px; }.partner-admin-row img { width:72px; height:40px; object-fit:contain; object-position:left center; }.partner-admin-row .event-actions { margin:0 0 0 auto; }
@media(max-width:700px){ .shell{width:min(100% - 36px,1200px)}.hero{padding-top:45px}.panel{padding:25px;box-shadow:7px 8px 0 var(--blue)}.event-banner{width:34%;margin-left:18px}.fields,.admin-grid,.event-gallery,.gallery-existing{grid-template-columns:1fr}.admin-grid{padding-top:10px}.nav,.site-topbar{padding:18px 0;}.site-footer{align-items:flex-start;flex-direction:column;} }
