/* KSM v3.9.1 Vector Logo + Seigaiha Wave Integration — screen-only visual language */
@media screen{
  :root{
    --ksm-navy:#071f33;
    --ksm-navy-2:#0c2d46;
    --ksm-navy-3:#142f45;
    --ksm-red:#b6292f;
    --ksm-red-soft:#f8e8e6;
    --ksm-gold:#c8a24a;
    --ksm-gold-soft:#fbf1d7;
    --ksm-ivory:#fbf6ed;
    --ksm-paper:#fffdf8;
    --ksm-mist:#eef1f2;
    --ksm-slate:#525d68;
    --ksm-ink:#17212b;
    --ksm-line:#e4ddd2;
    --ksm-line-strong:#d3c5b5;
    --ksm-shadow-card:0 18px 46px rgba(7,31,51,.09);
    --ksm-shadow-lift:0 12px 28px rgba(7,31,51,.13);
    --ksm-radius-card:20px;
    --ksm-radius-small:12px;
    --bg:var(--ksm-ivory);
    --card:rgba(255,253,248,.96);
    --ink:var(--ksm-ink);
    --muted:var(--ksm-slate);
    --line:var(--ksm-line);
    --red:var(--ksm-red);
    --redbg:var(--ksm-red-soft);
    --blue:var(--ksm-navy);
    --ivory:var(--ksm-gold-soft);
    --shadow:var(--ksm-shadow-card);
    --r:var(--ksm-radius-card);
  }
  body{
    background:
      radial-gradient(circle at 14% 0%, rgba(200,162,74,.14), transparent 28rem),
      radial-gradient(circle at 86% 8%, rgba(7,31,51,.08), transparent 31rem),
      linear-gradient(180deg,#fbf7ef 0%,#f5efe4 46%,#f1eadf 100%);
    position:relative;
    overflow-x:hidden;
  }
  body:before{
    content:"";
    position:fixed;
    inset:auto -8% 0 -8%;
    height:185px;
    pointer-events:none;
    opacity:.07;
    background:
      radial-gradient(120px 38px at 10% 75%, transparent 55%, var(--ksm-navy) 57%, transparent 60%),
      radial-gradient(140px 42px at 30% 78%, transparent 55%, var(--ksm-navy) 57%, transparent 60%),
      radial-gradient(160px 48px at 52% 76%, transparent 55%, var(--ksm-navy) 57%, transparent 60%),
      radial-gradient(130px 40px at 73% 80%, transparent 55%, var(--ksm-navy) 57%, transparent 60%),
      radial-gradient(150px 46px at 93% 74%, transparent 55%, var(--ksm-navy) 57%, transparent 60%);
    z-index:-1;
  }
  header{
    background:rgba(255,253,248,.92);
    border-bottom:1px solid rgba(211,197,181,.75);
    box-shadow:0 10px 34px rgba(7,31,51,.08);
  }
  .brand{
    padding:6px 12px 6px 6px;
    border-radius:999px;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(228,221,210,.8);
  }
  .fuji{
    width:44px;
    height:34px;
    border-radius:50%;
    background:var(--ksm-navy);
    overflow:hidden;
  }
  .fuji:before{
    left:7px;right:7px;top:6px;bottom:5px;
    clip-path:polygon(50% 0,98% 100%,2% 100%);
    background:#fffdf8;
  }
  .fuji:after{
    left:9px;right:9px;bottom:7px;
    border-bottom:3px solid var(--ksm-red);
    border-radius:999px;
  }
  .brand-title{
    color:var(--ksm-navy);
    letter-spacing:-.03em;
  }
  .version-badge{
    background:var(--ksm-navy);
    border-color:var(--ksm-navy);
    color:#fff;
  }
  nav{
    padding:6px;
    border:1px solid rgba(228,221,210,.78);
    background:rgba(255,255,255,.55);
    border-radius:999px;
  }
  nav button{
    color:var(--ksm-navy);
    background:transparent;
    border-color:transparent;
  }
  nav button:hover{
    background:#fff;
    border-color:var(--ksm-line);
  }
  nav button:nth-last-of-type(2),nav button:nth-last-of-type(1){
    background:rgba(7,31,51,.06);
    border-color:rgba(7,31,51,.05);
  }
  main{max-width:1300px;}
  .card{
    background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(255,252,247,.94));
    border:1px solid rgba(228,221,210,.9);
    box-shadow:var(--ksm-shadow-card);
  }
  .card:hover{border-color:rgba(211,197,181,.95);}
  h1,h2{color:var(--ksm-navy);}
  h1:after{
    content:"";
    display:block;
    width:36px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ksm-red),var(--ksm-gold));
    margin-top:10px;
  }
  #publicTitle:after,#courtTitle:after{display:none;}
  h3,.field label,th,.bracket-round,.court-chip,.tiebreak-label{
    color:#6a655d;
    letter-spacing:.11em;
  }
  .sub,.small{color:#6b7480;}
  button{
    border-color:var(--ksm-line);
    background:#fffdf8;
    color:var(--ksm-navy);
  }
  .primary,.tab.active,.seg.active{
    background:linear-gradient(180deg,var(--ksm-navy-2),var(--ksm-navy));
    border-color:var(--ksm-navy);
    color:#fff;
  }
  .danger{
    background:#fff5f3;
    color:#9c2025;
    border-color:#efcbc8;
  }
  .greenBtn,.Checked,.winner-chip{
    background:#edf8f0;
    color:#247a4d;
    border-color:#bfe3ca;
  }
  input,select,textarea{
    background:#fffdf8;
    border-color:var(--ksm-line);
  }
  input[type=checkbox]{
    width:18px;height:18px;min-width:18px;min-height:18px;border-radius:4px;
  }
  table{
    background:#fffdf8;
    border-color:var(--ksm-line);
  }
  th{
    background:linear-gradient(180deg,#f7f2ea,#f1eadf);
  }
  .status,.pill{
    border-radius:999px;
  }
  .Registered{background:#f4f1ea;color:#646b73;}
  .NoShow{background:#fff0ef;color:#9c2025;border-color:#ecc3bf;}
  .pool,.team-card,.context-box,.bracket-card,.result-section,.team-sheet,.fighter,.muted-card{
    background:linear-gradient(180deg,#fffdf8,#fbf7ef);
    border-color:var(--ksm-line);
  }
  .pool h3,.team-card h3{color:var(--ksm-red);}
  .competitor-line,.drag-player,.queue-row,.mini-match,.stand-row,.team-sheet-row,.bracket-match{
    border-top-color:#eee6dc;
  }
  .white{
    border-left-color:#d9d4cb;
  }
  .red{
    border-right-color:var(--ksm-red);
  }
  .gold{
    background:linear-gradient(180deg,#fff8df,#fff3ca)!important;
    border-color:#e5c979!important;
  }
  .queue-divider{
    background:#fff4dc;
    border-left-color:var(--ksm-red);
  }
  .scorebox{align-items:stretch;}
  .fighter{
    position:relative;
    overflow:hidden;
  }
  .fighter:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:#d8d5ce;
  }
  .fighter.redside:before{
    left:auto;right:0;
    background:var(--ksm-red);
  }
  .fighter .small{
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.12em;
  }
  .points{
    color:var(--ksm-navy);
  }
  .redside .points,.redside h2{color:#8e2429;}
  .score-buttons button{
    background:#fff;
    border-color:#e0d7ca;
  }
  .score-buttons button:hover{
    border-color:var(--ksm-gold);
  }
  .result-section summary{
    background:linear-gradient(90deg,#fffdf8,#f5efe5);
  }
  .team-sheet-head,.team-score-footer{
    background:linear-gradient(180deg,#f7f2ea,#f2eadf);
  }
  .print-controls{gap:10px;}
  #saveStatus{
    color:#6a655d;
    padding:0 8px;
  }
  #progress .progress{background:#e8e0d4;border-radius:999px;overflow:hidden;}
  #progress .progress div{background:linear-gradient(90deg,var(--ksm-red),var(--ksm-gold));}
  .review .tile{
    border:1px solid var(--ksm-line);
    background:#fffdf8;
  }
}
@media screen and (max-width:900px){
  nav{border-radius:22px;justify-content:flex-start;}
  nav button{border-radius:999px;}
}


/* KSM v3.9.1 — reference Fuji logo + seigaiha wave texture patch */
@media screen{
  body{
    isolation:isolate;
  }
  body:before{
    z-index:0;
    inset:auto 0 0 0;
    height:220px;
    opacity:.105;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='220' viewBox='0 0 1440 220'%3E%3Cg fill='none' stroke='%23071f33' stroke-width='3' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M-80 150 C80 70 180 210 340 130 S620 190 780 120 S1060 170 1220 105 S1510 150 1600 100'/%3E%3Cpath d='M-60 178 C100 98 210 230 360 158 S640 214 815 146 S1080 198 1260 134 S1510 176 1600 132'/%3E%3Cpath d='M-40 203 C110 132 230 248 392 182 S666 235 846 174 S1110 224 1285 164 S1520 210 1600 166'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:cover;
    pointer-events:none;
  }
  header,main{position:relative;z-index:1;}
  .brand{gap:12px;}
  .fuji.fuji-svg{
    width:44px;
    height:44px;
    border-radius:50%;
    background:transparent;
    overflow:visible;
    filter:drop-shadow(0 5px 8px rgba(7,31,51,.14));
    flex:0 0 auto;
  }
  .fuji.fuji-svg:before,.fuji.fuji-svg:after{display:none;}
  .fuji.fuji-svg svg{display:block;width:44px;height:44px;}
  .fuji-ring{fill:var(--ksm-navy);}
  .fuji-mountain{fill:#fffdf8;}
  .fuji-snow{fill:var(--ksm-navy);opacity:.96;}
  .fuji-wave{fill:none;stroke:#fffdf8;stroke-width:4.2;stroke-linecap:round;}
  .fuji-wave.accent{stroke:var(--ksm-red);stroke-width:3.6;}
}


/* KSM v3.9.1 — user-supplied SVG asset integration override */
@media screen{
  body::before,
  body:before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    height:auto !important;
    pointer-events:none !important;
    z-index:-1 !important;
    opacity:.46 !important;
    background-image:url("/assets/ksm-seigaiha-light.svg") !important;
    background-repeat:repeat !important;
    background-size:520px auto !important;
    background-position:center top !important;
  }
  @media (prefers-color-scheme: dark){
    body::before,
    body:before{
      background-image:url("/assets/ksm-seigaiha-dark.svg") !important;
      opacity:.36 !important;
    }
  }
  header, main{position:relative;z-index:1;}
  .fuji.fuji-svg{
    width:78px !important;
    height:48px !important;
    border-radius:0 !important;
    background:transparent !important;
    overflow:visible !important;
    filter:drop-shadow(0 5px 8px rgba(7,31,51,.12)) !important;
    flex:0 0 auto !important;
  }
  .fuji.fuji-svg:before,
  .fuji.fuji-svg:after{display:none !important;}
  .fuji.fuji-svg img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
}
@media print{
  body::before,
  body:before{display:none !important;}
}


/* KSM v3.9.1 — subtle paper texture background override */
@media screen{
  body::before,
  body:before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    height:auto !important;
    pointer-events:none !important;
    z-index:-1 !important;
    opacity:.52 !important;
    background-color:#f7f4ee !important;
    background-image:
      radial-gradient(circle at 18% 22%, rgba(208,196,175,.10) 0 1px, transparent 1.6px),
      radial-gradient(circle at 76% 34%, rgba(214,202,183,.08) 0 1.2px, transparent 1.9px),
      radial-gradient(circle at 42% 76%, rgba(205,193,174,.07) 0 1px, transparent 1.7px),
      radial-gradient(circle at 84% 78%, rgba(216,206,188,.06) 0 1.3px, transparent 2px),
      linear-gradient(180deg, rgba(255,253,248,.94), rgba(246,240,231,.95)) !important;
    background-size: 180px 180px, 220px 220px, 200px 200px, 260px 260px, 100% 100% !important;
    background-position: 0 0, 40px 60px, 90px 120px, 20px 20px, 0 0 !important;
    background-repeat: repeat !important;
    filter: saturate(.85) contrast(.98) !important;
  }
  header, main{position:relative;z-index:1;}
}
@media print{
  body::before,
  body:before{display:none !important;}
}


