:root{color-scheme:dark;--bg:#101112;--panel:#191b1d;--border:#303235;--text:#f2f2ee;--muted:#929694;--accent:#d9f780;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input{width:100%;min-width:0;border:1px solid var(--border);background:#121415;color:var(--text);border-radius:10px;padding:15px 16px}input::placeholder{color:#777e7a}button{border:0}button span{float:right}.public{min-height:100svh}.registration{background:radial-gradient(ellipse at 50% 0%,#202825 0,transparent 55%),#0c0e0d}.registration-shell{min-height:100svh;display:grid;place-items:center;padding:28px}.registration-form{width:min(100%,400px);display:grid;gap:14px}.registration-form input{height:72px;border-radius:16px;background:#171b19;border-color:#343c37;font-size:18px;padding:24px}.register-button{height:70px;background:var(--accent);color:#182011;border-radius:16px;padding:0 25px;font-size:15px;letter-spacing:.08em;font-weight:700;box-shadow:0 8px 40px #c7f57510;transition:background .2s}.register-button:hover{background:#e7ffab}.register-button span{font-size:24px;line-height:18px}.clicked{animation:press .3s ease}@keyframes press{50%{transform:scale(.965);filter:brightness(.9)}}.redirect{background:#e9e8e3;display:grid;align-items:center;padding:40px}.banner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;max-width:1600px;margin:auto;align-items:center}.banner{display:block;border-radius:12px;overflow:hidden;transition:transform .25s,box-shadow .25s;background:#d1d2ca}.banner[href]:hover{transform:translateY(-8px);box-shadow:0 20px 35px #16191525}.banner img{display:block;width:100%;height:auto}.banner-placeholder{min-height:380px;display:flex;justify-content:space-between;padding:26px;color:#353a30;font-size:36px;background:linear-gradient(150deg,#dce4cd,#a6b396)}.banner-2 .banner-placeholder{background:linear-gradient(150deg,#ead9cd,#bd9d88)}.banner-3 .banner-placeholder{background:linear-gradient(150deg,#d7dfe9,#97a8bc)}.banner-4 .banner-placeholder{background:linear-gradient(150deg,#dfd9e7,#ad9dbd)}.banner[aria-disabled]{cursor:default}.admin-shell{max-width:1320px;padding:0 42px 64px;margin:auto}.admin-header{height:110px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--border);margin-bottom:48px}.wordmark{font-size:33px;font-weight:800;letter-spacing:-2px}.wordmark span{font-size:11px;color:var(--accent);margin-left:5px}.admin-label{font-size:10px;letter-spacing:.16em;color:var(--muted)}.admin-header form{margin-left:auto}.quiet{background:transparent;color:#bbbfb9;font-size:12px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--accent);margin-bottom:16px}h1{font-size:clamp(27px,3vw,40px);font-weight:500;letter-spacing:-1.5px;margin:0 0 12px}p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}h2{font-size:18px;font-weight:500;margin:0 0 7px}h3{font-weight:500}.preview-link{font-size:12px;border:1px solid var(--border);border-radius:8px;padding:13px 16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px}.mode-panel{padding:28px;margin-bottom:42px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.status-pill{display:flex;align-items:center;gap:8px;color:var(--accent);background:#d9f7800a;border:1px solid #d9f78025;padding:10px 12px;border-radius:20px;font-size:11px;white-space:nowrap}.status-pill i{width:6px;height:6px;background:var(--accent);border-radius:50%}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-card{border:1px solid #3a3d3e;border-radius:12px;padding:23px;background:#151718}.mode-card.selected{border-color:#adc568;background:linear-gradient(120deg,#d9f7800b,transparent)}.mode-number{color:#81887b;font-size:11px}.mode-card h3{font-size:22px;margin:24px 0 8px}.mode-card button{width:100%;text-align:left;padding:16px;margin-top:25px;border-radius:7px;background:#2c3030;color:#e5e8e0;font-size:11px;font-weight:700;letter-spacing:.05em}.mode-card.selected button{background:var(--accent);color:#202519}.file-note{color:var(--muted);font-size:11px}.admin-banner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.banner-editor{padding:18px}.banner-editor h3{font-size:14px;margin:0 0 18px}.banner-editor h3 span{float:right;color:#686f6b;font-size:11px}.image-preview{height:160px;background:repeating-linear-gradient(135deg,#202324 0,#202324 8px,#232627 8px,#232627 9px);border:1px dashed #424746;border-radius:8px;display:grid;place-items:center;overflow:hidden;margin-bottom:16px}.image-preview img{width:100%;height:100%;object-fit:contain}.image-preview span{font-size:11px;color:#929a96}label{display:block;font-size:11px;color:#b5bab5}label input{margin:9px 0 18px;font-size:12px;padding:12px}.upload-label input{font-size:10px;padding:9px}input::file-selector-button{background:#333936;color:#e0e4dc;border:0;border-radius:4px;padding:7px;cursor:pointer}.save-button{border:1px solid #424944;background:transparent;color:var(--text);width:100%;padding:12px;text-align:left;border-radius:7px;font-size:12px}.save-button:hover,.preview-link:hover{border-color:var(--accent)}.notice{padding:15px 18px;border-radius:8px;margin:0 0 24px;font-size:13px}.success{background:#d9f78014;color:var(--accent);border:1px solid #d9f78040}.error{background:#ff827414;color:#ffb1a7;border:1px solid #ff827440}.login-shell{max-width:580px}.login-panel{padding:34px}.login-panel p{margin-bottom:30px}.login-panel h1{font-size:30px}.primary{background:var(--accent);color:#172011;width:100%;padding:17px;border-radius:9px;margin-top:8px;text-align:left}@media(min-width:1500px){.banner-placeholder{min-height:470px}}@media(max-width:1000px){.admin-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.redirect{padding:24px}.banner-grid{gap:12px}.banner-placeholder{min-height:290px}}@media(max-width:640px){.admin-shell{padding:0 20px 32px}.admin-header{height:83px;gap:18px;margin-bottom:32px}.admin-label{font-size:8px}.intro{display:block}.intro .preview-link{display:inline-block;margin-top:20px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.mode-panel{padding:18px}.mode-grid{grid-template-columns:1fr}.admin-banner-grid{grid-template-columns:1fr}.image-preview{height:210px}.redirect{padding:18px}.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px 0}.banner-placeholder{min-height:250px;padding:18px;font-size:26px}.login-panel{padding:25px}.registration-form input{height:66px}.register-button{height:64px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:34px}.stat{padding:18px}.stat span{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.stat b{font-size:26px;font-weight:500}
.regs{width:100%;border-collapse:collapse;font-size:13px}.regs th,.regs td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border)}.regs th{color:var(--muted);font-weight:500;font-size:11px}
.form-msg{text-align:center;color:var(--accent)}.form-msg.bad{color:#ffb1a7}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

.banner-grid{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));max-width:min(1600px,calc(var(--cols,4)*420px + 20px*var(--cols,4)))}.banner-grid .banner{align-self:start}@media(max-width:640px){.banner-grid{max-width:none;grid-template-columns:repeat(min(var(--cols,2),2),minmax(0,1fr))}}

