:root{
  --ink:#17140e;
  --muted:#6f6758;
  --paper:#fffefa;
  --warm:#f7f2e7;
  --line:#eadfc8;
  --gold:#c58b18;
  --gold2:#e0b74c;
  --gold3:#8b6110;
  --cyan:#1bc8df;
  --cyan-soft:rgba(27,200,223,.10);
  --cyan-line:rgba(27,200,223,.38);
  --green:#2fc978;
  --shadow:0 16px 42px rgba(56,42,15,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 7% 0%,rgba(207,164,54,.12),transparent 31rem),
    radial-gradient(circle at 96% 12%,rgba(27,200,223,.065),transparent 26rem),
    linear-gradient(180deg,#fffefa 0%,#f8f4eb 55%,#f2ecdf 100%);
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(1240px,calc(100% - 34px));margin:0 auto;padding:18px 0 42px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 2px 12px;border-bottom:1px solid rgba(159,111,17,.18)}
.brand{display:flex;align-items:center;gap:12px;min-width:230px}
.brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.10))}
.brand-copy strong{display:block;font-size:.84rem;letter-spacing:.07em}
.brand-copy span{display:block;margin-top:2px;font-size:.62rem;letter-spacing:.15em;color:#8a806f}
.nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px}
.nav a{padding:7px 9px;border-radius:8px;font-size:.66rem;font-weight:800}
.nav a:hover{background:rgba(197,139,24,.07)}
.nav a.active{background:linear-gradient(135deg,#f6e7b9,#e0b64a);color:#5c4009;box-shadow:inset 0 0 0 1px rgba(157,111,17,.18)}
.nav .community{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(47,201,120,.23);background:#fff;color:#315f44}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(47,201,120,.10)}

.hero{position:relative;overflow:hidden;margin-top:14px;padding:32px 28px;border:1px solid rgba(169,124,25,.24);border-radius:18px;background:linear-gradient(110deg,rgba(255,255,255,.97),rgba(255,254,249,.92));box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:linear-gradient(180deg,#e4bb54,#bb8215)}
.hero:after{content:"";position:absolute;width:290px;height:290px;right:-140px;bottom:-210px;border:1px solid rgba(27,200,223,.16);border-radius:50%;box-shadow:0 0 50px rgba(27,200,223,.05)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:center;position:relative;z-index:1}
.eyebrow{font-size:.64rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold3)}
h1{font-size:clamp(3.2rem,6vw,5.4rem);line-height:.88;letter-spacing:-.055em;margin:8px 0 12px}
.hero p{max-width:700px;margin:0;color:#635b4d;font-size:.91rem;line-height:1.55}
.live-card{padding:16px;border:1px solid var(--cyan-line);border-radius:12px;background:#fff;box-shadow:0 0 0 3px rgba(27,200,223,.04),0 12px 28px rgba(27,200,223,.055)}
.live-label{display:flex;align-items:center;gap:7px;font-size:.60rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#686055}
.live-label .dot{background:var(--cyan);box-shadow:0 0 0 4px rgba(27,200,223,.10)}
.live-card strong{display:block;margin-top:8px;font-size:1.06rem}
.live-card small{display:block;margin-top:4px;color:#7f7563;font-size:.67rem;line-height:1.45}

.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.quick-card{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px rgba(56,42,15,.045)}
.quick-card span{display:block;font-size:.57rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8b7653}
.quick-card strong{display:block;margin-top:4px;font-size:.92rem}
.quick-card.current{border-color:var(--cyan-line);box-shadow:inset 2px 0 0 var(--cyan)}

.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0;padding:8px;border:1px solid rgba(169,124,25,.18);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 9px 24px rgba(52,39,14,.045)}
.tabs button{border:1px solid transparent;background:transparent;padding:9px 13px;border-radius:7px;font-size:.66rem;font-weight:900;cursor:pointer;color:#594f40}
.tabs button.active{background:linear-gradient(135deg,#e2b846,#bd861a);color:#171108;box-shadow:0 4px 12px rgba(166,117,16,.16)}
.view{display:none}
.view.active{display:block}

.panel{padding:16px;border:1px solid rgba(169,124,25,.19);border-radius:14px;background:rgba(255,255,255,.91);box-shadow:0 13px 32px rgba(52,39,14,.055)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}
.section-head h2{margin:3px 0 0;font-size:1.15rem}
.section-head p{margin:3px 0 0;font-size:.68rem;color:#786f61}
.legend{display:flex;gap:7px;flex-wrap:wrap}
.legend span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.56rem;font-weight:900}
.legend .live{border-color:var(--cyan-line);color:#08788a;background:var(--cyan-soft)}

.circuit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.month{position:relative;overflow:hidden;min-height:252px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);display:flex;flex-direction:column}
.month.current{border-color:var(--cyan-line);box-shadow:0 0 0 3px rgba(27,200,223,.05),0 12px 27px rgba(27,200,223,.055)}
.month.current:before{content:"CURRENT";position:absolute;top:10px;right:10px;z-index:2;padding:5px 7px;border:1px solid rgba(27,200,223,.25);border-radius:999px;background:#effcff;color:#08788a;font-size:.50rem;font-weight:950;letter-spacing:.10em}
.month-top{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0}
.month-no{font-size:.53rem;font-weight:950;letter-spacing:.13em;color:#987019}
.month-name{font-size:.88rem;font-weight:950}
.logo-wrap{display:grid;place-items:center;height:132px;padding:4px 16px 0}
.logo-wrap img{max-width:100%;max-height:126px;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(0,0,0,.16))}
.month-body{padding:4px 12px 12px;margin-top:auto}
.event-name{font-size:.84rem;font-weight:950}
.event-meta{margin-top:3px;color:#756b5c;font-size:.61rem;line-height:1.4}
.pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.pill{padding:5px 7px;border:1px solid var(--line);border-radius:999px;font-size:.50rem;font-weight:900;background:#fff}
.pill.major{color:#744e05;background:#fff7df}
.pill.open{color:#08788a;border-color:rgba(27,200,223,.27);background:#f1fcfe}

.current-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:11px}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mode-card,.season-card,.life-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:13px}
.mode-card small,.season-card small,.life-card small{display:block;font-size:.54rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#9a7117}
.mode-card strong,.season-card strong,.life-card strong{display:block;margin-top:5px;font-size:.87rem}
.mode-card p,.season-card p,.life-card p{margin:5px 0 0;font-size:.62rem;line-height:1.48;color:#72695c}
.mode-card.live{border-color:var(--cyan-line);box-shadow:inset 2px 0 0 var(--cyan)}
.season-stack{display:grid;gap:9px}

.lifecycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.life-card{position:relative;padding-top:38px}
.life-time{position:absolute;top:11px;left:12px;padding:5px 7px;border-radius:7px;background:#fbf4df;color:#7b5509;font-size:.60rem;font-weight:950}
.life-card.live .life-time{background:#effcff;color:#08788a;border:1px solid rgba(27,200,223,.24)}

.notice{margin-top:10px;padding:10px 11px;border:1px solid #eadbb8;border-radius:9px;background:#fffbf0;color:#6a5c43;font-size:.61rem;line-height:1.45}
.notice strong{color:#8a6110}

footer{padding:19px 4px 0;color:#887e6f;font-size:.58rem;text-align:center}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr 220px}
  .circuit{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .shell{width:calc(100% - 14px);padding-top:8px}
  .topbar{gap:10px;align-items:flex-start;flex-direction:column}
  .brand img{width:48px;height:48px}
  .nav{width:100%;justify-content:flex-start}
  .nav a{padding:6px 7px;font-size:.57rem}
  .hero{padding:21px 18px}
  .hero-grid{grid-template-columns:1fr}
  h1{font-size:clamp(2.7rem,13vw,3.55rem)}
  .live-card{max-width:none}
  .circuit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .current-grid{grid-template-columns:1fr}
  .lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:470px){
  .quick{grid-template-columns:repeat(2,1fr)}
  .tabs button{flex:1 1 calc(50% - 6px);text-align:center;padding:9px 6px;font-size:.58rem}
  .panel{padding:10px}
  .section-head{align-items:flex-start;flex-direction:column}
  .circuit{grid-template-columns:1fr}
  .month{min-height:226px}
  .logo-wrap{height:118px}
  .logo-wrap img{max-height:114px}
  .mode-grid{grid-template-columns:1fr}
  .lifecycle{grid-template-columns:1fr}
}


/* V1.1 deadline layer */
.month-deadlines{
  display:grid;
  gap:3px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #efe6d5;
}
.month-deadlines span{
  font-size:.48rem;
  line-height:1.35;
  color:#756b5c;
}
.month-deadlines b{
  color:#8a6110;
  letter-spacing:.06em;
}
.deadline-board{display:grid;gap:8px}
.deadline-row{
  display:grid;
  grid-template-columns:116px minmax(0,1fr) 94px;
  align-items:center;
  gap:14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.deadline-row.live{
  border-color:var(--cyan-line);
  box-shadow:inset 2px 0 0 var(--cyan);
}
.deadline-row.freeplay{box-shadow:inset 2px 0 0 var(--cyan)}
.deadline-row.tournament{box-shadow:inset 2px 0 0 var(--gold2)}
.deadline-date{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-right:12px;
  border-right:1px solid #eee4d2;
}
.deadline-date strong{
  font-size:.72rem;
  letter-spacing:.07em;
  color:#7b5509;
}
.deadline-date span{
  font-size:.60rem;
  font-weight:850;
  color:#544c40;
}
.deadline-copy small{
  display:block;
  font-size:.50rem;
  font-weight:950;
  letter-spacing:.13em;
  color:#997019;
}
.deadline-copy strong{
  display:block;
  margin-top:4px;
  font-size:.83rem;
}
.deadline-copy p{
  margin:4px 0 0;
  color:#71685a;
  font-size:.61rem;
  line-height:1.45;
}
.deadline-mode{
  justify-self:end;
  padding:6px 7px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:.48rem;
  font-weight:950;
  letter-spacing:.07em;
  white-space:nowrap;
}
.deadline-mode.all{
  border-color:var(--cyan-line);
  color:#08788a;
  background:#f1fcfe;
}
.deadline-mode.freeplay-mode{
  border-color:rgba(27,200,223,.28);
  color:#08788a;
}
.deadline-mode.division{color:#73510d;background:#fff9e8}
.deadline-mode.tournament-mode{color:#73510d;background:#fff6dc}

@media(max-width:700px){
  .deadline-row{grid-template-columns:90px minmax(0,1fr);gap:10px}
  .deadline-mode{grid-column:2;justify-self:start}
}
@media(max-width:470px){
  .deadline-row{grid-template-columns:1fr;gap:7px}
  .deadline-date{border-right:0;border-bottom:1px solid #eee4d2;padding:0 0 7px}
  .deadline-mode{grid-column:1}
}


/* V1.2 exact tournament timing */
.tournament-dates{margin-top:8px;padding:8px 9px;border:1px solid rgba(27,200,223,.16);border-radius:8px;background:linear-gradient(90deg,rgba(27,200,223,.045),rgba(255,249,230,.45))}
.tournament-dates strong{display:block;font-size:.49rem;letter-spacing:.10em;text-transform:uppercase;color:#8a6110}
.tournament-dates span{display:block;margin-top:4px;font-size:.52rem;line-height:1.4;font-weight:800;color:#4d463b}
.tournament-dates em{display:block;margin-top:4px;font-size:.47rem;line-height:1.4;font-style:normal;color:#756b5c}
