@font-face{font-family:'Brush';src:url(../fonts/CaveatBrush.ttf)}
@font-face{font-family:'Hand';src:url(../fonts/PatrickHand.ttf)}
:root{--paper:#f1e4c3;--paper2:#e4d3a8;--ink:#2a1c12;--brown:#5b3d28;--red:#a82a24;--red2:#7d1d19;--indigo:#22385c;--mustard:#d9a93a;--green:#5ea03a;--blue:#3d6fb4;--amber:#e0a82a;--cream:#fff6df}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#10192b;overflow:hidden;font-family:'Hand','Noto Sans CJK JP',sans-serif;color:var(--ink)}
#stage{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0;overflow:hidden;
  background:linear-gradient(rgba(14,24,48,.55),rgba(14,24,48,.55)),url(../assets/tex_wave.jpg);background-size:auto,260px;font-size:19px;line-height:1.15}
.kj{font-family:'Noto Serif CJK JP','Noto Serif JP',serif;font-weight:700}
h1,h2,h3,.brush{font-family:'Brush','Hand',cursive;font-weight:400;margin:0}
button{font:inherit;color:inherit;cursor:pointer}
/* ---- chrome ---- */
#logo{position:absolute;left:0;top:0;width:448px;height:104px;background:radial-gradient(circle at 20% 0,#c43a2f 0,#a82a24 40%,#8a1f1b 100%);border-bottom:4px solid #4a2a1a;border-right:4px solid #4a2a1a;border-radius:0 0 34px 0;overflow:hidden;z-index:6;box-shadow:0 4px 8px rgba(0,0,0,.4)}
#logo::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 18% 120%,rgba(255,255,255,.07) 0 6deg,transparent 6deg 12deg)}
#logo img{position:absolute;left:10px;top:-4px;height:104px;filter:drop-shadow(0 2px 0 rgba(255,240,200,.35))}
#logo .sub{position:absolute;left:286px;top:12px;font-size:15px;line-height:1.08;color:#fde9c9;letter-spacing:.5px}
#logo .kj{position:absolute;left:112px;top:66px;background:var(--cream);padding:0 12px;border:2px solid var(--brown);font-size:20px;color:var(--ink);border-radius:3px;letter-spacing:5px}
#top{position:absolute;left:458px;top:8px;width:1206px;height:80px;display:flex;z-index:5;padding:0 6px;border:3px solid var(--brown);border-radius:12px;background:url(../assets/tex_washi.jpg);background-size:380px;box-shadow:0 3px 0 rgba(0,0,0,.4),inset 0 0 20px rgba(120,80,30,.3)}
#top .c{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;border-right:2px dotted #a98d63;position:relative}
#top .c:last-child{border:0}
#top .c .ic{font-size:40px;color:var(--red);line-height:1;font-family:'Noto Serif CJK JP',serif}
#top .c small{display:block;font-size:15px;color:#4e3a28}
#top .c b{display:block;font-size:30px;font-weight:400;line-height:1}
#top .c .sm{font-size:16px;color:#4e3a28}
#top .c .bar{position:absolute;left:12px;right:12px;bottom:6px;height:9px}
#nav{position:absolute;left:8px;top:112px;width:222px;display:flex;flex-direction:column;gap:5px;z-index:4}
#nav .it{display:flex;align-items:center;gap:12px;height:54px;padding:0 14px;border:3px solid var(--brown);border-radius:9px;background:url(../assets/tex_washi.jpg);background-size:300px;font-family:'Brush';font-size:26px;white-space:nowrap;text-align:left;box-shadow:0 3px 0 rgba(0,0,0,.4),inset 0 0 14px rgba(120,80,30,.25);position:relative}
#nav .it svg{width:34px;height:34px;flex:none;stroke:#2a1c12;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#nav .it:hover{filter:brightness(1.06);transform:translateY(-1px)}
#nav .it.on{background:linear-gradient(#b8352c,#8f1f1a);color:var(--cream);border-color:#4a2418}
#nav .it.on svg{stroke:var(--cream)}
#nav .it .badge{position:absolute;right:8px;top:6px;background:var(--red);color:#fff;border-radius:11px;min-width:22px;height:22px;font:16px 'Hand';display:grid;place-items:center;border:2px solid var(--cream)}
#ctl{position:absolute;left:8px;top:722px;width:222px;z-index:4;display:flex;flex-direction:column;gap:7px}
#ctl .row{display:flex;gap:6px}
#ctl .btn{flex:1}
#content{position:absolute;left:236px;top:96px;width:1430px;height:841px;z-index:3}
#content.full{left:0;top:0;width:1672px;height:941px;z-index:7}
body.fullscreen #top,body.fullscreen #nav,body.fullscreen #ctl,body.fullscreen #logo{display:none}
/* ---- shared components ---- */
.panel{position:absolute;display:flex;flex-direction:column;border:3px solid var(--brown);border-radius:11px;background:url(../assets/tex_washi.jpg);background-size:420px;box-shadow:0 4px 0 rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,248,225,.55),inset 0 0 30px rgba(120,80,30,.3);overflow:hidden}
.panel.flow{position:relative}
.ph{flex:none;display:flex;align-items:center;gap:10px;padding:2px 22px 3px 14px;margin:-1px -1px 0 -1px;min-height:38px;background:linear-gradient(#b8352c,#951f19);color:var(--cream);font-family:'Brush';font-size:28px;letter-spacing:.5px;text-shadow:0 2px 0 rgba(60,10,5,.55);clip-path:polygon(0 0,100% 0,98.5% 50%,100% 100%,0 100%);border-bottom:3px solid #5a1612;white-space:nowrap}
.ph .sub{font-family:'Hand';font-size:17px;text-shadow:none;opacity:.95;margin-left:auto;white-space:normal;text-align:right;line-height:1}
.ph svg{width:26px;height:26px;stroke:var(--cream);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ph.navy{background:linear-gradient(#2c4a7a,#1c3156);border-bottom-color:#0f1d35}
.pb{flex:1;padding:8px 12px;min-height:0;position:relative}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 14px;min-height:38px;border:3px solid var(--brown);border-radius:9px;background:url(../assets/tex_washi.jpg);background-size:300px;font-family:'Brush';font-size:26px;color:var(--ink);box-shadow:0 3px 0 rgba(0,0,0,.4),inset 0 0 10px rgba(120,80,30,.25);line-height:1;text-align:center}
.btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.4)}
.btn:disabled,.btn.off{opacity:.5;cursor:not-allowed}
.btn.red{background:linear-gradient(#b8352c,#8f1f1a);color:var(--cream);border-color:#4a2418;text-shadow:0 2px 0 rgba(60,10,5,.5)}
.btn.navy{background:linear-gradient(#2c4a7a,#1c3156);color:var(--cream);border-color:#0f1d35}
.btn.sm{font-size:20px;min-height:30px;padding:3px 10px;border-width:2px}
.btn.big{font-size:34px;min-height:56px}
.btn svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bar{display:block;height:13px;border:2px solid var(--brown);border-radius:7px;background:#d6c496;overflow:hidden;position:relative}
.bar i{display:block;height:100%;border-radius:5px;background:var(--green);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.bar i.blue{background:var(--blue)}.bar i.red{background:#c0392b}.bar i.amber{background:var(--amber)}.bar i.fire{background:linear-gradient(90deg,#e0a82a,#e8741e,#c0392b)}
.face{display:block;object-fit:cover;border:2px solid var(--brown);border-radius:6px;background:#c33}
.tag{display:inline-block;padding:1px 9px;border-radius:5px;background:var(--red);color:var(--cream);font-size:17px;border:2px solid var(--red2)}
.tag.blue{background:var(--indigo);border-color:#101e36}.tag.green{background:#4d8a30;border-color:#2e5a1b}.tag.amber{background:#d9a93a;color:#2a1c12;border-color:#9a7418}
.pill{display:inline-block;padding:2px 12px;border-radius:6px;font-size:18px;border:2px solid;font-weight:400}
.pill.good{background:#4d8a30;color:#fff;border-color:#2e5a1b}.pill.warn{background:#e0a82a;border-color:#9a7418}.pill.bad{background:#b3382f;color:#fff;border-color:#6f1b16}.pill.info{background:#3d6fb4;color:#fff;border-color:#1f3d70}
.up{color:#2f7a22}.dn{color:#b3261e}.mute{color:#6a5640}
.sep{height:0;border-top:2px dotted #a98d63;margin:5px 0}
.star{color:#d12a1e;letter-spacing:-1px}.star.off{color:#c9b58a}
table.t{width:100%;border-collapse:collapse;font-size:18px}table.t th{font-weight:400;text-align:left;color:#6a5640;border-bottom:2px solid #a98d63;padding:2px 6px}table.t td{padding:3px 6px;border-bottom:1px dotted #bfa77a}
.scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8a6a46 #e4d3a8}
.cover{position:absolute;inset:0;background-size:cover;background-position:center;border:3px solid var(--brown);border-radius:10px;box-shadow:0 4px 0 rgba(0,0,0,.4)}
.chk{display:inline-grid;place-items:center;width:24px;height:24px;border:3px solid var(--brown);border-radius:4px;background:#f8ecd0;font-size:20px;line-height:1;flex:none;color:#2f7a22;font-weight:700}
.chk.on::after{content:"✓"}
.hl{background:linear-gradient(#ffe58a,#f6c94b);border-color:#b8891f !important}
/* toast / modal */
#toasts{position:absolute;left:50%;top:100px;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{padding:8px 20px;border:3px solid var(--brown);border-radius:10px;background:url(../assets/tex_washi.jpg);background-size:300px;font-size:21px;box-shadow:0 4px 12px rgba(0,0,0,.5);animation:tin .25s ease-out}
.toast.bad{border-color:#6f1b16;background:#f3d3c4}.toast.good{border-color:#2e5a1b}
@keyframes tin{from{opacity:0;transform:translateY(-10px)}}
#modal{position:absolute;inset:0;z-index:60;background:rgba(10,16,32,.72);display:grid;place-items:center}
#modal[hidden]{display:none}
.card{min-width:620px;max-width:900px;border:4px solid var(--brown);border-radius:14px;background:url(../assets/tex_washi.jpg);background-size:420px;box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 0 40px rgba(120,80,30,.35);overflow:hidden}
.card .ph{font-size:34px;min-height:50px}
.card .cb{padding:16px 22px 20px;font-size:22px}
.card .opts{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.card .opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 16px;border:3px solid var(--brown);border-radius:9px;background:rgba(255,248,225,.7);text-align:left}
.card .opt:hover{background:#fff1c4;border-color:var(--red)}
.card .opt b{font-family:'Brush';font-weight:400;font-size:27px}.card .opt span{font-size:18px;color:#5a4630}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body.rm *{animation:none!important;transition:none!important}
/* ---- title (full-bleed; chrome hidden until a game exists) ---- */
body.nogame #top,body.nogame #nav,body.nogame #ctl,body.nogame #logo,body.nogame #content{display:none}
body.nogame #stage{background:linear-gradient(rgba(20,12,6,.18),rgba(20,12,6,.62)),url(../assets/bg_home.jpg) center/cover}
body.nogame #modal{background:none}
.title{width:1672px;height:941px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cream);text-align:center;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 18px rgba(0,0,0,.5);animation:tfade 1.1s ease-out}
.title .tlogo img{height:340px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.title .tkj{font-size:44px;letter-spacing:20px;margin:6px 0 0 20px;color:#fff6df}.title .tsub{font-size:44px;margin:10px 0 40px;color:#fff6df;text-shadow:0 3px 0 rgba(0,0,0,.85),0 0 22px rgba(0,0,0,.8)}
.title .tbtns{display:flex;gap:22px}.title .tbtns .btn{min-width:260px;font-size:40px;min-height:68px}
.title .tfoot{margin-top:38px;font-size:21px;opacity:.85;letter-spacing:2px}
.title .brand-footer{font-size:17px;letter-spacing:0;margin:0 12px;opacity:.85}.brand-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.brand-links a{text-decoration:none}
@keyframes tfade{from{opacity:0;transform:translateY(14px)}}
/* ---- home ---- */
.notice{position:absolute;left:20px;top:14px;max-width:760px;background:url(../assets/tex_washi.jpg);background-size:300px;border:3px solid var(--brown);border-radius:9px;padding:6px 14px;font-size:19px;box-shadow:0 3px 0 rgba(0,0,0,.4);z-index:2}
.notice div{display:flex;gap:8px;align-items:center}.notice svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2.4;flex:none}
.tasks .task{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:2px dotted #b49a6c;cursor:pointer;font-size:19px}.task:hover{background:rgba(255,230,150,.35)}
.tasks .tt{flex:1;line-height:1.05}.tasks .tt small{display:block;color:#6a5640;font-size:15px}.tasks .dn2{text-decoration:line-through;color:#6a5640}.tasks b{font-weight:400;white-space:nowrap}
.upcoming .upc{display:flex;gap:10px}.upcoming .thumb{width:112px;height:112px;border:3px solid var(--brown);background-size:cover;background-position:center;flex:none}
.upcoming h3{font-size:30px;line-height:1}.upcoming .ln{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:19px;line-height:1.05}.upcoming .ln svg{width:26px;height:26px;stroke:var(--brown);fill:none;stroke-width:2;flex:none}.upcoming small{color:#6a5640}
.alerts .al{display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:2px dotted #b49a6c;cursor:pointer}.al:hover{background:rgba(255,230,150,.35)}
.al b{display:block;font-size:21px;font-weight:400}.al span{font-size:17px}.al div{flex:1}.amb{color:#a8721a}
.al i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700}.al i.crit{background:#c0392b}.al i.warn{background:#e0a82a}
.feat .fh{background:linear-gradient(#2c4a7a,#1c3156);color:var(--cream);font-family:'Brush';font-size:27px;margin:-8px -12px 8px;padding:4px 14px;border-bottom:3px solid #0f1d35;display:flex;gap:8px}
.feat .fh svg{display:none}
.feat .fbox{position:relative;height:196px;border:3px solid var(--brown);background:repeating-conic-gradient(from 0deg at 50% 70%,#d8402f 0 8deg,#f4e6c4 8deg 16deg);cursor:pointer;overflow:hidden}
.feat .fbox .kv{position:absolute;left:8px;top:6px;width:54px;font-size:42px;line-height:1.05;text-align:center;color:#a82a24;background:var(--cream);border:2px solid var(--brown);padding:4px 0;z-index:2}
.feat .fp{position:absolute;inset:0}.feat .fp img{position:absolute;right:-6px;top:6px;height:100%;width:auto;max-width:none;object-fit:cover}
.feat .fn{text-align:center;font-size:36px;margin-top:6px}.feat .frank{text-align:center;background:linear-gradient(#b8352c,#951f19);color:var(--cream);margin:2px -4px 8px;padding:2px;font-size:21px;border:2px solid #5a1612}
.feat .frow{display:flex;justify-content:space-between;font-size:21px;margin-top:3px}.feat .frow b{font-weight:400}.feat small{font-size:15px;color:#6a5640}
/* ---- wrestlers ---- */
.rrow{display:flex;align-items:center;gap:8px;padding:3px 6px;border:2px solid transparent;border-radius:8px;margin-bottom:3px;cursor:pointer}.rrow:hover{background:rgba(255,230,150,.4)}
.rrow>i{width:22px;font-style:normal;text-align:center;font-size:19px;color:#4e3a28}
.rrow .rn{flex:1;display:flex;flex-direction:column;line-height:1.02}.rrow .rn b{font-family:'Brush';font-weight:400;font-size:25px;line-height:1.05}.rrow .rn span{font-size:16px}
.mood{font-style:normal;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#fff;border:2px solid rgba(0,0,0,.35)}.mood.good{background:#6fb348}.mood.warn{background:#e0b83a}.mood.bad{background:#c0392b}
.wbg{overflow:hidden}.wbg .body{position:absolute;left:50%;bottom:-6px;transform-origin:50% 100%;translate:-50% 0;filter:drop-shadow(0 8px 6px rgba(0,0,0,.35))}
.vban{position:absolute;left:22px;top:24px;width:96px;height:300px;background:linear-gradient(#f6ead0,#e9d7ac);border:3px solid var(--brown);border-top:0;display:grid;place-items:center;text-align:center;font-size:62px;line-height:1.08;color:#1b1b1b;box-shadow:0 4px 8px rgba(0,0,0,.4)}
.nameribbon{position:absolute;left:12px;top:338px;background:linear-gradient(#b8352c,#951f19);color:var(--cream);font-family:'Brush';font-size:34px;padding:2px 26px 2px 14px;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%);border:2px solid #5a1612}
.rbanner{background:linear-gradient(#b8352c,#951f19);color:var(--cream);font-family:'Brush';font-size:28px;text-align:center;margin:-2px 24px 6px;padding:0 10px;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%)}
.irow{display:flex;align-items:center;justify-content:space-between;font-size:21px;margin:3px 0;line-height:1}.irow span{display:flex;gap:8px;align-items:center}.irow svg{width:26px;height:26px;stroke:#2a1c12;fill:none;stroke-width:2.2;flex:none}.irow b{font-weight:400}
.srow{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:21px}.srow .si{width:26px;text-align:center;font-size:22px}.srow .sl{width:100px}.srow .bar{flex:1}.srow b{width:36px;text-align:right;font-weight:400}
.legend{display:flex;gap:16px;justify-content:flex-end;font-size:15px;margin-bottom:-2px}
.techs{list-style:none;margin:0;padding:0;font-size:18px;line-height:1.08}.techs b{font-weight:400;color:#8a1f1a}.techs small{margin-left:6px;color:#4e3a28}.techs li::before{content:"■ ";color:var(--red);font-size:13px}
.tpic{position:absolute;right:6px;bottom:2px;height:76px;filter:sepia(.3)}
.wact{position:absolute;left:350px;top:764px;right:0;display:flex;gap:14px}.wact .btn{flex:1;min-height:70px;font-size:36px;font-style:italic;justify-content:flex-start;padding-left:30px}.wact .btn svg{width:44px;height:44px}
.orow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0}.orow b{font-family:'Brush';font-weight:400;font-size:26px;display:block}.orow small{color:#6a5640;font-size:17px}

#modal .card{position:relative}.mclose{position:absolute;right:12px;top:7px;width:46px;height:46px;border-radius:50%;border:3px solid var(--brown);background:var(--cream);font:30px/1 'Hand';color:#8a1f1a;z-index:5}.mclose:hover{background:#fff1c4}

.evart{height:210px;background-size:cover;background-position:center;border-top:3px solid #5a1612;border-bottom:3px solid var(--brown);box-shadow:inset 0 0 40px rgba(60,30,10,.35)}
/* modal header must clear the absolute close button */
#modal .card .ph{padding-right:74px}
/* Keep header text readable inside narrow panels and reserve actual space for subtitles. */
.ph{white-space:normal;line-height:1.05;min-width:0;gap:7px}
.ph>span:first-of-type{min-width:0;flex:1;overflow-wrap:anywhere}
.ph .sub{flex:0 1 auto;max-width:45%;font-size:16px}
.toast-count{align-self:flex-end;border:2px solid var(--brown);border-radius:20px;background:var(--cream);padding:4px 14px;font-size:20px;color:var(--ink);box-shadow:0 3px 0 #0005}
.week-notes{max-height:530px}.week-notes article{padding:12px 0;border-bottom:2px dotted #b49a6c}.week-notes article>b{display:block;font-family:'Brush';font-size:28px;font-weight:400}.week-notes small{color:#6a5640}.week-notes p{margin:5px 0}.week-notes details{font-size:16px;margin-top:5px}.week-notes details b{font-size:18px}

.home-links{display:flex;gap:8px;margin-top:6px}.home-links .btn{min-height:26px;font-size:20px}

.legible #stage,.legible #stage :not(.kj){font-family:Arial,'Noto Sans CJK JP',sans-serif!important}
/* Sans-serif metrics differ from the brush font; preserve the fixed desktop grid. */
.legible #top .c{min-width:0;padding:0 8px;gap:6px}
.legible #top .c b{font-size:24px;white-space:nowrap}
.legible #top .c small,.legible #top .c .sm{font-size:13px}
.legible #nav .it{font-size:20px;gap:8px;padding:0 10px}
.legible .tm b{width:112px;font-size:14px}
.legible .fgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.legible .fh2{flex-wrap:wrap;row-gap:1px}
.legible .fh2 b{font-size:17px;white-space:normal;flex:1;min-width:0}
.legible .fh2 .lv{flex-basis:100%;font-size:13px;text-align:right}
.legible .dos .dh .bgb{max-width:200px}
.legible .ml-p2 .ph{font-size:22px}
.legible .ml-p2 .ph .sub{max-width:75%;gap:6px;font-size:14px}

/* Brush ascenders need room above the compact techniques heading. */
.panel.techpanel>.ph{min-height:36px;line-height:1.25}
