:root{
  --parchment:#eee7d7;
  --parchment-deep:#e4dac4;
  --ivory:#f8f4ea;
  --ivory-2:#f1eadb;
  --navy:#102a43;
  --navy-2:#163a59;
  --navy-soft:#31536d;
  --ink:#15293a;
  --ink-soft:#6f776f;
  --gold:#a9782f;
  --gold-light:#d4b06c;
  --gold-pale:#ead8ad;
  --gold-dark:#7f5921;
  --blue:#426f9b;
  --red:#9c514f;
  --line:rgba(127,89,33,.34);
  --shadow:0 26px 70px rgba(51,42,28,.12);
}

*{box-sizing:border-box}
html{background:var(--parchment);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:"PingFang SC","Microsoft YaHei",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 14% 15%,rgba(191,157,91,.11),transparent 28%),
    radial-gradient(circle at 84% 34%,rgba(38,77,105,.07),transparent 26%),
    linear-gradient(180deg,#f4efe3 0%,var(--parchment) 58%,#e9dfcb 100%);
  overflow-x:hidden;
}
button,input{font:inherit}
button{color:inherit}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.24;
  background-image:
    linear-gradient(rgba(68,56,37,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(68,56,37,.025) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.5) 48%,transparent 96%);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.12;
  background:
    repeating-linear-gradient(0deg,rgba(60,45,24,.025) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0 1px,transparent 1px 7px);
  mix-blend-mode:multiply;
}

