/* =====================================================================================
   IDOLVERSE48: Select Bloom!  —  Visual identity (UI only)
   Palette: pastel pink · lavender · sky blue · champagne · ivory white · warm beige
   ===================================================================================== */
:root{
 --pk:#ef8fb5;--pk2:#fde3ec;--pk3:#f7bcd2;--lv:#a993e0;--lv2:#eee7fb;--bl:#8cc8ef;--bl2:#e2f2fc;
 --ch:#e9cf9a;--ch2:#faf0da;--iv:#fffbf4;--bg:#f2e6da;--gold:#d9b36a;--gold2:#f6e2b0;
 --ink:#4b3a5e;--mut:#8f80a6;--card:rgba(255,251,245,.94);--err:#d9577f;--ok:#3c9a6c;--line:#ecdcc0;
 --sh:0 6px 22px rgba(120,90,150,.16);--sh2:0 12px 34px rgba(90,60,120,.22);
 --r:20px;--nav:248px;--hdh:62px;
 --grad:linear-gradient(135deg,#f5a3c4,#b9a2ec 60%,#8cc8ef);
}
*{-webkit-tap-highlight-color:transparent}
html{overflow-x:hidden}
body{background:#f6ece3;font-family:Quicksand,'Zen Maru Gothic',system-ui,sans-serif;overflow-x:hidden}
body::before{display:none}
/* ---------------- illustrated environment layer ---------------- */
#scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#f3e6dc}
#scene .lyr{position:absolute;inset:0;animation:scIn .8s ease both}
#scene .lyr.out{animation:scOut .7s ease both}
#scene svg{width:100%;height:100%;display:block}
#scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,250,244,.05),rgba(255,250,244,.28) 50%,rgba(255,248,240,.5))}
body.soft #scene::after{background:rgba(255,250,244,.62)}
body[data-view=title] #scene::after{background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(40,20,70,.35))}
@keyframes scIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes scOut{to{opacity:0}}
#app{position:relative;z-index:1}
h2,h3{font-family:'M PLUS Rounded 1c',Quicksand,sans-serif}
/* ---------------- header / HUD ---------------- */
.hd{position:sticky;top:0;z-index:7;display:flex;align-items:center;gap:10px;padding:8px 16px;min-height:var(--hdh);background:linear-gradient(180deg,rgba(255,251,245,.97),rgba(255,246,238,.93));border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(120,90,150,.14);backdrop-filter:blur(8px);flex-wrap:nowrap}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,var(--pk),var(--lv),var(--bl),var(--ch))}
.hmenu{border:0;background:var(--ch2);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:#a07c45;flex:none;border:1px solid var(--line)}
.hmenu svg,.hp svg,.nd svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.logo{display:flex;flex-direction:column;line-height:1.02;flex:none}
.logo .lg1{font:400 18px 'Dela Gothic One','M PLUS Rounded 1c',sans-serif;letter-spacing:.5px;background:linear-gradient(90deg,#e57aa6,#9d86da,#6fb3e4);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo .lg2{font:400 14px Pacifico,cursive;color:#d98aab}
.hud{display:flex;gap:6px;flex:1;justify-content:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none}.hud::-webkit-scrollbar{display:none}
.hp{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;border-radius:999px;background:var(--iv);border:1px solid var(--line);box-shadow:inset 0 -2px 0 var(--ch2);white-space:nowrap;font-size:13px}
.hp svg{width:24px;height:24px;padding:3px;border-radius:50%;color:#fff;background:var(--grad);flex:none}
.hp.gold{background:linear-gradient(#fff8e6,#f6e2b0);border-color:#e4c789;color:#6b5121}.hp.gold svg{background:linear-gradient(135deg,#f3cd6e,#d9a53a)}
.hp.fan svg{background:linear-gradient(135deg,#f5a3c4,#e57aa6)}.hp.pop svg{background:linear-gradient(135deg,#b9a2ec,#8cc8ef)}.hp.cal svg{background:linear-gradient(135deg,#9fd3c0,#8cc8ef)}
.hp b{font:800 13.5px 'M PLUS Rounded 1c',Quicksand}
.hdb{display:flex;gap:6px;flex:none}
.nd{display:inline-flex;align-items:center;gap:6px}
/* ---------------- buttons, inputs ---------------- */
.b{background:linear-gradient(#fffdf8,#fbf1e2);border:1px solid #e9d7b8;border-bottom:3px solid #e0c99c;color:var(--ink);border-radius:999px;box-shadow:0 2px 6px rgba(150,110,80,.12);min-height:36px;font:800 13px Quicksand,sans-serif;padding:7px 16px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.b:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(150,110,160,.22)}.b:active{transform:translateY(1px)}
.b.on,.b.p{background:linear-gradient(135deg,#f5a3c4,#c3a6f0);border-color:#ebb6d0;border-bottom-color:#a98bd8;color:#fff;text-shadow:0 1px 1px rgba(80,40,90,.35)}
.b.p{box-shadow:0 4px 12px rgba(213,120,170,.35),inset 0 1px 0 rgba(255,255,255,.55)}
.b.s{min-height:30px;padding:4px 11px;font-size:12px}.b.big{min-height:46px;padding:10px 26px;font-size:15px}
.b:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
input,select,textarea{font:inherit;padding:7px 10px;border:1px solid #e3d2b7;background:#fffdf8;border-radius:12px;color:var(--ink);max-width:100%;min-height:34px}
select{appearance:none;-webkit-appearance:none;padding-right:28px;background:#fffdf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a993e0' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center}
input[type=checkbox],input[type=range],input[type=color]{min-height:0}
input:focus,select:focus{outline:none;border-color:var(--lv);box-shadow:0 0 0 3px rgba(169,147,224,.25)}
.b:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lv);outline-offset:2px}
/* ---------------- panels ---------------- */
.c{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh);border-radius:var(--r);position:relative;padding:14px}
.c::before{content:"";position:absolute;inset:4px;border:1px dashed rgba(217,179,106,.3);border-radius:16px;pointer-events:none}
.c::after{content:"";position:absolute;top:-1px;left:22px;width:46px;height:4px;border-radius:0 0 4px 4px;background:var(--grad);opacity:.8}
.c h3,.mod h3{display:flex;align-items:center;gap:7px;color:#5b4775;font-size:16px}
.c h3::before,.mod h3::before{content:"";width:9px;height:9px;flex:none;border-radius:2px;transform:rotate(45deg);background:linear-gradient(135deg,var(--pk),var(--lv))}
.ht{font:800 24px 'M PLUS Rounded 1c';background:linear-gradient(90deg,#e57aa6,#9d86da 55%,#6fb3e4);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 0 6px #fff);margin:.4em 0}
.st{color:var(--mut)}
.tag{background:var(--lv2);border:1px solid rgba(169,147,224,.25);border-radius:999px}.tag.warn{background:#ffe9b8}
.tag.tmain{background:linear-gradient(135deg,#f5a3c4,#e57aa6);color:#fff;border:0}.tag.tcoup{background:linear-gradient(135deg,#b9a2ec,#8cc8ef);color:#fff;border:0}
.bar{background:#efe6f6;height:8px;border-radius:6px;box-shadow:inset 0 1px 2px rgba(80,50,110,.12)}
.bar i{background:linear-gradient(90deg,#f5a3c4,#b9a2ec,#8cc8ef);border-radius:6px}
table{background:rgba(255,253,248,.75);border-radius:12px;overflow:hidden}
th{background:linear-gradient(#fbf1dd,#f6e6c6);color:#7a5d2a;font-weight:800;border-bottom:1px solid #ead6ad}
tr:nth-child(even) td{background:rgba(238,231,251,.35)}td{border-bottom:1px solid #f1e8dc}
.err{color:var(--err)}.ok{color:var(--ok)}
.gdot{width:14px;height:14px;border-radius:5px;flex:none;box-shadow:0 0 0 2px #fff}
.empty{text-align:center;padding:18px 10px;color:var(--mut)}.empty i{display:block;font-style:normal;font-size:30px;color:#e3b9cc;margin-bottom:4px}
.lbl{width:150px;display:inline-block}
details summary{cursor:pointer}
/* ---------------- main / location plate ---------------- */
main{max-width:1220px;margin:0 auto;padding:8px 14px 110px}
.locb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0 10px;padding:8px 14px;border-radius:22px;background:linear-gradient(100deg,rgba(255,251,245,.96),rgba(255,251,245,.8));border:1px solid var(--line);box-shadow:var(--sh)}
.locb .lt{display:flex;align-items:center;gap:12px;flex:1 1 240px;min-width:0}
.locb .li{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--grad);flex:none;box-shadow:0 4px 10px rgba(213,120,170,.35)}
.locb .li svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.locb b{font:800 19px 'M PLUS Rounded 1c';display:block;line-height:1.1}.locb small{display:block;color:var(--mut);font-size:11.5px}
.locb .jp{font:700 11px 'M PLUS Rounded 1c';color:#c79a52;letter-spacing:2px}
.locb .sub{display:flex;gap:4px;flex-wrap:wrap;background:var(--ch2);padding:4px;border-radius:999px;border:1px solid var(--line)}
.tabb{border:0;background:none;border-radius:999px;padding:7px 14px;font:800 12.5px Quicksand;color:var(--ink);cursor:pointer;min-height:34px}
.tabb.on{background:#fff;color:#c76a95;box-shadow:0 2px 8px rgba(120,90,150,.18)}
.main-enter{animation:mIn .45s ease both}@keyframes mIn{from{opacity:0;transform:translateY(10px)}}
main h3:not(.c h3):not(.mod h3){display:inline-flex;align-items:center;gap:6px;background:rgba(255,251,245,.94);border:1px solid var(--line);border-radius:999px;padding:4px 16px;box-shadow:0 2px 8px rgba(120,90,150,.12);margin:14px 0 8px}
/* ---------------- navigation ---------------- */
.nav{position:fixed;left:0;right:0;bottom:0;display:flex;z-index:8;background:rgba(255,251,245,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(120,90,150,.15);padding:5px 4px calc(5px + env(safe-area-inset-bottom,0px));gap:2px;backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav::before{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:linear-gradient(90deg,var(--pk),var(--lv),var(--bl),var(--ch))}
.nav .brand,.nav .navf{display:none}
.nav button{flex:1 0 54px;min-width:54px;border:0;background:none;display:flex;flex-direction:column;align-items:center;font:800 10px Quicksand;color:var(--mut);cursor:pointer;gap:2px;padding:2px 0;border-radius:14px}
.nav button i{width:36px;height:36px;border-radius:13px;background:var(--ch2);color:#a07c45;display:grid;place-items:center;transition:.2s;font-style:normal}
.nav button i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav button .ln,.nav button small{display:none}
.nav button.on{color:#c76a95}.nav button.on i{background:var(--grad);color:#fff;transform:translateY(-4px);box-shadow:0 5px 12px rgba(213,120,170,.4)}
@media(min-width:1000px){
 .nav{top:0;bottom:0;right:auto;width:var(--nav);flex-direction:column;align-items:stretch;padding:14px 12px;overflow-y:auto;overflow-x:hidden;border-top:0;border-right:1px solid var(--line);gap:3px;box-shadow:6px 0 24px rgba(120,90,150,.14);background:linear-gradient(180deg,rgba(255,251,245,.97),rgba(253,240,246,.95))}
 .nav::before{left:auto;right:-3px;top:0;bottom:0;width:3px;height:auto;background:linear-gradient(180deg,var(--pk),var(--lv),var(--bl),var(--ch))}
 .nav .brand{display:block;text-align:center;padding:6px 4px 14px;margin-bottom:6px;border-bottom:1px dashed #e7d3ac}
 .nav .brand .crest{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 4px;border-radius:50%;background:var(--grad);color:#fff;font-size:24px;box-shadow:0 4px 12px rgba(213,120,170,.35)}
 .nav .brand .lg1{font:400 23px 'Dela Gothic One','M PLUS Rounded 1c',sans-serif;background:linear-gradient(90deg,#e57aa6,#9d86da,#6fb3e4);-webkit-background-clip:text;background-clip:text;color:transparent;display:block}
 .nav .brand .lg2{font:400 18px Pacifico,cursive;color:#d98aab;display:block;margin-top:-2px}.nav .brand .lg3{font:700 10.5px Quicksand;color:var(--mut);display:block;margin-top:3px}
 .nav button{flex:none;flex-direction:row;justify-content:flex-start;gap:11px;padding:7px 9px;text-align:left;font-size:13.5px;color:var(--ink)}
 .nav button .sn{display:none}.nav button .ln{display:flex;flex-direction:column;line-height:1.15}.nav button small{display:block;font:700 10px 'M PLUS Rounded 1c';color:var(--mut);letter-spacing:1px}
 .nav button:hover{background:rgba(253,227,236,.6)}
 .nav button.on{background:linear-gradient(90deg,rgba(253,227,236,.98),rgba(238,231,251,.75));box-shadow:inset 4px 0 0 #ef8fb5}.nav button.on i{transform:none}
 .nav .navf{display:block;margin-top:auto;padding:10px 6px 2px;border-top:1px dashed #e7d3ac;font:800 12px 'M PLUS Rounded 1c';color:#7a5d8f;text-align:center}.nav .navf small{color:var(--mut);font-weight:700}
 .hd,main{margin-left:var(--nav)}
 main{max-width:none;padding:8px 26px 40px}main>*{max-width:1220px;margin-left:auto;margin-right:auto}
 #toast{bottom:28px;left:calc(50% + var(--nav)/2)}
}
@media(max-width:999px){.hd .logo .lg2{display:none}}
@media(max-width:700px){
 .hd{flex-wrap:wrap;padding:6px 10px;gap:6px}.logo{order:1;flex:1}.hmenu{order:0}.hdb{order:2}.hud{order:3;flex:1 0 100%;justify-content:flex-start}
 .logo .lg1{font-size:16px}.hp{font-size:12px;padding:3px 10px 3px 4px}.hp b{font-size:12px}.hp svg{width:20px;height:20px}
 .nd span{display:none}.b{padding:6px 12px}
 main{padding:4px 10px 120px}.locb{padding:6px 10px}.locb b{font-size:16px}.locb .li{width:38px;height:38px}
 .ht{font-size:21px}.lbl{width:auto;min-width:110px}
}
/* ---------------- toast & modal ---------------- */
#toast{border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 24px rgba(60,30,80,.25);border-radius:999px;font-size:14px;bottom:calc(92px + env(safe-area-inset-bottom,0px))}
#toast.ok{background:linear-gradient(135deg,#7cc6a1,#68b0c9)}#toast.err{background:linear-gradient(135deg,#e889a8,#d9577f)}
#toast.ok::before{content:"✿ "}#toast.err::before{content:"! "}
.mod{background:rgba(60,40,84,.5);backdrop-filter:blur(5px)}
.mod>div{background:linear-gradient(#fffdf8,#fff6ee);border:1px solid #ead6ad;outline:none;box-shadow:0 0 0 6px rgba(255,250,241,.75),0 24px 60px rgba(60,30,80,.38);border-radius:26px;max-width:640px;padding:18px}
.mod>div::before{content:"✿ ─── ♪ ─── ✿";color:var(--gold);letter-spacing:2px;font-size:13px;margin-bottom:4px}
.mod.t-prof>div,.mod.t-cprof>div{max-width:900px}
.mod.t-ev>div,.mod.t-undefined>div{max-width:760px}
.evpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;max-height:44vh;overflow:auto;margin:8px 0;padding:2px}
.evm{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:14px;background:#fff;border:1px solid var(--line);cursor:pointer}.evm.on{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}
.evm svg{width:40px;border-radius:10px;flex:none}.evm span{display:flex;flex-direction:column;line-height:1.2}.evm small{color:var(--mut);font-size:11px}
/* ---------------- banner ---------------- */
.ban{background:linear-gradient(120deg,hsl(var(--bh) 70% 78%),hsl(calc(var(--bh) + 50) 70% 84%));border:1px solid rgba(255,255,255,.8);box-shadow:var(--sh);border-radius:18px}
/* ---------------- title screen ---------------- */
.title{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;text-align:center;padding:16px 16px 28px;position:relative;background:none;overflow:hidden}
.tcast{position:absolute;left:50%;bottom:max(150px,20vh);transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;width:min(1100px,120vw);pointer-events:none}
.tcast svg.chf{height:clamp(240px,52vh,560px);width:auto;margin:0 -2.2%;filter:drop-shadow(0 12px 18px rgba(30,10,60,.45));animation:bob 4s ease-in-out infinite}
.tcast svg.chf:nth-child(1){height:clamp(200px,44vh,470px);animation-delay:-1s}.tcast svg.chf:nth-child(5){height:clamp(200px,44vh,470px);animation-delay:-2s}.tcast svg.chf:nth-child(3){height:clamp(260px,57vh,610px);z-index:2}.tcast svg.chf:nth-child(2),.tcast svg.chf:nth-child(4){animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-8px)}}
.tlogo{position:relative;z-index:3;margin-top:3vh;padding:10px 26px 14px;border-radius:30px;background:radial-gradient(ellipse at center,rgba(40,20,70,.45),transparent 70%)}
.tsub{font:800 12px Quicksand;letter-spacing:6px;color:#fff;text-shadow:0 2px 8px rgba(60,20,90,.6)}
.title .brand1{font:400 clamp(38px,8vw,78px) 'Dela Gothic One','M PLUS Rounded 1c',sans-serif;background:linear-gradient(90deg,#ffd0e4,#fff 40%,#d6e8ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #e57aa6) drop-shadow(0 10px 22px rgba(60,20,90,.55));line-height:1;margin:0}
.title .brand2{font:400 clamp(26px,5vw,46px) Pacifico,cursive;color:#ffd0e4;text-shadow:0 3px 0 #b65a8a,0 8px 18px rgba(60,20,90,.5);margin-top:-6px}
.title .tagl{display:inline-block;font:700 15px 'M PLUS Rounded 1c';color:#6c5a86;background:rgba(255,250,241,.92);padding:5px 16px;border-radius:999px;border:1px solid var(--line);margin-top:6px}
.tpanel{position:relative;z-index:3;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(420px,94vw)}
.tbtn{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.newg{text-align:left;width:100%}.newg summary{list-style:none;display:flex;gap:8px;align-items:baseline}.newg summary::-webkit-details-marker{display:none}
.fl{display:block;color:var(--mut);font-size:13px;margin:6px 0}.fl input{width:100%;margin-top:2px}.fl input.bad{border-color:var(--err)}
.tfoot{position:relative;z-index:3;color:#fff;font-size:11px;opacity:.8;text-shadow:0 1px 3px #0008}
/* splash */
#splash{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff,#fde3ec 45%,#e8dcf9);pointer-events:none;animation:spOut .6s ease 1s forwards}
#splash div{text-align:center}#splash .s1{font:400 40px 'Dela Gothic One',sans-serif;background:linear-gradient(90deg,#e57aa6,#9d86da,#6fb3e4);-webkit-background-clip:text;background-clip:text;color:transparent}#splash .s2{font:400 26px Pacifico,cursive;color:#e48bb0}
#splash .fl{width:60px;height:60px;margin:0 auto 6px;animation:spin 1.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spOut{to{opacity:0;visibility:hidden}}
/* ---------------- producer office ---------------- */
.ofc{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:14px;align-items:end;margin-bottom:12px}
.vn{position:relative;min-height:450px;display:flex;align-items:flex-end;justify-content:center}
.vnart{position:absolute;inset:0 0 70px;display:flex;justify-content:center;align-items:flex-end}
.vnart svg.chf{height:100%;max-height:520px;width:auto;filter:drop-shadow(0 12px 16px rgba(80,50,110,.3));animation:bob 5s ease-in-out infinite}
.vnbox{position:relative;width:100%;background:rgba(255,251,245,.95);border:2px solid #f0c4d6;border-radius:20px;padding:20px 16px 12px;box-shadow:var(--sh2)}
.vnbox p{margin:0 0 6px;font-size:14.5px}.empty-vn{min-height:0}
.vnn{position:absolute;top:-15px;left:16px;padding:3px 16px;border-radius:999px;background:var(--grad);color:#fff;font:800 13px 'M PLUS Rounded 1c';box-shadow:0 3px 8px rgba(213,120,170,.4)}
.desk{background:linear-gradient(rgba(255,251,245,.96),rgba(250,240,222,.96));border:1px solid #e6cfa3;border-radius:24px;padding:16px;box-shadow:var(--sh2)}
.desk .plate{display:flex;justify-content:space-between;gap:8px;align-items:center}.desk .lv{background:linear-gradient(135deg,#f3cd6e,#d9a53a);color:#fff;font:800 12px 'M PLUS Rounded 1c';padding:3px 10px;border-radius:999px}
.desk .co{font:800 24px 'M PLUS Rounded 1c'}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:10px}
.kv>div{background:#fffdf8;border:1px solid #efe1c6;border-radius:14px;padding:6px 10px}.kv small{display:block;color:var(--mut);font-size:11px}.kv b{font:800 17px 'M PLUS Rounded 1c'}
.lineup{margin-top:10px}.lineup>div{display:flex;gap:6px;overflow-x:auto;padding:4px 2px}
.lu{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;font:700 10px Quicksand;color:var(--ink)}.lu svg{width:52px;border-radius:14px;border:2px solid #fff;box-shadow:0 3px 8px rgba(80,50,110,.18);transition:.15s}.lu:hover svg{transform:translateY(-3px)}
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:10px 0}
.app{border:1px solid var(--line);border-radius:18px;padding:10px 4px 8px;background:rgba(255,251,245,.95);border-bottom:3px solid #e0c99c;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;color:var(--ink);transition:.15s;box-shadow:0 3px 10px rgba(120,90,150,.12)}
.app:hover{transform:translateY(-3px)}.app i{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--grad)}.app i svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app b{font:800 12.5px Quicksand}.app small{font:700 9.5px 'M PLUS Rounded 1c';color:var(--mut)}
.board{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.note{border-left:4px solid var(--pk);background:#fff7f9;border-radius:10px;padding:6px 10px;margin:4px 0;font-size:13px}
.uprow{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed #eadfcd;font-size:13px;flex-wrap:wrap}.uprow:last-child{border-bottom:0}
.dchip{flex:none;width:46px;text-align:center;border-radius:10px;background:var(--ch2);border:1px solid #ead6ad;font:800 11px Quicksand;line-height:1.1;padding:3px 0;color:#7a5d2a}.dchip b{display:block;font-size:16px}
@media(max-width:760px){.ofc{grid-template-columns:1fr}.vn{min-height:300px}.vnart svg.chf{max-height:280px}}
/* ---------------- member cards ---------------- */
.g{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
body.compact .g{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.mc{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;background:linear-gradient(#fffaf2,#fdeef4);border:2px solid var(--rb);box-shadow:0 6px 16px rgba(120,90,150,.18);transition:.2s;--rb:#e0d6ea}
.mc::before{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.8);border-radius:14px;z-index:3;pointer-events:none}
.mc::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--tc);z-index:3}
.mc:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(120,90,150,.26)}
.mc .mart svg{width:100%;display:block}
.mc.rR{--rb:#8fd0ff}.mc.rSR{--rb:#c79bff;box-shadow:0 0 14px #c79bff88}.mc.rUR{--rb:#f0c35a;box-shadow:0 0 18px #f4c24acc}
.mc.rUR .mart::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#fff9 50%,transparent 60%);background-size:250% 100%;animation:sh 3.4s linear infinite;pointer-events:none}
.mc .mart{position:relative}
.rb{position:absolute;top:9px;left:7px;z-index:4;font:800 12px 'M PLUS Rounded 1c';font-style:normal;padding:1px 9px;border-radius:10px;background:var(--rb);color:#fff;text-shadow:0 1px 0 #0004;box-shadow:0 2px 5px #0002}
.mc.rUR .rb{background:linear-gradient(135deg,#ffe28a,#f0a84a)}
.mcpop{position:absolute;top:9px;right:7px;z-index:4;background:rgba(255,250,241,.94);border:1px solid var(--line);border-radius:999px;padding:0 8px;font:800 11px Quicksand;color:#d0678f}
.mcrole{position:absolute;top:32px;right:7px;z-index:4;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe28a,#f0a84a);color:#fff;font-size:12px;box-shadow:0 2px 5px #0002}
.np{position:relative;z-index:2;margin-top:-14px;padding:16px 9px 8px;color:#fff;background:linear-gradient(transparent,rgba(75,58,94,.9) 14px);text-shadow:0 1px 2px #0006;display:flex;flex-direction:column;font-size:11.5px;line-height:1.25}
.np b{font:800 14px 'M PLUS Rounded 1c'}.mteam{color:#ffe7f1}.mst{font-size:10px;opacity:.9}
.mini{display:flex;flex-direction:column;gap:2px;margin-top:3px}.mini u{display:block;height:3px;border-radius:2px;background:linear-gradient(90deg,#ff9cc8 var(--v),#ffffff55 var(--v))}
/* ---------------- profile ---------------- */
.pf{display:flex;gap:16px;flex-wrap:wrap}
.pf>.pfart{position:relative;flex:0 0 240px;max-width:240px;border-radius:22px;overflow:hidden;border:2px solid var(--gold);background:radial-gradient(circle at 50% 30%,#fff,transparent 60%),linear-gradient(170deg,var(--pa,#fde3ec),#eee7fb 70%,#e2f2fc);min-height:300px;box-shadow:inset 0 -40px 40px -20px rgba(255,255,255,.7)}
.pfart::after{content:"";position:absolute;left:10%;right:10%;bottom:8px;height:16px;border-radius:50%;background:rgba(80,50,110,.18);filter:blur(4px)}
.pfart svg.chf{width:100%;height:340px;display:block;margin-top:6px;position:relative;z-index:1}
.pfart .pfp{position:absolute;left:8px;bottom:8px;z-index:2;width:66px;height:66px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.2);background:#fff}
.pfart .pfp svg{width:100%!important;height:auto;border:0!important;border-radius:0!important}
.pf>div:nth-child(2) .ht{font-size:28px;margin-top:0}
.sr{grid-template-columns:110px 34px 1fr auto}
.gal .galr{display:flex;flex-wrap:wrap;gap:8px}.gal .galr>div{background:linear-gradient(#fdf3f8,#eef4fd);border:1px solid var(--line);border-radius:14px;padding:6px;text-align:center}
.gal small,.galx small{display:block;font-size:11px;color:var(--mut);line-height:1.2}.galr svg{display:block;margin:0 auto}
.galx{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.galx svg{width:100%;border-radius:12px;display:block}
@media(max-width:560px){.pf>.pfart{flex-basis:100%;max-width:260px;margin:0 auto}}
/* ---------------- training ---------------- */
.tools .row{margin:4px 0}
.trg{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));margin-top:10px}
.trc{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start}.trc.tired{background:rgba(255,244,246,.95)}
.trc .av{cursor:pointer;background:linear-gradient(170deg,#fde3ec,#eee7fb 70%,#e2f2fc);border-radius:16px;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.1);overflow:hidden;text-align:center}
.trc .av svg{width:100%;height:auto;display:block}.avt{display:block;font:800 10px Quicksand;color:#7a5d8f;padding:2px 0 4px}
.trh{margin-bottom:2px}.trr{display:grid;grid-template-columns:86px 26px 1fr auto;gap:6px;align-items:center;font-size:12.5px;margin:3px 0}
.en{font-size:11.5px;color:var(--mut)}.en .bar i{background:linear-gradient(90deg,#9fdcbc,#8cc8ef)}.en.low .bar i{background:linear-gradient(90deg,#f3a3a3,#f5c98a)}
/* ---------------- charts & fans ---------------- */
.stat4{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.stat4>div{background:rgba(255,251,245,.96);border:1px solid var(--line);border-radius:16px;padding:9px 12px;box-shadow:var(--sh);border-top:3px solid var(--pk3)}.stat4>div:nth-child(3n+2){border-top-color:#c9b6ef}.stat4>div:nth-child(3n){border-top-color:#a9d8f5}
.stat4 small{color:var(--mut);display:block;font-size:11.5px}.stat4 b{font:800 20px 'M PLUS Rounded 1c'}
.chtop{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.rk{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font:800 14px 'M PLUS Rounded 1c';background:#f3ece2;color:#8a7258;flex:none}
.rk.r1{background:linear-gradient(135deg,#ffe9a8,#e9bf5f);color:#6b4e12}.rk.r2{background:linear-gradient(135deg,#f2f2f7,#c9cbd8);color:#555}.rk.r3{background:linear-gradient(135deg,#f6d6bf,#d9a07b);color:#5d3a1f}
.chsvg{width:100%;height:auto;display:block;max-height:240px}
.rklist{display:flex;flex-direction:column;gap:6px}.rki{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:14px;background:#fff;border:1px solid var(--line)}.rki:first-child{background:linear-gradient(90deg,#fff6dc,#fff)}
.rkt{flex:1;min-width:0;display:flex;flex-direction:column}.rkt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rkt small,.rkn small{color:var(--mut);font-size:11px}.rkn{text-align:right;display:flex;flex-direction:column}.rkn b{font:800 17px 'M PLUS Rounded 1c'}
.fanrow{display:grid;grid-template-columns:24px 40px 1fr auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px dashed #eadfcd;font-size:13px}.fanrow svg{width:40px;border-radius:10px}
.podium{display:flex;justify-content:center;align-items:flex-end;gap:10px;margin:14px 0 0}
.pd{display:flex;flex-direction:column;align-items:center;cursor:pointer;width:min(30%,200px)}.pd svg.chf{height:220px;width:auto;filter:drop-shadow(0 8px 10px rgba(80,50,110,.3))}.pd.p1 svg.chf{height:270px}
.pdb{width:100%;background:rgba(255,251,245,.96);border:1px solid var(--line);border-radius:16px 16px 6px 6px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--sh)}.pd.p1 .pdb{padding-top:18px;background:linear-gradient(#fff6dc,#fffbf4)}
.pdb b{font:800 13px 'M PLUS Rounded 1c'}.pdb small{color:var(--mut);font-size:11px}
@media(max-width:560px){.pd svg.chf{height:150px}.pd.p1 svg.chf{height:185px}}
/* ---------------- music production stepper ---------------- */
.msteps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:6px 0 12px;padding:6px;background:rgba(255,251,245,.94);border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh)}
.msteps button{border:0;background:none;border-radius:14px;padding:6px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink);text-align:left;font:800 12px Quicksand;min-width:0}
.msteps button b{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--ch2);border:1px solid var(--line);color:#a07c45;font-size:12px}
.msteps button span{display:flex;flex-direction:column;line-height:1.15;min-width:0}.msteps small{font:700 9.5px 'M PLUS Rounded 1c';color:var(--mut)}
.msteps button.dn b{background:#e3f6ea;border-color:#b7e2c6;color:var(--ok)}
.msteps button.on{background:linear-gradient(135deg,#fde3ec,#eee7fb);box-shadow:inset 0 0 0 2px var(--pk3)}.msteps button.on b{background:var(--grad);color:#fff;border:0}
@media(max-width:1100px){.msteps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.msteps{display:flex;overflow-x:auto;scrollbar-width:none}.msteps button{flex:0 0 auto}.msteps button span{max-width:110px}}
.mnav{display:flex;justify-content:space-between;gap:8px;margin:12px 0;flex-wrap:wrap}
.sth{margin-top:4px!important}
.songc{margin-bottom:10px;border-left:6px solid var(--lv)}.songc.main{border-left-color:var(--pk)}
.sh2{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.sh2 b{font:800 16px 'M PLUS Rounded 1c'}
.lnp{gap:4px}.lpi{position:relative}.lpi svg{width:34px;border-radius:10px;display:block}.ctrs{position:absolute;right:-3px;top:-7px;color:#e0a800;text-shadow:0 0 3px #fff}
.cosrow{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start}
.cosprev{background:linear-gradient(170deg,#fde3ec,#eee7fb 70%,#e2f2fc);border-radius:16px;border:2px solid #fff;box-shadow:inset 0 0 0 1px var(--line);min-height:200px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cosprev svg{height:240px;width:auto}.cosline{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:6px}.cosline svg{border-radius:10px}
@media(max-width:560px){.cosrow{grid-template-columns:1fr}.cosprev{min-height:0}.cosprev svg{height:180px}}
.covg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.covc{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.covw{padding:8px;border-radius:12px;background:linear-gradient(135deg,#2c2742,#4a4166);box-shadow:inset 0 0 0 2px #6b6085}.covw svg{display:block}
.empty-cover{width:170px;height:170px;background:repeating-linear-gradient(45deg,#f3eaf7 0 10px,#fff 10px 20px);color:var(--mut);text-shadow:none;border:2px dashed #d9c8ef}
.psum pre{white-space:pre-wrap;font:600 12.5px Quicksand;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}
.lockn{background:rgba(255,251,245,.94);display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--line)}
.disc{cursor:pointer;padding:4px;border-radius:10px}.disc:hover{background:var(--pk2)}
.typc .trk li{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
/* ---------------- senbatsu formation / stage ---------------- */
.stage{background:linear-gradient(180deg,rgba(43,35,80,.92),rgba(75,58,122,.9)),#3a2f6e;color:#fff;border-color:#6c62c8}
.stage::before{border-color:rgba(255,255,255,.18)}.stage h3{color:#ffe0ef}.stage .st{color:#d8cff5}
.stage .frh b{color:#ffd0e4}
.slot{background:rgba(255,255,255,.12);border-color:#b9a2ec;color:#fff}.slot.f{background:#fff;color:var(--ink)}.slot.ctr{background:#fff8d6;color:#6a5200}
.cprev.stage{color:var(--ink);background:linear-gradient(180deg,#fff6fb,#efe6ff)}
.ctrbox svg.chf{width:100%;height:auto;border:0;box-shadow:none;border-radius:0}
/* ---------------- cover studio / creator ---------------- */
.cvw{border:6px solid #fff;border-radius:12px;box-shadow:0 10px 30px rgba(40,20,60,.35)}
.tb{border:2px solid var(--lv2);border-radius:14px;background:#fff;width:80px}.tb.on{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}
.sw{box-shadow:0 0 0 2px var(--lv2)}.sw.on{box-shadow:0 0 0 3px var(--pk)}
/* ---------------- misc ---------------- */
.cover.art{border-radius:12px}
.cr>*,.cs>*,.g2>*,.ofc>*,.trg>*,.board>*{min-width:0}
main .wrap{-webkit-overflow-scrolling:touch}
body.nomo *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@keyframes sh{from{background-position:150% 0}to{background-position:-100% 0}}
@media(max-width:480px){.nav{gap:0;padding-left:2px;padding-right:2px}.nav button{flex:1 0 41px;min-width:41px;font-size:8.5px}.nav button i{width:32px;height:32px;border-radius:11px}.nav button i svg{width:18px;height:18px}}
/* ---------------- costume designer ---------------- */
.czhead .row{margin:4px 0}.czt{font:800 18px 'M PLUS Rounded 1c'}
.czsongs{display:flex;gap:6px;overflow-x:auto;padding:4px 0}.czsong{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:6px 12px;cursor:pointer;font:700 12px Quicksand;color:var(--ink);text-align:left}
.czsong.on{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}.czsong small{color:var(--mut)}
.czdes select{max-width:240px}
.czgrid{display:grid;grid-template-columns:150px minmax(260px,1fr) minmax(320px,440px);gap:12px;margin-top:12px;align-items:start}
.czcats{display:flex;flex-direction:column;gap:4px;background:rgba(255,251,245,.95);border:1px solid var(--line);border-radius:18px;padding:6px;box-shadow:var(--sh);position:sticky;top:76px}
.czcats button{position:relative;border:0;background:none;border-radius:12px;padding:8px 10px;text-align:left;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;font:800 13px Quicksand}
.czcats button small{font:700 10px 'M PLUS Rounded 1c';color:var(--mut)}.czcats button.on{background:linear-gradient(90deg,#fde3ec,#eee7fb);box-shadow:inset 3px 0 0 var(--pk)}
.czcats button i{position:absolute;right:8px;top:9px;font-style:normal;font-size:10px;background:var(--grad);color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.czstagewrap{position:sticky;top:76px}
.czstage{background:radial-gradient(ellipse at 50% 92%,rgba(255,255,255,.9),transparent 50%),linear-gradient(170deg,#fde3ec,#eee7fb 60%,#e2f2fc);border:2px solid #fff;border-radius:24px;box-shadow:var(--sh2),inset 0 0 0 1px var(--line);height:min(68vh,620px);display:flex;justify-content:center;align-items:flex-end;overflow:hidden;position:relative}
.czstage::after{content:"";position:absolute;left:22%;right:22%;bottom:14px;height:18px;border-radius:50%;background:rgba(80,50,110,.18);filter:blur(5px)}
.czstage svg{height:100%;width:auto;position:relative;z-index:1}
.czpose{justify-content:center}.czpose select{max-width:150px}
.czact{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:6px}
.czpanel{max-height:none}
.czitems{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}
.czitem{border:2px solid var(--lv2);border-radius:14px;background:#fff;padding:3px;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:var(--ink);font:700 10.5px Quicksand;transition:.15s}
.czitem svg{width:100%;aspect-ratio:1;height:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:10px}
.czitem.on{border-color:#c9b6ef}.czitem.sel{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}.czitem:hover{transform:translateY(-2px)}.czitem small{text-align:center;line-height:1.15;margin-top:2px}
.czedit{margin-top:10px;border-top:1px dashed var(--line);padding-top:6px}
.czsub{font:800 12px 'M PLUS Rounded 1c';color:#7a5d8f;margin:8px 0 4px}
.czpats{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px}
.czpat{border:2px solid var(--lv2);background:#fff;border-radius:10px;padding:2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;font:700 9px Quicksand;color:var(--ink)}
.czpat svg{width:100%;height:28px}.czpat.on{border-color:var(--pk);box-shadow:0 0 0 2px var(--pk2)}
.czcol{display:grid;grid-template-columns:80px 44px 1fr;gap:6px;align-items:center;margin:3px 0;font-size:12.5px}
.czcol input[type=color]{width:44px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}.czcol .hex{width:100%;max-width:110px;font-family:monospace}
.czpal{display:flex;flex-wrap:wrap;gap:4px}.czpal button{width:24px;height:24px;border-radius:7px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}
.czasg{margin-top:12px}.czlineup{display:flex;gap:8px;overflow-x:auto;padding:4px 2px}
.czm{flex:0 0 auto;width:96px;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:14px;padding:4px;border:1px solid var(--line);background:#fff;font-size:11px}
.czm.on{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}.czm select{font-size:10.5px;padding:3px 22px 3px 6px;width:100%;min-height:0}.czm small{color:var(--mut);text-align:center}
.czmfig{border:0;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:10px;padding:0;cursor:pointer;width:100%}.czmfig svg{height:150px;width:100%;display:block}
.czov{margin-top:8px;padding:8px;border-radius:12px;background:#fff7f9;border:1px dashed #f0c4d6}.czovc{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px}.czovc input{width:40px;height:28px;padding:0}
.czbase{margin-top:12px}
.czcard{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin-bottom:8px;padding:8px;border-radius:16px;background:linear-gradient(90deg,#fff7fb,#f6f1ff);border:1px solid var(--line)}
.czcprev{height:200px;background:linear-gradient(170deg,#fde3ec,#eee7fb);border-radius:14px;display:flex;justify-content:center;overflow:hidden}.czcprev svg{height:100%}
.czlbl{margin:4px 0 2px;font-weight:800}
.czcov{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
@media(max-width:1100px){.czgrid{grid-template-columns:130px 1fr}.czpanel{grid-column:1/-1}}
@media(max-width:700px){.czgrid{grid-template-columns:1fr}.czcats{position:static;flex-direction:row;overflow-x:auto}.czcats button{flex:0 0 auto}.czcats button i{position:static;display:inline-grid;margin-top:2px}.czstagewrap{position:static}.czstage{height:440px}.czcard{grid-template-columns:90px 1fr}.czcprev{height:170px}}
/* ---------------- language ---------------- */
body.lang-th{font-family:Quicksand,'Noto Sans Thai Looped','Zen Maru Gothic',system-ui,sans-serif}
body.lang-th .ht,body.lang-th h2,body.lang-th h3,body.lang-th .locb b,body.lang-th .app b,body.lang-th .czt,body.lang-th .np b,body.lang-th .vnn,body.lang-th .desk .co,body.lang-th .kv b,body.lang-th .stat4 b,body.lang-th .msteps button,body.lang-th .nav button{font-family:'M PLUS Rounded 1c',Mitr,'Noto Sans Thai Looped',sans-serif}
body.lang-th .b,body.lang-th .tabb,body.lang-th input,body.lang-th select,body.lang-th .tag,body.lang-th .czitem,body.lang-th .czpat,body.lang-th .czcats button{font-family:Quicksand,'Noto Sans Thai Looped',sans-serif}
.langsw{display:inline-flex;align-items:center;gap:2px;background:rgba(255,251,245,.95);border:1px solid var(--line);border-radius:999px;padding:3px;box-shadow:var(--sh);font:700 13px Quicksand,'Noto Sans Thai Looped',sans-serif}
.langsw span{padding:0 6px}.langsw button{border:0;background:none;border-radius:999px;padding:5px 12px;cursor:pointer;font:inherit;color:var(--ink)}.langsw button.on{background:var(--grad);color:#fff}
.title>.langsw{position:absolute;top:14px;right:14px;z-index:5}
/* costume library */
.czlib .czcards{display:flex;gap:8px;overflow-x:auto;padding:6px 2px}
.czcardb{flex:0 0 auto;width:110px;display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid var(--lv2);border-radius:14px;background:#fff;padding:4px;cursor:pointer;color:var(--ink);font:700 11px Quicksand,'Noto Sans Thai Looped',sans-serif}
.czcardb svg{height:120px;width:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:10px}.czcardb b{font-size:12px;text-align:center;line-height:1.15}.czcardb small{color:var(--mut);font-size:10px;text-align:center}
.czcardb.on{border-color:var(--pk);box-shadow:0 0 0 3px var(--pk2)}
.czbadge{display:flex;gap:8px;align-items:center;margin:6px 0;padding:6px 8px;border-radius:12px;background:linear-gradient(90deg,#fff7fb,#f6f1ff);border:1px solid var(--line)}
.czbadge svg{height:76px;width:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:8px}.czbx{font-size:28px}
/* event images */
.evfig{margin:6px 0 10px;text-align:center}.evfig svg.evimg{width:100%;max-width:760px;height:auto;border-radius:14px;box-shadow:var(--sh2);display:block;margin:0 auto;background:#2a2350}
.evfig figcaption{font-size:11.5px;color:var(--mut);margin-top:4px}
.evgal{display:flex;gap:8px;overflow-x:auto;padding:6px 0}.evthumb{flex:0 0 auto;width:220px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:3px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink);font:700 11px Quicksand,'Noto Sans Thai Looped',sans-serif}
.evthumb svg{width:100%;height:auto;border-radius:9px;display:block}.evthumb:hover{transform:translateY(-2px)}
.evph{display:flex;align-items:center;gap:8px;justify-content:center;padding:18px;border:2px dashed var(--line);border-radius:14px;color:var(--mut);margin:6px 0}.evph span{font-size:24px}
.evpromo{white-space:normal}

/* ---- New Single Planning (unified page) & Song Library ---- */
.plgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}
.plinfo{position:sticky;top:8px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 20px);overflow:auto}
.plinfo input[type=text],.plinfo input:not([type]){min-width:0}
.pltl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pltl li{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:3px}
.pltl li.on{border-color:var(--pk);box-shadow:0 0 0 2px var(--pk3,#ffd3e6)}
.pltrk{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:none;border:0;text-align:left;cursor:pointer;padding:3px 4px;font:inherit;color:inherit}
.pltrk b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pltrk small{font-size:11px;color:var(--mut)}
.pltrk .tag{font-size:9.5px;padding:1px 6px}
.plchk .ok{color:var(--ok)}.plchk .ng{color:var(--err)}
.plmv{display:flex;flex-direction:column;gap:2px}.plmv .b.s{padding:1px 6px;font-size:10px;min-height:0}
.plkv{grid-template-columns:1fr 1fr}.plreq{font-size:12px;max-height:180px;overflow:auto}.pllock{font-size:13px}
.plmain{display:flex;flex-direction:column;gap:12px;min-width:0}
.plsong{border-left:6px solid var(--lv)}.plsong.main{border-left-color:var(--pk)}
.plsh{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.pltno{font-size:12px;color:var(--mut);font-weight:700}
.pltitle{flex:1 1 200px;font-size:16px;font-weight:700;min-width:0}
.plcols{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr);gap:10px}
.plbox{background:linear-gradient(180deg,#fffafd,#f8f5ff);border:1px solid var(--line);border-radius:14px;padding:9px;display:flex;flex-direction:column;gap:6px;min-width:0}
.plbox h4{margin:0;font-size:13.5px}
.pll{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--mut);font-weight:700}.pll select{width:100%}
.plstage{display:flex;flex-direction:column;gap:3px;background:linear-gradient(180deg,#f3eefe,#fde9f2);border-radius:12px;padding:6px}
.plrow{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:4px}.plrow>b{font-size:10.5px;color:var(--mut)}
.plrow>div{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}
.plm{position:relative;display:flex;flex-direction:column;align-items:center;width:40px}.plm svg{width:30px;border-radius:9px;display:block}
.plm small{font-size:9px;max-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plm i{position:absolute;top:-6px;right:2px;font-style:normal;color:#e0a800;text-shadow:0 0 3px #fff}
.plm.ctr svg{outline:2px solid #f3c35c;outline-offset:1px}.plm.empty{width:30px;height:30px;border:1.5px dashed var(--line);border-radius:9px;justify-content:center;color:var(--mut)}
.plczw{display:flex;gap:8px}.plczfig svg{height:150px;width:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:10px}.plczfig .czbx{display:grid;place-items:center;width:70px;height:150px;border:2px dashed var(--line);border-radius:10px}
.plczc{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.plczc select{width:100%}
.plwarn{color:#b4552a}
.pled{margin-top:10px;border-top:2px dashed var(--line);padding-top:8px}.pled h4{margin:0 0 6px}
.plback{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.plann{border:1px solid var(--line);border-radius:12px;padding:6px;margin:6px 0;text-align:left}
.slgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:10px}
.slcard{display:flex;gap:8px;align-items:center;text-align:left;cursor:pointer;font:inherit;color:inherit}.slcard svg{width:46px;border-radius:12px}
.slc{display:flex;flex-direction:column;gap:2px;min-width:0}.slc b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slc small{font-size:11px;color:var(--mut)}
.slph{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--lv2);font-size:20px}
.sls.rel{color:var(--ok)}.sls.prod{color:#b4552a}.sls.plan{color:var(--pk)}
.slinfo{display:flex;gap:12px;flex-wrap:wrap}.slfig svg{height:200px;width:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:12px}
.slt{flex:1;min-width:220px}.slt td:first-child{color:var(--mut);font-size:12px;padding-right:8px}
@media(max-width:1180px){.plcols{grid-template-columns:1fr 1fr}.plcz{grid-column:1/-1}}
@media(max-width:860px){.plgrid{grid-template-columns:1fr}.plinfo{position:static;max-height:none}.plcols{grid-template-columns:1fr}}

/* ---- Fanbase Management ---- */
.fbtabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.fbtabs button{flex:1 1 140px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbf6ff);cursor:pointer;font:inherit;color:var(--ink)}
.fbtabs button b{font-size:13.5px}.fbtabs button small{font-size:10px;color:var(--mut)}
.fbtabs button.on{background:linear-gradient(135deg,#f5a3c4,#b9a2ec);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(214,69,127,.25)}.fbtabs button.on small{color:#fff}
.fbbody{display:flex;flex-direction:column;gap:12px}.fbbody .g2{gap:12px}
.fbtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fbtile{background:linear-gradient(180deg,#fff,#fdf5fa);border:1px solid var(--line);border-radius:16px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.fbtile small{font-size:11px;color:var(--mut);font-weight:700}.fbtile b{font-size:21px;color:var(--ink)}.fbtile span{font-size:11px;color:var(--mut)}
.fbtile.big{grid-column:span 2;background:linear-gradient(135deg,#fff0f6,#f1ecff)}.fbtile.big b{font-size:28px;color:#c23a72}
.fbtile.up b{color:#2f8f62}.fbtile.dn b{color:#c4513a}
.fbrow{display:flex;align-items:center;gap:8px;padding:4px 2px;border-radius:10px;min-width:0}
.fbrow>b{flex:0 1 150px;min-width:70px}.fbrow>.fbhb,.fbrow>.fbko,.fbrow>.fbpn{flex:1 1 80px;min-width:50px}.fbrow>svg,.fbrow>.rk{flex:0 0 auto}
.fbrow>b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fbrow>span:last-child{font-size:12px;color:var(--mut);white-space:nowrap}
.fbrow[onclick]{cursor:pointer}.fbrow[onclick]:hover{background:#fbf3ff}
.fbrow .rk{width:22px;height:22px;font-size:10.5px}.fbrow svg{width:26px;border-radius:8px;display:block}
.fbhb{display:block;height:10px;border-radius:6px;background:#f1ecf6;overflow:hidden}.fbhb i{display:block;height:100%;border-radius:6px}
.fbko{display:flex;gap:2px;height:8px;border-radius:5px;background:#f1ecf6;overflow:hidden;min-width:60px}.fbko i{display:block;height:100%;border-radius:4px}.fbko i.k{background:#d6457f}.fbko i.o{background:#7a6ad8}
.fbk{color:#c23a72;font-weight:800}.fbo{color:#6252c4;font-weight:700}.fbup{color:#2f8f62;font-weight:700}.fbdn{color:#c4513a;font-weight:700}
.fblegend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--mut)}.fblegend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:5px}.fblegend i.k{background:#d6457f}.fblegend i.o{background:#7a6ad8}
.fbkc{border-top:5px solid #d6457f}.fboc{border-top:5px solid #7a6ad8}
.fbchart{width:100%;height:auto;display:block}.fbgrid{stroke:#ece6f2;stroke-width:1}.fbaxl{stroke:#cfc6db;stroke-width:1}.fbax{font-size:10px;fill:#8c8199;font-family:inherit}
.fbpt:hover circle{r:6}
.fbempty{padding:18px;text-align:center;color:var(--mut);font-size:12.5px;border:2px dashed var(--line);border-radius:14px}
.fbrep{font-size:13px;line-height:1.55}
.fbkv{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.fbkv>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 9px;display:flex;flex-direction:column}
.fbkv small{font-size:10.5px;color:var(--mut)}.fbkv b{font-size:15px}.fbkv .fbk b{color:#c23a72}.fbkv .fbo b{color:#6252c4}.fbkv>div.fbk{border-color:#f0b7cd}.fbkv>div.fbo{border-color:#cbc3f0}
.fbfil{gap:10px;align-items:flex-end}.fbseg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.fbseg button{border:0;background:#fff;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink)}.fbseg button.on{background:var(--pk);color:#fff}
.fbcats{gap:6px;margin:6px 0}
.fbtbl{display:flex;flex-direction:column;gap:4px;overflow-x:auto}
.fbth,.fbtr{display:grid;grid-template-columns:34px minmax(200px,2.2fr) repeat(6,minmax(70px,1fr));align-items:center;gap:6px;min-width:720px}
.fbth{font-size:11px;color:var(--mut);font-weight:700;padding:0 6px}.fbth button{background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:left;padding:4px 0}.fbth button:hover{color:var(--pk)}
.fbtr{background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px 6px;cursor:pointer;font-size:13px}.fbtr:hover{border-color:var(--pk)}
.fbmem{display:flex;align-items:center;gap:8px;min-width:0}.fbmem svg{width:38px;border-radius:11px;flex:0 0 auto}.fbmem>span{display:flex;flex-direction:column;gap:2px;min-width:0}.fbmem small{font-size:10.5px;color:var(--mut)}
.fbteams{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.fbteam h3{margin-top:0}
.fbpn{display:flex;height:10px;background:linear-gradient(90deg,#f6eef3 50%,#eef6f1 50%);border-radius:6px;position:relative}.fbpn i{position:absolute;top:0;height:100%;border-radius:5px}.fbpn i.p{left:50%;background:#2f8f62}.fbpn i.n{right:50%;background:#c4513a}
.fbhist{overflow-x:auto}.fbhist table{width:100%;font-size:12px;border-collapse:collapse}.fbhist th,.fbhist td{padding:4px 6px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.fbhist th:first-child,.fbhist td:first-child{text-align:left}
.fbmm{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.fbmm>svg{width:90px;border-radius:16px}.fbmm .fbkv{flex:1;min-width:240px}
@media(max-width:640px){.fbtile.big{grid-column:span 1}.fbtabs button{flex:1 1 30%}.fbrow>b{flex-basis:90px}}
.fbteam .fbkv{grid-template-columns:1fr 1fr}.fbteam h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.fbteam h3 small{font-size:11px}

/* ---- Single & Album planning (restored steps) ---- */
.msteps{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1100px){.msteps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plname{gap:8px;align-items:baseline}.plname b{font-size:17px}
.pltno{font-size:12px;color:var(--mut);font-weight:700}
.plnm{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;background:#f4efff;border:1px solid #d9cff5;border-radius:10px;padding:4px 8px;cursor:pointer}
.tag.pltt{background:#ffe0ec;color:#b02d63;border-color:#f3b4cd}.tag.plnt{background:#eef2f6;color:#5f6b7a}
.pltts{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.pltts .lpi svg{width:26px;border-radius:8px}
.plsen{border-left:6px solid var(--lv)}
.plczs{display:flex;gap:6px;overflow-x:auto;padding:6px 2px}
.plczm{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px;border-radius:14px;border:2px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:inherit;width:78px}
.plczm svg{width:46px;border-radius:12px}.plczm b{font-size:11.5px}.plczm small{font-size:10px;color:#c4513a}.plczm.ok small{color:#2f8f62}
.plczm.on{border-color:var(--pk);box-shadow:0 0 0 3px #ffd3e6}
.plczmini{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.plczt{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:10px;background:linear-gradient(#fdf3f8,#eef4fd);padding:2px;cursor:pointer;font:inherit;color:inherit;width:54px}
.plczt svg{height:84px;width:auto}.plczt small{font-size:9.5px;color:#c4513a;white-space:nowrap;overflow:hidden;max-width:50px}.plczt.ok small{color:#2f8f62}
.plczh .row{gap:8px}
.plsenrec{margin-top:10px}
@media(max-width:480px){.nav button{flex:1 0 35px;min-width:35px;font-size:8px}.nav button i{width:29px;height:29px}.nav button i svg{width:16px;height:16px}}

/* ---- member selection grids, Senbatsu box, Single Costume, Roadshow badges ---- */
.g.msel{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}
.msel .c.m{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}
.msel .c.m>svg{width:56px;height:auto;border-radius:12px}
.msel .c.m .st{font-size:11px;line-height:1.35;word-break:break-word}
.msel .c.m.msel-on{outline:3px solid var(--pk);outline-offset:1px;background:var(--pk2)}
.mselck{position:absolute;top:4px;right:6px;font-style:normal;background:var(--pk);color:#fff;border-radius:999px;width:20px;height:20px;display:grid;place-items:center;font-size:11px}
@media(max-width:600px){.g.msel,.evpick{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.msel .c.m{padding:5px 3px!important}.msel .c.m>svg{width:100%;max-width:64px}.msel .c.m .st{font-size:10px}.msel .c.m .tag{font-size:8.5px;padding:1px 4px}}
.rsfull .c.m{cursor:default}
.plsenb{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:5px}
.tag.plsct{background:linear-gradient(135deg,#f3c35c,#ff9fb8);color:#fff;border:0}
.plscz{border-left:6px solid #f3c35c;margin-top:12px}
.plpf{font-style:normal;font-size:9px;color:#a37a00}
.rsb{display:inline-block;font-size:10px;font-weight:800;border-radius:8px;padding:1px 6px;margin:1px 0;white-space:nowrap}
.rsb.c{background:#fff1c7;color:#9a6a00;border:1px solid #f3c35c}.rsb.s{background:#ffe0ec;color:#b02d63}.rsb.n{background:#eef2f6;color:#5f6b7a}
.plprofcz .plpcz{height:180px;width:auto;background:linear-gradient(#fdf3f8,#eef4fd);border-radius:12px}

/* ---- stability banners, roadshow participation, cover costume picker ---- */
.svwarn{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff4d6;border:2px solid #f3c35c;color:#6b4b00;border-radius:14px;padding:8px 12px;margin:6px 0;font-size:13px;font-weight:700}
.svcrash{margin:20px auto;max-width:640px}.svrec{margin-bottom:10px;border:2px solid #f3c35c}
.rsb.pd{background:#dff5e9;color:#1f6b45}.rsb.np{background:#f4efff;color:#6252c4}
.rssel .c.m{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line)}
.covsrc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;border-left:5px solid var(--pk)}

/* ---- configurable member grids, roadshow planning status ---- */
.gcolbar{display:inline-flex;align-items:center;gap:6px;margin:6px 0}.gcolbar button{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:36px;min-height:32px;font:inherit;font-weight:800;cursor:pointer;color:var(--ink)}.gcolbar button.on{background:var(--pk);color:#fff;border-color:transparent}
.g.gcol{gap:8px}.g.gcol-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.g.gcol-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.g.gcol-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.g.gcol>.c{min-width:0;overflow:hidden}.g.gcol>.c svg{max-width:100%;height:auto}
.g.gcol .st,.g.gcol b{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.g.gcol-5 .c.m{padding:4px!important}.g.gcol-5 .st{font-size:10px}.g.gcol-5 .tag{font-size:8.5px;padding:1px 4px}
@media(max-width:600px){.g.gcol-4 .st{font-size:10px}.g.gcol-5 .st{font-size:9px}.g.gcol-5 .c.m b{font-size:10px}.g.gcol .c.m>svg{width:100%}}
.rsb.pl{background:#fff1c7;color:#8a5a00;border:1px dashed #f3c35c}
.rsplan{display:block;font-size:9.5px;color:#8a5a00;line-height:1.3;margin-top:2px}
.rspf{gap:6px;margin-top:6px}.rspf .fbseg button{font-size:11.5px}
@media(max-width:600px){.g.gcol-5 .c.m b{font-size:9.5px;letter-spacing:-.2px}.g.gcol-5 .c.m{font-size:9px}.g.gcol-4 .c.m b{font-size:11px}}
.g.gcol>.mc{min-width:0;overflow:hidden}.g.gcol .mc b{overflow-wrap:break-word;word-break:normal}
@media(max-width:600px){.g.gcol-4 .mc b{font-size:11.5px}.g.gcol-4 .mc{font-size:10.5px}.g.gcol-5 .mc b{font-size:9.5px;letter-spacing:-.2px}.g.gcol-5 .mc{font-size:9px}.g.gcol-5 .mc .tag,.g.gcol-5 .mc small{font-size:8px}}
@media(min-width:601px) and (max-width:1100px){.g.gcol-5 .mc b{font-size:12px}}

/* grades only in Auditions; team lists in 3-5 columns */
body:not([data-view="audition"]) .mc{--rb:var(--tc,#e8c4d8);box-shadow:var(--sh)}
body:not([data-view="audition"]) .mc .mart::after{display:none}
body:not([data-view="audition"]) .mc .rb{display:none}
.g.gteam>.c.m{padding:6px!important;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0}
.g.gteam>.c.m>svg{width:100%;max-width:72px;height:auto}
.g.gteam .c.m select.act{width:100%;min-width:0;font-size:11px;padding:4px 18px 4px 6px}
.g.gteam .c.m .tag{font-size:10px}.g.gteam .c.m .st{font-size:11px;overflow-wrap:break-word}
@media(max-width:600px){.g.gteam.gcol-4 .c.m b,.g.gteam.gcol-5 .c.m b{font-size:10.5px}.g.gteam.gcol-5 .c.m .st{font-size:9px}.g.gteam.gcol-5 .c.m select.act{font-size:9.5px;padding:3px 14px 3px 4px}.g.gteam.gcol-5 .c.m .tag{font-size:8.5px;padding:1px 4px}}
.g.gteam .c.m select{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;text-overflow:ellipsis;background-position:right 4px center}
.g.gteam>.c.m>*{max-width:100%}
@media(max-width:600px){.g.gteam.gcol-5 .c.m b{font-size:8.6px;letter-spacing:-.35px}.g.gteam.gcol-4 .c.m b{font-size:10px;letter-spacing:-.2px}.g.gteam.gcol-5>.c.m{padding:4px 2px!important}}
.shist ul{margin:4px 0 12px;padding-left:20px}.shist li{margin:4px 0;line-height:1.45}.shist li b{color:var(--ink)}.shist li .tag{font-size:10px;padding:1px 6px}
.gsort{gap:8px;margin:6px 0}.gsv{font-size:11px;color:var(--pk);font-weight:700}
.gdeb{margin:8px 0;border-left:5px solid #f3c35c}.gdebk{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.gdebk>div{display:flex;flex-direction:column;gap:1px}.gdebk small{font-size:11px;color:var(--mut);font-weight:700}.gdebk b{font-size:15px}
.hshist ul{margin:4px 0;padding-left:20px}.hshist li{margin:3px 0}
.gann{font-weight:800;color:#b02d63;margin-bottom:6px}
/* ---- wellness & emotions ---- */
.wlp h4,.wlreact h4{margin:10px 0 4px;font-size:14px}
.wlgrid{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
.wls{min-width:0}.wlsh{display:flex;justify-content:space-between;font-size:13px}
.wlbar{height:9px;border-radius:99px;background:#efe7f5;overflow:hidden}.wlbar i{display:block;height:100%;border-radius:99px;background:#9ad7b4}
.wlbar.go i{background:#a6d98f}.wlbar.no i{background:#f2d27a}.wlbar.po i{background:#f2a76a}.wlbar.cr i,.wlbar.z i{background:#e0607e}
.wllv{font-size:12px;padding:1px 8px;border-radius:99px;background:#e8f6ee;color:#2f7a52;white-space:nowrap}.wllv.no{background:#fff3d1;color:#8a6a12}.wllv.po{background:#ffe6d4;color:#a3561c}.wllv.cr,.wllv.z{background:#ffdbe4;color:#b0284f}
.wlrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 4px}
.wlmood{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:99px;background:#eef0f6;font-size:13px;white-space:nowrap}.wlmood.pos{background:#e5f6e9}.wlmood.neg{background:#fde5ea}.wlmood.nrv{background:#fff1d6}.wlmood.sm{font-size:11px;padding:0 7px}
.wlact .b:disabled{opacity:.5}
.wl2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.wl2{grid-template-columns:1fr}}
.wlkv{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.wlkv div{background:#faf5ff;border-radius:8px;padding:4px 6px;text-align:center}.wlkv small{display:block;font-size:10px;color:var(--mut)}@media(max-width:480px){.wlkv{grid-template-columns:repeat(2,1fr)}}
.wll{list-style:none;padding:0;margin:4px 0;font-size:13px}.wll li{padding:3px 0;border-bottom:1px dashed var(--line)}.wll q,.wlr q{font-style:italic;color:#6a5a80}
.wlpos{font-size:11px;padding:0 7px;border-radius:99px;background:#eee}.wlpos.center{background:#ffe08a}.wlpos.front{background:#ffd3e3}.wlpos.mid{background:#e2e5ff}.wlpos.back{background:#e6f1f7}.wlpos.none{background:#f0eded;color:#8a7f7f}
.wlleave{background:#fff0f3;border:1px solid #f4b8c8;border-radius:10px;padding:8px 10px;margin:6px 0;font-size:13px}.wlleave.sm{padding:3px 8px;font-size:12px}
.wltag{background:#ffdbe4!important;color:#b0284f}
.wlbadge{position:absolute;top:4px;left:4px;z-index:3;background:#e0607e;color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:99px}.wlbadge.in{position:static;margin-right:4px}
.mc,.trc .av{position:relative}.trc.wlaway{opacity:.85}
.wlmini{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;align-items:center;font-size:11px;margin:2px 0 4px}
.wlrg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.wlr{border-radius:10px;padding:8px;background:#fbf8ff;border:1px solid #eadff6}.wlr.pos{background:#f3fbf5}.wlr.neg{background:#fff5f7}.wlr.nrv{background:#fffaf0}
.wlrh{display:flex;gap:8px;align-items:center}.wlrh>div{flex:1;min-width:0}.wlr q{display:block;margin:6px 0;font-size:13px}
.wlfx{display:flex;flex-wrap:wrap;gap:4px;font-size:11px}.wlfx .up{color:var(--ok)}.wlfx .dn{color:var(--err)}
.wln li{margin:4px 0}
/* ---- General Election ---- */
.gehero{background:linear-gradient(120deg,#2a1844,#5a2a6e 55%,#b05f8f);color:#fff;border:0;overflow:hidden;position:relative}
.gehero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,230,160,.35),transparent 45%),radial-gradient(circle at 10% 90%,rgba(255,170,210,.3),transparent 40%);pointer-events:none}
.gehero h2{font-family:'M PLUS Rounded 1c',serif;font-size:clamp(22px,4vw,32px);margin:2px 0;color:#ffe8a3;text-shadow:0 2px 10px rgba(0,0,0,.35)}.gehero .st{color:#f4dcff}
.gekicker{display:inline-block;font:800 11px Quicksand;letter-spacing:3px;color:#ffd77a;text-transform:uppercase}
.geflow{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;position:relative}.geflow span{font-size:11px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.12);color:#e9d7f7}.geflow span.ok{background:rgba(255,215,122,.25);color:#ffe8a3}.geflow span.on{background:#ffd77a;color:#3a2350;font-weight:800}
.gestart{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.gestart>div:first-child{flex:1 1 300px}.gelast{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,#fff6e0,#ffe3ef);border-radius:14px;padding:10px}.gelast small{display:block;color:var(--mut)}.gelast b{display:block;font-size:18px;margin-bottom:6px}
.gegr{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border-radius:12px;background:#fbf6ff;margin:4px 0;border:1px solid #eadff6}.gegr input[type=text],.gegr>input{width:150px}
.gegn{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.gerng{font-weight:800;color:#9a5a12;background:#fff1cf;border-radius:99px;padding:1px 10px;font-size:13px}
.gepg{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;max-height:420px;overflow:auto;padding:2px}
.gepm{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid #eadff6;background:#fff;border-radius:12px;padding:6px 4px;cursor:pointer;font:inherit;color:inherit}.gepm b{font-size:12px;text-align:center}.gepm small{font-size:10px;color:var(--mut);text-align:center}.gepm i{font-style:normal;font-size:10px;color:var(--mut)}
.gepm.on{border-color:#e9a43a;background:linear-gradient(180deg,#fff9e8,#fff)}.gepm.on i{color:#b7791f;font-weight:800}.gepm:disabled{cursor:default;opacity:.85}
.geerr{border-left:4px solid var(--err)}.geok{border-left:4px solid var(--ok);color:var(--ok);font-weight:700}
.gekg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0}
.gek{background:linear-gradient(160deg,#fff,#fbf1ff);border:1px solid #eadff6;border-radius:14px;padding:10px 12px;box-shadow:0 4px 14px rgba(120,90,150,.08)}.gek small{display:block;font-size:11px;color:var(--mut);font-weight:700}.gek b{display:block;font-size:20px;color:#5a2a6e;line-height:1.3;word-break:break-word}.gek span{font-size:11px;color:var(--mut)}
.gepb{height:10px;border-radius:99px;background:#efe7f5;overflow:hidden;margin:8px 0}.gepb i{display:block;height:100%;background:linear-gradient(90deg,#f08bb4,#ffd77a)}
.gechart{width:100%;height:170px;display:block}.genews{font-size:13px}
.geprb{display:inline-block;font:800 11px Quicksand;letter-spacing:2px;padding:3px 10px;border-radius:6px;background:repeating-linear-gradient(45deg,#ffe9b8,#ffe9b8 8px,#fff3d6 8px,#fff3d6 16px);color:#8a5a00;border:1px dashed #d9a441}.geprb.big{font-size:13px;padding:5px 14px}
.gefinb{display:inline-block;font:800 12px Quicksand;letter-spacing:2px;padding:4px 12px;border-radius:6px;background:linear-gradient(90deg,#b8860b,#ffd77a,#b8860b);color:#2a1844}
.geprel{border:2px dashed #e9c46a;background:linear-gradient(180deg,#fffdf6,#fff)}
.geprg{display:grid;gap:2px}.gepgh{display:flex;justify-content:space-between;align-items:center;margin:10px 0 2px;padding:5px 10px;border-radius:8px;background:linear-gradient(90deg,#3a2350,#7a3a7e);color:#ffe8a3}.gepgh span{font-size:12px;color:#f3d7ff}
.gepr,.gear{display:flex;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px dashed var(--line)}.gepr b,.gear b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gear>div{flex:1;min-width:0}.gear small{display:block;font-size:11px;color:var(--mut)}
.geprk{width:46px;font-weight:800;color:#5a2a6e;text-align:right}.gepv{font-variant-numeric:tabular-nums;font-weight:700;color:#7a3a7e}.gepr.cen,.gear.cen{background:#fff8e6}
.gear.top1{background:linear-gradient(90deg,#ffe0e4,#fff)}.gear.top2{background:linear-gradient(90deg,#ffe6f1,#fff)}.gear.top3{background:linear-gradient(90deg,#e3f3ff,#fff)}
.gechg{font-size:12px;font-weight:800;min-width:32px;text-align:center}.gechg.up{color:var(--ok)}.gechg.dn{color:var(--err)}.gechg.new{color:#b7791f}
.geplm{margin-top:6px;font-size:13px}.gebox{background:#fff8ea}
.gesealed{text-align:center;background:linear-gradient(135deg,#2a1844,#5a2a6e);color:#fff}.gesealed h3{color:#ffe8a3}.gesealed .st{color:#f0dcff}
.gegrps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.gegrps div{padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,215,122,.5);text-align:center}.gegrps b{display:block;color:#ffe8a3}.gegrps span{font-size:12px}
.gegrps.lt{justify-content:flex-start}.gegrps.lt div{background:#fbf6ff;border-color:#eadff6}.gegrps.lt b{color:#5a2a6e}
.gego{text-align:center}.gebanner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:linear-gradient(90deg,#fff6e0,#ffeef6);border:1px solid #f2d49a}.gebanner.lock{background:linear-gradient(90deg,#efe9ff,#fff)}
.gearl{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.geac{display:flex;gap:10px;align-items:center;text-align:left;cursor:pointer;font:inherit;color:inherit}.geac.on{outline:3px solid #e9c46a}.geac small{display:block;color:var(--mut);font-size:11px}.geac span{font-size:12px}
.gegal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.gegi{border:0;padding:6px;border-radius:14px;background:#2a1844;cursor:pointer;color:#ffe8a3;font:inherit}.gegi svg{width:100%;height:auto;display:block;border-radius:10px}
.gephbig svg{width:100%;height:auto;border-radius:12px}
.gesps{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.gespc{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,215,122,.3)}.gespc small{display:block;font-size:11px;opacity:.8}.gespc q{display:block;font-style:italic;margin-top:4px;font-size:13px}
.gesps.lt .gespc{background:#fbf8ff;border-color:#eadff6}.gemood.sm{font-size:11px;white-space:nowrap}
.gefig{display:block;max-width:100%}
/* ceremony: full screen stage */
body.gecer-on{overflow:hidden}
.gecer{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;color:#fff;background:radial-gradient(ellipse at 50% 110%,#7a2f6e 0%,#2a1340 45%,#0d0718 100%);overflow:hidden;font-family:Quicksand,sans-serif}
.gebg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.gebg i{position:absolute;top:-20%;width:34vw;height:140%;background:linear-gradient(180deg,rgba(255,240,200,.18),transparent 70%);transform-origin:top center;filter:blur(6px);animation:gesweep 9s ease-in-out infinite alternate}
.gebg i:nth-child(1){left:5%;transform:rotate(18deg)}.gebg i:nth-child(2){left:30%;transform:rotate(-12deg);animation-delay:-3s}.gebg i:nth-child(3){right:25%;transform:rotate(12deg);animation-delay:-5s;background:linear-gradient(180deg,rgba(255,170,220,.16),transparent 70%)}.gebg i:nth-child(4){right:2%;transform:rotate(-18deg);animation-delay:-7s}
@keyframes gesweep{from{opacity:.4;margin-left:-4vw}to{opacity:1;margin-left:4vw}}
.getop{position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.getop>div:first-child{display:flex;flex-direction:column;line-height:1.2}.getop>div:first-child b{color:#ffe8a3}.getop>div:first-child span{font-size:11px;opacity:.8}
.geprog{flex:1;height:5px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden;min-width:60px}.geprog i{display:block;height:100%;background:linear-gradient(90deg,#ffd77a,#ff8fbf)}.getopb{display:flex;gap:6px}
.geb{border:0;border-radius:99px;font:800 13px Quicksand;letter-spacing:1.5px;padding:12px 26px;cursor:pointer;color:#2a1844;background:linear-gradient(180deg,#fff,#ffe3ef);box-shadow:0 6px 20px rgba(0,0,0,.35)}.geb.gold{background:linear-gradient(180deg,#fff3c2,#e9b949);font-size:15px;padding:14px 34px}.geb.s{padding:7px 14px;font-size:11px;background:rgba(255,255,255,.14);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.3)}
.geb:focus-visible{outline:3px solid #ffd77a;outline-offset:2px}
.gebody{position:relative;flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px 16px}
.gestage{width:min(1100px,100%);text-align:center;animation:gein .6s ease both}.gestage.op .getitle{font-family:'M PLUS Rounded 1c',serif;font-size:clamp(30px,7vw,72px);margin:6px 0;background:linear-gradient(180deg,#fff8d8,#e9b949);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 30px rgba(233,185,73,.3)}
.gesub{font-size:clamp(14px,2.4vw,22px);letter-spacing:4px;color:#ffd7ea}.geven{margin-top:6px;color:#e6d4ff}.gecap{opacity:.8;font-size:13px}
.gecrowd{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:18px auto;max-width:900px}.gecrowd span{border-radius:50%;overflow:hidden;width:46px;height:46px;background:rgba(255,255,255,.1);box-shadow:0 0 0 2px rgba(255,215,122,.4)}
.geh{font-size:clamp(20px,4vw,34px);color:#ffe8a3;margin:6px 0 10px}.gemc{max-width:720px;margin:8px auto;line-height:1.6;color:#f6e9ff;font-size:clamp(14px,2vw,17px)}
.gekpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;max-width:800px;margin:12px auto}.gekpi div{background:rgba(255,255,255,.08);border:1px solid rgba(255,215,122,.35);border-radius:14px;padding:10px}.gekpi small{display:block;font-size:11px;opacity:.8}.gekpi b{font-size:clamp(18px,3vw,26px);color:#ffe8a3}
.gestage.pre .gernum{font-family:'M PLUS Rounded 1c',serif;font-size:clamp(70px,20vw,200px);line-height:1;color:#fff;text-shadow:0 0 40px rgba(255,215,122,.6);animation:gepulse 1.6s ease-in-out infinite}
.gernum b{font-weight:800}.gerl{letter-spacing:10px;font-weight:800;color:#ffd77a;font-size:clamp(14px,3vw,24px)}.gerkg{display:inline-block;letter-spacing:3px;font-weight:800;font-size:13px;color:#ffd7ea;text-transform:uppercase;margin-bottom:6px}
.gecen{color:#ffd77a}.gedrum{display:flex;justify-content:center;gap:8px;margin-top:12px}.gedrum i{width:10px;height:10px;border-radius:50%;background:#ffd77a;animation:gedot 1s infinite}.gedrum i:nth-child(2){animation-delay:.2s}.gedrum i:nth-child(3){animation-delay:.4s}
@keyframes gedot{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}@keyframes gepulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes gein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.gestage.rv{position:relative}.gelight{position:absolute;left:50%;top:-30%;width:70%;height:160%;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 30%,rgba(255,245,210,.35),transparent 60%);pointer-events:none;animation:geburst 1s ease-out both}
@keyframes geburst{from{opacity:0;transform:translateX(-50%) scale(.6)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.gecard{position:relative;display:grid;grid-template-columns:minmax(160px,320px) 1fr;gap:clamp(10px,3vw,40px);align-items:center;text-align:left;max-width:980px;margin:0 auto}
.gefigw{position:relative;display:flex;justify-content:center;animation:gefig .9s cubic-bezier(.2,.8,.2,1) both}.gefigw .gefig{height:min(62vh,520px);width:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
@keyframes gefig{from{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:none}}
.gecape{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:1px;padding:3px 12px;border-radius:99px;background:rgba(0,0,0,.45);color:#ffe8a3}
.gernum.sm{font-family:'M PLUS Rounded 1c',serif;font-size:clamp(46px,9vw,100px);line-height:1;color:#fff;text-shadow:0 0 30px rgba(255,215,122,.5)}.gernum.sm span{font-size:.3em;letter-spacing:6px;color:#ffd77a}
.top1 .gernum.sm{color:#ffd9de}.top1 .gernum.sm b{background:linear-gradient(180deg,#fff6c4,#e9b949);-webkit-background-clip:text;background-clip:text;color:transparent}.top2 .gernum.sm{color:#ffc2da}.top3 .gernum.sm{color:#c9ecff}
.gename{font-size:clamp(26px,5vw,48px);font-weight:800;margin:4px 0;color:#fff;text-shadow:0 2px 14px rgba(255,143,191,.5)}.gename.big{font-size:clamp(32px,7vw,64px)}
.gemeta{color:#e6d4ff;font-size:14px}.gevotes{margin:8px 0;font-size:15px;color:#ffd7ea}.gevotes b{font-size:clamp(22px,4vw,34px);color:#ffe8a3;font-variant-numeric:tabular-nums}
.gesp{margin:12px 0 6px;padding:12px 16px;border-left:3px solid #ffd77a;background:rgba(255,255,255,.07);border-radius:0 12px 12px 0;font-size:clamp(14px,2vw,17px);line-height:1.55;font-style:italic}
.gecer .gemood{font-size:13px;color:#ffd7ea}.gecer .st{color:#cdb9e6}.gecer .gechg.up{color:#8ff0b8}.gecer .gechg.dn{color:#ff9fb3}.gecer .gechg.new{color:#ffd77a}
.gecens{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:1000px;margin:0 auto}.gecenc{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,215,122,.35)}.gecenc .gefig{height:240px;width:auto}.gecenc b{color:#ffe8a3}.gecenc span{font-size:13px}.gecenc small{font-size:11px;opacity:.75}
.gephs{display:grid;gap:14px;max-width:1000px;margin:0 auto}.gephc svg{width:100%;height:auto;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.gestrip{position:relative;display:flex;gap:6px;justify-content:center;padding:4px 10px;overflow:hidden}.gestrip span{display:flex;flex-direction:column;align-items:center;font-size:10px;opacity:.85}.gestrip span i{font-style:normal;color:#ffd77a}.gestrip svg{border-radius:50%;background:rgba(255,255,255,.1)}
.geact{position:relative;display:flex;justify-content:center;gap:10px;padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}
.gerec q{font-style:italic;color:#6a5a80}
@media(max-width:700px){.gecard{grid-template-columns:1fr;text-align:center}.gefigw .gefig{height:min(40vh,320px)}.gesp{text-align:left}.getop>div:first-child{display:none}.geb{padding:11px 20px}.gestrip{display:none}.gecenc .gefig{height:170px}.gegr>input{width:120px}}
.nomo .gecer *{animation:none!important}
.gesp:before{content:"“"}.gesp:after{content:"”"}
/* ---- Theater ---- */
.thbar{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.thtk{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:2px solid transparent;border-left:6px solid var(--tc);background:var(--card);border-radius:12px;padding:6px 12px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 3px 10px rgba(120,90,150,.1)}.thtk small{font-size:11px;color:var(--mut)}.thtk.on{border-color:#e9a43a;background:linear-gradient(180deg,#fff8e8,#fff)}
.thhero{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#3a1f55,#7a2f6e 60%,#c2789a);color:#fff;border:0}.thhero h2{margin:2px 0;color:#ffe8a3;font-size:clamp(20px,3.6vw,30px)}.thhero .st{color:#f3d7ff}.thkick{font:800 11px Quicksand;letter-spacing:3px;color:#ffd77a}
.thhs{display:flex;gap:10px;align-items:center}.thhs b{display:block;font-size:17px}.thhs small{display:block;font-size:11px;color:#f3d7ff}
.thno{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:4px 8px;border-radius:12px;background:linear-gradient(180deg,#fff6d6,#e9b949);color:#3a2350;font:800 20px 'M PLUS Rounded 1c',sans-serif;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.2)}.thno small{font-size:10px;letter-spacing:1px}.thno.sm{min-width:40px;font-size:14px;padding:3px 6px}.thno.nn{background:#ece8f3;color:#8f80a6}
.thart{width:100%;height:auto;display:block;border-radius:12px}.thlobby{padding:8px}
.thsl{margin:0;padding-left:20px;font-size:13px;columns:2;column-gap:20px}.thsl li{break-inside:avoid;padding:2px 0}.thsl li.thslm{list-style:none;margin-left:-18px;color:#b7791f;font-weight:700}.thsl li.thslm:before{content:'🎙 '}
.thmi{display:inline-block;border-radius:50%;overflow:hidden;vertical-align:middle;margin-right:-4px;box-shadow:0 0 0 2px #fff}.thmi svg{display:block}
.thtrb{margin-top:8px;padding:6px 10px;border-radius:10px;background:#efe9ff;font-size:13px}
.thwg{display:grid;grid-template-columns:62px repeat(7,1fr);gap:3px;align-items:center;margin:2px 0}.thwg>b{font-size:11px;text-align:center;color:var(--mut)}.thwg>small{font-size:10px;color:var(--mut)}
.thwd{display:flex;gap:2px;justify-content:center;padding:3px;border-radius:8px;background:#faf6ff;min-height:30px;align-items:center}.thwd.today{outline:2px solid #ef8fb5}
.thsl2{min-width:24px;height:24px;border-radius:7px;border:1px solid #e3d8f2;background:#fff;font:800 11px Quicksand;color:#8f80a6;cursor:pointer;padding:0 4px}.thsl2.on{background:var(--grad);color:#fff;border:0}.thsl2.done{background:#c8ead6;color:#2f7a52;border:0}.thsl2.no{background:#eee9f1;color:#cbbfd8;cursor:default;text-decoration:line-through}.thsl2.free{background:#fff}.thsl2.pin{box-shadow:0 0 0 2px #e9b949}.thsl2.cx{background:#ffe3e9;color:#c4513a}.thsl2:disabled{cursor:default}
.thleg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--mut);margin:6px 0}
.thfix{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}.thfx{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:10px;background:#faf6ff;border:1px solid #eadff6;font-size:13px;cursor:pointer}.thfx.on{background:#fff1cf;border-color:#e9c46a;font-weight:700}
.thpf{display:grid;grid-template-columns:90px 1fr auto auto auto;gap:8px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px dashed var(--line);background:none;padding:6px 4px;cursor:pointer;font:inherit;color:inherit;font-size:13px}.thpf:hover{background:#fbf6ff}
.thsth{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.thstc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;text-align:left;padding:8px;border-radius:12px;border:1px solid #eadff6;background:#fff;font:inherit;color:inherit;cursor:pointer}.thstc small{width:100%;font-size:11px;color:var(--mut)}.thstc.active{border-color:#e9b949;background:linear-gradient(180deg,#fff8e6,#fff)}.thstc.retired,.thstc.archived{opacity:.9;background:#f8f6fa}
.thsb{display:inline-block;font:800 10px Quicksand;letter-spacing:1px;padding:2px 7px;border-radius:6px;margin-left:4px;background:#ece8f3;color:#5d5170}.thsb.act{background:#ffd77a;color:#3a2350}.thsb.up{background:#c9b6ff;color:#2a1844}.thsb.ret{background:#e6dfe9;color:#6a5a80}.thsb.arc{background:#d8d2de;color:#4b3a5e}.thsb.reu{background:#c8ead6;color:#2f7a52}.thsb.ado{background:#cde6ff;color:#2c5a8a}
.thsc.active{border-left:5px solid #e9b949}.thsc.upcoming{border-left:5px solid #9d86da}.thsn{font-size:17px}.thwarn{color:var(--err)}.thokc{color:var(--ok);font-weight:700}.thtrc{border:2px solid #c9b6ff;background:linear-gradient(180deg,#f6f2ff,#fff)}
.thed .thnm{font-size:18px;font-weight:800;width:min(320px,60vw)}.thtabs{margin-top:8px}.thval summary{cursor:pointer}
.thg{align-items:start}.thtl{list-style:none;padding:0;margin:0;display:grid;gap:4px}.thtl li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border-radius:12px;background:#fff;border:1px solid #eadff6}
.thnum{min-width:38px;text-align:center;font:800 13px Quicksand;color:#fff;background:linear-gradient(180deg,#9d86da,#6a55d6);border-radius:8px;padding:3px 4px}
.thtl li.thmc{background:linear-gradient(90deg,#fff6e0,#fff);border-style:dashed;border-color:#e9c46a}.thtl li.thmc .thnum{background:#e9b949;color:#3a2350}.thtl li.thmc input{width:120px}.thtl li.thmc .thmcd{width:180px}
.thtl li.thov{background:#f3efff}.thtl li.thov .thnum{background:#3a2350}.thtl li.thsg.on{outline:2px solid #ef8fb5}.thtl li.thsg.bad{background:#fff0f3}
.thsgm{flex:1 1 200px;min-width:0;text-align:left;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit}.thsgm b{display:block}.thsgm small{display:block;font-size:11px;color:var(--mut)}
.thmcm{display:inline-flex;align-items:center;padding-left:4px}.thmcm i{font-style:normal;font-size:11px;margin-left:8px;color:var(--mut)}
.thsp{display:grid;gap:4px;max-height:520px;overflow:auto}.thspc{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:10px;border:1px solid #eadff6}.thspc b{display:block}.thspc small{display:block;font-size:11px;color:var(--mut)}.thspc.in{background:#f6fbf7}
.thpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.thmx{border-collapse:collapse;font-size:12px}.thmx th,.thmx td{padding:3px;text-align:center;border-bottom:1px solid #f0e8f5}.thmxn{text-align:left!important;white-space:nowrap}.thmxn svg{vertical-align:middle;border-radius:50%}
.thck{width:26px;height:26px;border-radius:7px;border:1px solid #d9cce8;background:#fff;cursor:pointer;font-weight:800;color:#3c9a6c}.thck.on{background:#e5f6e9;border-color:#9ad7b4}.thck.cen{background:#ffe08a;color:#7a4a00;border-color:#e9b949}
.thcl .row{padding:3px 0;border-bottom:1px dashed var(--line)}.thcn{flex:1 1 140px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thstagef{position:relative;padding:12px 8px 34px;border-radius:16px;background:linear-gradient(180deg,#3a1f55,#7a2f6e);margin:8px 0}.throw{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0}.throw.back{opacity:.95}
.thpos{display:flex;flex-direction:column;align-items:center;width:86px;padding:5px 3px;border-radius:12px;border:2px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;cursor:grab;font:inherit}.thpos b{font-size:11px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thpos small{font-size:9px;color:#f3d7ff}.thpos.cen{border-color:#ffd77a;background:rgba(255,215,122,.2)}.thpos.sel{border-color:#7fe3b0;box-shadow:0 0 0 3px rgba(127,227,176,.4)}.thpos svg{border-radius:50%}
.thaud{position:absolute;left:0;right:0;bottom:6px;text-align:center;font:800 10px Quicksand;letter-spacing:6px;color:#ffd7ea}
.thczr{border-bottom:1px dashed var(--line);padding:4px 0}
.thchk{padding:6px 8px;border-radius:10px;border:1px solid #eadff6;margin:4px 0}.thmiss{font-size:13px}
.thpk{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border-radius:10px;background:#faf6ff;margin:4px 0}.thpk.off{opacity:.6}.thpk>input:first-child{width:200px}.thpkb{flex:1 1 160px}
.thfx2{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.thfxm{display:flex;gap:6px;align-items:center}.thfxm small{display:block;font-size:11px;color:var(--mut)}.thfxm b{font-size:13px}
.thres{background:#fbf6ff}
@media(max-width:700px){.thsl{columns:1}.thpf{grid-template-columns:70px 1fr auto;font-size:12px}.thpf span:nth-child(4),.thpf span:nth-child(5){display:none}.thwg{grid-template-columns:44px repeat(7,1fr);gap:2px}.thsl2{min-width:18px;height:22px;padding:0 2px;font-size:10px}.thwd{flex-direction:column;padding:2px}.thpos{width:70px}.thtl li.thmc input,.thtl li.thmc .thmcd{width:100%}}
.thleg .thsl2{display:inline-flex;align-items:center;justify-content:center}
/* ---- Music Video production ---- */
.mvhero{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:linear-gradient(120deg,#2b2436,#5b3f78 60%,#b05f8f);color:#fff;border:0}.mvhero h2{margin:2px 0;color:#ffe8a3}.mvhero .st{color:#f3d7ff}.mvhero svg{border-radius:12px;display:block;max-width:100%;height:auto}
.mvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.mvgrid.loc{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.mvcard{display:flex;flex-direction:column;gap:3px;text-align:left;padding:6px;border-radius:14px;border:2px solid #eadff6;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:.15s}.mvcard:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(120,90,150,.15)}.mvcard.on{border-color:#e9a43a;background:linear-gradient(180deg,#fff8e8,#fff);box-shadow:0 0 0 3px rgba(233,164,58,.25)}.mvcard:disabled{cursor:default;opacity:.8}.mvcard:disabled.on{opacity:1}
.mvcard svg{width:100%;height:auto;border-radius:10px;display:block}.mvcard small{font-size:11px;color:var(--mut)}.mvc{font-size:11px;color:#7a3a7e;font-weight:700}
.mvstg{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.mvst{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border-radius:12px;border:2px solid #eadff6;background:#fff;cursor:pointer;font:inherit;color:inherit}.mvst small{font-size:11px;color:var(--mut)}.mvst.on{border-color:#e9a43a;background:#fff8e8}.mvst.ex{background:#f6f2ff}.mvst.ex.on{background:#fff8e8}
.mvopt{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px}.mvopt label{display:flex;gap:8px;align-items:center;font-weight:700}.mvctr{display:inline-flex;gap:4px;align-items:center}.mvctr b{min-width:24px;text-align:center}
.mvsen{display:flex;flex-wrap:wrap;gap:6px}.mvm{display:flex;flex-direction:column;align-items:center;width:76px;padding:4px;border-radius:12px;background:#faf6ff;border:1px solid #eadff6}.mvm b{font-size:11px;text-align:center}.mvm i{font-style:normal;font-size:9px;font-weight:800;color:#b7791f}.mvm.cen{border-color:#e9b949;background:#fff8e6}
.mvbud table{width:100%;max-width:520px}.mvbud td:last-child{text-align:right;font-variant-numeric:tabular-nums}.mvbud tr.tot td{font-weight:800;border-top:2px solid var(--line)}
.mvsb{display:inline-block;font:800 10px Quicksand;letter-spacing:1px;padding:2px 8px;border-radius:6px;background:#ece8f3;color:#5d5170}.mvsb.confirmed{background:#c9b6ff;color:#2a1844}.mvsb.filming{background:#ffd77a;color:#3a2350}.mvsb.ready{background:#c8ead6;color:#2f7a52}.mvsb.published{background:#ff8fb7;color:#fff}
.mvcardb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;padding:6px 8px;border-radius:12px;background:#f7f3fb;border:1px dashed #d9cce8}.mvcardb.on{background:linear-gradient(90deg,#fff1f6,#fff);border-style:solid;border-color:#f2b9cf}
.mvlib{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.mvli{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;font:inherit;color:inherit}.mvli svg{width:100%;height:auto;border-radius:10px}.mvli small{font-size:11px;color:var(--mut)}
.mvth{display:block;border-radius:10px;background:#000}.mvdet{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.mvdet>div{flex:1 1 260px}.mvdet svg.mvth{max-width:100%;height:auto}.mvrelb .row{flex-wrap:nowrap}.mvtag{color:#c4508a!important;font-weight:700}
@media(max-width:700px){.mvgrid,.mvgrid.loc{grid-template-columns:1fr 1fr}.mvcard>small{display:none}.mvcard b{font-size:12px}.mvstg{grid-template-columns:1fr 1fr}.mvhero>div:first-child{width:100%}}
/* theater: Stage Units */
.thucs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:6px 0}.thuc{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:8px 10px;border-radius:14px;border:2px solid #d9cce8;background:linear-gradient(180deg,#f7f2ff,#fff);font:inherit;color:inherit;cursor:pointer}.thuc small{font-size:11px;color:var(--mut)}.thuc.on{border-color:#9d86da;box-shadow:0 0 0 3px rgba(157,134,218,.25)}.thuc.add{border-style:dashed;background:#fff;justify-content:center}
.thue{padding:8px;border-radius:12px;background:#faf6ff;border:1px solid #eadff6}.thud{flex:1 1 220px}.thud input{width:100%}.gepm small{font-size:9px;color:#7a6ad8;text-align:center}
.thptb{display:inline-block;font:800 9px Quicksand;letter-spacing:1px;padding:1px 6px;border-radius:5px;margin-right:4px;background:#ffe0ec;color:#b8406e}.thptb.unit{background:#e3dcff;color:#4b3aa0}
.thpt{font-size:12px;padding:3px 6px;border-radius:8px;max-width:170px}.thpt.unit{background:#efeaff;border-color:#c9b6ff}.thptr{border-bottom:1px dashed var(--line);padding:4px 0}
span.thck{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
/* theater: Encore */
.thencs{margin-top:12px;padding:10px;border-radius:14px;border:2px dashed #d9cce8;background:#fbf9ff}.thencs.on{border-style:solid;border-color:#e9b949;background:linear-gradient(180deg,#fff8e6,#fff)}.thencs h3{margin:0 8px 0 0}
.thtl li.thsg.enc .thnum{background:linear-gradient(180deg,#f2b84b,#d9822b)}.thtl li.thench{justify-content:center;background:linear-gradient(90deg,#fff1cf,#ffe0ec);border:0;font:800 13px Quicksand;letter-spacing:4px;color:#9a5a12}
.thsl li.thslm.enc{color:#d9822b}.thsl li.thsle b{color:#9a5a12}.thptr.enc b{color:#d9822b}
/* theater: multi-row formation, stage costume */
.throw{display:grid;justify-content:center;gap:4px;margin:2px 0 8px}.throw .thpos{width:100%;min-width:0;padding:4px 2px}.throw .thpos svg{width:100%;max-width:50px;height:auto}.throw .thpos b,.throw .thpos small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.throwl{display:flex;justify-content:center;align-items:center;gap:4px;font-size:10px;color:#f3d7ff}.throwl .b{padding:0 8px;min-height:20px;font-size:11px;background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3)}.thrl{font-weight:800;letter-spacing:1px}
.thscz .row{flex-wrap:nowrap;align-items:flex-start}.thscz select{max-width:100%}
@media(max-width:700px){.throw .thpos b{font-size:9px}.throw .thpos small{font-size:8px}}
/* GE ceremony costume */
.gecosp{flex-wrap:nowrap;align-items:center}.gecosp .gefig{flex:0 0 auto}.gecosg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:6px}.gecos{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;border:2px solid #eadff6;background:#fff}.gecos.on{border-color:#e9a43a;background:#fff8e8}.gecos select{max-width:100%}
.czcolt{flex-wrap:wrap;gap:6px;margin:6px 0}.czmc{display:inline-flex;align-items:center;gap:4px}.czmc input{width:34px;height:28px;padding:0;border:0;background:none}
/* General Election — fan-behaviour voting */
.gek2{color:#c4457f;font-weight:800}
.getli{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}
.getli>div{border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:#fffdf8;display:flex;flex-direction:column;gap:1px}
.getli>div.ok{opacity:.65;background:#f4f9f5}.getli>div.on{border-color:#d9a441;box-shadow:0 0 0 2px #ffe9b8}
.getli b{font-size:12.5px}.getli span{font-size:12px;font-weight:700;color:#5a2a6e}.getli small{font-size:11px;color:var(--mut)}
.gesr{display:grid;grid-template-columns:46px 32px minmax(80px,1fr) minmax(130px,1.4fr) minmax(120px,1.1fr) 76px 92px;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px dashed var(--line);font-size:12.5px}
.gesr b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gesh{font-size:11px;font-weight:800;color:var(--mut);border-bottom:1px solid var(--line)}
.gesfan{position:relative;height:22px;border-radius:8px;background:#fdeef4;overflow:hidden;display:flex;align-items:center}
.gesfan i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#f7bcd2,#ef8fb5);opacity:.55}
.gesfan em{position:relative;font-style:normal;padding:0 6px;font-size:11.5px;white-space:nowrap}
.gesbuy{font-size:11.5px;color:var(--ink)}
.gelvl{font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;text-align:center}
.gelvl.lo{background:#eee;color:#777}.gelvl.nm{background:#e2f2fc;color:#2d6f99}.gelvl.hi{background:#eee7fb;color:#6a55d6}.gelvl.vh{background:#ffe1ea;color:#c4457f}
.gemot{font-size:11.5px;font-weight:700}
.gepv.hid{color:#b9a9c9;letter-spacing:2px}
.geprel.hid{border-color:#a993e0;background:linear-gradient(180deg,#f8f5ff,#fff)}
.gehidn{color:#6a55d6;font-weight:700}
.gegap{font-size:11px;min-width:84px}
.gefx{font-size:11px;font-weight:700;white-space:nowrap}
.gecool{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:2px dashed #a993e0;margin-bottom:10px}
.gecool>div{display:flex;flex-direction:column;gap:2px;flex:1 1 240px}.gecool.ok{border-color:#3c9a6c}
@media (max-width:720px){.gesr{grid-template-columns:40px 28px minmax(0,1fr) 70px;row-gap:3px}.gesr .gesfan{grid-column:1/-1}.gesr .gesbuy{grid-column:1/3}.gesh{display:none}.gegap{display:none}}
.geprel .gepr .gepv{min-width:64px;text-align:right}.geprel .gegap{width:112px}.geprel .gefx{width:120px;text-align:right}
@media (max-width:720px){.geprel .gefx{width:auto;min-width:0}}
/* Theater — lineup, Stage costumes, debut photos */
.thlu .thlun{font-size:15px;color:#5a2a6e}
.thlul{display:grid;gap:4px;max-height:60vh;overflow:auto;margin:8px 0}.thlur{gap:8px;flex-wrap:wrap}.thlur b{min-width:120px}
.thczs{border-top:1px dashed var(--line);padding:8px 0}.thczs:first-of-type{border-top:0}
.thczpv{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.thczpf{background:linear-gradient(#fde3ec,#eee7fb);border-radius:16px;padding:8px}
.thpics{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:8px 0}
.thpic{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#2a1638;cursor:pointer}.thpic svg{display:block;width:100%;height:auto}
.thpic figcaption{background:var(--card);padding:6px 10px;font-size:12.5px}
.thpicbig svg{width:100%;height:auto;border-radius:14px}
.thunq{flex-wrap:wrap;gap:6px}
/* Member profile button & shared sort bar (game-wide) */
.mpi{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid #d9c2e8;color:#6a55d6;font:700 12px/18px Quicksand,sans-serif;text-align:center;cursor:pointer;box-shadow:0 1px 3px rgba(90,42,110,.25);z-index:3}
.mpi:hover{background:#6a55d6;color:#fff}
.mod.pov{z-index:1200}
.mlbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;padding:6px 8px;border:1px dashed var(--line);border-radius:12px;background:rgba(255,253,248,.85);font-size:12.5px}
.mlbar select{min-height:30px;padding:3px 8px;font-size:12.5px}.mlbar label{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.mlhide{display:none!important}
/* Theater: Revival, copy, picker, formation panel */
.threvt{background:linear-gradient(90deg,#ffe1ea,#eee7fb);color:#8a2f6e;font-weight:800;letter-spacing:1px}
.threvb{gap:8px;flex-wrap:wrap;margin:4px 0}
.thcpsrc{gap:12px;align-items:center;flex-wrap:nowrap}.thcpcur{display:flex;flex-direction:column;align-items:center;margin-left:auto}.thcpcur small{font-size:10px;color:var(--mut)}
.czpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:58vh;overflow:auto;margin-top:8px}
.czpki{border:1px solid var(--line);border-radius:14px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:3px;background:#fffdf8;text-align:center}.czpki small{font-size:11px;color:var(--mut)}.czpki .row{justify-content:center;gap:4px}
.thczed{margin:6px 2px}
.thfml{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:6px}
.thfm{display:flex;gap:8px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;padding:6px 8px;background:#fffdf8;cursor:pointer;font:inherit;color:var(--ink)}
.thfm.on{border-color:#e9758f;box-shadow:0 0 0 2px #ffd0dc}.thfm small{display:block;font-size:11px;color:var(--mut)}
.thfs{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.thfs i{font-style:normal;font-size:11px;background:#f4eefc;border-radius:8px;padding:1px 6px}
:where(.mph){position:relative}
/* Sister groups & company */
.gssw{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 8px;padding:6px 10px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.gssw select{min-height:32px;font-weight:700}
.gslogo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:30%;background:radial-gradient(circle at 30% 25%,#fff8,transparent 60%),var(--gc);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18),inset 0 0 0 2px #fff6;vertical-align:middle;line-height:1;flex:none}
.gslogo i{font-style:normal;font-size:1.2em}.gslogo b{font-size:.75em;letter-spacing:.5px}
.gscards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin:10px 0}
.gscard{border-top:6px solid var(--gc)}.gscard.on{box-shadow:0 0 0 3px var(--gc),var(--sh)}.gscard .row{gap:10px;align-items:center}
.gsnm{font-size:18px;color:#5a2a6e}.gsmain{background:#ffe1ea;color:#a3305f;font-weight:800}.gssis{background:#e2f2fc;color:#2d6f99;font-weight:800}.gsact{background:#d8f3e3;color:#2f8f62;font-weight:800}
.gsrows{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:6px 0}.gsrows small{display:block;font-size:11px;color:var(--mut)}.gsrows b{font-size:12.5px;word-break:break-word}
.gsform{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:8px 0}.gsform label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--mut)}.gsform .gswide{grid-column:1/-1}.gsform textarea{min-height:60px}
.gsros{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.gsrm{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--gc);border-radius:12px;padding:6px;background:#fffdf8}.gsrm small{display:block;font-size:11px;color:var(--mut)}
.gskn{background:#eee7fb;color:#6a55d6;font-weight:800}.gstrt{background:#fff1d6;color:#a06a00;font-weight:800}
.gskv{border-collapse:collapse;width:100%;font-size:12.5px}.gskv th{text-align:left;color:var(--mut);font-weight:700;padding:3px 8px 3px 0;white-space:nowrap}.gskv td{padding:3px 0}.gsfint td,.gsfint th,.gspart td,.gspart th{padding:4px 6px;border-bottom:1px dashed var(--line)}
.gssum{border:1px dashed var(--line);border-radius:14px;padding:10px;margin:8px 0;gap:12px;align-items:flex-start}
.gswarn{border:2px solid #e9a3b5;background:#fff3f6;border-radius:14px;padding:10px;margin:8px 0}.gsok{color:#2f8f62}.gsbad{color:#c4513a}
.gscfl{display:grid;gap:6px;margin:8px 0}.gscf{display:flex;gap:8px;align-items:center;border:1px solid #f0c2cf;background:#fff6f8;border-radius:12px;padding:6px 8px;flex-wrap:wrap}.gscf small{display:block;font-size:11.5px;color:var(--mut)}
.gsdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:3px;vertical-align:middle}
.gstl{border-left:3px solid var(--pk3);padding-left:10px;display:grid;gap:4px;margin:4px 0 8px}.gstl b{color:#5a2a6e;margin-right:6px}
.gsknr{gap:8px;flex-wrap:wrap;border-bottom:1px dashed var(--line);padding:4px 0}
.gstx{max-height:60vh;overflow:auto}.gstxr{display:grid;grid-template-columns:70px 90px minmax(90px,1fr) 130px minmax(120px,2fr) 110px;gap:6px;align-items:center;font-size:12px;border-bottom:1px dashed var(--line);padding:3px 0}.gstxd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gscl{display:grid;gap:4px}.gsce{display:flex;gap:8px;align-items:center;border-left:5px solid var(--gc);background:#fffdf8;border-radius:10px;padding:5px 8px;flex-wrap:wrap;font-size:12.5px}.gsce.done{opacity:.55}.gsce.clash{background:#fff0f3;border-left-color:#d9577f}
.gstabs{flex-wrap:wrap;gap:4px}
@media (max-width:720px){.gstxr{grid-template-columns:1fr 1fr;}.gstxr .gstxd{grid-column:1/-1;white-space:normal}.gscards{grid-template-columns:1fr}}
.gsempty{display:flex;gap:12px;align-items:flex-start;border:2px dashed #e9a3b5;background:#fff6f8;margin-bottom:10px}.gsempty .row{gap:6px;flex-wrap:wrap}
.gsaudg{gap:10px;align-items:center;margin-bottom:8px}
svg.mpf{cursor:zoom-in}svg.mpf:hover{filter:brightness(1.05) drop-shadow(0 0 3px #f7bcd2)}
/* Handshake individual statistics */
.hsx{margin:10px 0}.hsxks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:6px 0}.hsxk{padding:6px 8px}.hsxk small{display:block;font-size:11px;color:var(--mut);font-weight:700}.hsxk b{display:block;font-size:17px;color:#5a2a6e;word-break:break-word}
.hsxt{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffdf8}
.hsxr{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px;gap:6px;align-items:center;padding:5px 8px;border-bottom:1px dashed var(--line)}.hsxr.top{background:#fff6e0}
.hsxh{background:#f6eefc;font-size:12px;font-weight:800}.hsxs{border:0;background:none;font:inherit;color:#5a2a6e;cursor:pointer;text-align:left;padding:4px 0}.hsxh .hsxs:not(:first-child){text-align:right}
.hsxm{display:flex;align-items:center;gap:8px;min-width:0}.hsxm>span{display:flex;flex-direction:column;min-width:0}.hsxn{font-weight:800;color:var(--ink);cursor:pointer;text-decoration:underline dotted}.hsxv{text-align:right;font-variant-numeric:tabular-nums;color:#5a2a6e}
.hsxb{background:#ffe9b8;color:#8a5a00;font-weight:800;font-size:10.5px;align-self:flex-start;margin-top:2px}.hsxb.u{background:#e2f2fc;color:#2d6f99}
@media (max-width:560px){.hsxr{grid-template-columns:minmax(0,1fr) 72px 72px;font-size:12px}.hsxh{font-size:11px}}
.hsxfs{display:flex;flex:none}.hsxfs>svg{margin-right:-8px}.hsxfs i{font-style:normal;font-size:11px;color:var(--mut);margin-left:10px;align-self:center}
.hsxm>.hsxfs{flex-direction:row;align-items:center}
/* Theater: song management, Center picker */
.thaddrow{gap:10px;align-items:center;margin:4px 0 8px;flex-wrap:wrap}
.thcpk{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;max-height:60vh;overflow:auto;margin-top:6px}
.thcpc{display:flex;gap:8px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;padding:6px 8px;background:#fffdf8;cursor:pointer;font:inherit;color:var(--ink)}
.thcpc.on{border-color:#e9b84a;box-shadow:0 0 0 2px #ffe9b8;background:#fff8e6}.thcpc:disabled{opacity:.55;cursor:not-allowed}.thcpc small{display:block;font-size:11px;color:var(--mut)}
.thcur{background:#ffe9b8;color:#8a5a00;font-weight:800}.thcbtn{min-width:120px}
/* Theater: Stage details, MC participants */
.thcfg h3{margin:0}.thcfg .gskv td .thmi{vertical-align:middle}.thcfgw{margin-top:8px}.thcfgw select{max-width:100%}
.thmcp .thmcr{padding:8px 0;border-top:1px dashed var(--line,#e6d9ef)}.thmcp .thmcr:first-of-type{border-top:0}.thmcp .row{flex-wrap:wrap;gap:6px}
.thcsv{display:inline-flex;align-items:center;gap:6px}.thmct{margin-right:4px}.thmc.enc{border-left:3px solid var(--accent,#e58fbf)}
.thsl3{list-style:none;padding-left:0}.thsl3 li.thslm{margin-left:0}
.thsls{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.thsln{font:800 11px Quicksand;color:#8f80a6;min-width:28px}.thsls .thptb{font-size:9px}.thsls .thmcm{display:inline-flex;flex-wrap:wrap;gap:2px}
/* Center picker: only the value the list is sorted by */
.thcpk .thfv{display:none}
.thcpk[data-mlsort="fans"] .thfv[data-k="fans"]{display:inline-block}
.thcpk[data-mlsort="buzz"] .thfv[data-k="buzz"]{display:inline-block}
.thcpk[data-mlsort="pop"] .thfv[data-k="pop"]{display:inline-block}
.thcpk[data-mlsort="sing"] .thfv[data-k="sing"]{display:inline-block}
.thcpk[data-mlsort="dance"] .thfv[data-k="dance"]{display:inline-block}
.thcpk[data-mlsort="cha"] .thfv[data-k="cha"]{display:inline-block}
.thcpk[data-mlsort="variety"] .thfv[data-k="variety"]{display:inline-block}
.thcpk[data-mlsort="aff.cute"] .thfv[data-k="aff.cute"]{display:inline-block}
.thcpk[data-mlsort="aff.mature"] .thfv[data-k="aff.mature"]{display:inline-block}
.thcpk[data-mlsort="aff.cool"] .thfv[data-k="aff.cool"]{display:inline-block}
.thcpk[data-mlsort="aff.pretty"] .thfv[data-k="aff.pretty"]{display:inline-block}
.thcpk[data-mlsort="aff.dark"] .thfv[data-k="aff.dark"]{display:inline-block}
.thcpk[data-mlsort="aff.energetic"] .thfv[data-k="aff.energetic"]{display:inline-block}
.thcpk[data-mlsort="pot"] .thfv[data-k="pot"]{display:inline-block}
.thcpk[data-mlsort="en"] .thfv[data-k="en"]{display:inline-block}
.thcpk[data-mlsort="loy"] .thfv[data-k="loy"]{display:inline-block}
.thcpk[data-mlsort="pas"] .thfv[data-k="pas"]{display:inline-block}
.thcpk[data-mlsort="mor"] .thfv[data-k="mor"]{display:inline-block}
.thcpk[data-mlsort="trend"] .thfv[data-k="trend"]{display:inline-block}
.thmft{border-collapse:collapse;font-size:12px;min-width:100%}.thmft th,.thmft td{padding:4px 6px;border-bottom:1px solid #eee3f5;text-align:center;white-space:nowrap}.thmft th small{display:block;font-weight:600;color:#8f80a6;font-size:10px}.thmft td.thmxn{text-align:left}
/* Theater: member fan report (random acquisition) */
.thmfl{display:grid;gap:6px}.thmfm{border:1px solid #eee3f5;border-radius:12px;background:#fff;padding:4px 8px}.thmfm summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.thmfm summary::-webkit-details-marker{display:none}
.thmfn{flex:1;min-width:0;display:flex;flex-direction:column}.thmfs{display:flex;flex-wrap:wrap;gap:3px}.thmfc{font-size:10px;background:#f4eefc;border-radius:8px;padding:0 6px;color:#6b5a86}.thmfc.bt{background:#fff1c9;color:#9a6a00}
.thmft2{display:flex;flex-direction:column;align-items:flex-end}.thmft2 b{font-size:16px}.thmft-zero{background:#eee9f1;color:#8f80a6}.thmft-hi{background:#d7f2e3;color:#2f7a52}.thmft-bt{background:#ffe7a3;color:#8a5a00}
.thmfm.bt{border-color:#f3c35c;box-shadow:0 0 0 2px #fff1c9}.thmfm.zero{opacity:.8}.thmfd{margin:4px 0 2px;font-size:12px}.thmfd li{display:flex;gap:6px;align-items:baseline}.thmfd li b{margin-left:auto}
/* Stage lineup cards: like the Single Senbatsu cards */
.thlug .thluc{cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center}.thlug .thluc.on{outline:3px solid var(--pk);outline-offset:1px}.thlug .thluc:not(.on){opacity:.78}
.thluon{background:#d7f2e3;color:#2f7a52}.thluoff{background:#eee9f1;color:#8f80a6}
/* Theater: substitutes, performance photos, member statistics */
.thsubm{gap:6px;flex-wrap:wrap;margin:6px 0}.thsubm .b.on{background:var(--grad);color:#fff;border:0}
.thsubp .thsubs{margin:6px 0;padding:6px;border-radius:10px;background:#faf6ff}.thsubr{display:flex;justify-content:center;flex-wrap:wrap;gap:3px;margin:2px 0}
.thsubf{position:relative;display:inline-block;border-radius:50%}.thsubf.sub{box-shadow:0 0 0 2px #f3c35c}.thsubf i{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font:800 8px Quicksand;background:#f3c35c;color:#5a3d00;border-radius:6px;padding:0 3px;font-style:normal}.thsubf i.c{bottom:auto;top:-4px;background:var(--pk,#e58fbf);color:#fff}
.thsubl{display:grid;gap:6px}.thsubi{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eee3f5;border-radius:12px;padding:6px 10px}.thsubi span{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.thsubi small{font-size:10px;color:#8f80a6}.thsubi i{font-style:normal;font-weight:800;color:#b7791f}
.thpicm{flex-wrap:wrap;gap:4px}.thmps .gskv th{font-weight:600}

/* Music Charts — music-industry visuals (vinyl, equalizer, notes, spotlights) */
.indpage{position:relative;border-radius:18px;padding:14px;color:#fff;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27420%27%20height%3D%27260%27%20viewBox%3D%270%200%20420%20260%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-opacity%3D%27.16%27%3E%3Ccircle%20cx%3D%27340%27%20cy%3D%2770%27%20r%3D%2758%27%20stroke-width%3D%2710%27/%3E%3Ccircle%20cx%3D%27340%27%20cy%3D%2770%27%20r%3D%2738%27%20stroke-width%3D%272%27/%3E%3Ccircle%20cx%3D%27340%27%20cy%3D%2770%27%20r%3D%2726%27%20stroke-width%3D%272%27/%3E%3Ccircle%20cx%3D%27340%27%20cy%3D%2770%27%20r%3D%276%27%20fill%3D%27%23ffffff%27%20fill-opacity%3D%27.2%27/%3E%3C/g%3E%3Cg%20fill%3D%27%23ffffff%27%20fill-opacity%3D%27.12%27%3E%3Crect%20x%3D%2720%27%20y%3D%27170%27%20width%3D%2712%27%20height%3D%2770%27%20rx%3D%273%27/%3E%3Crect%20x%3D%2740%27%20y%3D%27140%27%20width%3D%2712%27%20height%3D%27100%27%20rx%3D%273%27/%3E%3Crect%20x%3D%2760%27%20y%3D%27190%27%20width%3D%2712%27%20height%3D%2750%27%20rx%3D%273%27/%3E%3Crect%20x%3D%2780%27%20y%3D%27120%27%20width%3D%2712%27%20height%3D%27120%27%20rx%3D%273%27/%3E%3Crect%20x%3D%27100%27%20y%3D%27160%27%20width%3D%2712%27%20height%3D%2780%27%20rx%3D%273%27/%3E%3Crect%20x%3D%27120%27%20y%3D%27200%27%20width%3D%2712%27%20height%3D%2740%27%20rx%3D%273%27/%3E%3C/g%3E%3Cg%20fill%3D%27%23ffffff%27%20fill-opacity%3D%27.14%27%20font-family%3D%27serif%27%20font-size%3D%2734%27%3E%3Ctext%20x%3D%27190%27%20y%3D%2760%27%3E%E2%99%AA%3C/text%3E%3Ctext%20x%3D%27240%27%20y%3D%27200%27%3E%E2%99%AB%3C/text%3E%3Ctext%20x%3D%27160%27%20y%3D%27150%27%3E%E2%99%AC%3C/text%3E%3C/g%3E%3Cpath%20d%3D%27M0%20250%20Q105%20215%20210%20250%20T420%20250%27%20stroke%3D%27%23ffffff%27%20stroke-opacity%3D%27.12%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%3C/svg%3E") right top/420px 260px repeat,radial-gradient(ellipse at 15% 0%,rgba(255,170,220,.45),transparent 55%),radial-gradient(ellipse at 85% 10%,rgba(140,170,255,.4),transparent 50%),conic-gradient(from 200deg at 50% -20%,#1d1040,#3b1a5e 25%,#22124a 50%,#3a1b55 75%,#1d1040);box-shadow:0 10px 30px rgba(40,10,70,.25);overflow:hidden}
.indpage::before{content:'';position:absolute;inset:-40% -10% auto;height:120%;background:repeating-conic-gradient(from 0deg at 50% 0%,rgba(255,255,255,.07) 0 6deg,transparent 6deg 18deg);pointer-events:none}
.indpage>*{position:relative}.indpage .ht{color:#fff;text-shadow:0 2px 10px rgba(255,120,200,.6)}.indpage .st{color:rgba(255,255,255,.78)}
.indtabs,.indsub,.indwk{gap:6px;flex-wrap:wrap;margin:6px 0}.indpage .b.s{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25)}.indpage .b.s.on{background:linear-gradient(135deg,#ff8ac6,#9b7bff);border:0}.indpage select{background:rgba(255,255,255,.9)}
.indjp{margin-left:auto}.indwk b{font-size:15px}
.indbd{display:grid;gap:6px;background:rgba(255,255,255,.95);color:#3c2d55;border-radius:14px;padding:10px}.indbd .st{color:#8f80a6}.indbd h3{margin:2px 0 6px}
.indr{display:grid;grid-template-columns:30px 54px 44px 1fr auto auto;align-items:center;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid #efe6f7;border-radius:12px;padding:6px 8px;cursor:pointer;font:inherit;color:inherit}
.indr:hover{border-color:#e58fbf}.indr.pl{background:linear-gradient(90deg,#fff3fa,#fff);border-color:#f3a6cf;box-shadow:inset 3px 0 0 #e86aa8}
.indrk{font:900 20px Quicksand;color:#6b5a86;text-align:center}.indr.t1 .indrk{color:#d4a017}.indr.t2 .indrk{color:#9aa3b5}.indr.t3 .indrk{color:#c27b45}
.indmv{font:800 11px Quicksand;text-align:center;display:flex;flex-direction:column}.indmv small{font-weight:600;color:#a99bbd;font-size:9px}.indmv.up{color:#2f8f62}.indmv.down{color:#c4513a}.indmv.same{color:#8f80a6}.indmv.new{color:#fff;background:#e86aa8;border-radius:8px;padding:1px 4px}.indmv.re{color:#fff;background:#7a6ad8;border-radius:8px;padding:1px 2px;font-size:9px}
.indt{min-width:0;display:flex;flex-direction:column}.indt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.indt small{color:#8f80a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.indv,.indpk{display:flex;flex-direction:column;align-items:flex-end;font-size:12px}.indv small,.indpk small{color:#a99bbd;font-size:10px}.indlk{font-style:normal;font-size:9px;background:#2a1a4a;color:#ffd36b;border-radius:6px;padding:0 4px}
.indcv{border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.2)}.indsp{width:100%;max-width:420px;height:70px;background:#faf6ff;border-radius:10px}
.indac{margin:0}.indac.res{opacity:.85;border-style:dashed}.indst{font-size:10px}.indst.rising{background:#d7f2e3;color:#2f7a52}.indst.established{background:#e5defc;color:#5a46b8}.indst.declining{background:#fde3d8;color:#a5502d}.indst.hiatus{background:#eee9f1;color:#8f80a6}.indst.disbanded{background:#ddd;color:#555}.indst.debut{background:#ffe7f3;color:#c24d88}
@media (max-width:560px){.indr{grid-template-columns:24px 40px 40px 1fr auto;gap:5px}.indpk{display:none}.indjp{margin-left:0}}
/* song creation & senbatsu evaluation */
.serand,.selyr{gap:6px;flex-wrap:wrap}.semini{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;background:#faf6ff;border-radius:10px;padding:4px 8px}
.seshb{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}.seshart svg{border-radius:18px;box-shadow:0 8px 22px rgba(80,40,120,.25)}.seshi{flex:1;min-width:200px}
.sepanel .se2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.sebox{background:#fff;border:1px solid #efe6f7;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:4px}.sebox small{font:800 11px Quicksand;letter-spacing:.08em;color:#8f80a6}.sebox>b{font:900 30px Quicksand;color:#3c2d55}
.sebar{display:block;height:8px;background:#f1eaf8;border-radius:6px;overflow:hidden;min-width:60px}.sebar i{display:block;height:100%;background:#e58fbf;border-radius:6px}
.seab{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:12px}.sedist{display:flex;gap:6px;font-size:11px}.sedist span{border-radius:8px;padding:0 6px}.sedist .h{background:#d7f2e3}.sedist .m{background:#fff1c9}.sedist .l{background:#fde3d8}
.semems{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;margin-top:6px}.semem{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;background:#fff;border:1px solid #f1eaf8;border-radius:10px;padding:3px 6px;font-size:12px}.semem small{grid-column:2/4}
/* General Election · preliminary results: rank · face · name (group · team) · votes · change */
.geprel .gepr2{display:grid;grid-template-columns:44px 38px minmax(0,1fr) auto 40px;gap:8px;align-items:center;padding:6px 4px}
.geprel .gepr2 .geprk{width:auto;font-size:15px}.geprel .gepr2 .geprn{min-width:0;display:flex;flex-direction:column}.geprel .gepr2 .geprn b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geprel .gepr2 .geprn small{font-size:11px;color:#8f80a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geprel .gepr2 .gepv{min-width:0;text-align:right;font-weight:800;color:#5a2a6e}.geprel .gechg{min-width:0;font-size:12px}.geprel .gechg.up{color:#2f8f62}.geprel .gechg.dn{color:#c4513a}.geprel .gechg.new{color:#b7791f}
.geprel .gepgh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
@media (max-width:560px){.geprel .gepr2{grid-template-columns:34px 32px minmax(0,1fr) auto 34px;gap:6px}.geprel .gepr2 .geprk{font-size:13px}.geprel .gepr2 .geprn b{font-size:14px}}
/* ---- game-style picker for every dropdown (replaces the browser list) ---- */
.gpov{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(40,16,64,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .16s}
.gpov.in{opacity:1}
.gpbox{width:min(440px,calc(100vw - 32px));max-height:min(76vh,620px);display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 12% 0%,#ffe3f1 0,transparent 42%),radial-gradient(circle at 100% 10%,#e6e0ff 0,transparent 40%),#fffaf6;border:3px solid #fff;box-shadow:0 0 0 2px #f3c6dd,0 18px 50px rgba(70,20,90,.35);transform:translateY(18px) scale(.97);transition:transform .2s cubic-bezier(.2,1.3,.5,1)}
.gpov.in .gpbox{transform:none}
.gphd{position:relative;padding:14px 48px 10px;text-align:center;background:linear-gradient(135deg,#ff8fc4,#b48cff);color:#fff;box-shadow:inset 0 -3px 0 rgba(255,255,255,.35)}
.gphd b{display:block;font:800 17px Quicksand,sans-serif;letter-spacing:.02em;text-shadow:0 2px 0 rgba(140,40,110,.35)}
.gporn{display:block;font-size:11px;letter-spacing:2px;opacity:.85;margin-bottom:2px}
.gpx{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(255,255,255,.2);color:#fff;font:800 14px Quicksand;cursor:pointer}
.gpsr{padding:10px 12px 0}.gpsr input{width:100%;box-sizing:border-box;border-radius:14px;border:2px solid #f0dcea;padding:8px 12px;font:600 14px Quicksand;background:#fff}
.gpl{overflow:auto;padding:10px 12px 14px;display:grid;gap:7px;-webkit-overflow-scrolling:touch}
.gph{font:800 11px Quicksand;letter-spacing:.12em;color:#b07aa0;text-transform:uppercase;margin:6px 4px 0}
.gpo{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:11px 14px;border-radius:16px;border:2px solid #f3e6f0;background:linear-gradient(180deg,#fff,#fdf6fb);color:#4a3560;font:700 15px Quicksand,sans-serif;cursor:pointer;box-shadow:0 2px 0 #eedbe8;transition:transform .08s,box-shadow .08s}
.gpo:active{transform:translateY(2px);box-shadow:0 0 0 #eedbe8}
.gpo:hover{border-color:#f5b6d6}
.gpo.on{background:linear-gradient(135deg,#ff9ccc,#b993ff);color:#fff;border-color:#fff;box-shadow:0 3px 0 #c77bb0,0 6px 16px rgba(190,90,170,.3)}
.gpo.on i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#d35a9c;font-weight:900}
.gpo[disabled]{opacity:.45;cursor:default}
@media (max-width:560px){.gpov{align-items:flex-end}.gpbox{width:100%;max-height:78vh;border-radius:26px 26px 0 0;border-bottom:0}.gpov .gpbox{transform:translateY(40px)}.gpov.in .gpbox{transform:none}}
/* dropdowns look like game buttons */
select:not([multiple]):not([size]){cursor:pointer}
.plczm{position:relative}.plczp{position:absolute;top:-6px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 9px Quicksand;font-style:normal;background:#efe6fa;color:#6b5a86;border-radius:8px;padding:1px 6px;z-index:1}.plczp.c{background:linear-gradient(135deg,#ff9ccc,#b993ff);color:#fff}
.plczs{padding-top:8px}
.thlug{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))!important;gap:8px}.thlug .thluc{min-width:0}.thlug .thluc svg{max-width:100%;height:auto}.thlug .thluc .st{font-size:11px;line-height:1.35;overflow:hidden;width:100%}.thlug .thluc .st b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thlug[style*="--cols:5"] .thluc .st{font-size:9.5px}.thlug[style*="--cols:4"] .thluc .st{font-size:10.5px}
.thlucols{gap:6px}.thlucols .b.on{background:var(--grad);color:#fff;border:0}
.thlug .thluc .tag{max-width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thlug[style*="--cols:4"] .thluc .tag{font-size:9px;padding:1px 5px}.thlug[style*="--cols:5"] .thluc .tag{font-size:8px;padding:1px 3px;letter-spacing:-.02em}
.thlug[style*="--cols:5"] .thluc{padding:3px!important}
/* member profile: Stage statistics as a wrapping list (no sideways scroll on phones) */
.thmpl{display:grid;gap:6px;margin-top:6px}.thmpr{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efe6f7;border-radius:12px;padding:6px 10px;min-width:0}.thmpr span{flex:1;min-width:0;display:flex;flex-direction:column}.thmpr span small{color:#8f80a6;font-size:11px}.thmpr span b{overflow-wrap:anywhere;font-size:13px}.thmpr em{font-style:normal;font:900 18px Quicksand;color:#5a2a6e}
.thmps .gekg{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.pov .c{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
/* Roadshow Tour Planner & Performance Efficiency */
.rtpentry{background:linear-gradient(135deg,#fff3fa,#f3eeff)}
.rtpl{margin:8px 0}.rtplh{gap:6px;flex-wrap:wrap}.rtpn{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font:800 13px Quicksand}
.rtpm{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.rtpchip{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:4px;border-radius:12px;border:2px solid #efe6f7;background:#fff;cursor:pointer;font:600 11px Quicksand;color:#4a3560}
.rtpchip span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtpchip i{position:absolute;top:-6px;right:-4px;font-style:normal;background:#f3c35c;color:#5a3d00;border-radius:8px;padding:0 4px;font-size:10px}
.rtpchip.rep{border-color:#f3c35c}.rtpchip.bad{border-color:#e46a7a;background:#fff2f4}.rtpchip.empty{border-style:dashed;color:#b8a7cf;font-size:20px;justify-content:center;min-height:56px}
.rtpo{gap:6px;flex-wrap:wrap;margin:6px 0}.rtpo .b.on{background:var(--grad);color:#fff;border:0}.rtpr{gap:6px;flex-wrap:wrap}.rtpest{margin-top:4px}
.rtpg .rtpc{cursor:pointer;padding:4px}.rtpg .rtpc.on{outline:3px solid var(--pk);outline-offset:1px}
.rspe h3{margin:0 0 6px}.rspeg{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.rspek{margin:0;display:flex;flex-direction:column;gap:2px}.rspek small{font:800 11px Quicksand;color:#8f80a6}.rspek b{font:900 26px Quicksand;color:#3c2d55}.rspek b i{font-style:normal;font-size:13px;color:#a99bbd}
.rspem{display:grid;gap:4px;margin-top:6px}.rspemr{display:grid;grid-template-columns:30px 1fr auto;gap:6px;align-items:center;background:#fff;border:1px solid #f1eaf8;border-radius:10px;padding:3px 6px}.rspemr span{display:flex;flex-direction:column;min-width:0}.rspemr small{font-size:11px;color:#8f80a6}.rspemr em{font-style:normal;font:900 16px Quicksand;color:#5a2a6e}
/* song Senbatsu list (Results / Discography / Song Library) */
.slrel{text-align:left;margin-top:8px}.slsong{margin:6px 0;padding:8px 10px}.slsong h3{font-size:14px;margin:0 0 4px}
.slbox{margin:2px 0 6px}.slg{font-weight:800;color:var(--pk);margin:6px 0 2px;font-size:13px}
.sll{margin:2px 0;padding-left:18px}.sll li{margin:2px 0;line-height:1.5;font-size:13px}.sll li::marker{color:var(--tc)}.sll li>b{color:var(--tc);filter:brightness(.8)}
.sln.slcen{font-weight:800;color:var(--pk)}.slft{font-style:normal;font-size:10px;font-weight:700;background:#d5f5e3;color:#1d7a4a;border-radius:6px;padding:0 4px;margin-left:2px;white-space:nowrap}
.slfts{margin-top:4px;font-size:12.5px}.slfts b{margin-right:4px}
.slpos summary{cursor:pointer;font-weight:700;font-size:12.5px;color:var(--mut);margin:4px 0}
/* ceremony costume by team / group */
.gecby .gecrow{display:flex;flex-direction:column;gap:3px;margin:6px 0;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.6)}
.gecby .gecrow b{font-size:13px}.gecby .gecrow .row{flex-wrap:nowrap;gap:6px}.gecby .gecrow select{flex:1;min-width:0}
/* ceremony costume picker */
.gecpg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.gecpc{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:12px;border:2px solid #eadff7;background:#fff;cursor:pointer;min-width:0;font:inherit;color:inherit}
.gecpc svg{width:auto!important;height:118px!important;max-width:100%}.gecpc b{font-size:11.5px;line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.gecpc small{font-size:10px;color:var(--mut);text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.gecpc.on{border-color:var(--pk);background:#fff0f7;box-shadow:0 0 0 2px rgba(255,120,180,.25)}
.gecpt{gap:6px;flex-wrap:wrap}.gecpq{width:100%;box-sizing:border-box}
.gecpick{display:flex;align-items:center;gap:8px;width:100%;padding:4px 10px;border-radius:12px;border:2px solid #eadff7;background:#fff;font:inherit;color:inherit;cursor:pointer;text-align:left}
.gecpick svg{width:34px;height:auto;aspect-ratio:80/200;flex:none}.gecpick span{flex:1;min-width:0;display:flex;flex-direction:column}.gecpick b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gecpick i{font-style:normal;color:var(--mut)}
.gecmain{width:100%;margin-bottom:6px}
/* pop-up Back button */
.mod [role=dialog] .mbtop{position:sticky;top:0;z-index:3;margin:0 0 6px;box-shadow:0 2px 6px rgba(80,40,120,.15)}
.rtpmap{margin:6px 0 10px}.rtpmap .row{gap:6px;align-items:center}.rtpmap .rsmap{overflow-x:auto}
.rtpslm{gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.rtpsl{margin-top:2px}
/* election ceremony: TOP number, change tags, results line; photo step scrolls from the top */
.gebody{align-items:flex-start}.gebody>.gestage{margin-top:auto;margin-bottom:auto}
.gernum .getopw{font:inherit;color:inherit}.gernum.sm .getopw,.gernum.sm b{font-size:inherit}
.gernum .gechg2,.gernum .getag{font-size:.42em;vertical-align:middle;margin-left:.3em;letter-spacing:0}
.gechg2{font-weight:800}.gechg2.up{color:#7dffb0}.gechg2.dn{color:#ff9aa8}
.getag{display:inline-block;padding:.05em .45em;border-radius:.4em;font-weight:900;letter-spacing:.04em}.getag.new{background:#ffd34d;color:#3a2600}.getag.cb{background:#9aa0aa;color:#fff}
.gerhist{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:13px;color:#f3d7ff;margin-top:4px}.gerhist b{color:#fff}.gerhist b.nr{color:#c9b8d8;font-weight:600}.gerhist .gechg2{font-size:12px}
.gephoto.solo{max-width:420px;margin:0 auto;display:block}
/* profile: latest election rank and frame */
.gepfb{display:inline-flex;align-items:center;gap:6px;margin:2px 0 4px;padding:2px 10px 2px 2px;border-radius:999px;background:#f4eefc;font-size:12.5px}
.gepfr{background:#6d4bc4;color:#fff;font-weight:800;border-radius:999px;padding:1px 8px;letter-spacing:.03em}
.gepfb-1 .gepfr{background:linear-gradient(135deg,#ffe58a,#d4a017);color:#3a2600}.gepfb-2 .gepfr{background:linear-gradient(135deg,#f4f6f8,#9aa6b2);color:#2a3038}.gepfb-3 .gepfr{background:linear-gradient(135deg,#f0c49a,#a8652f);color:#fff}
.gepfb-k7 .gepfr{background:linear-gradient(135deg,#d58cff,#7b2cbf)}.gepfb-sen .gepfr{background:linear-gradient(135deg,#ffb3cf,#ff5c95)}
.pf.gefr{border-radius:18px;padding:8px;margin:-4px}
.pf.gefr-1{border:4px solid #e2b13c;box-shadow:0 0 0 3px #fff3c4,0 0 22px rgba(226,177,60,.75);background:linear-gradient(135deg,#fff8dc,#fff)}
.pf.gefr-2{border:4px solid #a9b4bf;box-shadow:0 0 0 3px #f3f6f9,0 0 18px rgba(150,165,180,.7);background:linear-gradient(135deg,#f5f7fa,#fff)}
.pf.gefr-3{border:4px solid #b9773f;box-shadow:0 0 0 3px #fbe6d3,0 0 18px rgba(185,119,63,.6);background:linear-gradient(135deg,#fdf0e4,#fff)}
.pf.gefr-k7{border:4px solid #9b4dd6;box-shadow:0 0 0 3px #f1defe,0 0 16px rgba(155,77,214,.55);background:linear-gradient(135deg,#f7ecff,#fff)}
.pf.gefr-sen{border:3px solid #ff8fb8;box-shadow:0 0 10px rgba(255,120,170,.35);background:linear-gradient(135deg,#fff2f7,#fff)}
.mod>div:has(.gefr-1){border-color:#f3d27a;outline-color:#d4a017}.mod>div:has(.gefr-2){border-color:#dfe4ea;outline-color:#9aa6b2}.mod>div:has(.gefr-3){border-color:#f0c9a5;outline-color:#a8652f}.mod>div:has(.gefr-k7){border-color:#e3c4fb;outline-color:#8a3fc8}
/* TOP has the same size and colour as the number */
.gernum .getopw{font-size:1em!important;letter-spacing:0!important;font-weight:800}
.gernum:not(.sm) .getopw{color:#fff}
.gernum.sm .getopw{color:inherit!important}.top1 .gernum.sm .getopw{background:linear-gradient(180deg,#fff6c4,#e9b949);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.gernum.sm .getag,.gernum.sm .gechg2{font-size:.34em;letter-spacing:.04em;vertical-align:middle}
.gernum.sm .getag.new{background:#ffd34d;color:#3a2600}.gernum.sm .getag.cb{background:#9aa0aa;color:#fff}
.gernum.sm .gechg2.up{color:#7dffb0}.gernum.sm .gechg2.dn{color:#ff9aa8}.gernum.sm .gechg2{color:#fff}
/* ---- member cards: short; election frames on the portrait only ---- */
.mc .np .mteam{display:block;font-size:11px;line-height:1.3}
.c.m[data-mt]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.c.m[data-mt] .mtline{font-size:11px;line-height:1.3}.c.m[data-mt] select.act{width:100%;margin-top:2px}
.gsv{display:none!important}
.mtart{position:relative;display:inline-block;border-radius:14px;line-height:0}
.mod>div:has(.gefr-1),.mod>div:has(.gefr-2),.mod>div:has(.gefr-3),.mod>div:has(.gefr-k7){border-color:var(--pk2)!important;outline-color:var(--pk)!important}
.gedc{position:relative;--g1:#fff;--g2:#ccc;--g3:#999;--gc:#999}
.gedc::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:4px;background:linear-gradient(135deg,var(--g1),var(--g2) 35%,var(--g3) 55%,var(--g2) 75%,var(--g1));background-size:220% 220%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);z-index:5;pointer-events:none;box-shadow:inset 0 0 12px rgba(255,255,255,.5)}
.gedc::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),inset 0 0 18px var(--gl,transparent);z-index:4;pointer-events:none}
.gedc-1,.gedc-2,.gedc-3{--gl:rgba(255,255,255,.35)}.gedc-1::before,.gedc-2::before,.gedc-3::before{animation:gedcsh 4s ease-in-out infinite}
@keyframes gedcsh{0%,100%{background-position:0 0}50%{background-position:100% 100%}}
.gedc-1{--g1:#fff7cf;--g2:#f1c84b;--g3:#b8860b;--gc:#d8a521;--gl:rgba(255,214,90,.55)}
.gedc-2{--g1:#ffffff;--g2:#cfd6de;--g3:#8a96a3;--gc:#9fabb7;--gl:rgba(200,210,222,.6)}
.gedc-3{--g1:#ffe2c4;--g2:#d4935a;--g3:#8c4f22;--gc:#b8743d;--gl:rgba(212,147,90,.5)}
.gedc-k7{--g1:#f6e2ff;--g2:#b56ce8;--g3:#6d22a8;--gc:#9b4dd6;--gl:rgba(181,108,232,.45)}
.gedc-sen{--g1:#ffe6f0;--g2:#ff9cc2;--g3:#ff6a9e;--gc:#ff7fb0}.gedc-sen::before{padding:3px}
.gedc-rk::before,.gedc-rk::after{display:none}
.gedc-c{position:absolute;width:22px;height:22px;color:var(--gc);z-index:6;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25));line-height:0}
.gedc-c svg{width:100%;height:100%}.gedc-c.tl{top:1px;left:1px}.gedc-c.tr{top:1px;right:1px;transform:scaleX(-1)}.gedc-c.bl{bottom:1px;left:1px;transform:scaleY(-1)}.gedc-c.br{bottom:1px;right:1px;transform:scale(-1,-1)}
.gedc-sen .gedc-c{width:16px;height:16px;opacity:.85}
.gedc-ic{position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:34px;height:22px;color:var(--gc);z-index:7;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));line-height:0}
.gedc-ic svg{width:100%;height:100%}.gedc-k7 .gedc-ic{width:22px;height:22px;top:-2px}.gedc-sen .gedc-ic{width:26px;height:17px;top:-1px}
.gedc-rib{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);z-index:7;font:900 10.5px/1 Quicksand,sans-serif;letter-spacing:.06em;color:#fff;padding:3px 9px 3px;border-radius:999px;background:linear-gradient(135deg,var(--g2),var(--g3));box-shadow:0 1px 3px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.55);white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.gedc-1 .gedc-rib{color:#3a2600;text-shadow:none;background:linear-gradient(135deg,#fff2b0,#e9b949)}.gedc-2 .gedc-rib{color:#2a3038;text-shadow:none;background:linear-gradient(135deg,#fff,#b9c3cd)}
.gedc-rk .gedc-rib{background:rgba(70,50,110,.82);font-size:9.5px}
.mc .mart.gedc{border-radius:14px 14px 0 0}.pfart.gedc{border-radius:18px}.pfart.gedc .gedc-c{width:30px;height:30px}.pfart.gedc .gedc-ic{width:48px;height:30px;top:-6px}.pfart.gedc .gedc-rib{font-size:13px;bottom:10px}
/* election archive rows / sister rankings */
.gearch .gear .geprk{min-width:64px;display:flex;flex-direction:column;align-items:center;line-height:1.15;font-weight:800;white-space:nowrap}
.gearch .gear .gearc{font-style:normal;font-size:10.5px}.gearch .gear .gearc .getag{font-size:9.5px;padding:0 5px}
.gearch .gear small{display:block;white-space:normal;line-height:1.25}
.gearch .gear .gechg2.up{color:#1f9d5a}.gearch .gear .gechg2.dn{color:#d64561}.gearch .gear .gechg2{color:#8a7aa3}
.gepgh.sub{background:linear-gradient(90deg,#5b3b8f,#8b5cc4)}
.gearpre{display:flex;flex-direction:column;gap:10px}
.gesubr{gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0}
.gesubl{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:10px}.gesubc{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.08);border-radius:12px;padding:6px;font-size:12px}.gesubc b{color:#ffe08a}.gesubc small{opacity:.75}.gesubc.t1{background:rgba(233,185,73,.25)}
