:root { --void:#0d0b1a; --night:#151227; --panel:#201b3b; --signal:#a987ff; --wave:#69e0ff; --paper:#f3f1ff; --mist:#b9b3d1; --line:rgba(243,241,255,.16); --display:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; --body:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:var(--void); color:var(--paper); font:16px/1.55 var(--body); } button,input { font:inherit; } button { cursor:pointer; } .skip-link { position:fixed; top:-4rem; left:1rem; z-index:10; padding:.6rem 1rem; color:var(--void); background:var(--wave); } .skip-link:focus { top:1rem; } .app-header { display:flex; justify-content:space-between; align-items:center; padding:1.25rem clamp(1.25rem,5vw,5rem); background:var(--night); border-bottom:1px solid var(--line); } .brand img { display:block; width:145px; } .back-link { color:var(--wave); font-size:.82rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; } main { max-width:1280px; margin:0 auto; padding:clamp(2rem,6vw,5rem) clamp(1.25rem,5vw,5rem); } .eyebrow { margin:0 0:.6rem; color:var(--wave); font-size:.72rem; font-weight:800; letter-spacing:.12em; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.03em; text-transform:uppercase; line-height:.88; } h1 { font-size:clamp(3.8rem,8vw,7rem); } h2 { font-size:clamp(2.2rem,4vw,4rem); } .intro,.section-title p,.role { color:var(--mist); } .intro { max-width:550px; font-size:1.05rem; } .auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:860px; margin-top:2.5rem; } .panel,.card { padding:1.4rem; background:var(--panel); border:1px solid var(--line); } .panel h2 { font-size:2.3rem; } label { display:grid; gap:.35rem; margin:1rem 0; color:var(--mist); font-size:.82rem; font-weight:700; } input,select { width:100%; padding:.7rem .8rem; border:1px solid var(--line); border-radius:0; color:var(--paper); background:var(--night); } .button { display:inline-flex; justify-content:center; align-items:center; min-height:2.9rem; padding:.7rem 1rem; border:0; color:var(--void); background:var(--wave); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; } .auth-grid .button { width:100%; min-width:0; text-align:center; } .button-quiet { border:1px solid var(--line); color:var(--paper); background:transparent; } .status { min-height:1.5rem; color:var(--wave); } .captcha { min-height:200px; overflow:visible; } .captcha iframe { height:200px !important; min-height:200px; } .captcha-status { min-height:1.5rem; margin:.7rem 0 0; color:var(--mist); font-size:.82rem; } .captcha-status.is-error { color:#ff9caf; } .button:disabled { cursor:not-allowed; opacity:.55; } .account-bar { display:flex; justify-content:space-between; gap:1rem; align-items:end; padding-bottom:2rem; border-bottom:1px solid var(--line); } .account-bar h1 { margin-bottom:.25rem; } .tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin:2rem 0; } .tab { padding:.65rem .8rem; border:1px solid var(--line); color:var(--paper); background:transparent; font-size:.76rem; font-weight:800; text-transform:uppercase; } .tab.is-active { color:var(--void); border-color:var(--signal); background:var(--signal); } .section-title { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:1.2rem; } .section-title h2 { margin:0; } .section-title p { max-width:330px; margin:0; } .cards { display:grid; gap:.75rem; margin-bottom:3rem; } .card { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:start; } .card h3 { margin-bottom:.3rem; font-size:1.1rem; } .card p { margin-bottom:0; color:var(--mist); } .meta { color:var(--wave)!important; font-size:.75rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; } .card .button { min-height:2.35rem; } .entry-form { grid-column:1/-1; margin-top:.5rem; padding-top:.5rem; border-top:1px solid var(--line); } .entry-form[hidden] { display:none; } .entry-form label { margin:.6rem 0; } .venue-map { display:block; width:100%; max-width:900px; padding:1rem; background:var(--panel); border:1px solid var(--line); } .location-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.75rem; margin-top:1rem; } .location { padding:1rem; background:var(--panel); border-left:3px solid var(--wave); } .location p { margin:0; color:var(--mist); } .checkin-form,.invitation-redeem-form { max-width:650px; margin-bottom:1.5rem; } button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--wave); outline-offset:3px; }
@media (max-width:650px) { .auth-grid { grid-template-columns:1fr; } .account-bar,.section-title { align-items:start; flex-direction:column; } .card { grid-template-columns:1fr; } .card .button { width:100%; } }
.team-signup-fields { margin:1rem 0; padding:0 1rem 1rem; border:1px solid var(--line); } .team-signup-fields legend { padding:0 .35rem; color:var(--wave); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; } .team-signup-fields[hidden], .invitation-accept-form[hidden] { display:none; } .invitation-accept-form { max-width:420px; margin-top:1rem; } .team-section { margin-top:2.5rem; } .team-section > h3 { margin-bottom:.8rem; } .team-roster { margin:.8rem 0 0; padding-left:1.2rem; color:var(--mist); } .team-roster li + li { margin-top:.3rem; } .team-section .entry-form { grid-column:auto; width:100%; }
.project-contests { margin:1rem 0; padding:.7rem 1rem 1rem; border:1px solid var(--line); } .project-contests legend { padding:0 .35rem; color:var(--wave); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; } .option-list { display:grid; gap:.45rem; } .option-list label { display:flex; align-items:center; gap:.6rem; margin:.3rem 0; } .option-list input { width:auto; } .project-draft-recovery { display:grid; gap:.7rem; margin:1rem 0; padding:.8rem; border-left:3px solid var(--signal); color:var(--mist); background:var(--night); } .project-draft-recovery > div { display:flex; flex-wrap:wrap; gap:.5rem; } .project-draft-recovery .button { min-height:2.35rem; } .project-qr { display:grid; justify-content:start; gap:1rem; margin:1rem 0; } .project-qr canvas { width:min(100%,320px); height:auto; padding:.7rem; image-rendering:pixelated; background:#fff; } .metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.75rem; } .metric-grid .card { display:block; } .project-journal-list { display:grid; gap:.75rem; } .project-journal-entry { display:grid; gap:.6rem; padding:1rem; border-left:3px solid var(--signal); background:var(--night); } .project-journal-entry h4 { margin:0; font-size:1rem; } .project-journal-entry p { margin:0; color:var(--mist); } .project-journal-diff { display:grid; gap:.45rem; margin:0; padding:0; list-style:none; } .project-journal-diff li { color:var(--paper); font-size:.9rem; overflow-wrap:anywhere; }
.registration-success-dialog { width:min(calc(100% - 2rem),32rem); margin:auto; padding:0; border:1px solid var(--line); color:var(--paper); background:var(--panel); } .registration-success-dialog::backdrop { background:rgba(13,11,26,.8); } .registration-success-dialog .panel { border:0; } .registration-success-dialog h2 { margin-bottom:1rem; font-size:clamp(2rem,7vw,3.5rem); } .registration-success-dialog p { color:var(--mist); } .qr-scanner-dialog { width:min(calc(100% - 2rem),42rem); margin:auto; padding:0; border:1px solid var(--line); color:var(--paper); background:var(--panel); } .qr-scanner-dialog::backdrop { background:rgba(13,11,26,.8); } .qr-scanner-dialog__content { display:grid; gap:1rem; padding:1.4rem; } .qr-scanner-dialog h2 { margin:0; font-size:clamp(2rem,7vw,3.5rem); } .qr-scanner-dialog__content > p { margin:0; color:var(--mist); } .qr-scanner-dialog__video { display:block; width:100%; aspect-ratio:1/1; border:1px solid var(--line); object-fit:cover; background:#000; } .qr-scanner-dialog__status { min-height:1.5rem; color:var(--wave)!important; } .qr-scanner-dialog .button { justify-self:start; } @media (max-width:650px) { .qr-scanner-dialog { width:calc(100% - 1rem); } .qr-scanner-dialog__content { padding:1rem; } .qr-scanner-dialog .button { width:100%; } }

.vk-id-widget { width:100%; min-height:48px; margin-bottom:.8rem; overflow:hidden; } .vk-id-widget[hidden], .vk-id-fallback[hidden] { display:none; } .vk-id-fallback { margin-bottom:.8rem; } .vk-id-fallback .button { width:100%; } .vk-id-widget iframe { display:block; max-width:100%; border:0; }
.site-update-notice { position:fixed; z-index:50; right:1rem; bottom:1rem; display:flex; align-items:center; gap:.8rem; max-width:calc(100% - 2rem); padding:.75rem .9rem; border:1px solid var(--wave); color:var(--paper); background:var(--night); box-shadow:0 .75rem 2rem rgba(0,0,0,.35); font-size:.82rem; font-weight:700; }.site-update-notice button { min-height:2.3rem; padding:.45rem .7rem; border:0; color:var(--void); background:var(--wave); font:inherit; font-weight:900; cursor:pointer; }
