
:root{
  --bg:#050403;
  --panel:#080807;
  --text:#f1eadf;
  --muted:#aaa398;
  --orange:#f16a0a;
  --orange2:#ff9427;
  --red:#d8321f;
  --line:#5d5b55;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#030303;color:var(--text);font-family:Arial,Helvetica,sans-serif;overscroll-behavior:none}
body{overflow-x:hidden}
button{font:inherit}
.hidden{display:none!important}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#app{min-height:100dvh;background:#030303;padding-bottom:calc(74px + var(--safe-bottom))}

/* Poster takes over the entire upper screen */
.hero{
  position:relative;
  height:70dvh;
  min-height:585px;
  max-height:760px;
  overflow:hidden;
  background:#080604;
}
.poster-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 34%;
  filter:contrast(1.08) saturate(.94) brightness(.78);
  transform:scale(1.02);
}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.03) 17%,rgba(0,0,0,.03) 67%,rgba(0,0,0,.22) 78%,#030303 100%),
    radial-gradient(ellipse at center 43%,rgba(0,0,0,0) 0 45%,rgba(0,0,0,.18) 76%,rgba(0,0,0,.48) 100%);
}
.topbar{
  position:absolute;z-index:4;left:0;right:0;top:0;
  padding:calc(11px + var(--safe-top)) 16px 0;
  display:grid;grid-template-columns:48px 1fr 76px;align-items:start;
}
.glass-btn,.lang-btn{
  border:1px solid rgba(255,255,255,.21);
  background:rgba(2,2,2,.44);color:#fff;backdrop-filter:blur(7px)
}
.menu-btn{width:43px;height:43px;border-radius:5px;padding:10px 9px;display:grid;align-content:center;gap:5px}
.menu-btn span{height:2px;background:#e6e1d8;display:block}
.lang-btn{justify-self:end;height:40px;border-radius:5px;padding:0;display:flex;overflow:hidden}
.lang-btn strong,.lang-btn span{display:flex;align-items:center;padding:0 11px;font-size:12px}
.lang-btn strong{background:#a41610}
.lang-btn span{color:#aaa}

.obs-logo{
  justify-self:center;
  width:min(62vw,350px);
  max-height:270px;
  object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.84));
  margin-top:0;
}

.hero-copy{
  position:absolute;z-index:3;left:20px;right:20px;
  top:calc(235px + var(--safe-top));
  text-align:center;
  text-shadow:0 3px 18px #000,0 0 20px #000;
}
.event-name{
  font-family:Impact,"Arial Narrow Bold",sans-serif;
  font-size:clamp(38px,10vw,64px);
  line-height:.86;letter-spacing:.02em;
  color:#cfb28f;
  text-transform:uppercase;
}
.event-subtitle{
  display:inline-block;margin-top:15px;padding:4px 20px 7px;
  font-family:Georgia,serif;font-style:italic;font-weight:700;
  font-size:clamp(25px,7vw,40px);letter-spacing:.14em;
  color:#1b1510;background:rgba(215,187,145,.9);
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
}

.hero-bottom{
  position:absolute;z-index:3;left:16px;right:16px;bottom:36px;text-align:center;
  text-shadow:0 2px 12px #000;
}
.present-line{font-size:12px;font-weight:800}
.present-line small{font-weight:400;font-size:9px}
.event-line{font-size:18px;margin-top:4px;font-weight:800}
.event-line strong{color:var(--orange)}
.feature-line{font-size:11px;margin-top:5px;letter-spacing:.04em}

.dashboard{padding:0 13px 18px;max-width:760px;margin:0 auto}
.hud{
  position:relative;background:
  linear-gradient(180deg,rgba(13,13,12,.98),rgba(5,5,5,.99));
  border:1px solid rgba(207,198,181,.32);
  box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 0 24px rgba(255,255,255,.012);
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
}
.hud:after{
  content:"";position:absolute;inset:5px;pointer-events:none;
  border-top:1px solid rgba(255,255,255,.045);
}
.date-hud{
  display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;
  min-height:68px;padding:10px 8px;margin-top:-12px;
}
.date-cell{text-align:center;display:grid;gap:3px}
.date-cell span{font-size:9px;letter-spacing:.13em;color:#bcb4a7}
.date-cell strong{font-size:13px}
.star{text-align:center;font-size:24px;color:#9d907e}

.countdown-hud{margin-top:10px;padding:17px 10px 11px;border-color:rgba(242,105,9,.55)}
.hud-title{
  text-align:center;color:var(--orange);font-family:Impact,"Arial Narrow Bold",sans-serif;
  font-size:20px;letter-spacing:.14em;
}
.countdown{display:flex;justify-content:center;align-items:center;gap:4px;margin:15px 0 14px;font-variant-numeric:tabular-nums}
.unit{text-align:center;min-width:0}
.unit strong{
  display:block;font-family:Impact,"Arial Narrow Bold",sans-serif;
  font-size:clamp(34px,11vw,62px);line-height:.9;letter-spacing:.01em;
  color:#ece2d4;text-shadow:1px 2px 0 #5a5147,0 0 18px rgba(255,255,255,.04);
}
.unit span{display:block;margin-top:7px;font-size:7px;letter-spacing:.1em;color:#b5ada1}
.colon{font-family:Impact,sans-serif;font-size:27px;color:#8a8175;margin-top:-17px}
.start-strip{
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(255,255,255,.13);background:#0d0d0c;
  border-radius:3px;padding:10px 8px;color:#cfc6ba;font-size:10px;
}
.start-strip b{font-weight:600}.start-strip em{font-style:normal;color:#eee}
.start-strip i{width:1px;height:20px;background:#45433f;display:block;margin:0 5px}

.status-hud{margin-top:10px;padding:13px}
.section-label{font-size:9px;letter-spacing:.15em;color:#bbb2a5;margin-bottom:10px;font-weight:700}
.status-row{display:flex;gap:13px;align-items:center}
.status-dot{width:19px;height:19px;border-radius:50%;flex:0 0 auto}
.status-dot.pre{background:#ffab1d;box-shadow:0 0 18px #ff8a00,0 0 4px #fff inset}
.status-dot.live{background:#e53c28;box-shadow:0 0 20px #e52c1a}
.status-dot.done{background:#8b8b8b;box-shadow:0 0 12px #666}
.status-row h2{
  margin:0 0 3px;color:#f6a423;font-family:Impact,"Arial Narrow Bold",sans-serif;
  font-size:22px;letter-spacing:.045em
}
.status-row p{margin:0;font-size:13px;color:#ddd3c5}

.split{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.mini-hud{padding:12px;min-height:148px}
.schedule-row{display:grid;grid-template-columns:47px 1fr;gap:7px;padding:5px 0;font-size:12px}
.schedule-row time{font-family:monospace;color:#c2b9ad}
.schedule-row.hot{border-top:1px solid rgba(255,255,255,.07);margin-top:3px;padding-top:8px}
.schedule-row.hot time,.schedule-row.hot span{color:var(--orange);font-weight:900}
.empty-message{height:99px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.radio-icon{font-size:31px;color:#716d66;transform:rotate(90deg)}
.empty-message p{margin:5px 0 0;font-size:12px;color:#c8c0b4;line-height:1.35}

.install-hint{margin-top:10px;border:1px solid rgba(245,143,37,.38);background:#11100d;padding:12px;display:grid;gap:4px}
.install-hint strong{color:#ef8d25;font-size:10px;letter-spacing:.09em}
.install-hint span{font-size:11px;color:#c1b9ae}

.bottom-nav{
  position:fixed;z-index:50;left:0;right:0;bottom:0;
  height:calc(68px + var(--safe-bottom));padding-bottom:var(--safe-bottom);
  display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(3,3,3,.97);border-top:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(10px)
}
.nav-item{border:0;background:transparent;color:#d2ccc2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.nav-item span{font-size:19px}.nav-item b{font-size:9px;letter-spacing:.04em}
.nav-item.active{color:#ff6520;background:radial-gradient(circle at 50% 100%,rgba(131,31,13,.52),transparent 66%)}
.nav-item.active:before{content:"";position:absolute;bottom:calc(2px + var(--safe-bottom));width:40px;height:2px;background:#da301b;box-shadow:0 0 9px #d32718}

.placeholder{position:fixed;z-index:45;inset:0 0 calc(68px + var(--safe-bottom)) 0;background:rgba(3,3,3,.97);display:flex;align-items:center;justify-content:center;padding:20px}
.placeholder-box{text-align:center;max-width:320px}
.placeholder-box>span{font-size:9px;color:var(--orange);letter-spacing:.2em;font-weight:800}
.placeholder-box h2{font-family:Impact,sans-serif;font-size:40px;letter-spacing:.07em;margin:8px 0}
.placeholder-box p{color:#aaa;line-height:1.45}
.placeholder-box button{border:1px solid #e15d27;background:#9c2814;color:#fff;padding:12px 15px;border-radius:3px;font-weight:800}

html[data-mode="active"] .hud-title{color:#e83b27}
html[data-mode="active"] .status-row h2{color:#e84531}
html[data-mode="complete"] .hud-title,
html[data-mode="complete"] .status-row h2{color:#c9c2b8}

@media(max-width:390px){
  .hero{height:67dvh;min-height:545px}
  .obs-logo{width:60vw}
  .hero-copy{top:calc(218px + var(--safe-top))}
  .event-name{font-size:35px}
  .split{grid-template-columns:1fr}
}
@media(min-width:700px){
  .hero{height:760px}
  .poster-bg{object-position:center 38%}
  .obs-logo{width:330px}
  .hero-copy{top:270px}
}

/* ================================
   RULES MODULE / ADMIN
   ================================ */
.module-page{
  position:fixed;z-index:44;inset:0 0 calc(68px + var(--safe-bottom)) 0;
  overflow:auto;-webkit-overflow-scrolling:touch;
  background:
    radial-gradient(circle at 50% -10%,rgba(125,50,18,.24),transparent 33%),
    linear-gradient(180deg,#090807 0%,#030303 28%,#050505 100%);
  padding:calc(18px + var(--safe-top)) 14px 30px;
}
.module-topbar{max-width:820px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:13px}
.module-kicker{display:block;color:var(--orange);font-size:9px;letter-spacing:.22em;font-weight:900;margin-bottom:4px}
.module-topbar h1{margin:0;font-family:Impact,"Arial Narrow Bold",sans-serif;font-size:38px;letter-spacing:.08em}
.admin-lock{border:1px solid rgba(255,255,255,.18);background:#0d0d0c;color:#d9d1c5;border-radius:4px;padding:9px 11px;font-size:10px;font-weight:800;letter-spacing:.08em}
.admin-lock span{margin-left:4px}
.rules-tools,.rules-intro,.rules-list,.rules-empty{max-width:820px;margin-left:auto;margin-right:auto}
.rules-tools{position:sticky;top:calc(-18px - var(--safe-top));z-index:3;background:rgba(5,5,5,.96);padding:10px 0 9px;backdrop-filter:blur(10px)}
.rules-search{display:grid;grid-template-columns:30px 1fr;align-items:center;background:#0c0c0b;border:1px solid rgba(241,106,10,.45);min-height:47px;border-radius:4px;overflow:hidden}
.rules-search span{text-align:center;color:var(--orange);font-size:20px}
.rules-search input{min-width:0;border:0;outline:0;background:transparent;color:#f4ede2;font-size:14px;padding:13px 10px 13px 0}
.rules-search input::placeholder{color:#77716a}
.rules-meta{margin-top:7px;text-align:right;font-size:8px;letter-spacing:.12em;color:#858078}
.rules-intro{color:#aaa298;font-size:12px;line-height:1.5;padding:6px 2px 13px}
.rules-list{display:grid;gap:8px}
.rule-section{border:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,#0c0c0b,#070706);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.rule-section.priority{border-color:rgba(241,106,10,.7);box-shadow:0 0 28px rgba(152,46,6,.15)}
.rule-section summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:8px;padding:13px 12px;min-height:64px}
.rule-section summary::-webkit-details-marker{display:none}
.rule-icon{width:34px;height:34px;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:var(--orange2);font-size:17px;background:#111}
.rule-title{display:grid;gap:3px}
.rule-title b{font-size:14px;letter-spacing:.045em}
.rule-title small{font-size:8px;letter-spacing:.12em;color:#837d75}
.rule-chevron{font-size:21px;color:#8d867d;text-align:center;transition:transform .2s}
.rule-section[open] .rule-chevron{transform:rotate(180deg)}
.rule-body{border-top:1px solid rgba(255,255,255,.08);padding:2px 12px 12px 12px;background:rgba(0,0,0,.25)}
.rule-body ol{margin:0;padding:0;list-style:none;counter-reset:rule}
.rule-body li{counter-increment:rule;position:relative;padding:12px 4px 12px 36px;color:#ded6cb;font-size:13px;line-height:1.48;border-bottom:1px solid rgba(255,255,255,.06)}
.rule-body li:last-child{border-bottom:0}
.rule-body li:before{content:counter(rule,decimal-leading-zero);position:absolute;left:0;top:12px;color:var(--orange);font-family:monospace;font-weight:800;font-size:10px}
.rules-empty{text-align:center;color:#8b857d;padding:34px 10px;font-size:13px}

.admin-modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);padding:16px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.admin-card{width:min(760px,100%);margin:calc(22px + var(--safe-top)) auto 30px;background:#080807;border:1px solid rgba(241,106,10,.55);box-shadow:0 20px 70px rgba(0,0,0,.7);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);padding:17px}
.admin-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:12px;margin-bottom:14px}
.admin-head span{font-size:8px;letter-spacing:.17em;color:var(--orange)}
.admin-head h2{font-family:Impact,sans-serif;letter-spacing:.06em;font-size:28px;margin:2px 0 0}
.admin-x{border:0;background:transparent;color:#fff;font-size:30px;line-height:1;padding:0 4px}
.admin-help{font-size:12px;line-height:1.45;color:#a9a198;margin:0 0 14px}.admin-help.compact{margin:9px 0 13px}
.admin-login{display:grid;gap:12px}
.admin-login label,.admin-lines{display:grid;gap:6px;font-size:10px;color:#b8b0a5;letter-spacing:.04em}
.admin-login input,.admin-title-input,.admin-icon-input,.admin-lines textarea{width:100%;border:1px solid rgba(255,255,255,.18);background:#11110f;color:#f3ece2;border-radius:3px;padding:11px;outline:0}
.admin-login input:focus,.admin-title-input:focus,.admin-icon-input:focus,.admin-lines textarea:focus{border-color:var(--orange)}
.admin-login button,.admin-toolbar button{border:1px solid #d35820;background:#8e2916;color:#fff;padding:11px 12px;border-radius:3px;font-weight:900;font-size:10px;letter-spacing:.05em}
.admin-msg{min-height:18px;margin-top:10px;font-size:11px;color:#bdb5aa}.admin-msg.error{color:#ff7568}.admin-msg.success{color:#7ed38b}
.admin-toolbar{display:flex;gap:8px;justify-content:space-between;position:sticky;top:-17px;z-index:2;background:#080807;padding:3px 0 8px}
.admin-toolbar .admin-save{background:#1f6b34;border-color:#4ba864}
.admin-sections{display:grid;gap:10px}
.admin-section-card{border:1px solid rgba(255,255,255,.13);background:#0d0d0c;padding:10px}
.admin-section-top{display:grid;grid-template-columns:54px 1fr 38px 38px 38px;gap:5px;margin-bottom:8px}
.admin-icon-input{text-align:center;padding:9px 4px;font-size:17px}
.admin-title-input{font-weight:800}
.admin-move,.admin-delete{border:1px solid rgba(255,255,255,.14);background:#151513;color:#e6ddd1;border-radius:3px;font-size:15px}.admin-delete{color:#ff766b}
.admin-lines textarea{resize:vertical;min-height:110px;line-height:1.45;font-size:12px}

@media(max-width:520px){
  .module-page{padding-left:10px;padding-right:10px}
  .module-topbar h1{font-size:34px}
  .admin-lock span{display:none}
  .admin-card{padding:13px}
  .admin-section-top{grid-template-columns:46px 1fr 34px 34px 34px}
  .admin-title-input{font-size:12px}
}
