
/* 陣幕と金屏風：漆黒の地に金箔と朱漆。左に掛け軸（人物）、中央に巻物（年代記）、右に屏風（天下勢力図）。 */
:root{
  --bg:#0F0E0C; --bg2:#17150F; --panel:#1C1A15; --line:#3A3326; --ink:#ECE4D2; --sub:#A99D84;
  --gold:#C9A452; --gold2:#E6C878; --shu:#B83A26; --ai:#2B4A7A; --good:#7FB38A;
  --f-brush:"Yuji Syuku","Shippori Mincho B1",serif;
  --f-body:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#E9E2D2; --bg2:#E0D7C3; --panel:#F3EEE2; --line:#C9BCA0; --ink:#1E1A12; --sub:#6B5F48;
  --gold:#9A7426; --gold2:#7E5E18; --shu:#A3301E; --ai:#22406E; --good:#3C7A55; color-scheme:light}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{min-height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.75;
  background-image:radial-gradient(ellipse at 50% -20%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 60%);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1180px;margin:0 auto;padding-block:16px 60px;display:flex;flex-direction:column;gap:18px}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
.brush{font-family:var(--f-brush)}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
a{color:var(--gold)}
.lbl{font-size:12px;letter-spacing:.2em;color:var(--sub)}
.muted{color:var(--sub);font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:1px solid var(--gold);background:transparent;color:var(--gold2);padding:8px 18px;border-radius:2px;letter-spacing:.08em}
.btn.pri{background:linear-gradient(180deg,#D6B262,#A88534);color:#1A140A;border-color:#E6C878;font-weight:700}
.btn.shu{background:var(--shu);border-color:var(--shu);color:#F7EBDD}
.btn.sm{padding:4px 10px;font-size:13px}
.btn[aria-pressed="true"]{background:var(--gold);color:#16120A}
.panel{background:var(--panel);border:1px solid var(--line);padding:18px;position:relative}
.panel.gold{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 15%,transparent)}
.ttl{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.ttl h3{font-family:var(--f-brush);font-size:20px;color:var(--gold2)}
/* 陣幕 */
.jinmaku{position:relative;height:56px;background:repeating-linear-gradient(90deg,#141210 0 70px,#1b1813 70px 72px);border-block:3px solid var(--gold);display:flex;align-items:center;justify-content:space-between;padding:0 14px;overflow:hidden}
:root[data-theme="light"] .jinmaku{background:repeating-linear-gradient(90deg,#efe8d8 0 70px,#e3d9c3 70px 72px)}
.jinmaku .mons{display:flex;gap:46px;opacity:.55;color:var(--gold)}
.jinmaku .brandt{font-family:var(--f-brush);font-size:22px;color:var(--gold2);letter-spacing:.1em}
/* トップ */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:center}
.hero h1{font-family:var(--f-brush);font-size:clamp(52px,9vw,112px);line-height:1.02;color:var(--ink);letter-spacing:.02em}
.hero h1 .k{color:var(--shu)}
.hero p{max-width:32em}
.scn{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.kake{position:relative;background:linear-gradient(180deg,var(--bg2),var(--panel));border:1px solid var(--line);padding:22px 14px 18px;text-align:left;display:flex;flex-direction:column;gap:6px;min-height:230px}
.kake::before,.kake::after{content:"";position:absolute;left:-4px;right:-4px;height:8px;background:linear-gradient(180deg,#6b4f22,#2a1d0b);border-radius:4px}
.kake::before{top:-4px}.kake::after{bottom:-4px}
.kake[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 6px 24px color-mix(in srgb,var(--gold) 20%,transparent)}
.kake .yr{font-family:var(--f-brush);font-size:40px;color:var(--gold2);line-height:1}
.kake .nm{font-family:var(--f-brush);font-size:22px}
.kake .era{font-size:12px;color:var(--sub);letter-spacing:.1em}
/* 地図（屏風） */
.byobu{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 26%,var(--bg2)),color-mix(in srgb,var(--gold) 8%,var(--bg2)));border:1px solid var(--gold);padding:10px;position:relative}
.byobu::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),color-mix(in srgb,#000 22%,transparent) calc(25% - 1px) 25%);pointer-events:none}
.map{display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(11,auto);gap:3px}
.tile{aspect-ratio:1;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:clamp(8px,1vw,11px);line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);position:relative;border:1px solid rgba(0,0,0,.35);writing-mode:vertical-rl;letter-spacing:-.05em;overflow:hidden}
.tile.me{outline:2px solid var(--gold2);outline-offset:1px;z-index:2}
.tile.me::before{content:"";position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 6px var(--gold2)}
.tile.war::after{content:"";position:absolute;bottom:2px;left:2px;width:7px;height:9px;background:radial-gradient(circle at 50% 70%,#ffd27a,#e0532c 60%,transparent 70%)}
.legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
/* 人物札 */
.pt{position:relative;margin:0;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(170deg,#2a2418,#0d0b08);border:1px solid var(--gold);box-shadow:inset 0 0 0 2px #0008;max-width:100%}
.pt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.pt .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10%;color:#C9A452}
.pt .ph svg{width:44%;height:auto;opacity:.85}
.pt .ph b{writing-mode:vertical-rl;font-family:var(--f-brush);color:#EFE6CF;font-weight:400;font-size:clamp(12px,1.4vw + 6px,24px);letter-spacing:.12em}
.pt.sm .ph b{display:none}
.pt figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 6px;background:linear-gradient(transparent,rgba(5,4,2,.9));color:#F1EADA;font-size:11px;line-height:1.35}
.pt figcaption b{display:block;font-family:var(--f-brush);font-weight:400;font-size:16px;color:#F5E7C2}
.pt.unk{filter:grayscale(1) brightness(.45)}
.pt.dead img{filter:grayscale(.85)}
.figgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.figgrid button{padding:0;border:0;background:none;text-align:left}
/* 出生 */
.cert{display:grid;grid-template-columns:220px 1fr;gap:26px}
.cert h2{font-family:var(--f-brush);font-size:clamp(34px,6vw,58px);color:var(--ink)}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 18px;margin-top:14px}
.kv div b{display:block;font-weight:500}
.tenmei{border:1px solid var(--gold2);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 25%,transparent),transparent);padding:10px 14px;font-family:var(--f-brush);font-size:20px;color:var(--gold2)}
.kakejiku{background:linear-gradient(180deg,#3b2a12,#1b130a);padding:12px 10px;border-radius:3px;box-shadow:0 8px 24px #0007}
.kakejiku .face{background:#efe6cf;padding:6px;display:flex;justify-content:center}
/* 人生 */
.life{display:grid;grid-template-columns:300px 1fr 330px;gap:16px;align-items:start}
.col{display:flex;flex-direction:column;gap:14px;min-width:0}
.age{font-family:var(--f-brush);font-size:46px;line-height:1;color:var(--gold2);font-variant-numeric:tabular-nums}
.bars{display:grid;gap:6px}
.bar{display:grid;grid-template-columns:44px 1fr 28px;gap:8px;align-items:center;font-size:13px}
.bar i{display:block;height:7px;background:color-mix(in srgb,var(--ink) 12%,transparent);position:relative}
.bar i s{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.bar.st i s{background:linear-gradient(90deg,#6f8f7a,var(--good))}
.bar em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.ladder{display:flex;flex-wrap:wrap;gap:4px}
.ladder span{font-size:12px;padding:1px 7px;border:1px solid var(--line);color:var(--sub)}
.ladder span.on{border-color:var(--gold);color:#16120A;background:var(--gold)}
.ctrl{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid var(--line);padding-block:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}
.eraTag{font-family:var(--f-brush);font-size:22px;color:var(--ink)}
.focus{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}
.focus button{text-align:left;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 4%,transparent);padding:7px 10px;font-size:13px;line-height:1.4}
.focus button small{display:block;color:var(--sub);font-size:11px}
.focus button[aria-pressed="true"]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 22%,transparent)}
.makimono{background:linear-gradient(180deg,color-mix(in srgb,#E9DFC6 6%,var(--panel)),var(--panel));}
.log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:560px;overflow:auto}
.log li{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:8px 0;border-top:1px dashed var(--line)}
.log li .t{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums;line-height:1.5}
.log li.big .x{color:var(--gold2)}
.log li.realm .x{color:#C9B48A}
.log li.dark .x{color:#E58A72}
.log li.hon .x{color:var(--gold2);font-family:var(--f-brush);font-size:18px}
.log .note{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.sugoroku{display:flex;flex-wrap:wrap;gap:2px}
.sugoroku i{width:12px;height:12px;display:block;border:1px solid var(--line)}
.lordcard{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center}
.hon{display:grid;gap:6px}
.hon div{display:flex;justify-content:space-between;gap:8px;font-size:13px;border-bottom:1px dotted var(--line);padding-bottom:4px}
.hon div.done b{color:var(--gold2)}
/* モーダル */
.modal{position:fixed;inset:0;background:rgba(5,4,2,.72);display:grid;place-items:center;z-index:20;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal .panel{max-width:640px;width:100%;max-height:92%;overflow:auto;box-shadow:0 20px 60px #000a}
.modal h3{font-family:var(--f-brush);font-size:28px;color:var(--gold2)}
.opts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.opts button{text-align:left;border:1px solid var(--line);border-left:4px solid var(--gold);background:linear-gradient(90deg,color-mix(in srgb,#8a6a33 18%,transparent),transparent);padding:10px 12px}
.opts button small{display:block;color:var(--sub);font-size:12px}
.opts button:hover{border-color:var(--gold)}
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:8px 0}
.vs .x{font-family:var(--f-brush);font-size:36px;color:var(--shu)}
.force{display:flex;height:12px;border:1px solid var(--line);margin:6px 0}
.force i{display:block;height:100%}
.gunbai{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.gunbai button{border:1px solid var(--gold);background:transparent;padding:10px;text-align:left}
.gunbai button small{display:block;color:var(--sub);font-size:12px}
.mfig{display:grid;grid-template-columns:150px 1fr;gap:16px;margin-bottom:10px}
.statline{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;font-size:12px;text-align:center}
.statline b{display:block;font-family:var(--f-brush);font-size:20px;color:var(--gold2);font-weight:400}
/* 最期 */
.endg{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.ihai{writing-mode:vertical-rl;font-family:var(--f-brush);font-size:26px;letter-spacing:.18em;padding:22px 14px;min-height:260px;background:linear-gradient(180deg,#1b1408,#0a0703);color:#E6C878;border:2px solid #8a6a33;border-radius:40px 40px 4px 4px;text-align:center}
.jisei{font-family:var(--f-brush);font-size:22px;line-height:2;color:var(--ink);border-left:3px solid var(--shu);padding-left:14px}
.fuda{display:grid;grid-template-columns:120px 1fr;gap:14px;border:1px solid var(--gold);padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 12%,var(--panel)),var(--panel))}
.offer{border:1px dashed var(--gold);padding:14px;display:flex;flex-direction:column;gap:8px}
.tag{font-size:11px;border:1px solid var(--gold);color:var(--gold2);padding:0 6px;border-radius:2px;white-space:nowrap}
.past div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:6px;font-size:13px;flex-wrap:wrap}
@media (max-width:1000px){.life{grid-template-columns:1fr 1fr}.life .rcol{grid-column:1/-1}}
@media (max-width:720px){.hero,.life,.cert,.endg{grid-template-columns:1fr}.ihai{writing-mode:horizontal-tb;min-height:0;border-radius:6px}.mfig{grid-template-columns:110px 1fr}.fuda{grid-template-columns:90px 1fr}.jinmaku .mons{display:none}}
@media (prefers-reduced-motion:no-preference){.log li:first-child{animation:ink .7s ease}.flip{animation:flip .6s ease}}
@keyframes ink{from{background:color-mix(in srgb,var(--gold) 16%,transparent)}to{background:transparent}}
@keyframes flip{from{transform:rotateX(70deg);opacity:0}to{transform:none;opacity:1}}
.fin{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.soma svg{border:1px solid var(--line);filter:sepia(.15)}
@media (prefers-reduced-motion:no-preference){.soma{animation:ink .9s ease}}
.dots{display:flex;gap:6px;margin-top:10px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.dots i.on{background:var(--gold)}
.haka{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center}
.lmap{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;max-width:420px}
.lmap i,.lmlg i{font-style:normal;display:grid;place-items:center;aspect-ratio:1;font-size:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 80%,transparent);font-family:var(--f-brush)}
.lmap i.war,.lmlg i.war{background:#7a2a1e;color:#f3e6c8}.lmap i.rise,.lmlg i.rise{background:#8f7440;color:#fff6dd}.lmap i.wed,.lmlg i.wed{background:#a0566a;color:#fff}.lmap i.birth,.lmlg i.birth{background:#c98a96;color:#2a1a1a}.lmap i.loss,.lmlg i.loss{background:#3a3326;color:#d8cfb8}.lmap i.road,.lmlg i.road{background:#4e6a7e;color:#fff}.lmap i.meet,.lmlg i.meet{background:#5e7a4e;color:#fff}.lmap i.last{outline:2px solid var(--gold)}
.lmlg{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;color:var(--sub)}.lmlg span{display:flex;align-items:center;gap:5px}.lmlg i{width:18px}
@media (max-width:720px){.haka{grid-template-columns:1fr;justify-items:center}}
.sheet{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:16px;overflow:auto}
.sheet>.panel{width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto}
.sheet textarea{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px;font:inherit;border-radius:4px}
.btn.big{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px;font-size:18px}.btn.big small{font-size:12px;opacity:.85}
.shgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.shgrid .btn{width:100%}
details summary{cursor:pointer;color:var(--sub)}

/* 天下勢力図 */
.tenka{display:grid;gap:12px}
.life-tk{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;margin-top:14px}
.hero-tk{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 18%,var(--bg2)),var(--bg2));border:1px solid var(--gold);padding:10px}
.tkhead{display:flex;justify-content:space-between;align-items:baseline}
.tkyear b,.wyear{font-family:var(--f-body);font-weight:800;font-size:26px;color:var(--gold2);font-variant-numeric:tabular-nums;margin-right:8px}
.tkyear span,.wera{color:var(--sub)}
.jmap{width:100%;height:auto;display:block;background:radial-gradient(ellipse at 40% 40%,#1d2a33,#0c1116)}
:root[data-theme="light"] .jmap{background:radial-gradient(ellipse at 40% 40%,#cfdce3,#9fb3bf)}
.jmap .pv path{stroke:#0b0a08;stroke-width:1.1;stroke-linejoin:round;transition:fill .7s ease}
.jmap .pv path.dim{opacity:.35}
.jmap .pv path.chg{animation:chg 1.4s ease}
@keyframes chg{0%{filter:brightness(2.4) saturate(1.4)}100%{filter:none}}
.jmap .lb text{fill:#fff;font-family:var(--f-body);font-weight:800;paint-order:stroke;stroke:rgba(0,0,0,.75);stroke-width:5px;pointer-events:none;letter-spacing:.05em}
.jmap .war circle{fill:rgba(224,83,44,.25);stroke:#ffb35c;stroke-width:2}.jmap .war path{fill:#ff8a3d}
.jmap .me circle{fill:#E6C878}.jmap .me .ring{fill:none;stroke:#E6C878;stroke-width:4;animation:ring 1.6s infinite}
.jmap .me text{fill:#E6C878;font-size:22px;font-weight:800;paint-order:stroke;stroke:#000;stroke-width:5px}
@keyframes ring{0%{r:12;opacity:1}100%{r:34;opacity:0}}
.rank{display:flex;flex-direction:column;gap:5px;font-size:13px}
.rk{display:grid;grid-template-columns:18px 84px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center}
.rk>b{grid-row:span 2;color:var(--gold2);font-variant-numeric:tabular-nums}
.rk .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rk .nm i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:2px}
.rk .br{height:9px;background:color-mix(in srgb,var(--line) 50%,transparent)}.rk .br em{display:block;height:100%;transition:width .7s ease}
.rk small{grid-column:2/4;color:var(--sub);font-size:11px}.rk s{text-decoration:none}.rk .up{color:#7fc27f}.rk .dn{color:#e58a72}
.minimap{max-width:280px;margin:8px auto}
/* 観戦 */
.watch{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:14px}
.whead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px}.wyear{font-size:44px}
.wctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.wctl input{flex:1;min-width:140px}
.wtick{max-height:420px;overflow:auto;font-size:13px;display:flex;flex-direction:column;gap:4px}.wtick .yr{color:var(--gold2);font-weight:800;margin-right:6px}.wtick .metsu{color:#e58a72}
/* 合戦 */
.modal.war>.panel{max-width:760px}
.jinbure{font-size:64px;color:var(--shu);text-align:center;line-height:1;animation:stampin .5s ease}
.vsbig{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center}
.vsbig .sd{display:flex;flex-direction:column;align-items:center;gap:4px}.vsbig .sd .pt{width:min(150px,32vw)}
.vsbig .sd b{font-family:var(--f-brush);font-size:22px;font-weight:400}.vsbig .sd small{color:var(--sub)}
.vsbig .mid{display:flex;flex-direction:column;align-items:center}.vsbig .x{font-size:64px;color:var(--shu);line-height:1}.vsbig .kei{font-size:24px;color:var(--gold2);background:#000;padding:2px 12px}
.force2{display:flex;height:16px;margin-top:10px;border:1px solid var(--line)}.force2 i{background:linear-gradient(90deg,#8E2A1E,#C0392B)}.force2 s{background:linear-gradient(90deg,#2C5AA0,#1d3c6e)}
.fujin{width:100%;height:auto;display:block;border:1px solid var(--line)}
.resw{position:relative}.stamp{position:absolute;right:14px;top:14px;width:96px;height:96px;display:grid;place-items:center;font-size:58px;border:6px solid currentColor;border-radius:50%;transform:rotate(-12deg);animation:stampin .45s cubic-bezier(.2,1.6,.4,1)}
.stamp.win{color:#C0392B}.stamp.lose,.stamp.draw{color:#2C5AA0}
@keyframes stampin{0%{transform:scale(2.4) rotate(-12deg);opacity:0}100%{transform:scale(1) rotate(-12deg);opacity:1}}
.fx{display:inline-flex;gap:6px;margin:3px 6px 3px 0;padding:3px 8px;border:1px solid var(--line);font-size:13px}.fx b{font-weight:700}.fx.up{border-color:#5e8a4e;color:#9fd18f}.fx.dn{border-color:#8E2A1E;color:#e58a72}
.btl{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.btl span{border:1px solid var(--line);padding:2px 8px}.btl b{color:var(--sub);margin-right:4px;font-weight:400}.btl .win{border-color:#8E2A1E}.btl .lose{opacity:.75}
/* 顔窓と台詞 */
.talk{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start;background:linear-gradient(180deg,#1b160e,#0d0b07);border:2px solid var(--gold);padding:10px}
.talk .tw b{font-size:20px;color:var(--gold2);font-weight:400}.talk .tw p{margin:6px 0 0;font-size:17px;line-height:1.8;color:#F3EAD3}
.lcands{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lcands button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--gold);background:transparent;color:var(--ink);padding:8px}.lcands .pt{width:84px}.lcands .ph{min-height:60px;display:grid;place-items:center}.lcands small{color:var(--sub);font-size:11px}
/* 訃報・通知・画面遷移 */
.deathov{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(0,0,0,.82);animation:fadein .6s ease}
.deathov .dbox{text-align:center;padding:30px 24px;border-top:3px solid #8E2A1E;border-bottom:3px solid #8E2A1E;width:min(640px,100%);background:linear-gradient(180deg,transparent,rgba(142,42,30,.18),transparent)}
.deathov .dname{font-size:clamp(30px,7vw,56px);word-break:keep-all;color:#F3EAD3;margin:8px 0;animation:inkin 1.4s ease}.deathov .dsub{color:var(--gold2);font-size:18px}.deathov .dcause{color:#e58a72;margin:6px 0 20px}
@keyframes inkin{0%{opacity:0;letter-spacing:.6em;filter:blur(6px)}100%{opacity:1;letter-spacing:.05em;filter:none}}
#scrLife.mourn{filter:grayscale(1) brightness(.6);transition:filter 1s}
.toasts{position:fixed;top:76px;right:16px;z-index:15;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:min(420px,92vw)}
.toast{background:#14110C;border:1px solid var(--gold);color:#F3EAD3;padding:10px 16px;text-align:center;font-size:15px;animation:toastin .4s ease;transition:opacity .8s}.toast b{font-size:22px;font-weight:400}.toast.out{opacity:0}
.toast.metsu{border-color:#8E2A1E;background:#2a0f0a}.toast.jirei{border-color:var(--gold2)}.toast.kaigen{border-color:var(--sub)}
@keyframes toastin{0%{transform:translateY(-12px);opacity:0}100%{transform:none;opacity:1}}
@keyframes fadein{0%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:no-preference){main>section:not([hidden]),.wrap>section:not([hidden]){animation:fadein .35s ease}}
@media (prefers-reduced-motion:reduce){.jmap .pv path{transition:none}.jmap .me .ring,.deathov .dname,.stamp,.toast{animation:none}}
@media (max-width:820px){.life-tk,.watch{grid-template-columns:1fr}.lcands{grid-template-columns:repeat(2,1fr)}.talk{grid-template-columns:80px 1fr}}
.home{width:100%;display:block;border:1px solid var(--line);margin-top:6px}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chart{width:100%;color:var(--ink);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,transparent)}
.rel{width:100%;max-width:440px;color:var(--ink);display:block;margin:0 auto}
@media (max-width:720px){.charts{grid-template-columns:1fr}}
@media (max-width:600px){.jinmaku .brandt{white-space:nowrap;font-size:20px}.jinmaku .row{flex-wrap:nowrap;gap:4px}.jinmaku .btn.sm{padding:4px 7px;font-size:12px}#mFig{overflow-x:auto;-webkit-overflow-scrolling:touch}#mFig .fujin{width:600px;max-width:none}.resw .stamp{width:70px;height:70px;font-size:40px}}
a.brandt{text-decoration:none;cursor:pointer}a.brandt:hover{color:#fff}
.brandt small{font-size:.55em;margin-left:4px;color:var(--sub)}
h1.title{font-size:clamp(34px,6.2vw,64px);line-height:1.15;margin:4px 0 6px}h1.title .k{color:var(--shu)}
.tsub{color:var(--sub);font-size:13px;margin-bottom:10px}
.howto{margin:12px 0 4px;padding-left:1.4em;display:flex;flex-direction:column;gap:4px;font-size:14px}.howto b{color:var(--gold2);font-weight:700}
.scnmini{gap:6px;margin-top:10px}.scnmini button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 10px;font-size:13px}.scnmini button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold2);background:color-mix(in srgb,var(--gold) 14%,transparent)}
.btn.big1{font-size:20px;padding:12px 28px}
details.panel>summary{cursor:pointer;list-style:none}details.panel>summary::-webkit-details-marker{display:none}
.kotoshi{margin-top:12px;padding:12px 16px}.kotoshi .ky{color:var(--sub);font-size:13px}.kotoshi .ky b{color:var(--gold2);font-size:22px;margin-right:8px;font-variant-numeric:tabular-nums}
.kotoshi ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.kotoshi li{font-size:16px}.kotoshi li.big{color:var(--gold2)}.kotoshi li.dark{color:#E58A72}.kotoshi li.hon{color:var(--gold2);font-family:var(--f-brush);font-size:19px}.kotoshi li.realm{color:#C9B48A;font-size:13px}.kotoshi li.q{color:var(--sub)}
@media (prefers-reduced-motion:no-preference){.kotoshi li{animation:fadein .5s ease}}
.jmap .lb text.must{fill:#E6C878}
.world{border:1px solid var(--gold);padding:12px 14px;margin:10px 0;background:color-mix(in srgb,var(--gold) 8%,transparent)}.world.alt{border-color:var(--shu);background:color-mix(in srgb,var(--shu) 10%,transparent)}.world .wt{font-size:24px;color:var(--gold2);margin:4px 0}.world ul{margin:8px 0 0;padding-left:1.2em;font-size:13px}.world li b{color:var(--gold2);margin-right:4px}
.toasts{top:70px;left:50%;right:auto;transform:translateX(-50%);width:min(360px,90vw)}.toast{padding:6px 12px;font-size:13px}.toast b{font-size:17px}
.life-tk .jmap{max-height:min(68vh,620px);width:auto;max-width:100%;margin:0 auto}.toast.emo{border-color:#8a6a9a}
.modal.war #mOpts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal.war #mOpts button{margin:0}
.modal.war .fujin{max-height:44vh;width:auto;max-width:100%;margin:0 auto}
.resw{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.resw .stamp{position:static;transform:rotate(-12deg)}
.lcands button.sel{background:color-mix(in srgb,var(--gold) 20%,transparent);outline:2px solid var(--gold2)}.lcands .odds{color:var(--gold2)}
@media (max-width:600px){.brandt small{display:none}.life-tk .jmap{max-height:48vh}.resw{grid-template-columns:1fr}.modal.war #mOpts{grid-template-columns:1fr 1fr}.kotoshi li{font-size:15px}}
.rkbox{border:1px solid var(--line);padding:10px 12px;margin-top:12px;background:color-mix(in srgb,var(--gold) 6%,transparent)}
.rkhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.rkhead b{font-size:24px;color:var(--gold2);font-weight:400}.rkhead small{color:var(--sub)}
.rkrow{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.rkc{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);padding:6px 2px}
.rkc span{font-size:12px;color:var(--sub)}.rkc b{font-size:24px;font-variant-numeric:tabular-nums}.rkc small{font-size:10px;color:var(--sub);text-align:center}
.rkc.top{border-color:var(--gold2)}.rkc.top b,.rkc.top small{color:var(--gold2)}.rkc.low{border-color:#8E2A1E}.rkc.low b,.rkc.low small{color:#E58A72}
.rklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}.rklist button{width:100%;display:grid;grid-template-columns:72px 1fr auto;grid-template-rows:auto auto;column-gap:8px;text-align:left;border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 10px}
.rklist b{grid-row:span 2;color:var(--gold2);font-variant-numeric:tabular-nums}.rklist small{color:var(--sub);font-size:11px;grid-column:2}.rklist em{grid-row:1/3;grid-column:3;font-style:normal;font-size:22px;align-self:center;font-variant-numeric:tabular-nums}.rklist .met{border-color:var(--gold)}
@media (max-width:600px){.rkrow{grid-template-columns:repeat(5,1fr);gap:3px}.rkc b{font-size:18px}.rkc small{font-size:9px}}
.hud{position:sticky;top:env(safe-area-inset-top,0px);z-index:6;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid var(--line)}
.hudFace{width:68px}.hudFace .pt{width:68px;border-width:1px}.hudsvg{width:68px;height:90px;background:#efe6cf;display:grid;place-items:center;border:1px solid var(--gold)}.hudsvg svg{width:58px;height:auto}
.hudL1{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.hudName{font-size:26px;font-weight:400;color:var(--gold2);line-height:1.1}.hud .age{font-size:30px}.hudMon{color:var(--gold);align-self:center}.hudMon svg{width:24px;height:24px}
.hudL2{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px}.hud .eraTag{font-size:16px}.hudRank{color:var(--gold2)}
.hudStats{display:flex;gap:4px 10px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--sub)}.hudStats span b{font-size:16px;color:var(--ink);margin-left:3px;font-variant-numeric:tabular-nums}.hudStats span.top b{color:var(--gold2)}.hudStats span.low b{color:#E58A72}.hudStats i{width:1px;background:var(--line);align-self:stretch}
.hudCtl{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.lifeGrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;margin-top:12px}.lmain,.lside{display:flex;flex-direction:column;gap:14px;min-width:0}
.lmain .kotoshi{margin-top:0}
.smap{padding:10px 12px}.smap .jmap{width:100%;height:auto;max-height:360px;display:block;margin:4px auto 0}.smap .rank{margin-top:6px}
.prof{border-left:3px solid var(--gold);padding:6px 12px;margin:10px 0 4px;background:color-mix(in srgb,var(--gold) 7%,transparent);font-size:14px;line-height:1.6}.prof b{color:var(--gold2);font-size:17px}
.opts .fx,#mOpts .fx{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.opts .fx,#mOpts .fx{border:0!important;padding:0!important;background:none!important}.fx em{font-style:normal;font-size:11px;padding:1px 6px;border:1px solid var(--line);border-radius:2px}.fx em.up{color:#9CC28A;border-color:#5d7a50}.fx em.dn{color:#E58A72;border-color:#8E2A1E}.fx em.q{color:var(--sub)}
.mcd{position:relative;display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:4px 8px;border:1px solid var(--line);font-size:12px;color:var(--sub);overflow:hidden}.mcd i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--gold) 22%,transparent);width:0;transition:width .1s linear;pointer-events:none}.mcd span{position:relative;flex:1}.mcd button{position:relative;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;padding:2px 10px}.mcd.hold i{background:color-mix(in srgb,var(--sub) 18%,transparent)}
@media (max-width:900px){.lifeGrid{display:flex;flex-direction:column;gap:12px}.lmain,.lside{display:contents}
 .p-kot{order:1}.p-map{order:2}.p-focus{order:3}.p-log{order:4}.p-lord{order:5}.p-stat{order:6}.p-hon{order:7}.p-sugo{order:8}.p-fam{order:9}.p-figs{order:10}
 .smap .jmap{max-height:30vh}.lifeGrid .panel{width:100%;box-sizing:border-box;align-self:stretch}.lifeGrid .focus{display:grid;grid-template-columns:1fr 1fr;gap:6px}}
@media (max-width:720px){.hud{grid-template-columns:auto minmax(0,1fr);gap:10px}.hudCtl{grid-column:1/-1;justify-content:flex-start;max-width:none}.hudCtl .btn{padding:4px 8px;font-size:12px}
 .hud{gap:4px 10px;padding:6px 0}.hudFace,.hudFace .pt{width:44px}.hudsvg{width:44px;height:60px}.hudName{font-size:19px}.hud .age{font-size:20px}.hudL1{gap:8px;flex-wrap:nowrap}.hudMon{display:none}
 .hudL2{font-size:11px;gap:6px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.hud .eraTag{font-size:13px}.hudL2 .muted{display:none}
 .hudStats{flex-wrap:nowrap;overflow-x:auto;gap:8px;font-size:10px;scrollbar-width:none;margin-top:2px}.hudStats span{white-space:nowrap}.hudStats span b{font-size:13px}
 .hudCtl{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;align-items:center}.hudCtl #spd{flex-wrap:nowrap;flex:none}.hudCtl .btn{padding:3px 8px;font-size:11px;white-space:nowrap;flex:none}.hudCtl #spd .btn{padding:3px 6px}}
.tokushu{margin-bottom:14px;padding:18px 22px}
.tkHero{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:18px;align-items:center;margin:16px 0 6px}
.tkPic{border:2px solid var(--gold);padding:4px;background:#14110C;aspect-ratio:2/3;overflow:hidden}.tkPic img,.tkPic svg{width:100%;height:100%;object-fit:cover;display:block}
.tkPre{color:#D0563F;font-weight:700;font-size:14px}.tkNm{font-size:clamp(34px,6vw,54px);line-height:1.15;color:var(--ink,#EFE6CF);margin:2px 0}
.tkYr{color:var(--sub);font-size:15px;margin:8px 0 10px;line-height:1.6}
.tkStrip{display:flex;gap:1px;height:30px;align-items:stretch}.tkStrip i{flex:1;min-width:1px;border-radius:1px}
.tkStripL{font-size:11px;color:var(--sub);margin-top:4px}.tkStripL b{font-weight:400}
.tkSum{list-style:none;padding:0;margin:4px 0 12px;font-size:16px;line-height:1.75}.tkSum li{padding-left:0}
.certOdds{margin-top:6px;color:var(--gold2,#E6C878);font-weight:700;font-size:15px}.opOdds{color:#E6C878;font-weight:700;margin-top:6px}
.mrc{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.mrcI{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;border:1px solid var(--line);padding:8px;text-decoration:none;color:inherit}.mrcI img{width:56px;height:84px;object-fit:cover;border:1px solid var(--gold)}.mrcI b{display:block;font-size:17px}.mrcI small{display:block;color:var(--sub);font-size:12px}.mrcI em{display:block;font-style:normal;font-size:13px;color:var(--gold2,#E6C878)}
.tkMemo{font-size:13px;margin:-8px 0 14px}.tkMemo a{margin-left:6px}
.tkAct{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.tkAct .btn{flex:1 1 auto}
.stDlg #stPrev img{display:block;width:min(300px,70vw);margin:10px auto;border:1px solid var(--line)}
@media (max-width:560px){.tkHero{grid-template-columns:118px 1fr;gap:12px}.tkAct .btn{flex:1 1 100%}}
.tkMast{display:flex;gap:14px;align-items:baseline;border-bottom:3px double var(--gold);padding-bottom:6px;flex-wrap:wrap}.tkMast b{font-family:var(--f-brush);font-size:26px;color:var(--gold2);font-weight:400;letter-spacing:.12em}.tkMast span{color:var(--sub);font-size:12px}
.tkH{font-family:var(--f-brush);font-weight:400;font-size:clamp(30px,5.4vw,54px);line-height:1.2;margin:16px 0 8px;color:var(--ink)}.tkH span{display:block;font-size:.46em;color:var(--gold2);margin-top:6px}
.tkLede{font-size:15px;line-height:1.85;margin:6px 0 12px;color:var(--ink)}
.tkLast{border:1px solid var(--shu);padding:10px 14px;margin:12px 0;text-align:center;background:color-mix(in srgb,var(--shu) 7%,transparent)}.tkLast .lbl{color:var(--shu)}.tkLast q{display:block;font-family:var(--f-brush);font-size:clamp(24px,4.2vw,36px);quotes:"「" "」";color:var(--gold2);margin-top:4px}
.tkCh{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}.tkCh section{border-top:2px solid var(--gold);padding-top:6px}.tkCh h4{margin:0 0 4px;font-size:13px;color:var(--gold2);font-weight:700}.tkCh p{margin:0;font-size:14px;line-height:1.65}
.tkAfter{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.tkAfter h4{margin:0 0 4px;font-family:var(--f-brush);font-weight:400;font-size:22px;color:var(--gold2)}.tkAfter ul{margin:0;padding-left:1.2em;font-size:14px;line-height:1.75}
.dlast{font-family:var(--f-brush);font-size:26px;color:#F5E7C2;margin:8px 0 4px}
#resStamp{transition:opacity .2s}.stamp.pop{animation:stampin .35s ease-out}@keyframes stampin{from{transform:rotate(-12deg) scale(2.2);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:1}}
.btn.gold{border-color:var(--gold);color:var(--gold2)}.clubdot{font-size:11px;margin-left:6px;padding:1px 6px;border:1px solid var(--shu);color:var(--shu)}
.fudabar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px;padding:8px 12px;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent);font-size:14px}.fudabar b{color:var(--gold2);font-size:18px}
.shop{display:grid;gap:10px}.shop .item{border:1px solid var(--line);padding:12px 14px}.shop .item.rec{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,transparent)}.shop .item.pick{outline:2px solid var(--gold2)}
.shop .ih{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.shop .ih b{font-family:var(--f-brush);font-weight:400;font-size:22px;color:var(--gold2)}.shop .pr{font-size:22px;font-weight:800}.shop .pr small{font-size:12px;font-weight:400;color:var(--sub)}
.shop .tg{font-size:12px;color:var(--shu);margin:2px 0 6px}.shop ul{margin:0 0 10px;padding-left:1.2em;font-size:14px;line-height:1.7}.shop .owned{color:var(--gold2);font-weight:700}
.restore{margin-top:12px;font-size:14px}.restore summary{cursor:pointer;color:var(--sub)}.restore input{flex:1;min-width:0;padding:6px 8px;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit}
.shopH{margin-bottom:10px}.shopH h3{margin:2px 0 4px}.shopH p{margin:0;font-size:13px}
table.kakunin{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:8px}.kakunin th,.kakunin td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}.kakunin th{width:8em;color:var(--sub);font-weight:400;white-space:nowrap}
.paidov{position:fixed;inset:0;z-index:40;background:rgba(5,4,2,.88);display:grid;place-items:center;padding:16px}.paidov .dbox{max-width:520px;width:100%;background:var(--bg);border:1px solid var(--gold);padding:22px;text-align:center}.passno{display:flex;gap:8px;justify-content:center;align-items:center;margin:6px 0}.passno code{font-size:18px;letter-spacing:.04em;color:var(--gold2);word-break:break-all}
.fuda.kinsou,.kinsou{border-color:var(--gold2)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 45%,transparent),0 0 24px color-mix(in srgb,var(--gold) 25%,transparent)}.clubseal{display:inline-block;margin-left:8px;padding:0 6px;border:2px solid var(--shu);color:var(--shu);font-size:12px;transform:rotate(-6deg)}
#printArea{display:none}
@media print{body.printing>*:not(#printArea){display:none!important}body.printing #printArea{display:block}#printArea{color:#111;background:#fff;font-size:11pt}#printArea .tkH,#printArea .tkH span{color:#111}#printArea table.nendai{width:100%;border-collapse:collapse}#printArea .nendai td,#printArea .nendai th{border-bottom:1px solid #999;padding:3px 6px;text-align:left;vertical-align:top}#printArea h2{margin-top:18pt}}
.yomi{font-size:13px;color:var(--sub);letter-spacing:.12em}.hudNameW{display:flex;flex-direction:column;line-height:1.1}.hudNameW .yomi{font-size:11px}
.hud{grid-template-columns:auto minmax(0,1fr) auto auto}
.hudMoney{display:flex;gap:22px;align-items:flex-start}.hudMoney div{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;min-width:96px}.hudMoney span{font-size:12px;color:var(--sub)}.hudMoney b{font-size:28px;color:var(--gold2);font-variant-numeric:tabular-nums;font-weight:800}.hudMoney em{font-style:normal;font-size:13px;font-weight:700}.hudMoney em.up{color:#9CC28A}.hudMoney em.dn{color:#E58A72}
.hudStats{opacity:.85}
.kotoshi{padding:16px 20px}.kotoshi .ky{font-size:14px}.kotoshi .ky b{font-size:30px}
.kotoshi ul{gap:8px;margin-top:10px}.kotoshi li{font-size:20px;line-height:1.5;color:var(--ink);font-weight:500}.kotoshi li.big{font-weight:800;color:var(--ink)}.kotoshi li.dark{color:#F08A70;font-weight:700}.kotoshi li.hon{font-size:22px}
.kotoshi li.tenka{font-size:16px;color:var(--gold2);font-weight:700;border-left:3px solid var(--gold);padding-left:8px}.kotoshi li.realm{font-size:13px;color:var(--sub);font-weight:400}.kotoshi li.q{font-size:16px}
.log li.tenka .x{color:var(--gold2);font-weight:700}
details.p-focus>summary,details.p-log>summary{cursor:pointer;list-style:none}details.p-focus>summary::-webkit-details-marker,details.p-log>summary::-webkit-details-marker{display:none}details.p-focus:not([open]) .focus{display:none}
.lordtag{display:inline-block;background:var(--shu);color:#fff;font-weight:800;font-size:14px;padding:2px 10px;margin-bottom:4px;letter-spacing:.1em}
#mText{font-size:18px;line-height:1.6;font-weight:600}#mOpts button{font-size:17px;font-weight:700}#mOpts button small{font-weight:400}
.cert .yomi{margin-top:6px}
@media (max-width:720px){.hud{grid-template-columns:auto minmax(0,1fr)}.hudMoney{grid-column:1/-1;justify-content:flex-start;gap:16px}.hudMoney div{flex-direction:row;align-items:baseline;gap:6px}.hudMoney b{font-size:22px}.kotoshi li{font-size:18px}.kotoshi li.tenka{font-size:15px}}
.ageW{display:inline-flex;flex-direction:column;gap:3px}.ybar{display:block;width:100%;min-width:64px;height:4px;background:color-mix(in srgb,var(--gold) 18%,transparent);overflow:hidden;border-radius:2px}.ybar i{display:block;height:100%;width:0;background:var(--gold2)}
@keyframes yfill{from{width:0}to{width:100%}}
.opening{position:fixed;inset:0;z-index:50;background:#0b0a08;display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:opacity .45s}.opening.out{opacity:0}
.opMap{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .9s}.opMap.show{opacity:1}
.opMap .jmap{height:min(96vh,110vw);width:auto;max-width:none;transition:transform 2.4s cubic-bezier(.4,0,.2,1)}
.opVeil{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(5,4,2,.75) 100%);pointer-events:none;transition:background .6s}
.opening.war .opVeil{background:radial-gradient(ellipse at center,rgba(120,20,10,.25) 20%,rgba(5,4,2,.85) 100%)}.opening.birth .opVeil{background:rgba(5,4,2,.82)}
.opText{position:relative;z-index:2;max-width:min(680px,92vw);text-align:center;color:#F1EADA;padding:16px 22px;text-shadow:0 2px 12px #000;background:rgba(5,4,2,.62);border-top:2px solid #C9A452}
.opText.in{animation:opin .7s cubic-bezier(.2,.7,.2,1)}@keyframes opin{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.opEra{font-family:var(--f-brush);font-size:clamp(28px,6vw,48px);color:#E6C878;letter-spacing:.2em}.opYear{font-size:clamp(64px,16vw,140px);font-weight:800;line-height:1;color:#F5E7C2;font-variant-numeric:tabular-nums}.opSub{margin-top:8px;color:#C9B48A;letter-spacing:.2em}
.opHead{font-family:var(--f-brush);font-size:clamp(34px,7vw,64px);color:#E6C878;line-height:1.2}.opText p{font-size:clamp(16px,3.6vw,20px);line-height:1.6;margin:10px 0 0}
.opRank{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:10px}.opRank span{background:rgba(0,0,0,.55);border:1px solid #8a6a20;padding:6px 12px;font-size:20px;font-weight:700}.opRank b{color:#E6C878;margin-right:6px}.opRank small{display:block;font-size:12px;color:#C9B48A;font-weight:400}
.opening.zoom .opText{align-self:end;margin-bottom:6vh;background:rgba(0,0,0,.55);border-top:2px solid #C9A452}
.opLord{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:8px;text-align:left}.opLord .pt{width:64px}.opLord b{display:block;font-size:24px;color:#F5E7C2}.opLord small{color:#C9B48A}
.opWar{display:inline-block;background:#8E2A1E;color:#fff;font-weight:800;padding:2px 12px;letter-spacing:.2em;margin-bottom:6px}
.opBirth{display:flex;gap:18px;align-items:center;text-align:left}.opFace .pt{width:min(170px,34vw)}.opName{font-family:var(--f-brush);font-size:clamp(40px,9vw,76px);color:#F5E7C2;line-height:1.1}
.opBorn{display:inline-block;margin-top:6px;border:3px solid #B8432E;color:#E58A72;font-family:var(--f-brush);font-size:30px;padding:0 14px;transform:rotate(-8deg);animation:stampin .45s ease-out .25s both}
.opSkip{position:absolute;right:16px;bottom:16px;z-index:3;background:rgba(0,0,0,.5);color:#C9B48A;border:1px solid #8a6a20;padding:6px 14px;font-size:14px}
@media (max-width:600px){.opBirth{flex-direction:column;text-align:center}.opening.zoom .opText{margin-bottom:10vh}}
@media (prefers-reduced-motion:reduce){.opMap .jmap{transition:none}.opText.in{animation:none}}

/* v1.4 主画面の舞台（左のFV） */
.stage{padding:0;overflow:hidden;height:clamp(170px,24vw,270px);background:#1d1a14;isolation:isolate}
.stgScn,.stgFx,.stgVig{position:absolute;inset:0}
.stgL{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease}.stgL.on{opacity:1}
.stgL svg{width:100%;height:100%;display:block;transform-origin:60% 60%}
.stgVig{background:radial-gradient(ellipse at 50% 40%,transparent 45%,#0008 100%),linear-gradient(transparent 55%,#000b);pointer-events:none;z-index:2}
.stgFx{z-index:1;pointer-events:none;overflow:hidden}
.stgFx i{position:absolute;top:-16px;display:block;border-radius:50%;opacity:.85}
.stgFx i.petal{background:#E7A3B1;border-radius:60% 0 60% 0}
.stgFx i.leaf{background:#C0612F;border-radius:0 70% 0 70%}
.stgFx i.snow{background:#fff;box-shadow:0 0 4px #fff}
.stgFx i.fly{top:auto;bottom:10%;background:#F4E27A;box-shadow:0 0 8px 2px #F4E27A99}
.stgFx i.rain{width:1px!important;background:#c9d3dc;border-radius:0;opacity:.5}
.stgFx i.ember{top:auto;bottom:-10px;background:#FF8A3D;box-shadow:0 0 8px 2px #ff5a1f99}
.stgFx.k-war::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,#B8432E66,transparent 65%)}
.stgAge{position:absolute;left:16px;top:10px;z-index:3;color:#fff;text-shadow:0 2px 8px #000;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;max-width:70%}
.stgAge b{font-family:var(--f-brush);font-size:clamp(38px,5vw,56px);line-height:1;font-weight:400}
.stgAge span{font-size:18px}.stgAge small{flex-basis:100%;font-size:13px;opacity:.85}
.stgSea{position:absolute;right:12px;top:10px;z-index:3;border:1px solid #fff8;color:#fff;font-size:13px;padding:1px 7px;background:#0005}
.stgBot{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;gap:12px;padding:10px 14px}
.stgFace{flex:none;width:58px}.stgFace .pt{width:58px;border-width:1px;box-shadow:0 2px 10px #000a}.stgFace .hudsvg{width:58px;height:76px}
#stgHead{color:#fff;font-size:clamp(16px,1.9vw,20px);line-height:1.45;text-shadow:0 2px 6px #000;font-weight:700}
#stgHead.dark{color:#FFB3A6}#stgHead.tenka{color:#F2D27A}#stgHead.big{color:#FFE9A8}
.lpair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lpair>.panel{margin:0}
.floater{position:fixed;z-index:16;transform:translate(-50%,0);font-weight:800;font-size:15px;pointer-events:none;text-shadow:0 1px 3px #000;animation:floatUp 1.8s ease-out forwards}
.floater.up{color:#7EE08A}.floater.dn{color:#FF7A6B}.floater.big{font-size:20px}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}15%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}100%{opacity:0;transform:translate(-50%,-44px) scale(1)}}
@media (prefers-reduced-motion:no-preference){
 .stgL.on svg{animation:kenburns 16s ease-out both}
 @keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.16) translate(-2%,-1%)}}
 .stgFx i{animation:fall 7s linear infinite}
 .stgFx i.rain{animation-name:rainf}.stgFx i.fly{animation-name:flyf}.stgFx i.ember{animation-name:emb}
 @keyframes fall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(var(--dx),300px) rotate(540deg)}}
 @keyframes rainf{0%{transform:translate(0,0)}100%{transform:translate(-30px,300px)}}
 @keyframes flyf{0%,100%{transform:translate(0,0);opacity:.1}30%{opacity:1}50%{transform:translate(var(--dx),-60px);opacity:.3}75%{opacity:1}}
 @keyframes emb{0%{transform:translate(0,0);opacity:0}15%{opacity:1}100%{transform:translate(var(--dx),-260px);opacity:0}}
 .stgFx.k-war::before{animation:flick 1.3s ease-in-out infinite alternate}
 @keyframes flick{from{opacity:.4}to{opacity:1}}
 .stgAge.pop b,.age.pop{animation:agePop .7s cubic-bezier(.2,1.6,.4,1)}
 @keyframes agePop{0%{transform:scale(.6);opacity:.2}60%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}
 .age{display:inline-block}
 #stgHead.in{animation:capIn .8s ease both}
 @keyframes capIn{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
 .stgFace{animation:breathe 4.5s ease-in-out infinite}
 @keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
 .kotoshi li{animation:capIn .55s ease both}.kotoshi li:nth-child(2){animation-delay:.18s}.kotoshi li:nth-child(3){animation-delay:.36s}.kotoshi li:nth-child(4){animation-delay:.54s}.kotoshi li:nth-child(5){animation-delay:.72s}.kotoshi li:nth-child(6){animation-delay:.9s}
 .kotoshi.sweep{animation:sweep 1.1s ease}
 @keyframes sweep{0%{box-shadow:inset 0 0 0 0 #c9a24a00}30%{box-shadow:inset 0 0 0 2px #c9a24acc,0 0 18px #c9a24a55}100%{box-shadow:inset 0 0 0 0 #c9a24a00}}
 .hudStats span.fup b{animation:fl 1.2s ease;color:#7EE08A}.hudStats span.fdn b{animation:fl 1.2s ease;color:#FF7A6B}
 @keyframes fl{0%,60%{text-shadow:0 0 8px currentColor}}
}
@media (max-width:720px){.stgFace,.stgFace .pt{width:44px}.stgFace .hudsvg{width:44px;height:58px}.stgAge small{display:none}#stgHead{font-size:15px}}
@media (max-width:900px){.p-stage{order:0}.lpair{display:contents}.stage{height:clamp(150px,44vw,220px)}}

/* v1.5 元ゲームのFVに寄せる：絵 → 暮らしの一行 → 能力の帯 → 人生の記録 */
.stage{height:auto;aspect-ratio:3.3/1;max-height:250px;min-height:120px}
.stgAge,.stgBot{display:none}
.stgCap.panel{margin-top:-14px;border-top:0;padding:10px 16px;font-size:17px;line-height:1.5;color:var(--ink)}
.pstrip.panel{padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.pstrip .hudStats{flex:1 1 360px;margin:0;opacity:1;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;overflow:visible}
.pstrip .hudStats span{display:inline-flex;flex-direction:column;line-height:1.2;min-width:36px}
.pstrip .hudStats span b{margin:0;font-size:19px}
.pstrip .hudStats i{width:1px;align-self:stretch;background:var(--line)}
.psBtns{display:flex;gap:6px;margin-left:auto}
.psb{border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer}
.psb[aria-expanded="true"]{background:color-mix(in srgb,var(--gold) 22%,transparent)}
.psb b{color:var(--gold2)}
.psFocusBox{flex-basis:100%;border-top:1px solid var(--line);padding-top:10px}
.psFocusBox .focus{display:flex;flex-wrap:wrap;gap:6px}
.feed.panel{padding:14px 18px}
.feed .ttl{margin-bottom:8px}
.fdTop{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--gold) 6%,transparent);padding:8px 12px;margin-bottom:6px}
.fdTop .hudMoney{display:flex;gap:18px;flex:1 1 auto}
.fdTop .hudMoney div{flex-direction:row;align-items:baseline;gap:6px;min-width:0}
.fdTop .hudMoney b{font-size:22px}
.fdBtns{display:flex;gap:6px}
.feedL{list-style:none;margin:0;padding:0}
.feedL li{display:grid;grid-template-columns:3.6em 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.6}
.feedL li:last-child{border-bottom:0}
.feedL .fa{color:var(--sub);font-size:14px;padding-top:2px;font-variant-numeric:tabular-nums}
.feedL li.big .fdx{font-weight:800;color:var(--gold2)}
.feedL li.dark .fdx{color:#F08A70;font-weight:700}
.feedL li.hon .fdx{font-family:var(--f-brush);color:var(--gold2);font-size:19px}
.feedL li.tenka .fdx{color:var(--gold2);font-weight:700;border-left:3px solid var(--gold);padding-left:8px}
.feedL li.realm .fdx,.feedL li.q .fdx{color:var(--sub);font-size:14px}
.feedL li:nth-child(n+13){display:none}
#feedMore{margin-top:8px}
.mdlg{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto}
.mdHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.mdTabs{display:flex;gap:4px}.mdTabs button{border:0;background:none;color:var(--sub);font:inherit;font-size:15px;padding:4px 8px;cursor:pointer;border-bottom:2px solid transparent}.mdTabs button[aria-pressed="true"]{color:var(--gold2);border-bottom-color:var(--gold2);font-weight:700}
.mdBig{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.mdBig span{color:var(--sub)}.mdBig b{font-size:34px;color:var(--gold2);font-family:var(--f-brush);font-weight:400}.mdBig em{font-style:normal;font-size:14px}.mdBig em.up{color:#9CC28A}.mdBig em.dn{color:#E58A72}
.spl{display:flex;flex-direction:column;gap:8px}
.spi{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink);padding:12px 14px;font:inherit;cursor:pointer}
.spi:hover:not(:disabled){border-color:var(--gold)}
.spi:disabled{opacity:.45;cursor:default}
.spi b{display:block;font-size:17px}.spi small{color:var(--sub);font-size:13px}.spi em{font-style:normal;color:var(--gold2);font-weight:700;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.feedL li.nw{animation:feedIn .6s ease both}@keyframes feedIn{from{opacity:0;transform:translateY(-10px);background:color-mix(in srgb,var(--gold) 18%,transparent)}to{opacity:1;transform:none;background:transparent}}}
@media (max-width:900px){.p-stage{order:0}.p-cap{order:1}.p-pstrip{order:2}.p-feed{order:3}.p-map{order:5}.p-log{order:6}
 .stgCap.panel{margin-top:-12px;font-size:15px;padding:8px 12px}
 .pstrip .hudStats{flex-basis:100%;gap:4px 10px}.pstrip .hudStats span b{font-size:16px}.psBtns{margin-left:0}
 .feed.panel{padding:12px 12px}.feedL li{font-size:16px;padding:9px 0;grid-template-columns:3.2em 1fr}
 .stage{aspect-ratio:3/1}}
@media (max-width:900px){.p-map{order:4}.p-hon{order:5}.p-lord{order:6}.p-stat{order:7}.p-fam{order:8}.p-figs{order:9}.p-sugo{order:10}.p-log{order:11}}
@media (max-width:900px){.pstrip .hudStats{flex-wrap:nowrap;gap:0 9px;font-size:11px}.pstrip .hudStats span{min-width:0}.pstrip .hudStats span b{font-size:15px}.pstrip .hudStats i{margin:0 1px}}

/* v1.5b スマホFV：上の帯（年齢・操作）と能力・お金の帯を貼り付け、記録が常に3件以上見える */
.p-pstrip{position:sticky;top:var(--hudH,0px);z-index:5;box-shadow:0 6px 12px -8px #000c}
.pstrip .hudMoney{display:flex;gap:16px;align-items:baseline;flex:1 1 auto}
.pstrip .hudMoney div{display:flex;flex-direction:row;align-items:baseline;gap:5px;min-width:0}
.pstrip .hudMoney span{font-size:12px;color:var(--sub)}
.pstrip .hudMoney b{font-size:22px;color:var(--gold2);font-weight:800;font-variant-numeric:tabular-nums}
.pstrip .hudMoney em{font-style:normal;font-size:12px;font-weight:700}.pstrip .hudMoney em.up{color:#9CC28A}.pstrip .hudMoney em.dn{color:#E58A72}
.psb.pm{position:relative}
.psb.pm.dot::after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:#4FB38A;box-shadow:0 0 0 2px var(--bg)}
@media (prefers-reduced-motion:no-preference){.psb.pm.dot::after{animation:dotp 1.6s ease-in-out infinite}@keyframes dotp{50%{transform:scale(1.35)}}}
@media (max-width:720px){
 body.inLife .jinmaku{height:40px}body.inLife .jinmaku .mons,body.inLife .brandt small{display:none}body.inLife .jinmaku .btn{padding:3px 8px;font-size:12px}
 body.inLife #lfWhere,body.inLife .hudMon{display:none}
 .hud{padding:4px 0 6px;gap:2px 10px}
 .hudCtl{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px}.hudCtl::-webkit-scrollbar{display:none}.hudCtl .btn{white-space:nowrap}
 .stage{aspect-ratio:2.9/1;min-height:110px}
 .stgCap.panel{position:relative;z-index:3;margin-top:-44px;background:linear-gradient(transparent,#000a 40%);border:0;color:#fff;font-size:14px;padding:16px 12px 8px;text-shadow:0 1px 3px #000;pointer-events:none}
 .pstrip.panel{padding:8px 10px;gap:6px 8px;margin-top:-6px}
 .pstrip .hudMoney{gap:12px}.pstrip .hudMoney b{font-size:19px}
 .psb{padding:6px 11px;font-size:13px}
 .feed.panel{padding:10px 12px}.feed .ttl{margin-bottom:2px}.feed .ttl h3{font-size:17px}
 .feedL li{font-size:17px;line-height:1.55;padding:10px 0}
}

/* 天運 */
.tenun{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:14px;color:var(--sub)}
.tnL{font-family:var(--f-brush);color:var(--gold2);font-size:18px}
.tnD{display:inline-flex;gap:4px}.tnD i{width:12px;height:12px;border-radius:50%;border:1px solid var(--gold);display:inline-block}.tnD i.on{background:var(--gold)}.tnD i.full{background:#E9C46A;box-shadow:0 0 8px #E9C46A}
.tenun.ready .tnT b{color:#E9C46A}
.tenunHit{font-family:var(--f-brush);font-size:30px;color:#E9C46A;text-shadow:0 0 18px #E9C46A88;margin-bottom:6px}.tenunHit small{display:block;font-family:var(--f-body);font-size:14px;color:var(--ink)}
@media (prefers-reduced-motion:no-preference){.tenun.ready .tnD i{animation:dotp 1.4s ease-in-out infinite}.tenunHit{animation:agePop .9s cubic-bezier(.2,1.6,.4,1)}}

/* v1.6 観戦の演出 */
.tkmap,.minimap{position:relative}
.minimap{max-width:none;width:100%;margin:8px auto}
.minimap .jmap{max-height:260px;width:100%}
.jmap .fxl .inv{fill:none;stroke-width:9;stroke-linecap:round;opacity:.95;stroke-dasharray:1200;stroke-dashoffset:1200;animation:invDraw 1.1s ease forwards}
@keyframes invDraw{to{stroke-dashoffset:0}}
.jmap .fxl .bnm text,.jmap .fxl .zlb text{font-size:26px;font-weight:800;fill:#fff;paint-order:stroke;stroke:#1d1a14;stroke-width:6}
.jmap .fxl .bnm,.jmap .fxl .zlb{opacity:0;animation:fadein .5s ease forwards}
.jmap .fxl .kou text{font-size:24px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:6}
.jmap .fxl .kou{opacity:0;animation:kouPop 2.4s ease forwards}
@keyframes kouPop{0%{opacity:0;transform:var(--t,none)}15%{opacity:1}75%{opacity:1}100%{opacity:0}}
.mapBan{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:6px;pointer-events:none;z-index:3;animation:banIn 3.2s ease forwards}
.mapBan span{display:flex;align-items:center;gap:10px;background:#1d1a14ee;border:2px solid #B8432E;color:#fff;font-family:var(--f-brush);font-size:clamp(17px,2.6vw,26px);padding:6px 20px;white-space:nowrap;box-shadow:0 6px 20px #000a}
.mapBan i{width:16px;height:16px;border-radius:50%;display:inline-block}
@keyframes banIn{0%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0}}
.zcap{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:18px}.zcap b{font-family:var(--f-brush);font-size:24px;font-weight:400}.zcap span{color:var(--sub)}.zcap small{flex-basis:100%;text-align:center;color:var(--sub);font-size:13px}
@media (prefers-reduced-motion:reduce){.jmap .fxl *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}.mapBan{animation:none}}
.fjLeg{display:none}
@media (max-width:600px){#mFig .fujin{width:100%;max-width:100%}
 .fjLeg{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:13px;margin-bottom:4px}.fjLeg span{display:inline-flex;align-items:center;gap:5px;font-weight:700}.fjLeg i{width:12px;height:9px;display:inline-block}.fjLeg .a i{background:#C0392B}.fjLeg .b i{background:#2C5AA0}.fjLeg small{color:var(--sub);flex-basis:100%}
 .fujin .fhl,.fujin .ftm{display:none}.fujin .fph text{font-size:21px}
 .fujin .tgi{transform:scale(1.9)}}

/* 兵数の棒 */
.tbar{margin:0 0 8px}.tbn{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.tbn span{display:flex;flex-direction:column;line-height:1.15}.tbn span.b{align-items:flex-end;text-align:right}
.tbn b{font-family:var(--f-brush);font-weight:400;font-size:20px}.tbn em{font-style:normal;font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}
.tbn .a em{color:#E0604E}.tbn .b em{color:#6F9BE0}
.tbk{display:flex;height:16px;background:#2C5AA0;border:1px solid #1d1a14;overflow:hidden}.tbk i{display:block;background:#C0392B;transition:width 1.1s cubic-bezier(.4,0,.2,1)}.tbk s{flex:1}
#modal.war .tbar{padding-top:26px}
.tbar.flip .tbn,.tbar.flip .tbk,.force2.flip,.vsn.flip{flex-direction:row-reverse}.tbar.flip .tbn span.a{align-items:flex-end;text-align:right}.tbar.flip .tbn span.b{align-items:flex-start;text-align:left}.vsbig.flip .sd.a{order:3}.vsbig.flip .mid{order:2}.vsbig.flip .sd.b{order:1}.fjLeg.flip .a{order:2}.fjLeg.flip .b{order:1}.fjLeg.flip small{order:3}

/* v1.8 */
#skipBtn.on{background:var(--gold);color:#1d1a14}
.mLow{position:absolute;top:8px;right:8px;z-index:2;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 85%,transparent);color:var(--sub);font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;cursor:pointer}
.modal>.panel{position:relative}
.modal.low{visibility:hidden}
.mBack{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:21;background:#B8432E;color:#fff;border:0;font:inherit;font-weight:700;padding:12px 22px;border-radius:999px;box-shadow:0 6px 20px #000a;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.mBack{animation:mbp 1.6s ease-in-out infinite}@keyframes mbp{50%{box-shadow:0 0 0 8px #B8432E55,0 6px 20px #000a}}}
#omText{width:100%;box-sizing:border-box;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px;font:inherit;font-size:17px}
.p5{list-style:none;margin:0;padding:0}.p5 li{display:grid;grid-template-columns:4.2em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.p5 li.me{background:color-mix(in srgb,var(--gold) 12%,transparent)}.p5 .pa{font-family:var(--f-brush);font-size:30px;font-weight:400;color:var(--gold2);text-align:right}.p5 .pa small{font-size:13px}
.p5 .pn{font-size:18px;font-weight:700;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.p5 .pn small{color:var(--sub);font-weight:400;font-size:13px}.p5 p{margin:4px 0 0;font-size:14px;color:var(--sub);line-height:1.6}
.p5 .you{background:var(--shu);color:#fff;font-size:12px;padding:1px 8px}.p5 .lnk{background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline dotted}
.dtabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.dtabs button{border:1px solid var(--line);background:none;color:var(--sub);font:inherit;font-size:13px;padding:3px 10px;cursor:pointer}.dtabs button[aria-pressed="true"]{background:var(--gold);color:#1d1a14;border-color:var(--gold)}
#endLogL{max-height:520px;overflow:auto}
.omL{list-style:none;margin:0;padding:0}.omL li{padding:6px 0;font-size:17px}.omL span{color:var(--sub);font-size:13px;margin-right:10px}
#endPeers,#endOmoi,#endLog{margin-top:14px}

/* v1.8b スマホ：下に固定の大ボタン・ホーム画面に追加・☆ */
.mbar{display:none}
@media (max-width:720px){
 body[data-scr="scrStart"] #startBar,body[data-scr="scrCert"] #certBar{display:flex}
 .mbar{position:fixed;left:0;right:0;bottom:0;z-index:12;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(6px);border-top:1px solid var(--line)}
 .mbar button{font:inherit;border-radius:6px;min-height:56px;cursor:pointer}
 .mbar .mb1{flex:1.3;background:var(--shu);color:#fff;border:0;font-size:20px;font-weight:800;font-family:var(--f-brush)}
 .mbar .mb2{flex:1;background:transparent;color:var(--ink);border:1px solid var(--line);font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.mbar .mb2 small{color:var(--sub);font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body[data-scr="scrStart"],body[data-scr="scrCert"]{padding-bottom:96px}
 body[data-scr="scrCert"] #startLifeBtn{display:none}
}
.a2hs{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent);padding:14px;margin:12px 0}.a2hs .n{font-family:var(--f-brush);font-size:40px;font-weight:400;line-height:1;background:var(--shu);color:#fff;padding:6px 14px;border-radius:6px}.a2hs p{margin:0 0 8px}.a2hs .row{gap:8px}
.ptime{display:block;margin-top:8px}
.fdPeers{margin:0 0 6px;font-size:14px;color:#7FB7A6}.fdPeers b{color:var(--ink)}
.feedL li{cursor:pointer}.feedL li.fav .fdx::after{content:" ☆";color:#E9C46A;font-weight:800}
#mOpts button[data-au]{background:transparent!important;border:1px dashed var(--line)!important;box-shadow:none!important;opacity:.55;font-size:14px!important;font-weight:400!important;padding:8px 14px!important}
#mOpts button[data-au]::before{display:none}#mOpts button[data-au]:hover{opacity:.85}

/* v1.9 ① 読みやすさ：本文はゴシック、文字は大きく、色は明るく。見出しと名前は明朝・筆のまま */
:root{--f-ui:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP","Yu Gothic UI","Yu Gothic","Meiryo",system-ui,sans-serif}
:root:not([data-theme="light"]){--ink:#F3EEE3;--sub:#C2B8A3}
:root[data-theme="light"]{--ink:#17140E;--sub:#5A4F3B}
body{font-family:var(--f-ui);font-size:16px;line-height:1.8;letter-spacing:.02em;-webkit-font-smoothing:antialiased}
h1,h2,#mTitle,.cert h2,#endName,#certName,.hudName{font-family:var(--f-body)}
.muted{font-size:max(13px,.92em)}
.feedL li{font-size:18px;line-height:1.75;font-weight:500}.feedL .fa{font-size:14px;font-weight:600}
.feedL li.realm .fdx,.feedL li.q .fdx{font-size:15px}
#mText{font-size:19px;line-height:1.75}#mOpts button{font-size:18px}#mOpts button small{font-size:14px;color:var(--sub)}
.stgCap.panel{font-weight:600}
.pstrip .hudStats{font-size:13px}.pstrip .hudStats span b{font-weight:800}
.log li{font-size:16px;line-height:1.7}
@media (max-width:720px){body{font-size:16px}.feedL li{font-size:17px}#mText{font-size:18px}}
/* v1.9 ② 舞台の家族 */
.stgFam{position:absolute;inset:0;z-index:1;pointer-events:none}
@media (max-width:720px){.stgFam{bottom:34px}.stage{aspect-ratio:2.4/1;max-height:200px}}
@media (prefers-reduced-motion:no-preference){
 .stgFam .fm,.stgFam .bob{transform-box:fill-box;transform-origin:50% 100%}
 .stgFam .bob{animation:famBob 2.6s ease-in-out infinite}
 @keyframes famBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
 .stgFam .fin{animation:famIn 1.2s cubic-bezier(.2,1.5,.4,1) both}
 @keyframes famIn{0%{opacity:0;transform:translateY(-30px) scale(.3)}100%{opacity:1;transform:none}}
 .stgFam .fout{animation:famOut 2.4s ease forwards}
 @keyframes famOut{0%{opacity:1}100%{opacity:0;transform:translateY(-40px)}}
}
@media (prefers-reduced-motion:reduce){.stgFam .fout{display:none}}
.tyomi{font-size:13px;letter-spacing:.3em;color:var(--sub);margin:-4px 0 10px}
.hero{align-items:start}.hero>:first-child{padding-top:8px}

/* 結末 */
.endingOv{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at 50% 40%,#2a2418ee,#0b0a08f8);display:grid;place-items:center;padding:16px;overflow:auto}
.edBox{max-width:560px;text-align:center;color:#F3EEE3}
.edNo{letter-spacing:.3em;font-size:13px;color:#C9B48A}
.edChap{font-size:clamp(40px,9vw,64px);color:#E9C46A;line-height:1.2;margin:6px 0;text-shadow:0 0 24px #E9C46A55}
.edLead{font-size:18px;font-weight:700;margin-bottom:10px}
.edMon{display:flex;justify-content:center;margin:8px 0}
.edBody{font-size:17px;line-height:1.9;margin:10px 0}
.edPoem{font-size:18px;color:#C9B48A;margin:14px 0}
.edGot{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.edGot span{border:1px solid #5b5446;padding:3px 10px;font-size:13px;color:#7a705c}.edGot span.on{border-color:#E9C46A;color:#E9C46A}
@media (prefers-reduced-motion:no-preference){.edBox>*{animation:capIn 1s ease both}.edBox>*:nth-child(2){animation-delay:.4s}.edBox>*:nth-child(3){animation-delay:.9s}.edBox>*:nth-child(4){animation-delay:1.2s}.edBox>*:nth-child(5){animation-delay:1.6s}.edBox>*:nth-child(6){animation-delay:2.2s}.edBox>*:nth-child(n+7){animation-delay:2.8s}}

/* スマホのヘッダー右上の操作 */
.hudM{display:none}
@media (max-width:720px){
 .hud{grid-template-columns:auto minmax(0,1fr) auto}
 .hudM{display:grid;grid-template-columns:auto auto;gap:4px;grid-column:3;grid-row:1;align-self:center}
 .hudM .btn{padding:4px 8px;font-size:12px;white-space:nowrap;min-width:44px;min-height:30px}
 .hudM #mSpd{background:var(--gold);color:#1d1a14}.hudM #mSkip.on{background:var(--gold);color:#1d1a14}
 .hudM #mMore{position:relative;font-weight:700;letter-spacing:.1em}.hudM #mMore.dot::after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:#4fbf8a}
 .hud .hudCtl{display:none}.hud.ctlOpen .hudCtl{display:flex}.hud.ctlOpen #mMore{background:color-mix(in srgb,var(--gold) 22%,transparent)}
 .hudInfo{min-width:0}.hudNameW{min-width:0;overflow:hidden}.hudName{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ageW{flex:none}
}

@media (max-width:720px){
 .hud .yomi{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .hudM .btn{padding:4px 6px;font-size:11px;min-width:40px;letter-spacing:.02em}
 .hud.ctlOpen #pauseBtn,.hud.ctlOpen #skipBtn{display:none}
 .jinmaku .btn{white-space:nowrap}
}
@media (max-width:380px){.jinmaku .btn{padding:4px 7px;font-size:12px;letter-spacing:0}.jinmaku .brandt{font-size:clamp(18px,6vw,24px)}}

/* PC：下中央に浮かぶ大ボタン */
@media (min-width:721px){
 body[data-scr="scrStart"] #startBar,body[data-scr="scrCert"] #certBar{display:flex}
 .mbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:12;gap:10px;padding:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--gold);border-radius:8px;box-shadow:0 10px 30px #000a,0 0 0 4px color-mix(in srgb,var(--bg) 70%,transparent)}
 .mbar button{font:inherit;border-radius:6px;min-height:56px;cursor:pointer;padding:0 26px}
 .mbar .mb1{min-width:240px;background:var(--shu);color:#fff;border:0;font-size:22px;font-weight:800;font-family:var(--f-brush);letter-spacing:.12em;transition:filter .2s}.mbar .mb1:hover{filter:brightness(1.12)}
 .mbar .mb2{min-width:170px;background:transparent;color:var(--ink);border:1px solid var(--line);font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.mbar .mb2 small{color:var(--sub);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body[data-scr="scrStart"],body[data-scr="scrCert"]{padding-bottom:110px}
}

/* v2.5 トップの動く数字 */
.live{display:grid;grid-template-columns:auto auto 1fr;gap:6px 26px;align-items:end;margin:14px 0 12px}
.lvN b{display:block;font-family:var(--f-num,Georgia),serif;font-size:clamp(30px,3.4vw,44px);font-weight:700;color:var(--gold2);line-height:1.05;font-variant-numeric:tabular-nums}
.lvN span{display:block;font-size:12px;color:var(--sub);line-height:1.4;margin-top:2px}
.lvNow{grid-column:1/-1;margin:0;font-size:13px;color:#7FB7A6;display:flex;gap:8px;align-items:center}
.lvNow i{width:8px;height:8px;border-radius:50%;background:var(--shu);flex:none;animation:lvP 1.1s ease-in-out infinite}
.lvNow.pop span{animation:lvIn .5s ease}
@keyframes lvP{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes lvIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (max-width:720px){.live{grid-template-columns:1fr 1fr;gap:4px 16px}.lvN b{font-size:30px}}
@media (prefers-reduced-motion:reduce){.lvNow i,.lvNow.pop span{animation:none}}

/* 出生札：能力値の表 */
.nouryoku{display:grid;grid-template-columns:auto 1fr;margin-top:16px;border:2px solid var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 14%,var(--panel)),var(--panel));box-shadow:0 6px 20px #0006}
.nyL{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 14px;background:linear-gradient(180deg,#B8432B,#7d2a1a);color:#fff;writing-mode:vertical-rl}
.nyL b{font-family:var(--f-brush);font-size:20px;letter-spacing:.2em}.nyL small{font-size:11px;opacity:.85;writing-mode:horizontal-tb}
.nyG{display:grid;grid-template-columns:repeat(5,1fr)}
.nyG div{display:flex;flex-direction:column;align-items:center;border-left:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}.nyG div:first-child{border-left:0}
.nyG span{width:100%;text-align:center;font-size:14px;letter-spacing:.2em;padding:6px 0;background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--gold2);font-weight:700}
.nyG b{font-size:clamp(30px,4vw,42px);font-weight:800;color:#fff;padding:6px 0 8px;font-variant-numeric:tabular-nums;line-height:1.1}
.nyG .top b{color:#F2C14E;text-shadow:0 0 14px #F2C14E66}
/* 出生札：この一生を始める */
.cert #startLifeBtn{grid-column:1/-1;justify-self:center;width:min(520px,100%);min-height:72px;margin-top:8px;border:0;border-radius:8px;background:linear-gradient(180deg,#d0513a,#a93a24);color:#fff;font-family:var(--f-brush);font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:.3em;box-shadow:0 10px 28px #a93a2466,inset 0 1px 0 #fff3;animation:ctaGlow 2.4s ease-in-out infinite}
.cert #startLifeBtn:hover{filter:brightness(1.1)}
@keyframes ctaGlow{0%,100%{box-shadow:0 10px 28px #a93a2455,inset 0 1px 0 #fff3}50%{box-shadow:0 10px 38px #e0614a99,0 0 0 4px #e0614a33,inset 0 1px 0 #fff3}}
@media (max-width:720px){.nyG span{font-size:12px;letter-spacing:.05em}.nyL{padding:8px 8px}.nyL b{font-size:16px}
 .mbar #cbStart{animation:ctaGlow 2.4s ease-in-out infinite;font-size:22px}}
@media (min-width:721px){body[data-scr="scrCert"].ctaVis #certBar{display:none}}
@media (prefers-reduced-motion:reduce){.cert #startLifeBtn,.mbar #cbStart{animation:none}}

.nyL{writing-mode:horizontal-tb;min-width:74px}.nyL b{letter-spacing:.08em;font-size:19px}
@media (max-width:720px){.nyL{min-width:54px;padding:6px 4px}.nyL b{font-size:14px;letter-spacing:0}.cert .kv{grid-template-columns:repeat(3,1fr);gap:8px 12px}}

/* 軍勢の陣印 */
.jmap .army .amon,.jmap .army0 .amon{fill:#fff;font-family:var(--f-brush);font-weight:700;paint-order:stroke;stroke:#0008;stroke-width:3px}
.jmap .army .alb{fill:#fff;font-family:var(--f-brush);font-size:26px;font-weight:700;paint-order:stroke;stroke:#000;stroke-width:6px;letter-spacing:.05em}
.jmap .tring{transform-box:fill-box;transform-origin:center;opacity:0;animation:tring 1.6s ease-out 2 forwards}
@keyframes tring{0%{opacity:.95;transform:scale(.6)}100%{opacity:0;transform:scale(3.2)}}

.fujin .fjDate text{font-family:var(--f-brush);fill:#2b2418;paint-order:stroke;stroke:#F7F1E1;stroke-width:4px;font-weight:700}

/* v2.7 見どころ */
.mido{display:flex;flex-direction:column;gap:10px}
.midoG{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.midoG figure{margin:0;background:var(--panel);border:1px solid var(--line)}
.midoG img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block}
.midoG figcaption{padding:8px 10px 10px;font-size:13px;color:var(--sub);line-height:1.6}
.midoG figcaption b{display:block;color:var(--gold2);font-size:15px;margin-bottom:2px}
.howlink{display:inline-block;margin-top:4px;font-size:13px}
.midoMore{display:none;font-size:14px;align-self:flex-end}
@media (max-width:520px){.midoTop{display:none}.midoMore{display:inline-block}}
@media (max-width:980px){.midoG{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.midoG{grid-template-columns:1fr 1fr;gap:8px}.midoG figcaption{font-size:12px;padding:6px 8px 8px}.midoG figcaption b{font-size:13px}}

/* v2.8 コレクション */
.colG{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px;align-items:start}
.colMap{position:relative}
.colMapS{width:100%;height:auto;display:block}
.colMapS path{fill:color-mix(in srgb,var(--ink) 8%,transparent);stroke:var(--line);stroke-width:.6}
.colMapS path.on{fill:var(--gold);stroke:#7a5f22}
.colMapL{position:absolute;left:4px;top:2px;font-size:13px;color:var(--sub)}
.colMapL b{font-size:26px;color:var(--gold2);font-family:var(--f-brush)}
.colRows{display:flex;flex-direction:column;gap:10px}
.colL{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.colL b{font-size:15px}
.colL span{color:var(--gold2);font-size:18px}
.colL small{color:var(--sub);font-size:12px}
.colBar{height:6px;background:color-mix(in srgb,var(--ink) 10%,transparent);margin-top:4px}
.colBar i{display:block;height:100%;background:linear-gradient(90deg,#A88534,#E6C878)}
.colR .muted{font-size:12px;margin-top:2px}
.colPiv{display:flex;flex-wrap:wrap;gap:4px;margin-top:-4px}
.colPiv span{font-size:12px;padding:1px 7px;border:1px solid var(--line);color:var(--sub)}
.colPiv span.on{border-color:var(--gold);color:#1A140A;background:var(--gold2)}
.colNew{display:flex;flex-direction:column;gap:2px;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent);padding:10px 14px;margin-bottom:14px}
.colNew b{color:var(--gold2)}
@media (max-width:720px){.colG{grid-template-columns:1fr}.colMap{max-width:360px;margin:0 auto;width:100%}}

/* v2.9 生まれる人物の例・見どころ8枚 */
.hero>div{min-width:0}.umare{margin:14px 0 4px;min-width:0;max-width:100%}.umareG{width:100%;min-width:0}
.umareG{display:flex;gap:6px;align-items:flex-end}
.umareG figure{margin:0;flex:1 1 0;min-width:0;text-align:center}
.umareG img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;display:block;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);box-shadow:0 6px 18px #0008}
.umareG figcaption{font-size:11px;color:var(--sub);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.umareG figure.q span{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;border:1px dashed var(--line);font-size:34px;color:var(--gold);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.umareN{margin:10px 0 0;font-size:14px;color:var(--sub)}
.umareN b{color:var(--ink);font-weight:500}
.midoG figcaption{position:relative;padding-left:44px!important;min-height:58px}
.midoNo{position:absolute;left:10px;top:9px;width:26px;height:26px;border:1px solid var(--gold);color:var(--gold2);font-size:15px;display:flex;align-items:center;justify-content:center}
.midoLinks{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;font-size:14px}
.midoMore{display:none!important}
@media (max-width:520px){.umareG{gap:3px}.umareG figcaption{letter-spacing:-.04em}.umareG figcaption{font-size:10px}.midoG figcaption{padding-left:36px!important}.midoNo{left:7px;width:22px;height:22px;font-size:13px}.midoLinks{justify-content:center}}

/* v2.9d 武将の絵を大きく（6人） */
.umareG{gap:8px}
.umareG figcaption{font-size:12.5px;color:var(--ink);margin-top:5px}
@media (max-width:720px){.umareG{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.umareG figcaption{font-size:12px}}

/* v2.9e 見どころ6枚を大きく */
.midoG{grid-template-columns:repeat(3,1fr)!important;gap:16px}
.midoG figcaption{font-size:14px}
.midoG figcaption b{font-size:17px}
@media (max-width:820px){.midoG{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:560px){.midoG{grid-template-columns:1fr!important;gap:14px}.midoG figcaption{font-size:13.5px;padding-left:44px!important}.midoG figcaption b{font-size:16px}.midoNo{left:10px;width:26px;height:26px;font-size:15px}}

/* v3.0 一生の数字・やりこみ度 */
#endNum:empty{display:none}
.lnum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lnum>div{border:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.lnum b{font-size:20px;color:var(--gold2);font-weight:500;line-height:1.3}
.lnum small{font-size:11px;color:var(--sub)}
@media (max-width:720px){.lnum{grid-template-columns:repeat(2,1fr)}.lnum b{font-size:17px}}
.colTot{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:4px 0 16px;padding:12px 16px;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.colTot b{font-family:var(--f-brush);font-size:34px;color:var(--gold2);line-height:1;display:block}
.colTot small{font-size:14px;color:var(--sub);margin-left:2px}
.colTotBar{height:10px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.colTotBar i{display:block;height:100%;background:linear-gradient(90deg,#A88534,#E6C878)}
.colSt{font-style:normal;color:var(--gold2);margin-left:8px;font-size:13px;letter-spacing:1px}
.colSt em{font-style:normal;color:color-mix(in srgb,var(--ink) 22%,transparent)}

/* v3.1 文字を大きく・前世の記録1行・お問い合わせ */
.midoG figcaption{font-size:15px!important;line-height:1.65}
.midoG figcaption b{font-size:20px!important;margin-bottom:4px}
.midoNo{width:30px!important;height:30px!important;font-size:17px!important;top:11px!important}
.midoG figcaption{padding-left:50px!important}
.howto li{font-size:16px}
.tsub{font-size:16px}
#honRules{font-size:15px}
.scn .nm{font-size:22px}
@media (max-width:560px){.midoG figcaption b{font-size:18px!important}.midoG figcaption{font-size:14px!important}}
@media (min-width:721px){.past br{display:none}.past div{flex-wrap:nowrap;align-items:baseline}.past div>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past div>span:first-child>.muted::before{content:"　"}.past div>span:last-child{white-space:nowrap}}
#ctDlg{position:fixed;inset:0;z-index:60;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px}
#ctDlg[hidden]{display:none!important}
.ctBox{max-width:560px;width:100%}
.ctL{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:14px;color:var(--sub)}
.ctL input,.ctL select,.ctL textarea{font:inherit;color:var(--ink);background:var(--bg2);border:1px solid var(--line);padding:8px 10px}

/* v3.2 拡散バー・名将誕生・課金案内 */
.buzz{border-color:var(--gold)}
.buzzL{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.bz{border:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;background:color-mix(in srgb,var(--ink) 3%,transparent)}
.bz p{margin:0;font-size:15px;line-height:1.7}
.bz .btn{align-self:flex-end}
.buzzR{margin-top:12px;gap:8px;flex-wrap:wrap}
.xfol{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-color:#e7e7e7;color:#f3f3f3}
.xfol small{font-size:11px;color:var(--sub)}
.upsell{margin-top:14px;padding:12px 14px;border:1px solid var(--gold);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 14%,transparent),transparent);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.upsell b{color:var(--gold2);font-size:16px}
.upsell span{font-size:13px;color:var(--sub);flex:1 1 260px}
.cUp{display:block;margin-top:8px;font-size:13px}
.colAct{gap:8px;flex-wrap:wrap;margin:-6px 0 14px}
@media (max-width:720px){.buzzL{grid-template-columns:1fr}}
#ssrOv{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
#ssrOv[hidden]{display:none!important}
.ssrBg{position:fixed;inset:0;background:radial-gradient(circle at 50% 40%,#5a3d0c 0%,#120c05 55%,#000 100%);animation:ssrIn .5s ease-out}
.ssrRays{position:fixed;left:50%;top:40%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(from 0deg,#ffd76a22 0deg 6deg,transparent 6deg 18deg);animation:ssrSpin 18s linear infinite,ssrIn 1s ease-out;pointer-events:none}
.ssrBox{position:relative;text-align:center;max-width:420px;width:100%;animation:ssrPop .7s cubic-bezier(.2,1.6,.4,1)}
.ssrTier{font-size:64px;line-height:1;background:linear-gradient(180deg,#fff6c8,#e6c878 40%,#a8792a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px #ffcf5a88);letter-spacing:.08em}
.ssrBox.SR .ssrTier{font-size:54px}.ssrBox.R .ssrTier{font-size:46px}
.ssrLab{color:#ffe7a0;letter-spacing:.2em;font-size:14px;margin-top:4px}
.ssrFace{width:180px;margin:14px auto 8px;box-shadow:0 0 0 2px #e6c878,0 0 40px #ffcf5a99;animation:ssrGlow 2.4s ease-in-out infinite}
.ssrFace img,.ssrFace svg{width:100%;height:auto;display:block}
.ssrName{font-size:46px;color:#fff;text-shadow:0 0 20px #ffcf5a}
.ssrSub{font-size:13px;color:#e8dcc0}
.ssrOdd{margin-top:6px;font-size:14px;color:#ffd76a}
.ssrBox .xfol{margin-top:12px}
@keyframes ssrSpin{to{transform:rotate(360deg)}}
@keyframes ssrIn{from{opacity:0}to{opacity:1}}
@keyframes ssrPop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes ssrGlow{50%{box-shadow:0 0 0 2px #fff3c4,0 0 70px #ffd76acc}}
@media (prefers-reduced-motion:reduce){.ssrRays,.ssrBox,.ssrFace{animation:none}}