.page-runes{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.rune-orbit{position:absolute;border:1px solid rgba(150,112,49,.12);border-radius:50%}
.rune-orbit::before,.rune-orbit::after{content:"";position:absolute;inset:12%;border:1px dashed rgba(150,112,49,.08);border-radius:50%;transform:rotate(23deg)}
.rune-orbit::after{inset:31%;border-style:solid;transform:rotate(-18deg)}
.orbit-a{width:560px;height:560px;left:-250px;top:150px}
.orbit-b{width:760px;height:760px;right:-390px;top:520px}
.rune-star{position:absolute;color:rgba(140,98,31,.18);font-family:Georgia,serif}
.star-a{top:182px;left:7%;font-size:18px}.star-b{right:9%;top:640px;font-size:24px}

.site-header{
  height:70px;
  padding:0 clamp(20px,4vw,64px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(16,42,67,.96);
  color:#f5ecda;
  border-bottom:1px solid rgba(212,176,108,.48);
  box-shadow:0 8px 30px rgba(22,31,37,.12);
  backdrop-filter:blur(12px);
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:rgba(212,176,108,.18)}
.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}
.brand-sigil{width:38px;height:38px;position:relative;display:grid;place-items:center;transform:rotate(45deg);border:1px solid rgba(219,183,111,.8);box-shadow:inset 0 0 0 4px rgba(219,183,111,.06)}
.brand-sigil::before,.brand-sigil::after{content:"";position:absolute;background:var(--gold-light)}
.brand-sigil::before{width:1px;height:21px}.brand-sigil::after{width:21px;height:1px}
.brand-sigil i{width:7px;height:7px;border:1px solid var(--gold-light);background:var(--navy);display:block}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-family:Georgia,"Songti SC",serif;font-size:13px;letter-spacing:.18em;font-weight:600}
.brand-copy small{margin-top:6px;color:#c9b88f;font-size:7px;letter-spacing:.28em}
.header-actions{display:flex;align-items:center;gap:17px}
.user-name{font-size:10px;color:#d8c9a8;letter-spacing:.08em}
.text-btn{border:0;background:none;padding:8px 0;cursor:pointer;color:#e9ddc4;font-size:10px;letter-spacing:.08em;position:relative}
.text-btn::after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--gold-light);transition:.2s}
.text-btn:hover::after{left:0;right:0}

main{width:min(1510px,calc(100% - 44px));margin:0 auto}
.hero{min-height:340px;padding:52px 20px 34px;display:grid;place-items:center;position:relative;text-align:center}
.hero-copy{position:relative;z-index:2;max-width:850px}
.hero-sigil{position:absolute;left:50%;top:48%;width:278px;height:278px;transform:translate(-50%,-50%);opacity:.18;pointer-events:none}
.sigil-ring{position:absolute;border-radius:50%;border:1px solid var(--gold)}
.ring-1{inset:0}.ring-1::before,.ring-1::after{content:"";position:absolute;inset:16px;border-radius:50%;border:1px dashed rgba(127,89,33,.65)}
.ring-1::after{inset:45px;border-style:solid}
.ring-2{inset:76px;border-color:var(--navy-soft);transform:rotate(45deg)}
.sigil-diamond{position:absolute;width:92px;height:92px;left:50%;top:50%;border:1px solid var(--gold-dark);transform:translate(-50%,-50%) rotate(45deg)}
.sigil-diamond::before,.sigil-diamond::after{content:"";position:absolute;inset:18px;border:1px solid rgba(127,89,33,.65)}
.sigil-diamond::after{inset:35px;background:rgba(127,89,33,.08)}
.sigil-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--gold-dark);font-size:26px}
.hero-kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold-dark);font-family:Georgia,serif;font-size:9px;letter-spacing:.32em;font-weight:700}
.hero-kicker i{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.hero-kicker i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.hero h1{margin:23px 0 0;font-family:Georgia,"Songti SC","STSong",serif;font-size:clamp(42px,5.5vw,76px);line-height:1.03;font-weight:500;letter-spacing:-.035em;color:var(--navy)}
.hero h1 b{font-weight:400;color:var(--gold);font-size:.58em;vertical-align:.15em;margin:0 .12em}
.hero p{max-width:620px;margin:20px auto 0;color:#667064;font-family:Georgia,"Songti SC",serif;font-size:13px;line-height:1.95;letter-spacing:.04em}
.hero-meta{margin:29px auto 0;display:flex;justify-content:center;align-items:center;gap:20px;width:max-content;max-width:100%;padding:13px 24px;border-top:1px solid rgba(127,89,33,.36);border-bottom:1px solid rgba(127,89,33,.36);background:rgba(248,244,234,.32)}
.hero-meta span{display:flex;align-items:baseline;gap:7px}.hero-meta em{font-family:Georgia,serif;font-size:16px;color:var(--navy);font-style:normal}.hero-meta small{font-size:7px;letter-spacing:.18em;color:#8b806b}.hero-meta>i{width:3px;height:3px;background:var(--gold);transform:rotate(45deg)}

.stage-nav{margin:0 auto 25px;display:flex;align-items:center;justify-content:center;gap:17px;max-width:1120px;position:relative;padding:14px 0}
.stage-line{height:1px;min-width:30px;flex:1;max-width:110px;background:linear-gradient(90deg,transparent,var(--line))}.stage-line:last-child{background:linear-gradient(90deg,var(--line),transparent)}
.stage-knot{color:#a9854c;font-size:11px}
.stage-tab,.stage-finale{min-width:205px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:8px 10px;border:0;background:none;text-align:left;position:relative;color:#7d796f}
.stage-tab{cursor:pointer}
.stage-glyph{font-family:Georgia,serif;font-size:25px;color:#9b927f;line-height:1;text-align:center}
.stage-copy{display:flex;flex-direction:column;gap:2px}.stage-copy small{font-family:Georgia,serif;font-size:7px;letter-spacing:.22em;color:#a28c63}.stage-copy strong{font-family:Georgia,"Songti SC",serif;font-size:14px;font-weight:600;color:#5d625f}.stage-copy em{font-size:7px;letter-spacing:.13em;color:#9b958a;font-style:normal}
.stage-tab::before{content:"";position:absolute;left:5px;right:5px;bottom:-8px;height:1px;background:transparent;transition:.2s}
.stage-tab.active::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.stage-tab.active .stage-glyph{color:var(--gold-dark);text-shadow:0 0 18px rgba(169,120,47,.18)}
.stage-tab.active .stage-copy strong{color:var(--navy)}
.stage-tab:hover .stage-copy strong{color:var(--navy)}
.stage-finale{opacity:.72}

.tournament-shell{
  position:relative;
  margin:0 0 54px;
  padding:7px;
  border:1px solid rgba(127,89,33,.62);
  background:rgba(248,244,234,.82);
  box-shadow:var(--shadow),inset 0 0 0 3px rgba(169,120,47,.05);
}
.tournament-shell::before{content:"";position:absolute;inset:6px;border:1px solid rgba(127,89,33,.16);pointer-events:none}
.shell-corner{position:absolute;width:25px;height:25px;z-index:3;pointer-events:none}
.shell-corner::before,.shell-corner::after{content:"";position:absolute;background:var(--gold-dark)}
.shell-corner.tl{left:-1px;top:-1px}.shell-corner.tr{right:-1px;top:-1px;transform:rotate(90deg)}.shell-corner.br{right:-1px;bottom:-1px;transform:rotate(180deg)}.shell-corner.bl{left:-1px;bottom:-1px;transform:rotate(270deg)}
.shell-corner::before{left:0;top:0;width:24px;height:1px}.shell-corner::after{left:0;top:0;width:1px;height:24px}
.panel-head{padding:31px 35px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;position:relative;z-index:2}
.section-label{font-family:Georgia,serif;font-size:8px;letter-spacing:.28em;color:var(--gold-dark)}
.panel-head h2{margin:8px 0 0;font-family:Georgia,"Songti SC",serif;font-size:27px;color:var(--navy);font-weight:500;letter-spacing:.02em}
.panel-legend{display:flex;align-items:center;gap:18px;padding-bottom:4px;color:#837c6f;font-size:9px;letter-spacing:.05em}.panel-legend span{display:flex;align-items:center;gap:6px}
.legend-rune{width:7px;height:7px;display:inline-block;transform:rotate(45deg);border:1px solid currentColor}.legend-rune.blue{color:var(--blue)}.legend-rune.red{color:var(--red)}.legend-rune.gold{color:var(--gold)}
.panel-divider{height:16px;margin:0 28px;display:flex;align-items:center;gap:12px;color:#a27c3c;font-size:9px}.panel-divider::before,.panel-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(127,89,33,.38))}.panel-divider::after{background:linear-gradient(90deg,rgba(127,89,33,.38),transparent)}

.bracket{min-height:660px;padding:24px 42px 42px;overflow-x:auto}
.bracket-grid{min-width:980px;display:grid;grid-template-columns:repeat(3,minmax(255px,1fr));gap:92px;position:relative;isolation:isolate}
.round{position:relative;z-index:1}.round-head{height:58px;text-align:center;position:relative}.round-head::after{content:"◇";display:block;margin-top:6px;color:#b49255;font-size:8px}
.round-head strong{font-family:Georgia,"Songti SC",serif;font-size:13px;color:var(--navy);font-weight:600;letter-spacing:.08em}.round-head span{display:block;margin-top:5px;color:#968a74;font-family:Georgia,serif;font-size:7px;letter-spacing:.19em}
.round-body{height:550px;display:flex;flex-direction:column;justify-content:space-around;position:relative}.round-body.two-groups{justify-content:space-between}.region-block{height:48%;display:flex;flex-direction:column;justify-content:space-around;position:relative}
.region-label{position:absolute;left:-19px;top:50%;transform:translate(-100%,-50%) rotate(180deg);writing-mode:vertical-rl;color:#a28b64;font-family:Georgia,"Songti SC",serif;font-size:8px;letter-spacing:.28em}

.match-card{
  position:relative;
  background:linear-gradient(180deg,rgba(255,253,247,.96),rgba(247,240,224,.94));
  border:1px solid rgba(128,95,42,.52);
  box-shadow:0 10px 24px rgba(51,44,31,.08),inset 0 0 0 3px rgba(169,120,47,.035);
  clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.match-card::before{content:"";position:absolute;inset:4px;border:1px solid rgba(169,120,47,.12);pointer-events:none;clip-path:inherit}
.match-card.admin{cursor:pointer}.match-card.admin:hover{transform:translateY(-2px);border-color:rgba(127,89,33,.8);box-shadow:0 14px 30px rgba(51,44,31,.12),0 0 0 1px rgba(169,120,47,.08)}
.match-card.final-card{border-color:rgba(127,89,33,.82);background:radial-gradient(circle at 50% 0,rgba(212,176,108,.19),transparent 55%),linear-gradient(180deg,#fffdf7,#f3e8cd);box-shadow:0 18px 40px rgba(84,61,24,.13),inset 0 0 0 3px rgba(169,120,47,.06)}
.final-card::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(169,120,47,.23);pointer-events:none;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)}
.final-badge{position:absolute;left:50%;top:-27px;transform:translateX(-50%) rotate(45deg);width:46px;height:46px;display:grid;place-items:center;background:var(--navy);border:1px solid var(--gold-light);box-shadow:0 8px 20px rgba(16,42,67,.18);color:var(--gold-light);font-family:Georgia,serif;font-size:15px;z-index:5}
.final-badge::before{content:"";position:absolute;inset:5px;border:1px solid rgba(212,176,108,.34)}
.final-badge::after{content:"";width:5px;height:5px;background:var(--gold-light);transform:rotate(45deg)}
.final-badge{font-size:0}

.match-meta{height:30px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(127,89,33,.14);font-size:7px;letter-spacing:.16em;color:#9a8a70;position:relative}
.match-meta::before{content:"";position:absolute;left:50%;bottom:-3px;width:5px;height:5px;background:var(--ivory);border-right:1px solid rgba(127,89,33,.2);border-bottom:1px solid rgba(127,89,33,.2);transform:translateX(-50%) rotate(45deg)}
.status{display:flex;align-items:center;gap:6px}.status::before{content:"";width:5px;height:5px;border:1px solid currentColor;transform:rotate(45deg)}.status.upcoming{color:#6b856f}.status.finished{color:#9b8f7b}.bo-label{font-family:Georgia,serif;color:#7f6f57}
.team-row{height:48px;display:flex;align-items:center;gap:10px;padding:0 13px 0 15px;position:relative}.team-row+.team-row{border-top:1px solid rgba(127,89,33,.11)}
.team-row::before{content:"";width:3px;height:20px;display:block;background:#9aa0a1;box-shadow:none}.team-row.blue::before{background:var(--blue)}.team-row.red::before{background:var(--red)}
.team-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#394b55;font-family:Georgia,"Songti SC",serif;font-size:12px;letter-spacing:.01em}.team-row.winner{background:linear-gradient(90deg,rgba(212,176,108,.13),transparent 72%)}.team-row.winner .team-name{color:var(--navy);font-weight:700}.team-row.loser .team-name{color:#9c9b93}.team-row.winner::after{content:"晋级";margin-right:2px;color:var(--gold-dark);font-size:7px;letter-spacing:.1em}
.team-score{min-width:20px;text-align:right;color:#354856;font-family:Georgia,serif;font-size:21px}.team-row.winner .team-score{color:var(--gold-dark)}.pending-name{color:#aaa398;font-style:italic;font-weight:400}
.match-foot{min-height:32px;padding:6px 12px;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(127,89,33,.12);color:#958b79;font-family:Georgia,"Songti SC",serif;font-size:8px;letter-spacing:.03em}.match-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.bracket-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.bracket-connector-path{fill:none;stroke:url(#none);stroke:#b08a4d;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(169,120,47,.14))}

.bracket-16{min-height:535px}.bracket-16 .round-body{height:420px}.bracket-16 .match-card{max-width:330px;margin-left:auto;margin-right:auto;width:100%}

footer{width:min(1510px,calc(100% - 44px));margin:0 auto 28px;display:flex;align-items:center;justify-content:center;gap:18px;color:#867a66}.footer-rule{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(127,89,33,.26))}.footer-rule:last-child{background:linear-gradient(90deg,rgba(127,89,33,.26),transparent)}footer p{margin:0;display:flex;flex-direction:column;gap:3px;text-align:center;white-space:nowrap}footer p strong{font-family:Georgia,serif;font-size:7px;letter-spacing:.2em;color:#725f43}footer p small{font-size:7px;letter-spacing:.08em}.footer-rune{color:#a87f42}.footer-right{opacity:.72}

.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(9,26,40,.66);backdrop-filter:blur(8px)}
.modal-card{position:relative;width:min(650px,100%);padding:35px 34px 30px;border:1px solid rgba(212,176,108,.74);background:linear-gradient(180deg,#15334d,#102a43);color:#f3e8d2;box-shadow:0 30px 100px rgba(8,22,34,.4),inset 0 0 0 4px rgba(212,176,108,.04);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)}
.modal-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(212,176,108,.16);pointer-events:none;clip-path:inherit}.modal-card.compact{width:min(420px,100%)}.modal-crest{width:34px;height:34px;margin:0 auto 16px;display:grid;place-items:center;border:1px solid rgba(212,176,108,.62);transform:rotate(45deg);color:var(--gold-light);font-size:12px}.modal-crest::first-line{transform:rotate(-45deg)}
.modal-x{position:absolute;right:16px;top:12px;border:0;background:none;color:#bda77a;font-size:23px;cursor:pointer}.modal-eyebrow{display:block;text-align:center;color:#c9ae75;font-family:Georgia,serif;font-size:7px;letter-spacing:.25em}.modal-card h3{margin:7px 0 8px;text-align:center;font-family:Georgia,"Songti SC",serif;font-size:26px;font-weight:500;color:#fff3da}.modal-card>p{margin:0 0 22px;text-align:center;color:#b9b6aa;font-size:10px;line-height:1.7}.modal-card label{display:block;margin-top:14px;color:#c8b78f;font-size:8px;letter-spacing:.08em}.modal-card input{width:100%;height:42px;margin-top:7px;padding:0 12px;border:1px solid rgba(212,176,108,.28);border-radius:0;background:rgba(5,21,34,.38);color:#f7eedc;outline:0}.modal-card input:focus{border-color:#caa45f;box-shadow:0 0 0 2px rgba(202,164,95,.08)}
.primary-btn,.secondary-btn{height:42px;border-radius:0;cursor:pointer;font-size:9px;letter-spacing:.08em}.primary-btn{border:1px solid #d1af70;background:linear-gradient(180deg,#c59a50,#9b6e2b);color:#fff7e7;font-weight:700}.secondary-btn{border:1px solid rgba(212,176,108,.28);background:rgba(255,255,255,.03);color:#cfc3a7}.primary-btn:hover{filter:brightness(1.06)}#loginSubmit{width:100%;margin-top:20px}
.score-editor{display:grid;grid-template-columns:1.5fr 64px 18px 64px 1.5fr;gap:8px;align-items:end}.score-field input{text-align:center;font-family:Georgia,serif;font-size:20px}.score-separator{padding-bottom:12px;text-align:center;color:#a68c5e}.blue-field input:focus{border-color:#6c99bd}.red-field input:focus{border-color:#bb706c}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal-actions button{min-width:120px}.form-error{min-height:16px;margin-top:8px;color:#f0a29f;font-size:9px}
.toast{position:fixed;right:22px;bottom:22px;z-index:100;max-width:360px;padding:12px 15px;border:1px solid rgba(127,89,33,.45);background:#f8f2e6;color:#374957;font-size:10px;box-shadow:0 16px 50px rgba(51,42,28,.2);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.toast.error{border-color:rgba(156,81,79,.55);color:#8b3f3d}

@media(max-width:1100px){
  .bracket{padding-left:30px;padding-right:30px}.bracket-grid{gap:72px}
  .stage-tab,.stage-finale{min-width:180px}
}

@media(max-width:900px){
  main{width:min(100% - 24px,1510px)}
  .site-header{height:64px;padding:0 14px}.brand-copy small{display:none}.brand-sigil{width:32px;height:32px}.header-actions{gap:12px}
  .hero{min-height:335px;padding:50px 8px 34px}.hero-sigil{width:250px;height:250px}.hero h1{font-size:42px}.hero p{font-size:12px}.hero-meta{padding:11px 15px;gap:12px}.hero-meta small{display:none}
  .stage-nav{justify-content:flex-start;overflow-x:auto;padding:14px 4px 19px;gap:8px}.stage-line,.stage-knot{display:none}.stage-tab,.stage-finale{min-width:160px;padding:8px}.stage-glyph{font-size:21px}.stage-copy strong{font-size:13px}
  .tournament-shell{margin-bottom:42px}.panel-head{padding:25px 21px 17px}.panel-head h2{font-size:23px}.panel-legend{display:none}.panel-divider{margin:0 18px}
  .bracket{min-height:0;padding:22px 16px 30px}.bracket-grid{min-width:0;display:flex;flex-direction:column;gap:34px}.round-head{height:auto;text-align:left;margin:0 0 14px;padding-left:3px}.round-head::after{display:none}.round-body,.bracket-16 .round-body{height:auto!important;gap:13px}.round-body.two-groups{gap:18px}.region-block{height:auto;gap:12px;padding-top:13px;border-top:1px solid rgba(127,89,33,.16)}.region-label{position:static;transform:none;writing-mode:horizontal-tb;margin:0 0 1px;font-size:8px}.bracket-connectors{display:none!important}.match-card,.bracket-16 .match-card{width:100%;max-width:none}.final-card{margin-top:15px}.final-badge{top:-20px;width:36px;height:36px}
  footer{width:calc(100% - 24px);gap:10px}.footer-right,.footer-rune{display:none}.footer-rule{min-width:20px}
  .score-editor{grid-template-columns:1fr 62px}.score-separator{display:none}.score-editor .team-field.red-field{grid-column:1}.score-editor .score-field:nth-of-type(4){grid-column:2;grid-row:2}.modal-card{padding:32px 18px 24px}
}

@media(max-width:540px){
  .brand-copy strong{font-size:11px}.text-btn{font-size:9px}.hero{min-height:305px}.hero-sigil{width:210px;height:210px}.hero h1{font-size:34px}.hero-kicker{font-size:7px;letter-spacing:.21em}.hero-kicker i{width:20px}.hero p{max-width:330px;font-size:11px}.hero-meta em{font-size:14px}
  .stage-tab,.stage-finale{min-width:145px;grid-template-columns:30px 1fr}.stage-glyph{font-size:18px}.stage-copy small{font-size:6px}.stage-copy strong{font-size:12px}.stage-copy em{font-size:6px}
  .panel-head{padding-left:16px;padding-right:16px}.bracket{padding-left:10px;padding-right:10px}.team-name{font-size:11px}.team-score{font-size:19px}
}

/* mobile runic chapter index: keep all three chapters visible */
@media(max-width:900px){
  .stage-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:0;padding:10px 0 18px;border-bottom:1px solid rgba(127,89,33,.12)}
  .stage-tab,.stage-finale{min-width:0;width:100%;grid-template-columns:1fr;justify-items:center;text-align:center;gap:5px;padding:8px 3px}
  .stage-tab+.stage-tab,.stage-finale{border-left:1px solid rgba(127,89,33,.12)}
  .stage-copy{align-items:center}.stage-glyph{font-size:19px}.stage-tab::before{bottom:-7px}
}