.registration{background:#070605;background-image:radial-gradient(ellipse 60% 45% at 50% 0%,#4a3a0a88 0,transparent 70%),radial-gradient(ellipse 50% 40% at 50% 110%,#6e571033 0,transparent 70%)}
.reg-shell{min-height:100svh;display:grid;place-items:center;padding:24px}
.reg-card{width:min(100%,440px);padding:44px 34px 36px;text-align:center;border-radius:28px;background:linear-gradient(160deg,#17130a 0,#0d0b06 100%);border:1px solid #c9a22740;box-shadow:0 0 0 6px #c9a2270d,0 30px 80px #000a,inset 0 1px 0 #ebd99822}
.reg-mark{width:60px;height:60px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;font:700 28px 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#1a1305;background:linear-gradient(135deg,#f5ecc8,#c9a227 55%,#8f7114);box-shadow:0 8px 30px #c9a22744}
.reg-title{font:600 clamp(26px,6vw,32px) 'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:.01em;margin:0;background:linear-gradient(180deg,#f5ecc8,#c9a227);-webkit-background-clip:text;background-clip:text;color:transparent}
.reg-line{width:64px;height:2px;margin:18px auto 28px;background:linear-gradient(90deg,transparent,#c9a227,transparent)}
.reg-card .registration-form{width:100%;gap:14px}
.reg-card .registration-form input{height:62px;border-radius:14px;background:#0a0804;border:1px solid #c9a22745;color:#f5ecc8;text-align:center;font-size:18px;letter-spacing:.06em;padding:0 20px}
.reg-card .registration-form input::placeholder{color:#8f7a3e}
.reg-card .registration-form input:focus{outline:0;border-color:#d3ad41;box-shadow:0 0 0 4px #c9a22722}
.reg-card .register-button{height:62px;border-radius:14px;background:linear-gradient(135deg,#ebd998,#c9a227 50%,#a07f17);color:#1a1305;font-size:14px;letter-spacing:.18em;box-shadow:0 10px 30px #c9a22733;transition:filter .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:10px}
.reg-card .register-button:hover{filter:brightness(1.1);transform:translateY(-1px)}
.reg-card .register-button span{float:none;font-size:20px;line-height:1}
.reg-card .form-msg{color:#ebd998;font-size:13px;margin-top:4px}.reg-card .form-msg.bad{color:#ff9d8f}

.banner-grid{align-items:center}.banner-grid .banner{align-self:center}.banner-grid .banner:first-child{box-shadow:none}

.banner-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;max-width:1600px;width:100%}
.banner-grid .banner{flex:0 0 calc((100% - 60px)/4);max-width:calc((100% - 60px)/4)}
@media(max-width:1000px){.banner-grid{gap:12px}.banner-grid .banner{flex-basis:calc((100% - 36px)/4);max-width:calc((100% - 36px)/4)}}
@media(max-width:640px){.banner-grid{gap:14px;max-width:none}.banner-grid .banner{flex:0 0 calc((100% - 14px)/2);max-width:calc((100% - 14px)/2)}.banner-grid.single .banner{flex-basis:100%;max-width:100%}}
