/* 練習演出（effects.css）を試作0.3の見た目に合わせる上書き。effects.css の後に読み込む */
.garden-window{border:3px solid var(--ink);border-radius:0;box-shadow:0 5px 0 var(--ink);height:120px;margin-bottom:10px}
.garden-land{background:#7fae70;box-shadow:100px -28px 0 #a9c98f}
.garden-trainer{left:38%;width:115px}
.garden-trainer svg,.garden-companions svg{overflow:visible}
.train.resonance{background:none}
.practice-overlay{background:#140e08c7;backdrop-filter:none}
.practice-cinema{border:4px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 #000a;background:var(--card)}
.practice-top{background:var(--ink);color:#fff;font-weight:900;font-size:14px;letter-spacing:0;padding:8px 14px}
.practice-skip{color:#fff;border:2px solid #7a6446;background:#3d2f22;font-weight:700;min-height:0;padding:3px 10px}
.practice-heading{min-height:0;padding:10px 16px 12px}
.practice-kicker{display:inline-block;letter-spacing:0;font-size:13px;font-weight:900;color:#fff;background:var(--teal);padding:1px 10px}
.resonance .practice-kicker{background:var(--red)}
.practice-heading h2{font-family:inherit;font-weight:900;font-size:34px;color:var(--ink);margin:4px 0 0}
.practice-heading p{font-size:13px;font-weight:700;color:#6d5a40}
.practice-stage{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:linear-gradient(#8fcbe3,#e6f1d8)}
.stage-hill{background:#7fae70}.stage-hill.far{background:#a9c98f}
.stage-floor{background:#e3d49a;box-shadow:0 6px 0 #b39b6e}
.practice-particles i{width:10px;height:10px;background:var(--gold);border:2px solid var(--ink);transform:rotate(45deg)}
.practice-hit-label{font-size:26px;font-weight:900;color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill}
.resonance .practice-hit-label{color:var(--gold);font-size:28px}
.resonance-node{border:2px solid var(--ink);border-radius:0;font-weight:900;font-size:12px;background:#fff}
.practice-results{padding:14px 16px 6px;min-height:0}
.practice-score{flex-wrap:wrap;gap:8px}
.score-chip{border:3px solid var(--ink);border-radius:0;box-shadow:0 4px 0 var(--ink);color:#fff;min-width:0;padding:6px 10px;gap:8px}
.score-chip span{font-weight:800;font-size:13px}
.score-chip strong{font-size:26px;font-weight:900;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill}
.score-hp{background:var(--hp)}.score-atk{background:var(--atk)}.score-def{background:var(--def)}.score-spd{background:var(--spd)}.score-hit{background:var(--hit)}.score-spi{background:var(--spi)}
.practice-bonds{font-size:13px;font-weight:700;color:var(--red)}
.practice-bottom{border-top:3px dashed #c7b48c;padding:10px 16px 14px}
.practice-hint{font-weight:800;color:var(--ink);font-size:13px}
.practice-next{border:3px solid var(--ink);border-radius:0;background:var(--red);box-shadow:0 4px 0 var(--ink);font-size:16px;font-weight:900;padding:10px 24px}
.practice-next:active:not(:disabled){transform:translateY(4px);box-shadow:none}
.target-ring{border-color:var(--ink);border-width:4px}
.focus-orb{background:radial-gradient(#fff8cd,#f0b42988 60%,transparent 70%)}
.practice-rock{border-top-color:#9aa597}
@media(max-width:760px){.practice-heading h2{font-size:26px}.score-chip strong{font-size:20px}.garden-window{height:74px}.garden-trainer{width:80px}.garden-companions svg{width:40px}}

/* ===== 試作0.4 演出（docs/カムトラ動画調査_画面と演出.md を参考に、墨と朱で独自に） ===== */
/* 押した練習ボタンから光が噴き出す */
.train.ignite{z-index:5;animation:ignite .38s ease-out forwards}
.train.ignite::after{content:"";position:absolute;inset:-60px;background:repeating-conic-gradient(from 0deg,#fff6 0 6deg,transparent 6deg 18deg);border-radius:50%;animation:rays .38s ease-out forwards;pointer-events:none}
@keyframes ignite{0%{transform:scale(1)}40%{transform:scale(1.06);background:#fff}100%{transform:scale(1.12);background:#fff;box-shadow:0 0 0 2000px #fff8}}
@keyframes rays{from{transform:scale(.4) rotate(0);opacity:1}to{transform:scale(1.6) rotate(40deg);opacity:0}}

/* カットイン本体（約2.75秒。2回目以降は短縮） */
.cutin{position:fixed;inset:0;z-index:300;overflow:hidden;background:var(--paper);--u:1;pointer-events:none}
.cutin.short{--u:.55}
.ci-flash{position:absolute;inset:0;background:#fff;animation:ciFlash calc(2750ms*var(--u)) linear forwards}
@keyframes ciFlash{0%{opacity:1}9%{opacity:1}18%{opacity:0}88%{opacity:0}94%{opacity:1}100%{opacity:1}}
.ci-lines{position:absolute;inset:-50%;background:repeating-conic-gradient(from 3deg at 50% 50%,var(--ink) 0 1.4deg,transparent 1.4deg 9deg);opacity:0;animation:ciLines calc(2750ms*var(--u)) linear forwards}
.cutin-resonance .ci-lines{background:repeating-conic-gradient(from 3deg at 50% 50%,var(--red) 0 1.6deg,transparent 1.6deg 8deg)}
@keyframes ciLines{0%,30%{opacity:0;transform:rotate(0)}38%{opacity:.85}100%{opacity:.85;transform:rotate(14deg)}}
.ci-bands{position:absolute;left:0;right:0;top:9%;display:flex;flex-direction:column;gap:10px}
.ci-band{position:relative;height:78px;display:flex;align-items:center;gap:12px;background:var(--c);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);transform:skewY(-5deg);opacity:0;padding:0 18px;overflow:hidden}
.ci-band.from-l{animation:bandL calc(2750ms*var(--u)) cubic-bezier(.2,.9,.3,1.2) forwards;animation-delay:calc((300ms + var(--k)*170ms)*var(--u))}
.ci-band.from-r{flex-direction:row-reverse;animation:bandR calc(2750ms*var(--u)) cubic-bezier(.2,.9,.3,1.2) forwards;animation-delay:calc((300ms + var(--k)*170ms)*var(--u))}
@keyframes bandL{0%{opacity:1;transform:skewY(-5deg) translateX(-110%)}12%{transform:skewY(-5deg) translateX(0)}100%{opacity:1;transform:skewY(-5deg) translateX(3%)}}
@keyframes bandR{0%{opacity:1;transform:skewY(-5deg) translateX(110%)}12%{transform:skewY(-5deg) translateX(0)}100%{opacity:1;transform:skewY(-5deg) translateX(-3%)}}
.ci-face{width:120px;height:120px;flex:none;transform:scale(1.6) translateY(-6px)}
.ci-face svg,.ci-face img{width:100%;height:100%}
.ci-band b{font-size:30px;font-weight:900;color:#fff;-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;transform:skewY(5deg)}
.ci-stamp{position:absolute;left:50%;top:58%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;background:var(--red);border:7px solid var(--ink);box-shadow:8px 8px 0 var(--ink);display:flex;align-items:center;justify-content:center;opacity:0;animation:stamp calc(2750ms*var(--u)) forwards}
.ci-stamp span{font-size:64px;font-weight:900;color:#fff;letter-spacing:-2px;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;writing-mode:vertical-rl}
.cutin-boost .ci-stamp{background:var(--gold)}
@keyframes stamp{0%,44%{opacity:0;transform:scale(2.6) rotate(-30deg)}50%{opacity:1;transform:scale(.88) rotate(-12deg)}55%{transform:scale(1.04) rotate(-12deg)}60%,100%{opacity:1;transform:scale(1) rotate(-12deg)}}
.ci-word{position:absolute;left:0;right:0;top:79%;text-align:center;font-size:52px;font-weight:900;color:#fff;-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;transform:rotate(-4deg);opacity:0;animation:word calc(2750ms*var(--u)) forwards}
@keyframes word{0%,52%{opacity:0;transform:rotate(-4deg) translateY(30px) scale(.6)}58%{opacity:1;transform:rotate(-4deg) scale(1.12)}63%,100%{opacity:1;transform:rotate(-4deg) scale(1)}}
.cutin{animation:quake calc(2750ms*var(--u)) linear}
@keyframes quake{0%,49%{translate:0 0}51%{translate:-8px 6px}53%{translate:7px -5px}55%{translate:-4px 3px}57%,100%{translate:0 0}}

/* 獲得量：斜めに飛び込んで弾み、階段状に重なる */
.practice-score.stair{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.stair .score-chip{margin-left:0;transform:none;animation:chipIn .42s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--k)*110ms)}
@keyframes chipIn{0%{opacity:0;transform:translateX(90px) scale(1.7)}70%{opacity:1;transform:translateX(-4px) scale(.94)}100%{opacity:1;transform:scale(1)}}

/* 2回押し */
.train.armed,.btn.armed{outline:4px solid var(--red);outline-offset:2px;transform:translateY(-6px);box-shadow:0 11px 0 var(--ink)}
.arm-hint{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);white-space:nowrap;background:var(--red);color:#fff;border:3px solid var(--ink);font-size:12px;font-weight:900;padding:1px 8px;z-index:3;animation:armwob .5s ease-in-out infinite alternate}
@keyframes armwob{from{transform:translateX(-50%) rotate(-3deg)}to{transform:translateX(-50%) rotate(3deg)}}
.btn.armed{position:relative}

/* 共鳴の糸と「書」の印 */
.trainings{position:relative}
.reso-thread{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:4}
.rt-shadow{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:round}
.rt-line{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:14 7;animation:thread 1s linear infinite}
.rt-knot{fill:var(--red);stroke:var(--ink);stroke-width:3}
@keyframes thread{to{stroke-dashoffset:-21}}
.sho-mark{position:absolute;left:-8px;top:-12px;width:30px;height:30px;border-radius:50%;background:var(--card);border:3px solid var(--red);color:var(--red);font-weight:900;font-size:16px;line-height:24px;text-align:center;transform:rotate(-10deg);z-index:5}

/* 上部の帯 */
.runbar{position:sticky;top:0;z-index:400;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:6px 14px;border-bottom:3px solid var(--gold);font-weight:900}
.rb-phase{background:var(--red);border:2px solid #fff;padding:0 8px;font-size:13px;transform:rotate(-3deg)}
.rb-days{display:flex;gap:3px}
.rb-days i{width:18px;height:14px;background:#5a4a3a;border:2px solid #fff3;font-style:normal;font-size:10px;line-height:10px;text-align:center}
.rb-days i.done{background:var(--gold)}
.rb-days i.now{background:#fff;border-color:var(--gold);transform:translateY(-3px);box-shadow:0 3px 0 var(--gold)}
.rb-days i.fight{background:var(--red);color:#fff;width:22px}
.rb-days i.fight.done{background:#7a2a1a}
.rb-energy{display:flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:12px}
.rb-gauge{flex:1;height:12px;background:#5a4a3a;border:2px solid #fff;max-width:240px}
.rb-gauge i{display:block;height:100%;background:var(--leaf);transition:width .6s cubic-bezier(.3,1.4,.5,1)}
.rb-energy.low .rb-gauge i{background:var(--red)}
.rb-energy b{font-size:16px;min-width:2em}
.rb-day{font-size:12px}.rb-day b{font-size:20px;color:var(--gold);margin-right:2px}
.has-runbar .overlay,.has-runbar .practice-overlay{top:42px}
.practice-overlay{overflow:auto;align-items:safe center}
.stair .score-chip strong{font-size:24px}.practice-score.stair{gap:3px}
@media(max-width:760px){.runbar{gap:6px;padding:5px 8px}.rb-days i{width:11px}.rb-days i.fight{width:16px}.rb-energy>span:first-child{display:none}.ci-band{height:64px}.ci-band b{font-size:22px}.ci-face{width:90px;height:90px}.ci-word{font-size:34px;-webkit-text-stroke:8px var(--ink)}.ci-stamp{width:130px;height:130px;margin:-65px 0 0 -65px}.ci-stamp span{font-size:48px}}
@media (prefers-reduced-motion: reduce){.rt-line,.arm-hint{animation:none}}

/* バトル：技名の帯・大技の暗転・ダメージ数字 */
.arena-side{z-index:2}
.arena::after{content:"";position:absolute;inset:0;background:#0d0906;opacity:0;pointer-events:none;transition:opacity .15s;z-index:1}
.arena.big-move::after{opacity:.78}
.arena-side.caster{z-index:3}.arena-side.caster .arena-mon{animation:caster 1.1s ease-out}
@keyframes caster{0%{scale:1;translate:0 0}25%,70%{scale:1.4;translate:0 -10px}100%{scale:1;translate:0 0}}
.arena.big-move .arena-side:not(.caster) .arena-mon{filter:brightness(.6)}
.skill-band{position:absolute;top:14px;z-index:4;background:var(--card);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:2px 16px;font-weight:900;font-size:18px;animation:band .9s ease-out forwards}
.skill-band.from-p{left:0;border-left:0;--sx:-100%}
.skill-band.from-e{right:0;border-right:0;--sx:100%;background:#3a2a20;color:#fff}
.skill-band span::before{content:"技";margin-right:.5em;color:var(--red);font-size:13px}
@keyframes band{0%{transform:translateX(var(--sx))}15%,80%{transform:translateX(0)}100%{transform:translateX(0);opacity:0}}
.dmg-pop{position:absolute;left:50%;top:18%;z-index:5;font-size:34px;font-weight:900;color:#fff;-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;animation:dmg 1.1s cubic-bezier(.2,1.5,.4,1) both;pointer-events:none}
.dmg-pop.crit{font-size:46px;color:var(--gold)}
.dmg-pop.heal{color:#9be38a}
.dmg-pop.miss{font-size:24px;color:#ddd}
@keyframes dmg{0%{opacity:0;transform:translate(-50%,20px) scale(.4)}25%{opacity:1;transform:translate(-50%,-10px) scale(1.15)}40%{transform:translate(-50%,-4px) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-30px) scale(1)}}
@media(max-width:760px){.skill-band{font-size:15px}.dmg-pop{font-size:26px}.dmg-pop.crit{font-size:34px}}

/* 育成の削除ボタン（2回押し） */
.btn.discard{background:var(--card);color:var(--red);border-color:var(--red)}
.btn.discard.armed{background:var(--red);color:#fff;border-color:var(--ink);animation:wob .5s ease-in-out infinite alternate}
.home-resume .btn{white-space:nowrap}
/* 背景：赤の国の訓練場（チャッピー作 2026-10-09）。修行の窓と練習の演出に敷く */
.garden-window{height:160px!important;background:url(art/bg/train.jpg) center 46%/cover no-repeat!important;border:3px solid var(--ink)!important;border-radius:0!important}
.garden-window .garden-cloud,.garden-window .garden-land{display:none}
.practice-stage{background:url(art/bg/train.jpg) center 70%/cover no-repeat!important}
.practice-stage .stage-sun,.practice-stage .stage-hill,.practice-stage .stage-floor{display:none}
/* 修行の窓：キャラの大きさをそろえる（画像は高さで合わせる）・何日目かを大きく（2026-10-09） */
.garden-window .garden-trainer{left:46%;bottom:6px;width:auto;height:118px;transform:translateX(-50%)}
.garden-window .garden-companions{left:auto;right:4%;bottom:8px;display:flex;align-items:flex-end}
.garden-window .garden-trainer img,.garden-window .garden-trainer svg{height:118px;width:auto;display:block}
.garden-window .garden-companions img,.garden-window .garden-companions svg{height:92px;width:auto;margin-left:-26px;display:block}
.garden-day{position:absolute;left:8px;top:8px;z-index:2;display:grid;grid-template-columns:auto auto;align-items:end;column-gap:2px;padding:10px 22px 9px;background:url(art/ui/btn_wood.png) center/100% 100% no-repeat;color:#3a2410;font-family:var(--game-font,sans-serif);font-weight:900;filter:drop-shadow(0 3px 0 #2a1f16)}
.garden-day small{grid-column:1/-1;font-size:11px;color:#a8331d}
.garden-day b{font-size:34px;line-height:.9;color:#c8442b;-webkit-text-stroke:3px #fff6df;paint-order:stroke fill}
.garden-day span{font-size:13px;padding-bottom:3px}
.garden-day em{grid-column:1/-1;font-style:normal;font-size:11px}
.garden-window .garden-trainer{left:42%;z-index:2}
.garden-window .garden-companions{right:2%;z-index:1}
.garden-window .garden-companions>*:nth-child(n+3){display:none}
/* 2026-10-13 練習結果の「次へ」も押せる木札にそろえる（押せる＝縄つきの木札） */
.practice-next{background:none!important;box-shadow:none!important;border:0!important;border-style:solid!important;border-width:9px 26px 11px!important;border-image:url(art/ui/btn_red.png) 50 120 56 fill/9px 26px 11px stretch!important;color:#fff8e6;-webkit-text-stroke:3px #3a1408;paint-order:stroke fill;filter:drop-shadow(0 3px 0 #2a1f16);padding:4px 10px!important}
.garden-window.gw-yellow{background-image:url(art/bg/battle_yellow.jpg)!important;background-position:center 30%!important} /* 時成通り：専用の背景ができるまで黄の国の戦闘背景 */
/* 練習の結果の窓（2026-10-21）：溶岩の岩としめ縄の板 */
.practice-cinema{border-style:solid!important;border-width:40px 26px 26px!important;border-image:url(art/ui/tr/red_board_v2.png) 100 70 64 70 fill / 40px 26px 26px stretch!important;background:none!important;box-shadow:0 10px 0 #140e08!important;border-radius:0!important;padding:0 4px 6px!important}
.practice-top{background:transparent!important;border:0!important;color:#5a3b22!important}
.practice-top span{background:#d9482b;color:#fff;border:2px solid #2a1f16;padding:0 8px;font-weight:900}
.practice-heading{background:transparent!important}
.practice-kicker{background:#5a3b22!important;color:#fbefd3!important;border:2px solid #2a1f16}
.practice-stage{border:3px solid #2a1f16!important;box-shadow:0 4px 0 #2a1f16}
.practice-results{background:transparent!important}
.practice-bottom{background:transparent!important;border-top:2px dashed #b99a6a!important}

/* ===== 2026-10-26 修行の画面 v3（ユーザー要望 44〜60）=====
   カムトラ・パワプロ・ウマ娘の練習画面の「仕組み」だけ借りる：上に場面と主人公、いまの能力を大きく1段、練習の札の横に来ている仲間の顔（絆のバーつき）。見た目は赤の国の部品のまま */
/* 44：何日目の札は左上のすみへ（主人公の顔にかぶせない） */
.tr-red .tr-date{left:1%;top:2%;width:24%}
.tr-red .tr-date small{font-size:10px;margin-right:2px}.tr-red .tr-date b{font-size:24px}.tr-red .tr-date span{font-size:11px}
.tr-red .tr-hero{left:40%}.tr-red .tm-0{left:60%}.tr-red .tm-1{left:78%}
/* 「今日のあと バトル！」の札はゆらさない（飾りに動きをつけない） */
.tr-count.now{animation:none!important}
/* 57・50：結果の札は練習のあとには出さない。指南・イベントのあとだけ、絆のバーがのびる札を短く出して消す */
.tr .tr-last{top:30%;width:80%;animation:trPop .25s ease-out var(--el,0ms) both,trFade .5s ease-in calc(2600ms + var(--el,0ms)) forwards!important;display:flex;flex-direction:column;align-items:center;gap:2px}
.tr-lbonds{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}
.tr-lb{display:flex;align-items:center;gap:4px}
.tr-lb .tr-face{width:30px!important;height:30px!important;flex:none}
.tr-lb-bar{width:70px;height:9px;background:#5a3b22;border:1.5px solid #2a1f16;overflow:hidden}
.tr-lb-bar i{display:block;height:100%;width:var(--f);background:#e0a91a;animation:pcBar .7s ease-out calc(300ms + var(--el,0ms)) forwards}
.tr-lb-bar.lit i{background:#ff7a2a}
.tr-lb em{font-style:normal;font-size:13px;color:#8a2410}
@keyframes pcBar{from{width:var(--f)}to{width:var(--t)}}
/* 54：能力はいまの値を大きく。前のターンからの増え分は出さない。細いゲージは1000まで */
.tr .tr-stats .tr-st{height:40px!important;flex-direction:column;gap:0;padding:1px 2px 3px;justify-content:center;line-height:1.05}
.tr .tr-stats .tr-st span:first-child{font-size:10px}
.tr .tr-stats .tr-st b{font-size:18px;line-height:1}
.tr-st-g{display:block;width:84%;height:3px;margin-top:2px;background:#d8bb84;border-radius:2px;overflow:hidden}
.tr-st-g i{display:block;height:100%;background:var(--c)}
.tr .tr-stats .tr-st em{display:none}
.tr-stats .tr-up{top:-14px!important}
/* 53：仲間の顔を大きく。名札（切り株）と絆のバーも太く */
.tr .tr-tm-face{width:min(100%,50px)!important}
.tr .tr-bond{height:7px;width:84%}
/* 45・55：稽古札。仲間は札の右上に大きな顔で重ね（ウマ娘のように顔の下に絆のバー）、上がる能力は札の下 */
.tr-red .train.tr-card{position:relative}
.tr-red .tr-board.red .tr-art{margin-right:18px}
.tr-red .tr-card .tr-mates{position:absolute;right:-3px;top:0;display:flex;flex-direction:column;gap:2px;z-index:3}
.tr-red .tr-card .tr-mates.n0{display:none}
.tr-fw{display:flex;flex-direction:column;align-items:center;gap:1px}
.tr-red .tr-card .tr-face{width:32px!important;height:32px!important;border-width:2px}
.tr-fbar{display:block;width:30px;height:5px;background:#5a3b22;border:1px solid #2a1f16;overflow:hidden}
.tr-fbar i{display:block;height:100%;background:#e0a91a}.tr-fbar.lit i{background:#ff7a2a}
.tr-red .tr-card .tr-mates.n3 .tr-fw+.tr-fw{margin-top:-4px}
.tr-red .tr-card .tr-mates.n4 .tr-fw+.tr-fw,.tr-red .tr-card .tr-mates.n5 .tr-fw+.tr-fw{margin-top:-12px}

/* ---- 練習の結果の窓 v3（52・50・47・58）---- */
.pc3 .practice-heading{display:flex;align-items:center;gap:8px;padding:0 2px 6px!important;text-align:left;min-height:0!important}
.pc3 .practice-heading h2{margin:0!important;font-size:24px!important;flex:1;min-width:0;white-space:nowrap}
.pc3 .practice-kicker{flex:none}
.pc3 .practice-skip{margin-left:auto;flex:none}
.pc3 .practice-stage{height:min(58vw,260px)!important}
.pc-cast{position:absolute;left:2%;right:2%;top:5%;bottom:3%;display:flex;align-items:flex-end;justify-content:center;gap:1%;z-index:4;pointer-events:none}
.pc3 .practice-lead{position:relative!important;left:auto!important;bottom:auto!important;width:auto!important;height:94%;max-width:46%;flex:0 0 auto;display:flex;align-items:flex-end}
.pc3 .practice-lead img,.pc3 .practice-lead svg{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom}
.pc3 .practice-friends{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;display:flex;align-items:flex-end;justify-content:center;gap:0!important;height:100%;flex:1 1 0;min-width:0}
.pc3 .practice-friend{width:auto!important;flex:1 1 0;min-width:0;height:80%;display:flex;align-items:flex-end;justify-content:center}
.pc-cast.f2 .practice-friend{height:74%}.pc-cast.f3 .practice-friend{height:64%}.pc-cast.f4 .practice-friend{height:54%}
.pc-cast.f3 .practice-friend:nth-child(2),.pc-cast.f4 .practice-friend:nth-child(even){margin-bottom:6%}
.pc3 .practice-friend img,.pc3 .practice-friend svg{height:100%;width:100%!important;object-fit:contain;object-position:bottom}
.pc3 .practice-friend span{display:none}
/* 大成功：修行の部品の朱の札に「大成功」（専用の絵が届くまでの仮） */
.pc-great{position:absolute;left:50%;top:4%;width:56%;z-index:8;transform:translateX(-50%) rotate(-5deg);animation:pcStamp .45s cubic-bezier(.2,1.5,.4,1) both}
.pc-great[hidden]{display:none}
.pc-great-plate{display:flex;align-items:center;justify-content:center;width:100%;padding-left:16%}
.pc-great-plate b{font-family:var(--game-font);font-weight:400;font-size:clamp(24px,8vw,38px);color:#fff8e6;-webkit-text-stroke:6px #3a1408;paint-order:stroke fill;letter-spacing:.06em}
@keyframes pcStamp{0%{opacity:0;transform:translateX(-50%) rotate(-5deg) scale(2.2)}60%{opacity:1;transform:translateX(-50%) rotate(-5deg) scale(.94)}100%{opacity:1;transform:translateX(-50%) rotate(-5deg) scale(1)}}
.pc3 .practice-results{padding:8px 2px 4px!important;min-height:0!important}
.pc3 .practice-score.stair{gap:4px}
.pc3 .stair .score-chip{margin-left:0;padding:3px 10px}
.pc3 .stair .score-chip strong{font-size:22px}
.pc3.great .score-chip,.great .pc3 .score-chip{box-shadow:0 0 0 3px #ffd25a,0 4px 0 var(--ink)}
.pc-none{margin:0;font-weight:900;color:#6d5a40;font-size:14px}
/* 2026-10-26 ユーザー：絆は場面の仲間の頭の上に（小さなバー＋数字）。仲間の幅に合わせて縮み、となりと重ならない */
.pc3 .practice-friend{position:relative}
.pc-fb{position:absolute;left:50%;bottom:var(--hb,100%);transform:translateX(-50%);width:min(92%,60px);display:flex;flex-direction:column;align-items:stretch;gap:1px;z-index:6;animation:pcFbIn .3s ease-out both;animation-delay:calc(var(--k)*90ms)}
.pc-fb-n{display:flex;align-items:center;justify-content:center;gap:1px;line-height:1}
.pc-fb em{font-style:normal;font-family:var(--game-font);font-weight:400;font-size:15px;color:#fff6df;-webkit-text-stroke:4px #2a1f16;paint-order:stroke fill;white-space:nowrap}
.pc-fb.lit em{color:#ffd25a}
.pc-bar{display:block;width:100%;height:7px;box-sizing:border-box;background:#5a3b22;border:2px solid #2a1f16;overflow:hidden}
.pc-bar i{display:block;height:100%;width:var(--f);background:#e0a91a;animation:pcBar .8s ease-out .35s forwards}
.pc-fb.lit .pc-bar i{background:#ff7a2a}
.pc3 .practice-friend .pc-lit{width:14px!important;height:auto!important;margin:0!important;max-width:none;flex:none;object-fit:contain}
.pc-cast.f4 .pc-fb em{font-size:13px;-webkit-text-stroke:3px #2a1f16}.pc3 .pc-cast.f4 .practice-friend .pc-lit{width:11px!important}
@media(min-width:600px){.pc-fb{width:min(80%,72px)}.pc-fb em,.pc-cast.f4 .pc-fb em{font-size:18px;-webkit-text-stroke:4px #2a1f16}.pc-bar{height:9px}.pc3 .practice-friend .pc-lit,.pc3 .pc-cast.f4 .practice-friend .pc-lit{width:16px!important}}
@keyframes pcFbIn{from{opacity:0}to{opacity:1}}
.pc3 .practice-bottom{padding:6px 2px 0!important;gap:8px}
.pc3 .practice-hint{font-size:13px}
.practice-overlay.leaving{opacity:0;transition:opacity .2s;pointer-events:none}
/* 59：イベントの選択肢は左右に並べる */
.scene-choices.n2{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
.scene-choices.n2 .gchoice{margin-top:0;height:100%;padding-left:2px;padding-right:2px}
.scene-choices.n2 .gchoice>.gc-key{margin-bottom:2px}
.scene-choices.n2 .gchoice b{font-size:14px!important}
.scene-choices.n2 .gchoice small{font-size:11px!important}
.tr-red .tr-art .tr-cost{white-space:nowrap;font-size:8.5px!important;padding:0 2px;bottom:5%;max-width:none}
.tr-red .tr-art .tr-cost em{display:inline;padding:0 2px;margin-left:2px}
.tr-red .tr-card .tr-face{width:34px!important;height:34px!important}.tr-fbar{width:32px}
/* 仲間は横に少し重ねて大きく（場面の幅いっぱいに） */
.pc3 .practice-lead{max-width:40%}
.pc3 .practice-friend{overflow:visible}
.pc3 .practice-friend img,.pc3 .practice-friend svg{width:150%!important;max-width:none;margin:0 -25%;height:100%;flex:none}
.pc-cast.f1 .practice-friend img,.pc-cast.f1 .practice-friend svg{width:100%!important;margin:0}
.overlay .scene-choices.n2 .gchoice{border-width:8px 12px 10px!important;border-image-width:8px 12px 10px!important;padding:2px 2px 4px}
.scene-choices.n2{padding-left:8px!important;padding-right:8px!important}
.tr .tr-last{top:5%;width:86%}
.tr-lbonds{gap:3px 10px}
.tr-lb .tr-face{width:26px!important;height:26px!important}
.tr-lb-bar{width:52px;height:8px}
.tr-lb em{font-size:12px;min-width:2em}
.pc-great-art{display:block;width:100%;height:auto}
.practice-prop.pc-anim{left:auto;right:3%;bottom:6%;width:40%;height:auto;opacity:1}.pc-anim img{width:100%;height:auto;display:block}
/* 2026-10-26 練習ごとのアニメ（practice_0〜5.png 横1段8コマ）：練習の演出の間に1回だけ再生して、最後のコマで止まる */
.pc-anim .pc-anim8{display:block;width:100%;aspect-ratio:1;background:no-repeat 0 0/800% 100%;animation:pcAnim8 .88s steps(8,jump-none) .08s both}
@keyframes pcAnim8{from{background-position-x:0%}to{background-position-x:100%}}
/* 練習後の能力の札の絵（score_0〜5.png 240×66：黒漆の札・左に色の宝玉）。数字は宝玉の右の黒い所に */
.practice-score.score-art .score-chip{background-color:transparent!important;background-position:center;background-size:100% 100%;background-repeat:no-repeat;border:0;box-shadow:none;width:150px;height:auto;aspect-ratio:240/66;box-sizing:border-box;padding:0 9% 0 30%!important;display:flex;align-items:center;justify-content:space-between;gap:4px;transform:none;animation-name:chipInArt}
.practice-score.score-art .score-chip span{font-size:13px;font-weight:900;color:#f3e2c0;white-space:nowrap}
.practice-score.score-art .score-chip strong{font-size:22px;color:#fff6df;-webkit-text-stroke:4px #1a0f08;paint-order:stroke fill}
.pc3.great .practice-score.score-art .score-chip{box-shadow:none;filter:drop-shadow(0 0 3px #ffd25a)}
@keyframes chipInArt{0%{opacity:0;transform:translateX(90px) scale(1.7)}70%{opacity:1;transform:translateX(-4px) scale(.94)}100%{opacity:1;transform:scale(1)}}
/* 絆練習の演出（bond.png 横1段8コマ：紅白の組みひもが結ばれ炎が灯る）。カットインのまん中の丸い判子（コードの仮）のかわりに、大きく1回だけ再生 */
.ci-bond{position:absolute;left:50%;top:56%;width:min(86vw,380px);aspect-ratio:1;transform:translate(-50%,-50%);background:no-repeat 0 0/800% 100%;pointer-events:none;opacity:0;animation:ciBond8 calc(1500ms*var(--u)) steps(8,jump-none) calc(700ms*var(--u)) both,ciBondShow calc(2750ms*var(--u)) linear forwards}
@keyframes ciBond8{from{background-position-x:0%}to{background-position-x:100%}}
@keyframes ciBondShow{0%,25%{opacity:0}26%,100%{opacity:1}}
.tr-red .tr-art .tr-cost{display:flex!important;flex-direction:row!important;align-items:center;z-index:2}
.tr-red .tr-art .tr-cost em{white-space:nowrap}
/* 背の低い画面（iPhone SE など）：場面と仲間の段を少し詰めて、稽古札の大きさを守る */
@media (max-height:720px){
 .tr-red .tr-scene{height:min(20dvh,46vw)!important}
 .tr .tr-tm-face{width:min(100%,42px)!important}
 .tr .tr-stats .tr-st{height:36px!important}
 .tr .tr-stats .tr-st b{font-size:16px}
 .tr-red .tr-card .tr-face{width:28px!important;height:28px!important}.tr-fbar{width:26px}
}

/* 2026-10-26 ユーザー：仲間が3人来ても顔が能力の札（防+2など）にかぶらないように。
   顔の列は札の絵（.tr-art）の高さの中に収める。人数で割った高さに顔を小さくし（絆のバーが隠れないよう重ねない）、
   それでも小さすぎる画面（375×667 など）では右に2列目を作る。3人以上の札は絵を少し左へ寄せて2列目の場所をあける */
.tr-red .tr-card .tr-art>.tr-mates{position:absolute;left:100%;right:auto;top:0;bottom:0;margin-left:-8px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:0 2px;z-index:3;--n:1}
.tr-red .tr-card .tr-art>.tr-mates.n2{--n:2}.tr-red .tr-card .tr-art>.tr-mates.n3{--n:3}.tr-red .tr-card .tr-art>.tr-mates.n4{--n:4}.tr-red .tr-card .tr-art>.tr-mates.n5{--n:5}
.tr-red .tr-card .tr-art>.tr-mates .tr-fw{flex:0 0 auto;height:clamp(30px,calc(100% / var(--n)),42px);margin:0;gap:1px}
.tr-red .tr-card .tr-art>.tr-mates.n5 .tr-fw{height:clamp(24px,calc(100% / 3),42px)}
.tr-red .tr-card .tr-art>.tr-mates.n4,.tr-red .tr-card .tr-art>.tr-mates.n5{margin-left:-16px}
.tr-red .tr-board.red .tr-art:has(>.tr-mates.n3),.tr-red .tr-board.red .tr-art:has(>.tr-mates.n4),.tr-red .tr-board.red .tr-art:has(>.tr-mates.n5){margin-right:30px}
.tr-red .tr-card .tr-art>.tr-mates .tr-fw+.tr-fw{margin-top:0}
.tr-red .tr-card .tr-art>.tr-mates .tr-face{width:auto!important;height:calc(100% - 8px)!important;aspect-ratio:1;flex:0 0 auto}
.tr-red .tr-card .tr-art>.tr-mates .tr-fbar{width:100%;flex:0 0 auto}
.tr-red .tr-card .tr-art>.tr-mates .tr-fw{width:max-content}

/* ===== 2026-10-26 赤の国の修行のメイン画面 v4（ユーザー決定：組み立てから作り直し）=====
   上から：日付の帯1行／場面（画面の半分くらい）／能力6つ1段／選んだ練習の中身1行／練習の札6枚1列／指南・休む・技・ログ・中断
   どの段も高さを決めてあり、札を選んでも枠の大きさは変わらない。場面だけが残りの高さをうめる */
.page-training .tr.tq{--tr-off:10px;height:calc(100dvh - var(--tr-off) - env(safe-area-inset-bottom,0px));min-height:0;max-width:720px;gap:5px}
body:has(.tq) #runbar{display:none}
body:has(.tq) .overlay,body:has(.tq) .practice-overlay{top:44px}
/* 1. 日付の帯：朱の札（第1期 1日目）・8日の進み・バトルまで */
.tq-band{flex:0 0 36px;display:flex;align-items:center;gap:6px;background:#2a1f16;border-bottom:3px solid #c99a2e;padding:0 6px 0 2px;margin:0 -2px}
.tq-date{flex:0 0 auto;height:32px;width:136px;aspect-ratio:auto!important;display:flex;align-items:center;justify-content:center;gap:1px;padding-left:28px;box-sizing:border-box;color:#fff8e6;font-family:var(--game-font);-webkit-text-stroke:3px #5a1d10;paint-order:stroke fill;white-space:nowrap}
.tq-date>*{flex:none}.tq-date small{font-size:11px;margin-right:3px}.tq-date b{font-size:21px;line-height:1;font-weight:400}.tq-date span{font-size:11px}
.tq-days{flex:1 1 auto;min-width:0;display:flex;gap:3px;align-items:center}
.tq-days i{flex:1;height:9px;background:#5a4630;border-radius:2px}.tq-days i.done{background:#c99a2e}.tq-days i.now{background:#ffd75e;box-shadow:0 0 0 2px #fff6df}.tq-days i.fight{background:#a8341c}.tq-days i.fight.done,.tq-days i.fight.now{background:#e05a3a}
.tq-count{flex:0 0 auto;font-family:var(--game-font);font-size:13px;color:#fff6df;white-space:nowrap}
.tq-count b{font-size:20px;font-weight:400;color:#ffd75e;margin:0 1px;-webkit-text-stroke:3px #2a1408;paint-order:stroke fill}
.tq-count.now{color:#fff;background:#d9482b;border:2px solid #fff6df;padding:1px 6px}
/* 2. 場面 */
.tq-scene{position:relative;flex:1 1 auto;min-height:150px;background:#2a1f16 center 62%/cover no-repeat;border:3px solid #2a1f16;box-shadow:0 4px 0 #2a1f16;overflow:hidden}
/* 主人公は手前に大きく。来る仲間は主人公の横の少し奥に並べる（場面の高さを使う） */
.tq-cast{position:absolute;left:1%;right:56px;top:4%;bottom:38px;pointer-events:none}
.tq-hero{position:absolute;left:0;bottom:0;width:54%;height:76%;z-index:2;display:flex;align-items:flex-end;justify-content:center}
.tq-cast.m0 .tq-hero{left:8%;width:84%;height:92%}
.tq-cast.m1 .tq-hero{width:60%;height:82%}
.tq-hero .mon-img,.tq-hero svg{height:100%;width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 4px 0 rgba(42,31,22,.45))}
.tq-mates{position:absolute;right:0;bottom:14%;width:54%;height:46%;display:flex;align-items:flex-end;justify-content:center;z-index:1}
.tq-cast.m1 .tq-mates{width:46%;height:58%;bottom:10%}
.tq-cast.m2 .tq-hero{width:58%;height:80%}.tq-cast.m2 .tq-mates{width:50%;height:52%}.tq-cast.m4 .tq-mates,.tq-cast.m5 .tq-mates{width:60%;height:40%}
.tq-mate{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;overflow:visible}
.tq-mate:nth-child(even){margin-bottom:8%}
.tq-mate .mon-img,.tq-mate svg{height:100%;width:130%;max-width:none;margin:0 -15%;flex:none;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 0 rgba(42,31,22,.45))}
.tq-cast.m1 .tq-mate .mon-img,.tq-cast.m1 .tq-mate svg{width:100%;margin:0}
.tq-cards>.tq-card:first-child .arm-hint{left:-2px;transform:none}.tq-cards>.tq-card:last-child .arm-hint{left:auto;right:-2px;transform:none}
/* 右のはし：その練習に来る仲間の顔（切り株の輪）と絆のゲージを縦に */
.tq-side{position:absolute;right:4px;top:5px;max-height:calc(100% - 50px);width:50px;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:3}
.tq-sf{display:flex;flex-direction:column;align-items:center;gap:1px;flex:0 1 auto;min-height:0}
.tq-ring{position:relative;display:block;width:48px;aspect-ratio:235/226;filter:drop-shadow(0 2px 0 #2a1f16)}
.tq-ring .tr-face{position:absolute;left:19%;top:19%;width:62%!important;height:auto!important;aspect-ratio:1;border:0;background:#fbefd3}
.tq-ring .tr-face.lit{box-shadow:0 0 0 2px #ffd25a}
.tq-ring u{position:absolute;right:-2px;top:-2px;background:var(--red);color:#fff;font-size:10px;font-weight:900;text-decoration:none;border-radius:50%;width:15px;height:15px;line-height:13px;text-align:center;border:1.5px solid #2a1f16}
.tq-bond{display:block;width:44px;height:7px;background:#5a3b22;border:1.5px solid #2a1f16;overflow:hidden}
.tq-bond i{display:block;height:100%;background:#e0a91a}.tq-sf.lit .tq-bond i{background:#ff7a2a}
.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:40px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:38px;height:6px}.tq-side.n5{gap:1px}
.tq .tr-note{position:absolute;left:6px;top:6px;bottom:auto;right:auto;max-width:56%}
.tq .tr-last{top:8%;width:78%;left:calc(50% - 26px)}
/* 体力のバーは場面の下 */
.tq-stam{position:absolute;left:6px;right:6px;bottom:4px;height:32px;display:flex;align-items:center;gap:6px;z-index:3}
.tq-stam-l,.tq-stam b{font-family:var(--game-font);color:#fff;-webkit-text-stroke:4px #2a1f16;paint-order:stroke fill;font-size:15px;font-weight:400}
.tq-stam b{min-width:2em;text-align:right;font-size:18px}
.tq-stam .tr-tube{height:28px}
.tq-stam.low .tr-tube i{background:#d9482b}
/* 3. 能力6つを1段 */
.tq-stats{flex:0 0 40px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.tq-st{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;border-style:solid;border-width:4px 8px 5px;border-image:url(art/ui/btn_wood_warm.png) 40 110 46 fill/4px 8px 5px stretch;filter:drop-shadow(0 2px 0 #2a1f16);min-width:0}
.tq-st::before{content:'';position:absolute;left:-4px;right:-4px;top:-5px;height:3px;background:var(--c);border-radius:2px}
.tq-st>span:first-child{font-size:10px;color:#3a2410;font-weight:900}
.tq-st b{font-family:var(--game-font);font-size:18px;line-height:1;font-weight:400;color:#2a1408}
.tq-st.st-hp{--c:var(--hp)}.tq-st.st-atk{--c:var(--atk)}.tq-st.st-def{--c:var(--def)}.tq-st.st-spd{--c:var(--spd)}.tq-st.st-hit{--c:var(--hit)}.tq-st.st-spi{--c:var(--spi)}
.tq-st .tr-st-g{width:88%;margin-top:2px}
/* 4. 選んだ練習の中身：上がる量（能力の札の絵）・体力・失敗率を1行 */
.tq-detail{flex:0 0 32px;display:flex;align-items:center;gap:6px;background:#2a1f16;border:2px solid #c99a2e;box-shadow:0 3px 0 #1a120b;padding:0 6px 0 4px;min-width:0}
.tq-gains{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:4px;height:100%}
.tq-chip{flex:0 0 auto;height:22px;aspect-ratio:240/66;min-width:0;background:center/100% 100% no-repeat;display:flex;align-items:center;justify-content:space-between;gap:2px;padding:0 8px 0 26px;box-sizing:border-box;white-space:nowrap}
.tq-chip span{font-size:11px;font-weight:900;color:#f3e2c0}
.tq-chip b{font-family:var(--game-font);font-size:16px;font-weight:400;color:#fff6df;-webkit-text-stroke:3px #1a0f08;paint-order:stroke fill;line-height:1}
.tq-detail.g4 .tq-chip{height:19px;padding:0 6px 0 22px}.tq-detail.g4 .tq-chip b{font-size:13px}.tq-detail.g4 .tq-chip span{font-size:9px}
.tq-detail.g5 .tq-chip{height:16px;padding:0 5px 0 19px}.tq-detail.g5 .tq-chip b{font-size:11px}.tq-detail.g5 .tq-chip span{font-size:8px}
.tq-cost{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:0;line-height:1.05;font-size:10px;font-weight:900;color:#f1d79a;white-space:nowrap}
.tq-cost b{font-family:var(--game-font);font-weight:400;font-size:13px;color:#fff6df;margin-left:1px}
.tq-cost .risk b{color:#ff8a5a}
/* 5. 練習の札：6枚を横1列。ふだんは数字を出さない。選んだ札だけ持ち上がる */
.tq-board{flex:0 0 auto;border-style:solid;border-width:20px 12px 9px;border-image:url(art/ui/tr/red_board_v2.png) 100 70 64 70 fill/20px 12px 9px stretch;padding:9px 0 2px}
.tq .tq-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;align-items:end}
.tq .tq-card{position:relative;display:block;min-height:0;padding:0;margin:0 auto;width:100%;max-width:92px;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;outline:0!important;transition:transform .12s ease-out;filter:drop-shadow(0 3px 0 rgba(42,31,22,.55))}
.tq .tq-card::before{display:none}
.tq-art{position:relative;display:block;width:100%;aspect-ratio:267/404}
.tq-name{position:absolute;left:50%;top:60%;transform:translateX(-50%);height:24%;width:auto;max-width:98%}
.tq .tq-card.boost{filter:drop-shadow(0 0 5px #ffd25a) drop-shadow(0 3px 0 rgba(42,31,22,.55))}
.tq .tq-card.reso{filter:drop-shadow(0 0 7px #ff7a2a) drop-shadow(0 3px 0 rgba(42,31,22,.55))}
.tq .tq-card.sel{transform:translateY(-8px)}
.tq .tq-card.sel .tq-art::after{content:'';position:absolute;inset:5% 4% 0;border:3px solid #ffd25a;border-radius:4px;box-shadow:0 0 6px #ffd25a;pointer-events:none}
.tq .tq-card.armed{transform:translateY(-8px)}
.tq .tq-card:active{transform:translateY(-4px)}
.tq .tq-card .arm-hint{top:auto;bottom:2px;left:50%;transform:translateX(-50%);width:112%;white-space:normal;line-height:1.1;text-align:center;font-size:10px;padding:1px 0;background:none;border:0;border-style:solid;border-width:3px 8px 4px;border-image:url(art/ui/btn_red.png) 50 120 56 fill/3px 8px 4px stretch;color:#fff8e6;font-weight:400;-webkit-text-stroke:2px #3a1408;paint-order:stroke fill;z-index:5;box-sizing:border-box}
/* 仲間の来る印：札の右上に小さな顔を重ねて縦に */
.tq-come{position:absolute;right:-4px;top:4%;display:flex;flex-direction:column;align-items:center;z-index:3}
.tq-come .tr-face{width:20px!important;height:20px!important;border-width:1.5px}
.tq-come .tr-face+.tr-face{margin-top:-5px}
.tq-come.n4 .tr-face+.tr-face,.tq-come.n5 .tr-face+.tr-face{margin-top:-9px}
.tq-come .tr-face u{width:11px;height:11px;line-height:11px;font-size:8px;right:-3px;top:-3px}
.tq .sho-mark{left:-5px;top:-8px;width:20px;height:20px;font-size:11px;line-height:14px;border-width:2px}
/* 6. いちばん下：指南・休む・技・ログ・中断 */
.tq-foot{flex:0 0 46px;display:flex;gap:4px;align-items:stretch}
.tq-foot .btn{margin:0;min-width:0;min-height:0;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0 2px;box-sizing:border-box}
.tq-foot .btn.tq-main{flex:1.7 1 0;border-width:6px 18px 8px!important;border-image-width:6px 18px 8px!important}
.tq-foot .btn.small{flex:1 1 0;font-size:13px;padding:0 1px;white-space:nowrap}
.tq-foot .btn .moji{height:22px;width:auto;max-width:100%}
.tq-foot .btn small{font-size:10px;line-height:1.1;color:#fff;font-weight:900;-webkit-text-stroke:3px #2a1408;paint-order:stroke fill;opacity:1}
.tq-foot .btn.armed{transform:translateY(-4px);outline:0!important;box-shadow:none!important;filter:drop-shadow(0 0 5px #ffd25a) drop-shadow(0 3px 0 #2a1f16)}
.tq-foot .arm-hint{bottom:auto;top:-18px;font-size:10px;padding:0 4px;background:none;border:0;border-style:solid;border-width:3px 8px 4px;border-image:url(art/ui/btn_red.png) 50 120 56 fill/3px 8px 4px stretch;color:#fff8e6;-webkit-text-stroke:2px #3a1408;paint-order:stroke fill}
/* 背の低い画面（375×667 など） */
@media (max-height:700px){
 .tq-band{flex-basis:32px}.tq-date{height:28px}
 .tq-stats{flex-basis:36px}.tq-st b{font-size:16px}
 .tq-detail{flex-basis:28px}.tq-chip{height:20px}
 .tq-foot{flex-basis:42px}.tq-foot .btn{height:42px}
 .tq-ring{width:40px}.tq-bond{width:38px}
}
/* タブレット：札と場面を大きく、文字も少し大きく */
@media (min-width:600px){
 .tq-stats{flex-basis:46px}.tq-st b{font-size:22px}.tq-st>span:first-child{font-size:12px}
 .tq-detail{flex-basis:38px}.tq-chip{height:30px;padding:0 11px 0 36px}.tq-chip b{font-size:20px}.tq-chip span{font-size:13px}.tq-cost{font-size:12px;flex-direction:row;gap:10px}.tq-cost b{font-size:18px}
 .tq-ring{width:60px}.tq-bond{width:54px;height:8px}.tq-side{width:64px}.tq-cast{right:70px}
 .tq-foot{flex-basis:54px}.tq-foot .btn{height:54px}.tq-foot .btn .moji{height:28px}.tq-foot .btn.small{font-size:15px}
 .tq-come .tr-face{width:28px!important;height:28px!important}
 .tq .tq-cards{gap:8px}
 .tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:52px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:48px}
 .tq-band{flex-basis:44px}.tq-date{height:40px;width:170px;padding-left:36px}.tq-date small,.tq-date span{font-size:14px}.tq-date b{font-size:27px}.tq-count{font-size:16px}.tq-count b{font-size:25px}.tq-days i{height:11px}
 .tq-stam{height:40px}.tq-stam .tr-tube{height:36px}.tq-stam-l{font-size:18px}.tq-stam b{font-size:22px}.tq-cast{bottom:48px}.tq-side{max-height:calc(100% - 58px)}
}
body:has(.tq) .overlay,body:has(.tq) .practice-overlay{top:44px}
@media (min-width:600px){body:has(.tq) .overlay,body:has(.tq) .practice-overlay{top:52px}}

/* ===== 2026-10-26 ユーザー：修行のイベントの選択肢。A・Bの印はやめた（app.js）。木の札の上の字を太く濃く、縁取りで読みやすく。札の高さはむだなく、左右2列のまま ===== */
.overlay .scene-choices .gchoice{min-height:0;padding-top:3px;padding-bottom:4px;gap:2px}
.overlay .scene-choices .gchoice>.gc-body{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}
.overlay .scene-choices .gchoice b{font-family:var(--game-font);font-size:14.5px!important;font-weight:400;line-height:1.2;color:#2a1408;-webkit-text-stroke:4px #fff6df;paint-order:stroke fill}
.overlay .scene-choices .gchoice small{font-size:12px!important;line-height:1.3;font-weight:900;color:#3a1a08;-webkit-text-stroke:3px #fff6df;paint-order:stroke fill}
.overlay .scene-choices .gchoice.danger b,.overlay .scene-choices .gchoice.danger small{color:#fff8e6;-webkit-text-stroke-color:#3a1408}
.overlay .scene-choices .gchoice .gc-risk{-webkit-text-stroke:0}
/* 2026-10-26 能力の札を1列にしたので、右が空かないよう中央に寄せる */
.pc3 .practice-score.stair{align-items:center}
/* ==== 15. 修行画面の細かい直し（2026-10-26 ユーザー） ==== */
/* 15-8 木以外の札（チャッピー：art/ui/plate_*.png。どれも600幅・中は平ら）。修行まわりで役ごとに素材を分ける
   藍染めの布＝指南の窓の仲間の行 ／ 和紙の表具＝イベントの選択肢・指南の説明 ／ 石の板＝能力6つ ／ 黒の漆＝イベントの結果の札の台 ／ 朱の漆＝結果の見出し ／ 素焼き＝練習の結果の窓の知らせ
   暗い札（藍・黒・朱）は白字＋濃い縁取り、明るい札（和紙・石・素焼き）は濃い字＋白い縁取り */
/* 15-2 指南の窓：行の高さと顔を少し大きく。行は押せる物なので木の板（2026-10-26 押せる物は朱・木・黒の3種だけ。藍染めはやめた） */
.overlay .guide-list{gap:4px 8px}
.overlay .guide-list .gchoice{min-height:58px;margin-top:4px;padding:3px 8px 3px 4px;gap:9px;border-width:7px 12px 8px!important;border-image:url(art/ui/btn_wood_warm.png) 40 110 46 fill/7px 12px 8px stretch!important;filter:drop-shadow(0 3px 0 #1a120b)}
.overlay .guide-list .gl-face{width:48px;height:48px;border-color:#fff6df}
.overlay .guide-list .gl-main b{font-size:17px;color:#3a2410;-webkit-text-stroke:4px #fff6df;paint-order:stroke fill}
.overlay .guide-list .gchoice small,.overlay .guide-list .gl-bond small{color:#5a3a22!important;-webkit-text-stroke:3px #fff6df;paint-order:stroke fill}
.overlay .guide-list .gl-bond b{color:#3a2410;-webkit-text-stroke:4px #fff6df;paint-order:stroke fill;font-size:22px}
.overlay .guide-list .gl-bar{height:9px;border-color:#3a2410}
/* 15-3 指南の確認：仲間の絵を大きく、起きることを和紙の札に短く */
.gask{gap:8px}
.gask-body{display:flex;align-items:stretch;gap:8px;width:100%;max-width:420px}
.gask-art{flex:0 0 40%;height:168px;display:flex;align-items:flex-end;justify-content:center}
.gask-art .mon-img,.gask-art svg{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 0 rgba(42,31,22,.45))}
.gask-fx{flex:1 1 auto;min-width:0;list-style:none;margin:0;display:flex;flex-direction:column;justify-content:center;gap:5px;border-style:solid;border-width:10px 30px 10px;border-image:url(art/ui/plate_washi.png) 30 56 fill/10px 30px 10px stretch;padding:4px 0;color:#2a1408;font-size:14px;font-weight:900;line-height:1.3}
.gask-fx li{display:flex;align-items:center;gap:6px}
.gask-fx li b{font-family:var(--game-font);font-weight:400;font-size:19px;color:#c4401a;line-height:1}
.gask-fx .gl-bar{position:relative;flex:1;min-width:24px;height:10px;background:#5a3b22;border:1.5px solid #2a1f16;overflow:hidden}
.gask-fx .gl-bar i{display:block;height:100%;background:#e0a91a}.gask-fx .gl-bar em{position:absolute;top:0;bottom:0;background:#ff7a2a}
@media (min-width:600px){.gask-art{height:220px}.gask-fx{font-size:16px}.gask-fx li b{font-size:22px}}
/* 15-5 能力6つの段：札（石の板）のすぐ真下に、選んだ練習で上がる量「+6」。上がらない能力は空ける（高さは同じ） */
.tq-stats{flex:0 0 58px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.tq-sw{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.tq-sw .tq-st{flex:0 0 40px}
.tq-st{border-width:5px 8px 6px;border-image:url(art/ui/plate_ishi.png) 34 40 fill/5px 8px 6px stretch}
.tq-st>span:first-child{color:#2a1408;-webkit-text-stroke:2.5px #eef0f2;paint-order:stroke fill}
.tq-st b{color:#1e1208;-webkit-text-stroke:3px #eef0f2;paint-order:stroke fill}
/* 石の札の中が灰色で読みにくい（2026-10-28 ユーザー）：石はふちだけ見せ、中は明るい紙色にする */
.tq-st::after{content:'';position:absolute;inset:0;background:#f7f1e3;border-radius:3px;box-shadow:inset 0 0 0 1px #8a8f96;z-index:0}
.tq-st>*{position:relative;z-index:1}
.tq-st>span:first-child{-webkit-text-stroke:0}.tq-st b{-webkit-text-stroke:0;color:#1e1208}
.tq-up{flex:0 0 18px;display:flex;align-items:center;justify-content:center;font-family:var(--game-font);font-size:17px;line-height:1;color:#ffe08a;-webkit-text-stroke:4px #2a1408;paint-order:stroke fill;white-space:nowrap}
/* 15-5 体力の行：体力の数字のすぐ横に「−18」、その横に「失敗7%」を大きく。管の中の減る分は暗く */
.tq-stam .tr-tube s{position:absolute;top:33%;bottom:27%;background:#5a1a0c;opacity:.75;border-radius:0 20px 20px 0}
.tq-use{flex:0 0 auto;font-family:var(--game-font);font-size:20px;line-height:1;color:#ff9a6a;-webkit-text-stroke:4px #2a1408;paint-order:stroke fill;white-space:nowrap}
.tq-risk{flex:0 0 auto;display:flex;align-items:baseline;gap:1px;font-family:var(--game-font);color:#fff6df;-webkit-text-stroke:4px #2a1f16;paint-order:stroke fill;white-space:nowrap;margin-left:4px}
.tq-risk small{font-size:13px}.tq-risk b{font-size:20px;font-weight:400;line-height:1}
.tq-risk.mid b{color:#ffd75e}
.tq-risk.hi small,.tq-risk.hi b{color:#ff4326;-webkit-text-stroke:4px #fff2e0}
@media (max-height:700px){.tq-stats{flex-basis:52px}.tq-sw .tq-st{flex-basis:36px}.tq-up{flex-basis:16px;font-size:15px}}
@media (min-width:600px){.tq-stats{flex-basis:72px}.tq-sw .tq-st{flex-basis:46px}.tq-up{flex-basis:24px;font-size:22px}.tq-use,.tq-risk b{font-size:26px}.tq-risk small{font-size:16px}}
.tq-stam .tq-risk b{min-width:0;text-align:left}
/* 15-4 修行のイベントの結果（2ページ目）。1ページ目と同じマスに重ねて、窓の大きさを変えない */
.ev-stack{display:grid}
.ev-stack>.ev-pg{grid-area:1/1;min-width:0}
.ev-stack>.ev-pg.off{visibility:hidden;pointer-events:none}
.ev-stack>.ev-pg>.scene{height:100%;display:flex;flex-direction:column}
.ev-stack>.ev-pg>.scene>.scene-choices{margin-top:auto}
.evr .scene-window p{font-weight:900}
/* 上がった能力：能力の札を黒の漆の台にのせて絵の上に。絆：顔とバー */
.evr-gain{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:4;width:min(94%,520px);display:flex;flex-direction:column;align-items:center;gap:4px}
.evr-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;border-style:solid;border-width:9px 16px;border-image:url(art/ui/plate_kuro.png) 36 40 fill/9px 16px stretch;padding:2px 0}
.evr-chip{height:30px;aspect-ratio:240/66;background:center/100% 100% no-repeat;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 33px;box-sizing:border-box;white-space:nowrap}
.evr-chip span{font-size:12px;font-weight:900;color:#f3e2c0}
.evr-chip b{font-family:var(--game-font);font-weight:400;font-size:19px;line-height:1;color:#fff6df;-webkit-text-stroke:4px #1a0f08;paint-order:stroke fill}
.evr-chip.evr-hp{aspect-ratio:auto;padding:0 6px;gap:4px}
.evr-chip.evr-hp span{color:#fff6df;font-size:13px}
.evr-chip.evr-hp b{color:#9fe07a}
.evr-bonds{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;border-style:solid;border-width:9px 16px;border-image:url(art/ui/plate_kuro.png) 36 40 fill/9px 16px stretch;padding:1px 0}
.evr-bond{display:flex;align-items:center;gap:4px}
.evr-bond .tr-face{width:30px!important;height:30px!important;flex:0 0 auto}
.evr-bar{position:relative;width:60px;height:9px;background:#5a3b22;border:1.5px solid #fff6df;overflow:hidden}
.evr-bar i{display:block;height:100%;background:#e0a91a}.evr-bar em{position:absolute;top:0;bottom:0;background:#ff7a2a}
.evr-bond b{font-family:var(--game-font);font-weight:400;font-size:17px;line-height:1;color:#ffd75e;-webkit-text-stroke:4px #1a0f08;paint-order:stroke fill}
@media (min-width:600px){.evr-chip{height:38px}.evr-chip b{font-size:23px}.evr-chip span{font-size:14px}.evr-bond .tr-face{width:38px!important;height:38px!important}.evr-bar{width:80px;height:11px}.evr-bond b{font-size:21px}}
/* 15-8 イベントの選択肢：押せる物なので木の板（2026-10-26 和紙はボタンに使わない）。危ない選択肢は朱の漆（17節） */
.overlay .scene-choices .gchoice{border-image-source:url(art/ui/btn_wood_warm.png)!important;border-image-slice:40 110 46 fill!important}
.overlay .scene-choices.n2 .gchoice{border-width:8px 20px 8px!important;border-image-width:8px 20px 8px!important}
/* 15-8 指南のあとの知らせ（場面の上）は素焼きの札。字は白＋濃い縁取り */
.tq .tr-last{border-width:9px 18px 9px!important;border-image:url(art/ui/plate_suyaki.png) 40 44 fill/9px 18px 9px stretch!important}
.tq .tr-last b,.tq .tr-last span{color:#fff8ea!important;-webkit-text-stroke:3.5px #3a1408;paint-order:stroke fill}
/* 15-3 スマホ縦：絵を上に大きく、起きることは下の和紙に横いっぱい（文が変な所で折れないように） */
.gask-body{flex-direction:column;align-items:center;gap:4px}
.gask-art{flex:0 0 auto;width:62%;height:150px}
.gask-fx{width:100%;box-sizing:border-box;border-width:10px 26px;border-image-width:10px 26px;padding:4px 6px;gap:3px;word-break:keep-all}
@media (min-width:600px){.gask-art{height:210px}}
@media (max-height:700px){.gask-art{height:120px}}
.overlay .scene-choices.n2 .gchoice{border-width:8px 13px 8px!important;border-image-width:8px 13px 8px!important;padding-left:0;padding-right:0}
/* 15-4 結果は文の窓の中に：見出し（選んだこと）・能力の札・絆・起きたことの文。窓は残りの高さをうめる */
.ev-stack>.ev-pg>.scene.evr>.scene-window{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:6px}
.evr .evr-gain{position:static;transform:none;width:100%;align-items:flex-start}
.evr .evr-chips,.evr .evr-bonds{border:0;border-image:none;padding:0;justify-content:flex-start}
.ev-stack .scene *{animation:none!important}
.evr-chip.evr-hp.down b{color:#ff8a6a}.evr .scene-window>p{order:0}
/* 16-3（2026-10-26 ユーザー）：能力の札（score_*.png 240×66）の字が札からはみ出す → 絵を測った黒い所に置く。
   宝玉と金の仕切り＝左0〜27%、右の金のふち＝92.5%から右。黒い所の上下＝12%〜67%（その下は朱の帯）。
   名前は黒い所の左寄り、数字は右寄り。どちらも黒い所の上下のまん中。数字が3桁でも収まる大きさ */
.practice-score.score-art .score-chip,.evr-chip:not(.evr-hp){position:relative;display:block!important;padding:0!important;box-sizing:border-box;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
.practice-score.score-art .score-chip>span,.practice-score.score-art .score-chip>strong,.evr-chip:not(.evr-hp)>span,.evr-chip:not(.evr-hp)>b{position:absolute;top:12%;height:55%;display:flex;align-items:center;line-height:1;white-space:nowrap;margin:0}
.practice-score.score-art .score-chip>span,.evr-chip:not(.evr-hp)>span{left:29%}
.practice-score.score-art .score-chip>strong,.evr-chip:not(.evr-hp)>b{right:12%;justify-content:flex-end}
.practice-score.score-art .score-chip{width:150px}
.practice-score.score-art .score-chip>span{font-size:13px}
.practice-score.score-art .score-chip>strong{font-size:20px!important;-webkit-text-stroke:4px #1a0f08}
.evr-chip:not(.evr-hp){height:auto;width:112px;aspect-ratio:240/66}
.evr-chip:not(.evr-hp)>span{font-size:11px}
.evr-chip:not(.evr-hp)>b{font-size:16px;-webkit-text-stroke:3.5px #1a0f08}
@media (min-width:600px){.evr-chip:not(.evr-hp){width:140px;height:auto}.evr-chip:not(.evr-hp)>span{font-size:13px}.evr-chip:not(.evr-hp)>b{font-size:20px}}
/* 体力の札：能力の札と同じ高さの黒漆の表具（plate_kuro） */
.evr-chip.evr-hp{height:auto;aspect-ratio:auto;align-self:stretch;display:flex;align-items:center;gap:6px;padding:0 4px;border-style:solid;border-width:5px 10px;border-image:url(art/ui/plate_kuro.png) 36 40 fill/5px 10px stretch;background:none}
/* 16-3 イベントの結果の2ページ目：見出し・文・能力の札・絆を同じ左の線にそろえ、札は横に並べて折り返す */
.evr .scene-window{align-items:stretch;text-align:left}
.evr .scene-window>h2,.evr .scene-window>p{margin:0;text-align:left}
.evr .evr-gain{gap:6px}
.evr .evr-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;width:100%;align-items:stretch}
.evr .evr-chip:not(.evr-hp){width:100%}
.evr .evr-chip:not(.evr-hp)>span{font-size:12px}.evr .evr-chip:not(.evr-hp)>b{font-size:18px}
.evr .evr-bar{width:min(150px,40vw);height:10px}
@media (min-width:600px){.evr .evr-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.evr .evr-chip:not(.evr-hp)>span{font-size:14px}.evr .evr-chip:not(.evr-hp)>b{font-size:21px}}
.evr .evr-bonds{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:flex-start}
/* 16-5 練習名の札（practice_tag.png 300×74：朱の漆に金の縁）。字は札のまん中に大きく白字＋濃い縁取り */
.pc3 .practice-kicker.tag-art{background:none!important;border:0!important;border-style:solid!important;border-width:8px 15px!important;border-image:url(art/ui/tr/practice_tag.png) 20 34 fill/8px 15px stretch!important;box-sizing:border-box;min-width:104px;height:36px;padding:0 4px!important;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;letter-spacing:.06em;color:#fff!important;-webkit-text-stroke:4px #3a0c04;paint-order:stroke fill;filter:drop-shadow(0 2px 0 #2a140899)}
/* ==== 17. 押せる物の素材（2026-10-26 ユーザー決定。docs/世界観UI_方針.md「押せる物の素材」） ====
   強い色（朱の漆 plate_shu）は重要なことを決めるボタンだけ：修行を始める・出撃・挑む・ガチャを引く・次の修行へ・受け取る など
   ほかは優しい色の木の板：ふつう＝木の板 btn_wood（今のまま）／控えめ（もどる・いいえ・閉じる・ログ・技の説明・中断・飛ばす）＝灰色の木の板 btn_ash
   確認の「はい」「いいえ」は同じ形の板の色違い：はい＝btn_wood_warm、いいえ＝btn_ash（重要な「はい」だけ朱）
   タブ・切りかえは「えらんでいる所＝木の板／ほか＝灰色の木の板」
   大きさと並びは変えない：border-width はそのまま。朱の漆だけ絵の太さ（border-image-width）を漆の縁に合わせる。動き・光はつけない
   漆の板（600×147）は角の金具が54〜56pxまで → slice 54 56。戦闘の技ボタン・奥義の板・スロット・賭場・漫画のビューアは対象外 */
/* 朱の漆：重要な決定だけ */
:root :is(
  .btn.primary:not(.small):not(.ask-btn):not([data-action="close"]):not([data-action^="howto-p"]):not([data-action^="help-p"]):not([data-action="tuto-next"]):not([data-action="su-next"]):not([data-action="ev-next"]):not([data-action="story"]):not([data-action="nakama"]):not([data-action="rec-nick-ok"]),
  .g3-pull,.sg-roll,.msb .msb-get
){border-image-source:url(art/ui/plate_shu.png)!important;border-image-slice:54 56 fill!important;border-image-width:var(--pw,10px)!important;border-image-outset:0!important;border-image-repeat:stretch!important;background:none!important;color:#fff8e6!important;-webkit-text-stroke-color:#3a0c06!important;paint-order:stroke fill;text-shadow:none!important}
.btn.big,.g3-pull,.sg-roll{--pw:12px}
.msb .msb-get{--pw:7px}
/* 灰色の木の板：控えめなボタン・いいえ・タブのえらんでいない所 */
:root :is(
  .navbtn,.btn[data-action="close"]:not(.primary):not(.ask-btn),.gchoice[data-action="close"],
  .btn[data-action$="-no"],.ask-grid:has(.ask-btn.primary) .ask-btn:not(.primary),
  .practice-skip,.tri-skip,.ask-grid .ask-btn.quit,
  .btn[data-action="su-prev"],.btn[data-action="top"],.btn[data-action="howto-p:-1"],.btn[data-action="help-p:-1"],.btn[data-action="gres-close"],
  .btn[data-action="tr-skills"],.btn[data-action="tr-log"],.btn[data-action="items-use"],.btn[data-action="suspend-ask"],.ev-state-btn,.bp-auto,
  .b3-top button:not(.on),.nk-tab:not(.on),.ms-tab:not(.on),.ar-tabb:not(.on),.rd-fav:not(.on),.su-dk:not(.on),.set-tab:not(.on),.set-stab:not(.on),
  .btn.small:not(.primary):is([data-action^="su-sort:"],[data-action^="yr-filter:"],[data-action^="yr-sort:"],[data-action^="rd-tab:"],[data-action^="mn-n:"])
){border-image-source:url(art/ui/btn_ash.png)!important;border-image-slice:40 110 46 fill!important;border-image-outset:0!important;border-image-repeat:stretch!important;background:none!important;color:#3a2a1c!important;-webkit-text-stroke-color:#f6f0e4!important;paint-order:stroke fill;text-shadow:none!important}
:root :is(.navbtn,.modal .close,.overlay .close,.ask-grid .ask-btn,.nk-tab,.ms-tab,.ar-tabb) :is(small,b):not(.hud-menu-ico){color:inherit}
/* 木の板：重要でない進むボタン・わかった・読み物のページめくり・小さい買う／持ちこむ・タブのえらんでいる所 */
:root :is(
  .btn.primary:not(.ask-btn):is(.small,[data-action="close"],[data-action^="howto-p"],[data-action^="help-p"],[data-action="tuto-next"],[data-action="su-next"],[data-action="ev-next"],[data-action="story"],[data-action="nakama"],[data-action="rec-nick-ok"]),
  .practice-next,.b3-big button,.overlay .gchoice.danger,.tr-btn:not(.sell),
  .b3-top button.on,.nk-tab.on,.ms-tab.on,.ar-tabb.on,.rd-fav.on,.su-dk.on,.set-tab.on,.set-stab.on
){border-image-source:url(art/ui/btn_wood.png)!important;border-image-slice:40 110 46 fill!important;border-image-outset:0!important;border-image-repeat:stretch!important;background:none!important;color:#3a2410!important;-webkit-text-stroke-color:#fff6df!important;paint-order:stroke fill;text-shadow:none!important}
/* はい（重要でないもの）と黄の国の売る：あたたかい木の板 */
:root :is(.ask-grid .ask-btn.primary,.tr-btn.sell){border-image-source:url(art/ui/btn_wood_warm.png)!important;border-image-slice:40 110 46 fill!important;border-image-outset:0!important;border-image-repeat:stretch!important;background:none!important;color:#3a2410!important;-webkit-text-stroke-color:#fff6df!important;paint-order:stroke fill;text-shadow:none!important}
:root .ask-grid .ask-btn :is(b,small){color:inherit!important;-webkit-text-stroke-color:#fff6df!important}
/* 確認の窓の板は、はい・いいえ・続けるなどみな同じ形と太さ */
:root .ask-grid .ask-btn{border-style:solid!important;border-width:10px 28px 12px!important;border-image-width:10px 28px 12px!important}
:root .ask-grid .ask-btn.primary{padding-left:4px!important;padding-right:4px!important}
:root .ask-grid:has(>.ask-btn:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}
:root .ask-grid:has(>.ask-btn:nth-child(2):last-child)>.ask-btn{width:100%!important}
/* 平らな四角だったボタン（黄の国の売り買い・デッキの番号・すごろくの飛ばす）は、大きさを変えずに板の絵へ。枠線の幅はそのまま透明に */
:root :is(.tr-btn,.su-dk,.tri-skip){border-style:solid!important;border-color:transparent!important;box-shadow:none!important;filter:drop-shadow(0 2px 0 #2a1f16);border-image-width:4px 10px!important}

/* ==== 18. 2026-10-27 ユーザー要望（修行の準備・修行の画面・スクロールなし） ==== */
/* 18-1 準備：仲間の札は長押しで詳細。えらべない札は押せる見た目のまま薄く（disabled をやめた）。長押しで文字選びやメニューが出ないように */
.su-wiz [data-peek]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.pk.dis{opacity:.4}
.nk-detail.peek .nk-grow{display:none}
/* 18-2 準備の道具：はんこは出さない。右に「えらんだ数/持っている数」と −・＋ の板。えらんだ札は縁が光る（動かさない） */
.su-step-carry .it-list{gap:5px}
.su-step-carry .it-card{padding:2px 0!important}
.su-step-carry .it-card.on{box-shadow:0 0 0 3px #ffd25a,0 0 9px 2px #ffb43acc!important}
.su-step-carry .it-card img.it-ic{flex-basis:40px;width:40px;height:40px}
.su-step-carry .it-pick{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px}
.su-step-carry .it-cnt{font-family:var(--game-font);font-weight:400;font-size:13px;line-height:1;color:#5a3a22;white-space:nowrap}
.su-step-carry .it-cnt em{font-style:normal;font-size:20px;color:#2a1408}
.su-step-carry .it-card.on .it-cnt em{color:#b8401c}
.su-step-carry .it-pm{display:flex;gap:3px}
.su-step-carry .it-card .it-pm .btn{min-width:40px;height:34px;padding:0!important;font-size:18px;line-height:1;border-width:5px 10px 6px!important;border-image-width:5px 10px 6px!important;display:flex;align-items:center;justify-content:center;margin:0}
:root .su-step-carry .it-pm .btn.it-sub{border-image-source:url(art/ui/btn_ash.png)!important;border-image-slice:40 110 46 fill!important;color:#3a2a1c!important}
.su-step-carry .it-slots{gap:6px}
.su-step-carry .it-slot{min-height:64px;padding:2px 3px}
.su-step-carry .it-slot img.it-ic{width:30px;height:30px;object-fit:contain;background:none;border-radius:0;flex:none}
.su-step-carry .it-slot b{font-size:11px;line-height:1.15}
.su-step-carry .it-slot.on{box-shadow:0 0 0 2px #ffd25a}
/* 18-3 準備の確認：スクロールなしで「修行スタート！」。育てる仲間は小さい顔＋能力の枠を横に。仲間6体と道具を下に詰める */
.su-step-ok .su-body{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
.su-ok{display:flex;flex-direction:column;gap:4px}
.su-ok-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.su-ok-head .su-h{margin:2px 0}
.su-ok-head .su-sum-place{margin:0;font-size:14px}
.su-ok-hero{display:flex;align-items:center;gap:6px;border-style:solid;border-width:18px 14px 14px;border-image:url(art/ui/frame_v3.png) 142 110 110 fill/18px 14px 14px stretch;padding:0 2px}
.su-ok-face{flex:0 0 76px;display:flex;flex-direction:column;align-items:center}
.su-ok-face .mon-img,.su-ok-face svg{height:64px;width:auto;max-width:76px;object-fit:contain}
.su-ok-face .su-star{font-size:12px;line-height:1}
.su-ok-hero .su-pf{flex:1 1 auto;min-width:0}
.su-ok-plain{flex:1;min-width:0}
.su-ok-h{margin:4px 0 0;font-family:var(--game-font);font-size:13px;color:#5a3a22;line-height:1.2}
.su-ok .su-slots{margin:0;grid-template-columns:repeat(3,1fr);gap:5px}
.su-ok .su-slot{aspect-ratio:auto;height:clamp(58px,10.5dvh,100px);overflow:hidden}
.su-ok .su-slot :is(img,svg){height:100%;max-height:100%;width:auto;object-fit:contain}
.su-ok .su-slot .spec{font-size:10px;padding:0 3px}
.su-ok .it-slots.su-ok-items{margin:0;gap:5px}
.su-ok .it-slot{min-height:56px;padding:2px 3px;cursor:default}
.su-ok .it-slot img.it-ic{width:28px;height:28px;object-fit:contain;background:none;border-radius:0;flex:none}
.su-ok .it-slot b{font-size:11px;line-height:1.15}
@media (min-width:600px){
 .su-ok{gap:8px;max-width:620px;margin:0 auto}
 .su-ok-face{flex-basis:110px}.su-ok-face .mon-img,.su-ok-face svg{height:96px;max-width:110px}
 .su-ok-h{font-size:15px}.su-ok .it-slot img.it-ic{width:36px;height:36px}.su-ok .it-slot b{font-size:13px}
}
/* 18-4 練習の結果：能力の札は半分くらいの幅で1段に3つ。同じ所に「体力 62→48」 */
.pc3 .practice-score.stair{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 5px;align-items:center;justify-items:center;width:100%;max-width:360px;margin:0 auto}
.pc3 .practice-score.stair .pc-none{grid-column:1/-1}
.pc3 .practice-score.score-art .score-chip{width:100%!important;max-width:112px}
.pc3 .practice-score.score-art .score-chip>span{font-size:11px}
.pc3 .practice-score.score-art .score-chip>strong{font-size:16px!important;-webkit-text-stroke:3px #1a0f08}
.pc3 .practice-score:not(.score-art) .score-chip{width:100%;padding:2px 6px!important;box-sizing:border-box;justify-content:space-between}
.pc3 .practice-score:not(.score-art) .score-chip strong{font-size:17px}
.pc-stam{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px auto 0;padding:2px 12px;width:max-content;background:#2a1f16;border:2px solid #c99a2e;color:#fff6df;font-family:var(--game-font);line-height:1.1}
.pc-stam span{font-size:12px;color:#f1d79a}
.pc-stam b{font-size:18px;font-weight:400}
.pc-stam i{font-style:normal;font-size:13px;color:#f1d79a}
.pc-stam.down b:last-child{color:#ff8a5a}
.pc-stam.up b:last-child{color:#9fe07a}
@media (min-width:600px){.pc3 .practice-score.stair{max-width:480px}.pc3 .practice-score.score-art .score-chip{max-width:150px}.pc3 .practice-score.score-art .score-chip>strong{font-size:20px!important}.pc-stam b{font-size:22px}}
/* 18-5 修行の画面：練習に来る仲間が重ならないように。3人からは奥と手前の2段に分け、1人ずつのマスに収める（絵はマスの中で縮む） */
.tq-mate{margin:0!important}
.tq-mate .mon-img,.tq-mate svg{width:100%!important;margin:0!important}
.tq-cast.m2 .tq-hero{width:52%}.tq-cast.m2 .tq-mates{gap:2%;width:47%;height:56%;bottom:8%}
.tq-cast:is(.m3,.m4,.m5) .tq-hero{width:46%;height:80%}
.tq-cast:is(.m3,.m4,.m5) .tq-mates{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);width:58%;height:62%;bottom:2%;gap:0}
.tq-cast.m5 .tq-mates{grid-template-rows:repeat(3,1fr);height:74%}
.tq-cast:is(.m3,.m4,.m5) .tq-mate{min-height:0;height:100%;width:100%}
.tq-cast.m3 .tq-mate:nth-child(1){grid-area:1/2/2/4}.tq-cast.m3 .tq-mate:nth-child(2){grid-area:2/1/3/3}.tq-cast.m3 .tq-mate:nth-child(3){grid-area:2/3/3/5}
.tq-cast.m4 .tq-mate:nth-child(1){grid-area:1/1/2/3}.tq-cast.m4 .tq-mate:nth-child(2){grid-area:1/3/2/5}.tq-cast.m4 .tq-mate:nth-child(3){grid-area:2/1/3/3}.tq-cast.m4 .tq-mate:nth-child(4){grid-area:2/3/3/5}
.tq-cast.m5 .tq-mate:nth-child(1){grid-area:1/2/2/4}.tq-cast.m5 .tq-mate:nth-child(2){grid-area:2/1/3/3}.tq-cast.m5 .tq-mate:nth-child(3){grid-area:2/3/3/5}.tq-cast.m5 .tq-mate:nth-child(4){grid-area:3/1/4/3}.tq-cast.m5 .tq-mate:nth-child(5){grid-area:3/3/4/5}
/* 18-6 右上の「練習に来る仲間」の顔を大きく */
.tq-side{width:66px;gap:4px}
.tq-cast{right:70px}
.tq-ring{width:62px}.tq-bond{width:56px;height:8px}
.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:54px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:50px;height:7px}.tq-side.n5{gap:2px}
@media (max-height:700px){.tq-ring{width:54px}.tq-bond{width:50px}.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:46px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:44px}}
@media (min-width:600px){.tq-side{width:86px}.tq-cast{right:92px}.tq-ring{width:82px}.tq-bond{width:74px;height:10px}.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:70px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:64px}}
/* 18-8 スクロールなし：修行の画面は文書ごと動かさない（iPhone で窓の中をなぞった時に下の画面がずれて残っていた） */
html:has(.tq),body:has(.tq){overflow:hidden;overscroll-behavior:none}
.overlay,.overlay>.modal{overscroll-behavior:contain}
/* 18-5b 練習の結果の場面も、仲間どうしを重ねない（3人からは奥と手前の2段） */
.pc3 .practice-friend img,.pc3 .practice-friend svg{width:100%!important;margin:0!important}
.pc-cast:is(.f3,.f4) .practice-friends{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr}
.pc-cast:is(.f3,.f4) .practice-friend{height:100%!important;width:100%!important;margin:0!important;min-height:0}
.pc-cast.f3 .practice-friend:nth-child(1){grid-area:1/2/2/4}.pc-cast.f3 .practice-friend:nth-child(2){grid-area:2/1/3/3}.pc-cast.f3 .practice-friend:nth-child(3){grid-area:2/3/3/5}
.pc-cast.f4 .practice-friend:nth-child(1){grid-area:1/1/2/3}.pc-cast.f4 .practice-friend:nth-child(2){grid-area:1/3/2/5}.pc-cast.f4 .practice-friend:nth-child(3){grid-area:2/1/3/3}.pc-cast.f4 .practice-friend:nth-child(4){grid-area:2/3/3/5}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5)){grid-template-columns:repeat(6,1fr)}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5))>.practice-friend:nth-child(1){grid-area:1/2/2/4}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5))>.practice-friend:nth-child(2){grid-area:1/4/2/6}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5))>.practice-friend:nth-child(3){grid-area:2/1/3/3}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5))>.practice-friend:nth-child(4){grid-area:2/3/3/5}
.pc-cast.f4 .practice-friends:has(>.practice-friend:nth-child(5))>.practice-friend:nth-child(5){grid-area:2/5/3/7}
/* 18-8 スクロールなし：イベントの結果（上がった能力は1段に3つ、絆は2列）・期末バトルに入る窓（札を少し低く、ボタンを横に） */
.evr .evr-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 5px}
.evr .evr-chip:not(.evr-hp)>span{font-size:11px}.evr .evr-chip:not(.evr-hp)>b{font-size:16px}
.evr .evr-bonds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;width:100%}
.evr .evr-bond{min-width:0}
.evr .evr-bar{flex:1 1 auto;width:auto;min-width:0}
.evr .evr-bond .tr-face{width:28px!important;height:28px!important}
@media (min-width:600px){.evr .evr-bonds{grid-template-columns:repeat(3,minmax(0,1fr))}.evr .evr-bond .tr-face{width:36px!important;height:36px!important}}
.modal:has(>.b3-cards) .b3-card img{height:52px}
.modal:has(>.b3-cards) .vs{margin:0;line-height:1;font-size:24px}
.modal:has(>.b3-cards) .band{margin-bottom:4px}
.modal:has(>.b3-cards) .rule{margin:4px 0 0}
.modal:has(>.b3-cards) .modal-actions{display:flex!important;flex-direction:row-reverse;align-items:stretch;gap:8px;margin-top:6px}
.modal:has(>.b3-cards) .modal-actions>.btn{margin:0!important;min-width:0;width:auto!important}
.modal:has(>.b3-cards) .modal-actions>.btn.big{flex:1 1 0;border-left-width:12px!important;border-right-width:12px!important;padding-left:4px!important;padding-right:4px!important;white-space:nowrap}
.modal:has(>.b3-cards) .modal-actions>.btn:not(.big){flex:0 0 116px;white-space:nowrap;font-size:14px!important;line-height:1.15;padding-left:0!important;padding-right:0!important;border-left-width:14px!important;border-right-width:14px!important;border-image-width:8px 14px 10px!important}
@media (min-width:600px){.modal:has(>.b3-cards) .b3-card img{height:72px}}

/* 2026-10-27 ユーザー：×ボタンは全部背景赤で統一 */
:root :is(.modal .close,.overlay .close,button.close,button[aria-label="閉じる"]){border-style:solid!important;border-width:6px 10px 8px!important;border-image-source:url(art/ui/btn_red.png)!important;border-image-slice:50 120 56 fill!important;border-image-outset:0!important;border-image-repeat:stretch!important;background:none!important;color:#fff8e6!important;-webkit-text-stroke:0!important;text-shadow:0 2px 0 #4a0f08!important;font-weight:900!important}
:root :is(.modal .close,.overlay .close,button.close){display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;font-size:20px!important;text-align:center!important}
/* ×は元のフォントの字のまま、赤い板の見える部分のまん中に寄せる */
:root :is(.modal .close,.overlay .close,button.close){position:absolute}
:root :is(.modal .close,.overlay .close,button.close)>*{pointer-events:none}
:root :is(.modal .close,.overlay .close,button.close){padding:0 0 3px!important}
/* 2026-10-27 ユーザー：札・印・スタンプを斜めにしない（大成功の表示も） */
.pc-great{transform:translateX(-50%)!important}
@keyframes pcStamp{0%{opacity:0;transform:translateX(-50%) scale(2.2)}60%{opacity:1;transform:translateX(-50%) scale(.94)}100%{opacity:1;transform:translateX(-50%)}}
.g3-ribbon{transform:translateX(-50%)!important}
.hanko,.train-flag,.mode2-art,.tr-ptag,.tr-fair,.tr-card .tr-cost,.ms-stamp,.fin-bt b,main .mine .mn-place.on::after,main .chapter.unread::after,.cs-pack em,.ar-tabb em,main .arena-pg .ar-ctry-btn em,.dive .dv-gate em,.go-cost,.modal.prep .prep-foot .ar-go .go-cost,.sho-mark,.rb-phase,.tw-tree .tw-st.next{transform:none!important}
.ci-word{transform:none!important}
/* 2026-10-27 ユーザー：指南・休むは少し細く、持ち物は少し広く */
.tq-foot .btn.tq-main{flex:1.35 1 0}
.tq-foot .btn[data-action="items-use"]{flex:1.3 1 0}
/* 2026-10-27 練習の色分け（app.js の TR_COL）と仲間の顔。動きはつけない */
/* 練習の札：名前の下に練習の色の帯 */
.tq-art::before{content:'';position:absolute;left:9%;right:9%;top:62%;height:20%;background:var(--tc);border:2px solid #2a1f16;box-sizing:border-box}
/* 仲間の顔の丸い縁＝その仲間の得意な練習の色。fav＝得意の練習に来ている（その色のうすい縁取り）、lit＝共鳴できる（金の光） */
.tq .tr-face{border:3px solid var(--tc,#2a1f16)!important}
.tq .tr-face.fav{box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 40%,#fff)}
.tq .tr-face.lit{box-shadow:0 0 0 3px #ffd25a,0 0 8px 2px #ffb02a}
/* 右上の仲間：外の枠はそのままの比で全体を大きく、中の絵は枠いっぱい近くまで */
.tq-ring .tr-face{left:11%;top:11%;width:78%!important}
.tq-side{width:74px}.tq-cast{right:78px}
.tq-ring{width:70px}.tq-bond{width:62px}
.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:62px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:56px}
@media (max-height:700px){.tq-ring{width:62px}.tq-bond{width:56px}.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:52px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:48px}}
@media (min-width:600px){.tq-side{width:96px}.tq-cast{right:102px}.tq-ring{width:92px}.tq-bond{width:82px}.tq-side.n4 .tq-ring,.tq-side.n5 .tq-ring{width:80px}.tq-side.n4 .tq-bond,.tq-side.n5 .tq-bond{width:72px}}
/* 練習の札に出る仲間を大きく */
.tq-come{right:-6px;top:2%}
.tq-come .tr-face{width:28px!important;height:28px!important}
.tq-come .tr-face+.tr-face{margin-top:-7px}
.tq-come.n4 .tr-face+.tr-face,.tq-come.n5 .tr-face+.tr-face{margin-top:-12px}
@media (min-width:600px){.tq-come .tr-face{width:40px!important;height:40px!important}.tq-come .tr-face+.tr-face{margin-top:-9px}.tq-come.n4 .tr-face+.tr-face,.tq-come.n5 .tr-face+.tr-face{margin-top:-16px}}
/* 1回押したときの帯：「タップで開始」を1行で、札の上のほうに小さく（名前を隠さない） */
.tq .tq-card .arm-hint{top:-15px;bottom:auto;width:auto;white-space:nowrap;font-size:9px;line-height:1.15;padding:0 1px;border-width:2px 6px 3px}
.tq-cards>.tq-card:first-child .arm-hint{left:0;transform:none}.tq-cards>.tq-card:last-child .arm-hint{left:auto;right:0;transform:none}
@media (min-width:600px){.tq .tq-card .arm-hint{font-size:12px}}
/* 2026-10-27 技レベル（Lv1〜Lv5）の表示 */
.b3-stage>.b3-panel .b3-skills button.sk small .sk-lv{font-size:10px;color:#fff3c4;margin-left:3px;-webkit-text-stroke:2px #2a1408;paint-order:stroke fill}
.fz-sk b i{font-size:11px}
.rd-skills{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.rd-sk{display:inline-flex;align-items:baseline;gap:4px;background:#f8eed6;border:2px solid #5a3a22;padding:3px 8px}
.rd-sk b{font-size:13px;color:#2a1f16}.rd-sk i{font-style:normal;font-weight:900;font-size:12px;color:#c4401a}
.rd-sk.ougi{background:#fbe3b0}
@media (min-width:600px){.rd-sk b{font-size:15px}.rd-sk i{font-size:14px}}
/* 2026-10-27 共鳴の練習で大成功（演出の段は ふつうの共鳴＜共鳴の大成功 の2つ）。金の光・糸が光る・文字をいちばん大きく・画面が1回だけゆれる。斜めにしない */
.cutin.reso-great{background:#2a1408}
.cutin.reso-great .ci-lines{background:repeating-conic-gradient(from 3deg at 50% 50%,#ffd25a 0 2.2deg,transparent 2.2deg 7deg)}
.cutin.reso-great .ci-flash{background:#fff4c4}
.cutin.reso-great .ci-bond{width:min(100vw,500px);filter:drop-shadow(0 0 6px #fff2a8) drop-shadow(0 0 14px #ffb02a) brightness(1.15)}
.cutin.reso-great .ci-stamp{background:#e0a91a;width:220px;height:220px;margin:-110px 0 0 -110px}
.cutin.reso-great .ci-word{font-size:76px;color:#ffe27a;-webkit-text-stroke:13px #3a1408}
.cutin.reso-great .ci-band{box-shadow:0 0 0 3px #ffd25a}
.cutin.reso-great{animation:quake calc(2750ms*var(--u)) linear,reGreatShake calc(450ms*var(--u)) steps(6,end) calc(1500ms*var(--u)) 1 both}
@keyframes reGreatShake{0%{translate:0 0}17%{translate:-7px 3px}33%{translate:6px -4px}50%{translate:-5px -2px}67%{translate:4px 4px}83%{translate:-2px -1px}100%{translate:0 0}}
.cutin.reso-great .ci-word{white-space:nowrap;top:76%}
@media(max-width:760px){.cutin.reso-great .ci-word{font-size:min(12.5vw,58px);-webkit-text-stroke:10px #3a1408}.cutin.reso-great .ci-stamp{width:180px;height:180px;margin:-90px 0 0 -90px}}
@media (prefers-reduced-motion: reduce){.cutin.reso-great{animation:none}}
.practice-overlay.reso-great .pc3 .practice-heading h2{font-size:32px!important;color:#c98a00;-webkit-text-stroke:1px #3a1408}
.practice-overlay.reso-great .resonance-node.active{background:#ffe27a;box-shadow:0 0 0 3px #ffd25a}
/* 2026-10-27 イベントの窓の「状態」：右上の控えめな札（灰色の木）と、能力・体力の小さな窓。どこを押しても閉じる */
.scene{position:relative}
.scene .ev-state-btn{position:absolute;top:6px;right:6px;z-index:21;min-height:0;height:30px;padding:0 12px;font-size:13px}
.ev-state{position:absolute;inset:0;z-index:20;background:rgba(26,16,8,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:44px;cursor:pointer}
.ev-state-box{position:relative;width:min(94%,520px);background:#f6ead0;border:3px solid #2a1f16;box-shadow:4px 4px 0 #2a1f16;padding:10px 10px 12px}
.ev-state-box .close{position:absolute;top:-14px;right:-12px}
.ev-state-t{display:block;font-size:15px;color:#2a1f16;margin:0 0 10px}
.ev-state .tq-stats{flex:none;height:46px;margin-top:6px}
.ev-stam{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:900;color:#2a1f16}
.ev-stam-g{flex:1;height:14px;background:#5a3b22;border:2px solid #2a1f16;overflow:hidden}
.ev-stam-g i{display:block;height:100%;background:#e0a91a}
.ev-stam b{font-family:var(--game-font);font-weight:400;font-size:20px}.ev-stam small{font-size:12px}
@media (min-width:600px){.ev-state .tq-stats{height:56px}.ev-state-t{font-size:18px}.scene .ev-state-btn{height:36px;font-size:15px}}
/* 2026-10-27 指南の結果の窓（どこを押しても次の日へ） */
.gres{cursor:pointer}
.gres .ask-grid.one{grid-template-columns:1fr;max-width:260px;margin:0 auto}
.gres-ups{flex-wrap:wrap;gap:4px 8px!important}
.gres-ups span{font-weight:900;color:#2a1f16}.gres-ups b{color:#c4401a;margin-left:2px}
/* 2026-10-27 「〜日目」のカットイン（画面の中央・短く・タップで飛ばせる。斜めにしない） */
.day-cut{position:fixed;inset:0;z-index:250;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(26,16,8,.35);cursor:pointer;animation:dayCut 1.1s linear both}
.day-cut.quick{animation-duration:.6s}
.day-cut-in{display:flex;align-items:baseline;gap:8px;padding:10px 28px;border-style:solid;border-width:8px 22px 9px;border-image:url(art/ui/btn_red.png) 50 120 56 fill/8px 22px 9px stretch;color:#fff8e6;-webkit-text-stroke:5px #3a1408;paint-order:stroke fill;font-family:var(--game-font);font-weight:400}
.day-cut-in small{font-size:18px}.day-cut-in b{font-size:64px;line-height:1}.day-cut-in span{font-size:26px}
.day-cut-note{font-style:normal;font-family:var(--game-font);font-size:20px;color:#fff8e6;-webkit-text-stroke:5px #3a1408;paint-order:stroke fill}
@keyframes dayCut{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
@media (min-width:600px){.day-cut-in b{font-size:84px}.day-cut-in small{font-size:22px}.day-cut-in span{font-size:32px}}
/* 2026-10-27 期末バトルの直前の画面：札はHPだけで縦を短く、オート／手動の切りかえ、2つの板の大きさと高さをそろえる */
.modal:has(>.b3-cards) .b3-card{padding-top:2px;padding-bottom:2px}
.modal:has(>.b3-cards) .b3-card img{height:44px}
@media (min-width:600px){.modal:has(>.b3-cards) .b3-card img{height:60px}}
.bp-mode{display:flex;justify-content:center;margin:6px 0 2px}
.bp-mode .bp-auto{min-height:0;height:32px;padding:0 14px;font-size:13px}
.modal .bp-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
.modal .bp-acts.one{grid-template-columns:1fr}
.modal .bp-acts .bp-btn{width:100%;height:56px;min-height:56px;margin:0;display:flex;align-items:center;justify-content:center;font-size:17px}
/* 2026-10-27 やり直しを使い切ったとき：育てている子のぐったりした絵 */
.br-ko{display:flex;justify-content:center;align-items:center;height:150px;margin:4px 0 6px}
.br-ko .mon-img,.br-ko svg{height:140px;width:auto;filter:brightness(.45) grayscale(.5);rotate:-90deg}
.br-ko.has img{height:110px;width:auto;image-rendering:pixelated}
/* 2026-10-27 仲間の詳細（nk2）：溶岩の岩の枠は赤の国の修行だけ → ここは紙と木の落ち着いた枠（専用の枠はあとでMacで描いてもらう）。スクロールなし */
.modal:has(>.nk2){border:8px solid #7a5232!important;border-image:none!important;outline:3px solid #2a1f16;outline-offset:0;background:#f6ead0!important;box-shadow:inset 0 0 0 3px #c9a46a!important;filter:drop-shadow(5px 5px 0 #000a);padding:10px 10px 12px!important;overflow:visible;max-height:none}
.nk2{gap:7px;padding:0}
.nk2 .nk-top{gap:10px}
.nk2 .nk-art{flex-basis:112px;height:112px}
.nk2 .nk-art .mon-img,.nk2 .nk-art svg{width:96px;height:96px}
.nk2 .nk-id{gap:3px}
.nk-lv2{font-weight:900;color:#5a3a22;font-size:13px}.nk-lv2 b{font-family:var(--game-font);font-weight:400;font-size:22px;color:#2a1f16;margin-left:3px}.nk-lv2 i{font-style:normal;font-size:13px}
.nk-tags2{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px}
.nk-tags2 li{display:inline-flex;align-items:baseline;gap:5px;background:#5a3b22;border:2px solid #2a1f16;padding:1px 9px}
.nk-tags2 span{font-size:11px;font-weight:900;color:#f1d9a8}.nk-tags2 b{font-family:var(--game-font);font-weight:400;font-size:16px;color:#fff6df}
.nk2 .nk-stats small{font-size:10.5px;white-space:nowrap}
.nk2 .nk-skills{gap:3px}
.nk-grow2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
.nk-grow2 .nk-g{display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px;margin:0;padding-left:4px!important;padding-right:4px!important;font-size:14px;line-height:1.15;white-space:nowrap}
.nk-grow2 .nk-g small{display:flex;align-items:center;gap:3px;font-size:12px;margin-top:2px}
.nk-grow2 .ico{width:16px;height:16px}
.nk-done{display:flex;align-items:center;justify-content:center;height:58px;font-weight:900;color:#8a7657;border:2px dashed #b09a74}
.nk-pick{min-width:250px}
.nk-pick-t{margin:0 0 8px;font-weight:900;font-size:15px;text-align:center}
.nk-pick-row{display:flex;align-items:center;justify-content:center;gap:14px}
.nk-pick-row b{font-family:var(--game-font);font-weight:400;font-size:28px;min-width:80px;text-align:center}
.nk-pick-row .nk-pm{width:44px;height:40px;font-size:22px;padding:0}
.nk-pick-cost{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;margin:8px 0;font-weight:900}
.nk-pick-cost b{font-size:17px}.nk-pick-cost b.short{color:#c4401a}.nk-pick-cost small{font-size:11px;color:#6d5a40;width:100%;text-align:center}
@media (min-width:600px){.nk2 .nk-art{flex-basis:150px;height:150px}.nk2 .nk-art .mon-img,.nk2 .nk-art svg{width:130px;height:130px}.nk-grow2 .nk-g{height:64px;font-size:17px}.nk2 .nk-stats small{font-size:12px}}
.nk-pick-cost .ico{width:20px;height:20px;object-fit:contain}.nk-grow2 .nk-g .ico{object-fit:contain}
/* 2026-10-27 修行の準備の能力の段：名前を「攻撃・防御…」に（2文字）。字を少し小さくして数字と並べる */
.su-pf-c{padding:0 1.5cqw!important}.su-pf-c small{font-size:3.7cqw;letter-spacing:-.04em;white-space:nowrap}.su-pf-c b{font-size:4.5cqw}
.su-stats small{white-space:nowrap}
/* ===== 2026-10-27（2）修行画面の見た目の直し ===== */
/* 1. 右上の丸い枠：顔の丸を枠の穴の真ん中に（穴の中心は絵の横49.6%・縦48.5%）。中のキャラは切らずに全体を真ん中に */
.tq-ring .tr-face{left:49.6%!important;top:48.5%!important;width:72%!important;transform:translate(-50%,-50%)}
.tq .tr-face .mon-img,.tq .tr-face svg,.tr-lb .tr-face .mon-img,.tr-lb .tr-face svg{object-fit:contain!important;object-position:50% 50%!important;width:100%;height:100%;display:block}
.tr-lb .tr-face{display:grid;place-items:center;overflow:hidden;border-radius:50%}
/* 2. 練習の札に来る仲間は丸（四角い板はやめた）。中のキャラは真ん中 */
.tq .tq-come .tr-face{border-radius:50%;overflow:hidden;display:grid;place-items:center}
/* 3. 「〜日目」：右から流れてきて真ん中で止まり、左へ流れて消える（傾けない） */
.day-cut-in,.day-cut-note{animation:dayRun 1.1s cubic-bezier(.2,.8,.3,1) both}
.day-cut.quick .day-cut-in,.day-cut.quick .day-cut-note{animation-duration:.6s}
@keyframes dayRun{0%{translate:110vw 0}20%{translate:0 0}78%{translate:0 0;animation-timing-function:cubic-bezier(.7,0,.9,.4)}100%{translate:-110vw 0}}
@keyframes dayCut{0%{opacity:0}10%{opacity:1}85%{opacity:1}100%{opacity:0}}
/* 4. 絆バーを場面の仲間の足もとに */
.tq-mate{position:relative}
.tr-lb.tq-feet{position:absolute;left:50%;bottom:-2px;translate:-50% 0;z-index:5;background:#2a1f16d9;padding:2px 6px 2px 3px;border:1.5px solid #f1d9a8;white-space:nowrap;animation:feetIn .25s ease-out var(--el,0ms) both,trFade .5s ease-in calc(2600ms + var(--el,0ms)) forwards}
@keyframes feetIn{from{opacity:0}to{opacity:1}}
.tr-lb.tq-feet em{color:#ffd25a;-webkit-text-stroke:0}
.tq-feetrow{position:absolute;left:3%;bottom:46px;z-index:5;display:flex;flex-wrap:wrap;gap:4px 6px;max-width:70%}
.tq-feetrow .tr-lb.tq-feet{position:static;translate:none}
/* 6. 休んだときの場面（イベントの窓と同じ作り） */
.rest-wrap{cursor:pointer}
.rest-res{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 6px 4px}
.rest-stam{display:flex;align-items:center;gap:8px;width:100%;font-weight:900;color:#2a1f16}
.rest-stam .ev-stam-g{position:relative;flex:1}
.rest-stam .ev-stam-g i{position:absolute;top:0;bottom:0;left:0}.rest-stam .ev-stam-g i.to{background:#7fd04a}
.rest-stam b{font-family:var(--game-font);font-weight:400;font-size:20px}.rest-stam em{font-style:normal;color:#3f8a2e;font-size:18px}
.rest-res .ask-btn{min-width:200px}
/* 8. 能力の札の名前を2文字に */
.tq-st>span:first-child{white-space:nowrap;letter-spacing:-.04em}
/* 10. イベントの窓の「状態」を大きく、文字を真ん中に */
.scene .ev-state-btn{height:38px!important;min-width:76px;padding:0 16px!important;font-size:16px!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}
/* 9. バトルの結果の窓：窓も画面もスクロールしないように詰める（ログだけは窓の中でスクロールしてよい） */
.modal:has(.br-head){overflow:hidden}
.modal .br-head{margin:0 0 2px}
.modal .br-head b{font-size:40px;-webkit-text-stroke-width:4px;text-shadow:0 3px 0 #2a1f16}
.modal .br-mates{margin:0 0 4px;gap:4px}
.modal .br-mate img{height:64px}
.modal .br-mate b{font-size:12px;line-height:1.2}
.modal .br-gains.six{margin-bottom:2px}
.modal .br-gains.six .score-chip{padding:2px 0 3px}
.modal:has(.br-head) .battle-log{height:96px;margin-top:6px;line-height:1.6;font-size:12.5px}
.modal:has(.br-head) .modal-actions{margin-top:6px}
.modal:has(.br-head) .br-ko{height:120px}.modal:has(.br-head) .br-ko .mon-img,.modal:has(.br-head) .br-ko svg{height:112px}
@media (min-height:760px){.modal .br-mate img{height:84px}.modal:has(.br-head) .battle-log{height:130px}}
/* 2026-10-28 ユーザー：オートで戦うを中央寄せ（幅が足りず文字がはみ出してずれていた） */
.bp-mode .bp-auto{width:auto!important;min-width:150px;padding:0 12px!important;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}
.fz-skills[data-action]{cursor:pointer}
body:has(.fz-screen) .overlay{z-index:60}
/* ===== 2026-10-28 ぶとうかい・受け取り箱 ===== */
/* ぶとうかいのタイトルの札：左右を短くして「遊び方」にかぶらない */
main .arena-pg .ev-top{justify-content:flex-start;margin-right:150px}
main .arena-pg .ev-top .ev-ttl{min-width:0;width:auto;padding:0 22px 2px}
/* 先週の結果・戦いの結果の窓（中身が変わっても窓の大きさは同じ） */
.modal:has(>.arw){min-height:360px}
.arw{display:flex;flex-direction:column;gap:8px;padding:4px 2px 8px}
.arw-guide{display:flex;align-items:center;gap:8px}.arw-guide img{width:72px;height:72px;object-fit:contain}
.arw-guide .ar-say{position:static;margin:0;flex:1}
.arw-rows{margin:0;display:flex;flex-direction:column;gap:4px}
.arw-rows>div{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f6ead0;border:2px solid #5a3a22;padding:4px 10px}
.arw-rows dt{font-size:12px;font-weight:900;color:#5a3a22}.arw-rows dd{margin:0;display:flex;align-items:center;gap:4px;font-weight:900;color:#2a1f16;text-align:right}
.arw-rows dd b{font-family:var(--game-font);font-weight:400;font-size:22px}.arw-rows dd small{font-size:11px;color:#6d5a40}.arw-rows .ico{width:20px;height:20px}
.arw-vote.hit{background:#ffe9b0}.arw-vote dd{font-size:13px}
.arw-note{margin:0;text-align:center;font-size:12px;font-weight:900;color:#7a1d10}
.arw-big{margin:6px 0;text-align:center;font-family:var(--game-font);font-size:24px;color:#2a1f16}
.arw-res{min-height:200px;justify-content:center}
/* 受け取り箱の札（ホームのミッションの帯の上。箱の絵はまだないので木の札で仮に） */
.ib-btn{position:relative;display:block;margin:4px 0 -2px auto;height:30px;padding:0 14px;font:inherit;font-size:13px;font-weight:900;color:#3a2410;border:0;border-style:solid;border-width:4px 10px 5px;border-image:url(art/ui/btn_wood_warm.png) 40 110 46 fill/4px 10px 5px stretch;background:none;cursor:pointer}
.ib-btn:active{translate:0 2px}
.ib-num{position:absolute;top:-9px;right:-10px;min-width:20px;height:20px;padding:0 4px;box-sizing:border-box;border-radius:50%;background:#c4301a;color:#fff;font-style:normal;font-size:11px;line-height:16px;text-align:center;border:2px solid #2a1f16}
/* 受け取り箱の窓：大きさは決まっていて、一覧だけ中でスクロール */
.modal:has(.ib-body){height:min(560px,86dvh);display:flex;flex-direction:column;overflow:hidden}
.ib-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}
.ib-msg{margin:2px 0;font-size:12px;font-weight:900;color:#5a3a22;text-align:center;min-height:1.4em}
.ib-list{flex:1;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.ib-row{display:flex;align-items:center;gap:6px;background:#f6ead0;border:2px solid #5a3a22;padding:5px 6px}
.ib-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ib-txt small{font-size:10.5px;color:#6d5a40}.ib-txt b{font-size:14px;color:#2a1f16}
.ib-its{display:flex;flex-wrap:wrap;gap:3px 8px}
.ib-it{display:inline-flex;align-items:center;gap:2px}.ib-it img{width:18px;height:18px;object-fit:contain}.ib-it small{font-size:11px;font-weight:900;color:#3a2410}.ib-it b{font-size:12px;color:#7a1d10}
.ib-take{flex:none}
.ib-none{text-align:center;color:#8a7657;font-weight:900;padding:30px 0}
.ib-foot{display:flex;justify-content:center}.ib-foot .btn{min-width:220px;margin:0}
/* 受け取り箱・ぶとうかいの結果の窓も、溶岩の岩ではなく紙と木の枠（溶岩の枠は赤の国の修行だけ） */
.modal:has(.ib-body),.modal:has(>.arw){border:8px solid #7a5232!important;border-image:none!important;outline:3px solid #2a1f16;background:#f6ead0!important;box-shadow:inset 0 0 0 3px #c9a46a!important;filter:drop-shadow(5px 5px 0 #000a);padding:10px 10px 12px!important}
/* ===== 2026-10-28 スクロール点検の直し ===== */
/* ガチャ：上の幕の絵を背の低い画面では小さく */
.g3-banner{height:clamp(90px,calc(100dvh - 580px),268px)}
/* イベント：札を残りの高さいっぱいに並べる（札の数が増えても行で割る） */
.event-list{height:calc(100dvh - 222px - env(safe-area-inset-bottom,0px));grid-auto-rows:minmax(0,1fr)}
.event-list .event-card{aspect-ratio:auto;height:auto;min-height:0}
/* ゆら玉の坑道：背の低い画面では上の絵と坑道の札の絵を低く */
@media (max-height:700px){.mine .mn-pic{aspect-ratio:520/212}main .mine .mn-hero{height:150px}}
/* ショップの窓：窓の大きさは決まっていて、品の一覧だけ中でスクロール */
.modal:has(>.it-list){height:min(600px,86dvh);display:flex;flex-direction:column;overflow:hidden}
.modal>.it-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
/* 2026-10-28 ユーザー：修行の準備の上の枠。育てる仲間の段も確認の段と同じ形（左に絵と★、右に名前と能力6つ）。絵は前より大きく。一言は枠の下の1行（長ければ字を縮める）で、あってもなくても高さは同じ */
.su-hero2{flex-wrap:wrap;row-gap:0;margin:2px 0 6px}
.su-ok-face{flex:0 0 108px}
.su-ok-face .mon-img,.su-ok-face svg{height:94px;max-width:108px}
.su-ok-face .su-star{font-size:13px}
.su-hero-desc{flex:0 0 100%;margin:3px 0 0;height:16px;font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:#5a3a22}
.su-ok-face .mon-img,.su-ok-face svg{height:clamp(86px,12.5dvh,112px)}
/* 2026-10-28 ユーザー：この修行地には持ちこめない道具（練習・体力の道具は赤の国だけ）はうすくして、右に短く */
.su-step-carry .it-card.off{opacity:.55;filter:grayscale(.6)}
.su-step-carry .it-pick.it-no{min-width:84px}
.su-step-carry .it-pick.it-no small{font-size:11px;line-height:1.2;text-align:center;color:#5a3a22;font-weight:700}
/* 2026-10-28 ユーザー：はじめての10連の説明が暗い背景に暗い字で読めなかった → 和紙の札にのせる */
.g3-first-note{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 4px;width:fit-content;max-width:100%;padding:3px 14px;border:0;border-style:solid;border-width:6px 12px;border-image:url(art/ui/plate_washi.png) 40 60 fill/6px 12px stretch;color:#2a1f16;text-align:left}
.g3-first-note b{font-size:15px;white-space:nowrap}
.g3-first-note small{font-size:11px;line-height:1.35;font-weight:800}
.g3-first-note{margin-bottom:0;padding:0 12px;border-width:5px 12px}
.g3-first-btns .btn.big{min-height:0;padding-top:10px;padding-bottom:10px}
.msb .msb-txt.msb-done{white-space:pre;display:block;padding-right:0;font-size:min(14px,3.2vw);line-height:1.25;overflow:visible;letter-spacing:-.02em}
/* 2026-10-28 ユーザー：時成商店は画面全体（下のタブも覆う）。もどるは左上の木の札。題のとなりに葉の数（枠なし）。品の一覧だけ中でスクロール */
.overlay:has(>.modal>.shop-pg){padding:0;z-index:60;background-color:var(--paper);background-image:radial-gradient(#6b4f2a14 1px,transparent 1.2px);background-size:7px 7px;align-items:stretch}
.modal:has(>.shop-pg){max-width:640px;height:100dvh;max-height:none;margin:0 auto;border:0;border-image:none;filter:none;box-shadow:none;background:none;padding:0;animation:none;overflow:hidden}
.shop-pg{height:100%;display:flex;flex-direction:column;padding:6px 12px calc(10px + env(safe-area-inset-bottom));box-sizing:border-box}
.shop-top{display:flex}.shop-top .navbtn{font-size:14px}
.shop-head{display:flex;align-items:center;gap:8px;margin:8px 2px 8px}
.shop-clock{width:30px;height:30px;object-fit:contain}
.shop-ttl{margin:0;font-family:var(--game-font);font-weight:400;font-size:26px;line-height:1.1;color:#3a2410}
.shop-leaf{display:flex;align-items:center;gap:3px;margin-left:4px}
.shop-leaf .ico{width:26px;height:26px}
.shop-leaf b{font-family:var(--game-font);font-weight:400;font-size:22px;line-height:1;color:#3a2410}
.shop-pg .shop-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0}
.shop-pg .toast-msg{margin:6px 0 0;text-align:center}
/* 2026-10-28 ユーザー：ミッションの帯が下の「修行」の札にかぶる → 少し上へ（受け取り箱の札も帯の上のままいっしょに上がる） */
.home2 .ms-strip.msb{margin-bottom:22px}
.shop-pg{position:relative}
.shop-pg .it-buy{flex-basis:98px}
.shop-pg .it-buy small{align-self:flex-start;padding-right:26px;font-size:11px}
.shop-pg .toast-msg{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5}
/* 2026-10-28 受け取り箱の絵（art/ui/ico_inbox.png）を札の左にはみ出して置く */
.ib-btn{padding-left:34px}
.ib-btn .ib-ico{position:absolute;left:-14px;top:50%;width:42px;height:auto;transform:translateY(-55%);pointer-events:none;filter:drop-shadow(0 2px 0 #1a0f08)}
/* 2026-10-28 ユーザー：黄の国では仲間の札の左下（一覧は左上）に商才。得意練習の札と同じ場所・同じ大きさ */
.pk .spec.shosai{top:1px;bottom:auto;left:1px}
/* 2026-10-28 ユーザー：準備の段の表示（丸の数字と字）を詰める。全部の段で同じ */
.su-bar{padding:3px 0 3px}
.su-prog i{width:21px;height:21px;font-size:11.5px;border-width:2px}
.su-prog li+li::before{top:10px}
.su-prog .now i{transform:scale(1.1)}
.su-prog small{font-size:9.5px;line-height:1.15}
.su-prog button{gap:0}
/* 確認の段：★5の★が枠のふちにかぶらないよう下にすきま。仲間6体・道具の札は少し低く（キャラは見える範囲で） */
.su-ok-hero{padding-bottom:5px}
.su-ok-face .su-star{line-height:1.1;margin-top:1px}
.su-ok .su-slot{height:clamp(52px,9.2dvh,88px)}
.su-ok .it-slot{min-height:46px;padding:1px 3px}
.su-ok .it-slot img.it-ic{width:24px;height:24px}
/* 2026-10-28 絆の書の印（チャッピーの絵 art/ui/sho_mark.png）。丸い札をやめて絵だけ */
.sho-mark{background:none!important;border:0!important;border-radius:0!important}
.sho-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 0 #1a0f08)}
/* 2026-10-28 得意練習・商才の札は絵（art/ui/tag/）。色の四角と縁はやめる */
.spec.spec-img{background:none!important;border:0!important;padding:0!important;line-height:0}
.spec.spec-img img{height:16px;width:auto;display:block;filter:drop-shadow(0 1px 0 #1a0f08)}
.su-ok .su-slot .spec.spec-img img{height:13px}
/* 2026-10-28 ユーザー：共鳴の背景が日章旗みたい → チャッピーの絵（紅白のより紐と炎の渦 art/fx/reso_bg.jpg）。今までの出方（少しずつ回る）はそのまま */
.cutin-resonance .ci-lines,.cutin.reso-great .ci-lines{inset:-25%;background:url(art/fx/reso_bg.jpg) center/cover no-repeat}
/* 2026-10-28 共鳴の糸：紅白のより紐の絵を渡す（線を描かない） */
.reso-thread .rt-rope{position:absolute;height:9px;margin-top:-4.5px;transform-origin:0 50%;background:url(art/fx/reso_rope.png) left center/auto 100% repeat-x;filter:drop-shadow(0 2px 0 #1a0f0880)}
.reso-thread .rt-knot-img{position:absolute;width:30px;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 0 #1a0f08)}
/* 仲間詳細の窓：枝と葉の枠（チャッピー 2026-10-28） */
.modal:has(>.nk2){border-style:solid!important;border-width:30px 26px 30px!important;border-image:url(art/ui/frame_nakama.png) 92 86 92 fill/30px 26px 30px stretch!important;outline:0;background:none!important;box-shadow:none!important;padding:2px 4px 4px!important}
/* 仲間詳細の能力の札・技の行・技の札（チャッピー 2026-10-28）：絵は大きめに、文字の入る所はせまくしない */
.nk2 .nk-stats{gap:4px}
.nk2 .nk-stats span{border:0;background:none;padding:9px 0 5px;border-image:url(art/ui/nk_stat.png) 42 30 21 41 fill/11px 8px 6px 11px/2px 1px 1px 2px stretch}
.nk2 .nk-skills{gap:5px}
.nk2 .nk-skills li{border:0;background:none;padding:10px 10px 7px 13px;min-height:56px;border-image:url(art/ui/nk_skill.png) 38 43 25 50 fill/10px 12px 7px 13px/0 2px 0 3px stretch}
.nk2 .nk-skills p{font-size:11px;letter-spacing:-.02em}.nk2 .nk-skills li{column-gap:6px}
.nk2 .nk-skills em{background:none;color:#3a2410;padding:4px 9px 3px 12px;border-image:url(art/ui/nk_tag.png) 37 42 23 41 fill/8px 9px 5px 9px stretch;min-width:28px;text-align:center}
.nk2 .nk-skills li.ougi em{background:none;color:#a8220e;border-image-source:url(art/ui/nk_tag_ougi.png)}
/* 休む：葉の寝床の上でゆっくり息をする・Zzzが浮かぶ・鼻ちょうちん・葉が落ちる */
.rest-scene .rest-fx{position:absolute;inset:0;pointer-events:none}
.rest-scene .rf-bed{position:absolute;left:50%;bottom:4%;width:78%;transform:translateX(-50%);z-index:0}
.rest-scene .scene-cast{z-index:1}
.rest-scene .cast.main{animation:rf-breath 3.2s ease-in-out infinite;transform-origin:50% 100%}
.rest-scene .rf-z,.rest-scene .rf-bub,.rest-scene .rf-leaf{position:absolute;z-index:2}
.rest-scene .rf-z{opacity:0;animation:rf-z 3.6s ease-out infinite}
.rest-scene .rf-z.z1{left:60%;top:40%;width:16px}.rest-scene .rf-z.z2{left:64%;top:40%;width:22px;animation-delay:1.2s}.rest-scene .rf-z.z3{left:68%;top:40%;width:30px;animation-delay:2.4s}
.rest-scene .rf-bub{left:31%;top:50%;width:26px;transform-origin:100% 100%;animation:rf-bub 3.2s ease-in-out infinite}
.rest-scene .rf-leaf{top:-12%;width:22px;animation:rf-leaf 7s linear infinite}
.rest-scene .rf-leaf.l1{left:14%}.rest-scene .rf-leaf.l2{left:46%;animation-delay:2.6s;width:26px}.rest-scene .rf-leaf.l3{left:80%;animation-delay:4.8s}
@keyframes rf-breath{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.035) translateY(-1px)}}
@keyframes rf-z{0%{opacity:0;transform:translate(0,10px)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(14px,-40px)}}
@keyframes rf-bub{0%,100%{transform:scale(.45)}50%{transform:scale(1)}}
@keyframes rf-leaf{0%{transform:translate(0,0) rotate(0);opacity:0}10%{opacity:1}50%{transform:translate(18px,120px) rotate(160deg)}90%{opacity:1}100%{transform:translate(-6px,260px) rotate(320deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.rest-scene .rest-fx *,.rest-scene .cast.main{animation:none}.rest-scene .rf-z{opacity:1}.rest-scene .rf-leaf{display:none}}
/* 2026-10-27 ユーザー：戦闘不能の絵があればそれだけ（下の今の倒れ方は隠す）。絵が読めなければ img を消し、今の倒れ方が出る */
.br-ko.has>:not(.br-ko-art){display:none}
/* 2026-10-28 ユーザー：商才とランクを別の札に。左上（下）に商才、右に同じ高さでランク */
.pk .spec.sh-rank{top:1px;bottom:auto;left:auto;right:1px}
.su-slot .spec.sh-rank{left:auto;right:0}
.spec.spec-img.rank img{height:16px}
/* 確認の段の仲間の札：キャラは左、右に札・★・名前・レベル */
.su-ok .su-ok-slot{display:flex!important;align-items:stretch;gap:1px;padding:0!important}
.su-ok .sos-art{flex:0 0 44%;min-width:0;display:grid;place-items:center;height:100%}
.su-ok .sos-art :is(img,svg){height:100%;width:100%;max-height:100%;object-fit:contain}
.su-ok .sos-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;line-height:1;overflow:hidden}
.su-ok .sos-tags{display:flex;gap:2px;align-items:center}
.su-ok .sos-tags .spec{position:static!important}
.su-ok .sos-tags .spec.spec-img img{height:clamp(12px,1.9dvh,16px)!important;width:auto!important;max-height:none}
.su-ok .sos-info .rstar{font-size:clamp(8px,1.3dvh,11px);letter-spacing:-.06em;line-height:1}
.su-ok .sos-name{font-family:var(--game-font);font-weight:400;font-size:clamp(10px,1.6dvh,13px);color:#2a1408;white-space:nowrap;max-width:100%;overflow:hidden}
.su-ok .sos-lv{font-family:var(--game-font);font-size:clamp(9px,1.4dvh,12px);color:#6a4426}
.su-ok .sos-info .rstar{-webkit-text-stroke:2px var(--ink)}
.su-slot .spec.shosai.spec-img img,.su-slot .spec.sh-rank.spec-img img{height:12px}
/* 2026-10-28 ユーザー：準備枠の名前の帯を倍の太さに（チャッピーの絵を描きなおし prep_frame.png 900×275）。字も大きく */
.su-pf{aspect-ratio:900/275}
.su-pf-name{left:14%;width:72%;top:6.6%;height:25.9%;font-size:6.4cqw;-webkit-text-stroke:1cqw #3a0c04}
.su-pf-c{top:calc(41.2% + var(--r)*25.9%);height:20.6%}
/* 2026-10-28 ユーザー：技の札の字を札の紙のまん中に（左右の余白をそろえ、上の枠にかからないように） */
.nk2 .nk-skills em{padding:7px 13px 4px!important;line-height:1.2!important}
/* 2026-10-28 ユーザー：10連の実が並ぶ画面がさみしい → ゆぐらの根元の絵（チャッピー）。実は2本の根の上に着地する */
.g-anim{background:#0b0816 url(art/fx/gacha_drop_bg.jpg) center/cover no-repeat}
.g-anim>.g-grid{transform:translateY(-3.5dvh)}
/* 「タップして開ける」は木の札にのせる（字があるときだけ） */
.g-anim .g-skip:not(:empty){left:50%;right:auto;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:9px 30px 11px;border-style:solid;border-width:0;border-image:url(art/ui/btn_wood.png) 40 110 46 fill/8px 22px 10px stretch;color:#fff6df;font-family:var(--game-font);font-size:15px;white-space:nowrap;-webkit-text-stroke:3px #2a1408;paint-order:stroke fill}
/* 2026-10-28 ユーザー：初ゲットの漫画の一コマ（奥義のカットインとは別。画面の半分・セリフつき・タップで続き） */
.g-get{position:fixed;inset:0;z-index:6;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#0b0816cc;pointer-events:none}
.g-get.on{display:flex}
.gg-panel{position:relative;width:min(92vw,440px);aspect-ratio:4/5;max-height:56dvh;background:#fff;border:5px solid #111;outline:3px solid #fff;box-shadow:0 10px 0 #0006;overflow:hidden;animation:ggIn .32s cubic-bezier(.2,1.6,.4,1) both}
.gg-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gg-fb{display:none}
.gg-panel.noart{background:#fff repeating-conic-gradient(from 0deg at 50% 60%,#111 0 1.5deg,#fff 1.5deg 9deg)}
.gg-panel.noart .gg-fb{display:grid;place-items:center;position:absolute;inset:12% 6% 0}
.gg-panel.noart .gg-fb .mon-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 0 #fff) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff)}
.gg-say{position:absolute;top:5%;margin:0;padding:12px 10px;background:#fff;border:3px solid #111;border-radius:50%/42%;writing-mode:vertical-rl;font-family:var(--game-font);font-size:clamp(15px,4.4vw,20px);line-height:1.25;color:#111;white-space:nowrap;animation:ggSay .25s .25s both}
.gg-say.r{right:5%}.gg-say.l{left:5%}
.gg-moji{animation:ggMoji .4s .1s cubic-bezier(.2,1.8,.4,1) both;font-family:var(--game-font);font-size:40px;color:#ffe066;-webkit-text-stroke:6px #2a1408;paint-order:stroke fill;line-height:1}
.gg-moji img{display:block;width:min(78vw,340px);height:auto}
.gg-name{display:flex;align-items:center;gap:6px;font-family:var(--game-font);font-size:22px;color:#fff6df;-webkit-text-stroke:4px #2a1408;paint-order:stroke fill;animation:ggSay .25s .35s both}
.gg-name .rstar{display:inline;font-size:18px}
@keyframes ggIn{from{transform:scale(1.25) rotate(0);opacity:0}to{transform:none;opacity:1}}
@keyframes ggMoji{from{transform:scale(2.2);opacity:0}to{transform:none;opacity:1}}
@keyframes ggSay{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion: reduce){.gg-panel,.gg-moji,.gg-say,.gg-name{animation:none}}
.g-anim .g-skip{z-index:7}
/* 2026-10-28 ユーザー：受け取り箱をもっと大きく */
.ib-btn{height:40px;font-size:16px;padding-left:52px;padding-right:16px;margin-top:10px}
.ib-btn .ib-ico{width:64px;left:-18px}
/* 書き文字は「初」の1文字（ユーザー） */
.gg-moji{font-size:84px;-webkit-text-stroke:10px #2a1408}
.gg-moji img{width:clamp(96px,30vw,140px)}
/* 2026-10-29 ユーザー：ミッションの達成の行の文字と「受け取る」がきもい → 文字は縁を下に回して読めるように、ボタンは木の札にこげ茶の字だけ（縁どりなし） */
.ms-wrap .ms-row .ms-mid b{paint-order:stroke fill}
.ms-wrap .ms-row.ready .ms-mid b{color:#fff6df;-webkit-text-stroke:3px #3a1408;font-size:13px;line-height:1.25}
.ms-wrap .ms-row.ready .btn{color:#3a2410!important;-webkit-text-stroke:0!important;text-shadow:none!important;font-family:var(--game-font);font-weight:400;font-size:14px}
.ms-wrap .ms-row.ready .btn{border-width:6px 12px 8px!important;padding:2px 6px!important;min-width:78px;white-space:nowrap}
:root .ms-wrap .ms-row.ready .btn.primary.small{border-width:6px 12px 8px!important;color:#3a2410!important;-webkit-text-stroke:0!important;text-shadow:none!important;font-family:var(--game-font);font-weight:400;font-size:14px}
:root .ms-wrap .ms-row.ready .btn.primary.small{border-image-width:6px 14px 8px!important;padding:2px 8px!important;filter:drop-shadow(0 2px 0 #2a1f16)}
/* 2026-10-29 ユーザー：初ゲットは カットイン（右→止まる→左へ、★と名前なし）→ キャラ絵と「初」と名前（タップで続き） */
.g-get{display:none}
.g-get.on{display:grid;place-items:center}
.g-get .gg-cut,.g-get .gg-card{grid-area:1/1}
.g-get .gg-card{display:none;flex-direction:column;align-items:center;gap:4px}
.g-get.card .gg-card{display:flex}
.g-get.card .gg-cut{display:none}
.g-get .gg-panel{animation:ggSlide 2.3s cubic-bezier(.2,.9,.3,1) both}
@keyframes ggSlide{0%{transform:translateX(120vw)}22%{transform:translateX(0)}78%{transform:translateX(0)}100%{transform:translateX(-120vw)}}
.gg-chara{width:min(70vw,300px);height:min(42dvh,320px);display:grid;place-items:center;animation:ggIn .35s cubic-bezier(.2,1.6,.4,1) both}
.gg-chara :is(img,svg){width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 0 #0008)}
.g-get.card .gg-moji{animation:ggMoji .4s .15s cubic-bezier(.2,1.8,.4,1) both}
.g-get.card .gg-name{animation:ggSay .25s .3s both}
@media (prefers-reduced-motion: reduce){.g-get .gg-panel{animation:none}}
.g-get{background:#0b0816f2}
/* 2026-10-29 ユーザー：カットインは派手に・専用の背景、キャラ絵の画面も専用の背景、「初」は飾りつきで左へ（この字だけ斜めでよい） */
.g-get.cut{background:#0b0816 url(art/fx/gg_cut_bg.jpg) center/cover no-repeat;animation:ggBg 2.3s linear both}
.g-get.card{background:#0b0816 url(art/fx/gg_card_bg.jpg) center/cover no-repeat}
@keyframes ggBg{from{background-position:60% 50%}to{background-position:40% 50%}}
.g-get.cut::before{content:'';position:absolute;inset:0;background:#fff;opacity:0;animation:ggFlash 2.3s both;pointer-events:none}
@keyframes ggFlash{0%,18%{opacity:0}22%{opacity:.85}30%{opacity:0}100%{opacity:0}}
.g-get.cut .gg-panel{animation:ggSlide 2.3s cubic-bezier(.2,.9,.3,1) both,ggHit 2.3s both;outline:4px solid #f2c14a;box-shadow:0 0 0 10px #1a0a06,0 14px 0 #0008}
@keyframes ggHit{0%,21%{scale:1}24%{scale:1.06}28%{scale:.98}32%,100%{scale:1}}
.g-get.card .gg-card{position:absolute;inset:0;display:block}
.g-get.card .gg-moji{position:absolute;left:4%;top:7%;margin:0}
.g-get.card .gg-moji img{width:clamp(150px,46vw,210px)}
.g-get.card .gg-chara{position:absolute;left:50%;top:auto;bottom:34%;transform:translateX(-50%);width:min(76vw,330px);height:min(40dvh,330px);align-items:end}
.g-get.card .gg-name{position:absolute;left:0;right:0;bottom:15%;justify-content:center;font-size:26px}
.g-get.card .gg-moji img{rotate:-10deg} /* ユーザー：この「初」だけは斜めでよい */
.g-get.on.card{display:block}.g-get.card .gg-card{grid-area:auto}
.g-get.card .gg-chara{left:0;right:0;margin:0 auto;transform:none}
/* 100回の到達報酬と巻物。既存の木札と紙の窓にそろえ、結果の上には通知だけを重ねる */
.gacha3{height:100dvh;min-height:0;gap:4px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.gacha3>*{flex-shrink:0}
.gacha3 .g3-banner{flex:1 1 auto;min-height:50px;max-height:268px}
.g3-banner .g3-track-wrap,.g3-banner .g3-key{height:100%}
.gacha3 .g3-scroll.btn{align-self:center;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;min-height:44px;margin:0;padding:0 6px;border-width:6px 14px 8px;border-image-width:6px 14px 8px;font-size:14px;white-space:nowrap}
.gacha3 .g3-pull{height:76px}
.g3-first-btns{display:flex;justify-content:center;gap:6px}
.g3-first-btns .btn.big{min-width:0;min-height:52px;padding:0 4px;font-size:16px}
.g3-first-note b{font-size:14px}
.g3-miles{height:86px;margin-top:0}
.g3-count{position:absolute;top:6px;left:6px;margin:0;text-align:left;line-height:1.4}
.g3-count small,.g3-count span{display:block;font-size:10px}
.g3-guide .guide-say{padding:3px 8px;margin-bottom:0}
.g3-guide .guide-say b{font-size:12px;line-height:1.2}
.g3-guide .guide-say p{font-size:12px;line-height:1.4}
.pick-scroll-ico{width:30px;height:30px;object-fit:contain;flex:none}
.pick-scroll-fallback{display:inline-grid;place-items:center;width:30px;height:30px;font-size:12px;color:inherit;flex:none}
.g3-node .pick-scroll-fallback{color:#ffd27a}
.modal:has(>.pick-scroll-body),.modal:has(>.gacha-mail){border:8px solid #7a5232!important;border-image:none!important;outline:3px solid #2a1f16;background:#f6ead0!important;box-shadow:inset 0 0 0 3px #c9a46a!important;filter:drop-shadow(5px 5px 0 #000a);padding:12px!important;max-width:420px;overflow:hidden}
.pick-scroll-body h2,.gacha-mail h2{font-size:19px;text-align:center;margin:0 0 6px;color:#3a2410;letter-spacing:0}
.pick-scroll-body>p{font-size:13px;text-align:center;margin:4px 0 8px}
.pick-scroll-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.pick-scroll-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:76px;padding:3px;background:#fff6df;border:3px solid #5a3a22;color:#2a1f16;font:inherit;cursor:pointer}
.pick-scroll-card.on{border-color:#ba381d;background:#ffe0a0;box-shadow:inset 0 0 0 1px #ba381d}
.pick-scroll-card :is(img,svg){width:46px;height:46px;object-fit:contain}
.pick-scroll-card .nk-name{width:100%;font-size:12px;line-height:18px;text-align:center}
.pick-scroll-body .pick-scroll-name{height:22px;line-height:22px;margin:6px 0 2px;font-size:14px}
.pick-scroll-actions{display:flex;justify-content:center;gap:6px}
.pick-scroll-actions .btn{min-width:0;min-height:44px;font-size:14px;padding:0 4px;white-space:nowrap}
.gacha-mail{text-align:center}
.gacha-mail ul{list-style:none;padding:0;margin:8px 0 12px;display:flex;flex-direction:column;gap:8px}
.gacha-mail li{display:flex;align-items:center;justify-content:center;gap:8px}
.gacha-mail li>img,.gacha-mail li>.pick-scroll-fallback{width:38px;height:38px;object-fit:contain}
.gacha-mail p{margin:0;text-align:left;font-size:13px;line-height:1.6}
.gacha-mail p b{font-size:14px}
.gacha-mail>.btn{min-height:44px;margin:0}
/* 2026-10-29 ガチャ：上半分に目玉の★3を大きく */
.gacha3 .g4-hero{position:relative;flex:1 1 auto;min-height:220px;margin:0 -10px;overflow:hidden;border-top:4px solid #2a1f16;border-bottom:4px solid #2a1f16;box-shadow:0 5px 0 #0006;background:#1b120c}
.g4-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.1);transform:scale(1.08)}
.g4-shade{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 58%,#ffd96a55,transparent 70%),linear-gradient(transparent 55%,#120a06d0 92%)}
.g4-chara{position:absolute;left:50%;bottom:58px;transform:translateX(-50%);height:calc(100% - 96px);width:86%;display:flex;align-items:flex-end;justify-content:center;animation:g4In .45s cubic-bezier(.2,.9,.3,1.2) both}
.g4-chara img{height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 0 14px #ffe08a99) drop-shadow(0 6px 0 #0008)}
@keyframes g4In{from{opacity:0;transform:translateX(-40%) scale(.92)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.g4-title{position:absolute;left:8px;top:6px;z-index:2}.g4-title .moji{height:40px;width:auto;filter:drop-shadow(0 3px 0 #2a1408)}.g4-title .g3-end{margin:2px 0 0;font-size:11px;color:#fff}
.g4-btns{position:absolute;right:6px;top:6px;z-index:2;display:flex;flex-direction:column;gap:4px}.g4-btns .btn{min-height:0;height:28px;padding:0 10px;font-size:12px;margin:0}
.g4-plate{position:absolute;left:10px;bottom:8px;z-index:2;max-width:62%;display:flex;flex-direction:column;gap:1px;text-shadow:0 2px 0 #000}
.g4-plate .rstar{font-size:16px;line-height:1}.g4-plate b{font:26px var(--game-font);color:#fff;-webkit-text-stroke:5px #2a1408;paint-order:stroke fill;line-height:1.1}.g4-plate small{font-size:12px;color:#ffe9b8;line-height:1.35}
.g4-thumbs{position:absolute;right:6px;bottom:8px;z-index:2;display:grid;grid-template-columns:repeat(2,40px);gap:4px}
.g4-th{width:40px;height:40px;padding:0;border:2px solid #5a3a22;background:#2a1f16cc;border-radius:6px;overflow:hidden;display:grid;place-items:center}.g4-th img{width:120%;height:120%;object-fit:cover;object-position:50% 20%}
.g4-th.on{border-color:#ffd75e;box-shadow:0 0 0 2px #ffd75e88}
.gacha3 .g3-miles{flex:0 0 auto}
.gacha3 .g3-buttons{margin-top:0}
.g4-scroll{display:flex;align-items:center;gap:3px;position:relative}.g4-scroll .pick-scroll-ico{width:22px;height:22px;margin:-4px 0}.g4-scroll-n{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;border-radius:9px;background:#c8321e;color:#fff;font-size:11px;line-height:18px;text-align:center;padding:0 4px;border:2px solid #fff6df}
.scrolls-body h2{text-align:center;margin:0 0 8px}.scrolls-list{display:flex;flex-direction:column;gap:6px}
.scrolls-row{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:6px;background:#fff6df;border:2px solid #6b3d1f;padding:5px 7px}.scrolls-row img{width:52px;height:52px;object-fit:contain}.scrolls-row b{display:block;font-size:14px}.scrolls-row small{display:block;font-size:11px;line-height:1.35;color:#5a4030}.scrolls-row em{font-style:normal;font-weight:900;font-size:15px}.scrolls-row .btn{margin:0;min-height:0;height:34px;padding:0 12px}
.scrolls-none{text-align:center;margin:18px 0}
#app .scrolls-row{grid-template-columns:48px minmax(0,1fr) auto 76px}#app .scrolls-row>div{min-width:0}#app .scrolls-row .btn{width:76px!important;min-width:0!important;padding:0!important;font-size:13px!important;white-space:nowrap}#app .scrolls-row img{width:48px;height:48px}
/* 1つだけの時（単発・巻物）は真ん中に */
.g-anim .g-grid.n1{grid-template-columns:minmax(0,180px)!important;justify-content:center;align-content:center;place-self:center}
/* 2026-10-29 ユーザー「キャラ絵も星も名前も見づらい。最高レアが出た時の演出を参考に」
   → ウマ娘・FGOなどにならい、背景を暗く落として後ろに光の柱、キャラは白い縁で浮かせ、星は1つずつ大きく、名前は太い札に */
.g-get.card .gg-card:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 45% at 50% 46%,transparent 0,#0b081677 60%,#0b0816cc 100%);z-index:0;pointer-events:none}
.gg-burst{position:absolute;left:50%;top:44%;width:150vmax;height:150vmax;translate:-50% -50%;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg,#fff3b000 0deg 7deg,#fff3b03a 7deg 11deg);-webkit-mask:radial-gradient(circle,#000 0,#000 18%,transparent 52%);mask:radial-gradient(circle,#000 0,#000 18%,transparent 52%);animation:ggBurst 14s linear infinite}
.gg-burst:after{content:'';position:absolute;inset:0;background:radial-gradient(circle,#fff6c8 0,#ffd75ecc 9%,#ffb43066 20%,transparent 36%)}
.gg-burst.r2{filter:hue-rotate(170deg) saturate(.7)}.gg-burst.r1{filter:grayscale(1) brightness(.9)}
@keyframes ggBurst{to{rotate:360deg}}
.g-get.card .gg-chara{z-index:1;bottom:31%!important;width:min(92vw,400px)!important;height:min(47dvh,400px)!important}
.g-get.card .gg-chara :is(img,svg){filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 0 18px #ffe08a) drop-shadow(0 8px 0 #0009)!important}
.g-get.card .gg-moji{z-index:2}
.g-get.card .gg-name{display:none}
.gg-info{position:absolute;left:0;right:0;bottom:11%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px}
.gg-stars{display:flex;gap:2px;line-height:1}
.gg-stars i{font-style:normal;font-size:54px;color:#ffd84a;-webkit-text-stroke:5px #3a1a04;paint-order:stroke fill;text-shadow:0 0 14px #ffe9a0,0 4px 0 #3a1a04;animation:ggStar .38s calc(.25s + var(--i)*.16s) cubic-bezier(.2,1.9,.4,1) both}
.gg-info.r2 .gg-stars i{color:#e4ecf4;text-shadow:0 0 12px #cfe6ff,0 4px 0 #3a1a04}.gg-info.r1 .gg-stars i{color:#d9a26a;text-shadow:0 4px 0 #3a1a04}
@keyframes ggStar{from{opacity:0;transform:scale(2.6)}to{opacity:1;transform:scale(1)}}
.gg-plate{min-width:min(86vw,360px);padding:6px 18px 8px;background:#1b0f08e6;border-top:3px solid #e8b84a;border-bottom:3px solid #e8b84a;box-shadow:0 0 0 2px #1b0f08,0 6px 0 #0008;text-align:center;animation:ggPlate .3s .6s cubic-bezier(.2,1.4,.4,1) both}
.gg-plate b{display:block;font:44px/1.1 var(--game-font);color:#fff;-webkit-text-stroke:6px #2a1408;paint-order:stroke fill;letter-spacing:.04em}
.gg-plate small{display:block;margin-top:3px;font-size:13px;color:#ffe9b8;font-weight:700}
@keyframes ggPlate{from{opacity:0;transform:scaleX(.3)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.gg-burst,.gg-stars i,.gg-plate{animation:none}}
/* 2026-10-29 ユーザー「日章旗みたいな演出は全然よくない」→ 放射の筋はやめ、キャラの後ろのやわらかい光だけ */
.gg-burst{background:none!important;animation:none!important;-webkit-mask:none!important;mask:none!important;width:120vmin!important;height:120vmin!important}
.gg-burst:after{background:radial-gradient(circle,#fff6c899 0,#ffd75e55 18%,transparent 48%)!important}
/* 2026-10-29 ユーザー「上につめれる？キャラ枠が広がりすぎ。名前を倍にするだけでよかった」→ キャラ絵を名前と能力の札の高さにそろえ、上のすき間をつめる */
.page-setup .su-hero2{margin-top:0!important}
.page-setup .su-ok-face{flex:0 0 84px!important}
.page-setup .su-ok-face .mon-img,.page-setup .su-ok-face svg{height:70px!important;max-width:84px!important}
/* 2026-10-29 仲間のレベルの特典 */
.nk-perks{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:2px 0 4px}
.nk-perk{display:flex;flex-direction:column;align-items:center;gap:0;padding:3px 2px 4px;background:#2a1f16;border:2px solid #5a3a22;border-radius:6px;filter:grayscale(1) brightness(.6)}
.nk-perk img{width:34px;height:34px;object-fit:contain}.nk-perk small{font-size:10px;color:#e9d3a6;line-height:1.1}.nk-perk b{font-size:11px;color:#fff6df;line-height:1.2;white-space:nowrap}
.nk-perk.on{filter:none;border-color:#e8b84a;box-shadow:0 0 0 1px #e8b84a66}
.nk-perk.next{filter:grayscale(.3) brightness(.9);border-color:#c8321e}
.nk-perk-next{text-align:center;font-size:12px;margin:0 0 4px;color:#7a3a1a;font-weight:700}
.nk-pick-perk{margin:4px 0;font-size:12px;font-weight:700;color:#b8402a;text-align:center}
/* 2026-10-29 ユーザー「入りきってない」：技4つを2列×2段、解放の段をつめる */
.nk2 .nk-skills{display:grid!important;grid-template-columns:1fr 1fr;gap:4px!important}
.nk2 .nk-skills li{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;min-height:0!important;padding:8px 8px 6px 11px;row-gap:1px}
.nk2 .nk-skills li em{grid-row:1;font-size:10px;padding:3px 7px 2px!important;min-width:0}
.nk2 .nk-skills li b{grid-row:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nk2 .nk-skills li p{grid-column:1/3;grid-row:2;font-size:10px;line-height:1.3;margin:1px 0 0}
.nk2 .nk-h:has(.nk-perk-next){display:flex;align-items:center;justify-content:space-between}
.nk-perk-next{font-size:11px!important;margin:0!important;color:#7a3a1a;font-weight:700}
.nk-perk img{width:28px!important;height:28px!important}
.nk2 .nk-skills li em{font-size:11px!important;padding:6px 11px 4px!important;line-height:1.1!important}
.nk-perk-sh{font-style:normal;font-size:10px;color:#ffd75e;line-height:1.1}
/* 2026-10-29 レベル解放の札をタップしたときの説明（枠の大きさは変えず、上に重ねる） */
.nk-perk[data-perk]{cursor:pointer}
.nk-detail{position:relative}
.nk-perk-pop{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0008;padding:16px}
.nk-perk-pop-in{width:100%;max-width:330px;background:none;border-style:solid;border-width:10px 22px 10px;border-image:url(art/ui/mat/washi.png) 30 60 30 60 fill/10px 22px 10px stretch;filter:drop-shadow(0 4px 0 #2a1f16);padding:4px 0 10px;color:#3a2614}
.nk-perk-pop-h{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 2px}
.nk-perk-pop-h img{width:40px;height:40px;object-fit:contain}
.nk-perk-pop-h span{display:flex;flex-direction:column;line-height:1.15}.nk-perk-pop-h small{font-size:12px;color:#7a5a3a}.nk-perk-pop-h b{font-size:18px}
.nk-perk-pop dl{margin:0;display:flex;flex-direction:column;gap:3px}
.nk-perk-pop dt{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;margin-top:5px}
.nk-perk-pop .pp-tag{height:26px;width:auto;display:block}
.nk-perk-pop dd{margin:0;font-size:14px;line-height:1.4;font-weight:700;text-align:center}
.nk-perk-pop-x{display:block;text-align:center;margin-top:8px;font-size:11px;color:#8a6a4a}
/* 2026-10-29 ユーザー：レベル上げの確認を中央ぞろえに（やめる・はいを同じ幅）／上げたあとの初期ステータスを並べる */
.nk-ask-box .modal-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.nk-ask-box .modal-row .btn{width:100%;margin:0}
.nk-pick-st{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;margin:6px 4px 4px;font-family:var(--game-font);text-shadow:0 1px 0 #000,0 0 3px #000}
.nk-pick-st span{display:flex;align-items:baseline;gap:6px;padding:0 4px;background:none;border-style:solid;border-width:5px 8px;border-image:url(art/ui/mat/stat_slot.png) 20 30 20 30 fill/5px 8px stretch;white-space:nowrap}
.nk-pick-st small{font-size:13px!important;color:#fff6df;font-weight:800;display:inline!important;min-width:2.4em}
.nk-pick-st b{color:#fff;font-weight:400;font-size:19px;margin-left:auto}
.nk-pick-st em{font-style:normal;color:#8fe36a;font-size:14px;min-width:2.2em;text-align:left}
.nk-ask-box.nk-pick{width:min(330px,98%);padding-left:6px;padding-right:6px}
.nk-ask-box .nk-pick-t{font-size:18px}
.nk-ask-box .nk-pick-perk{font-size:14px;margin:2px 0 4px}

.nk-ask-box .nk-pick-perk{color:#ffd75e;-webkit-text-stroke:3px #1a0f08;paint-order:stroke fill}
.nk-ask-box .nk-pick-cost small{color:#e9d3a6;font-size:13px}
.nk-pick-row .nk-pm{width:60px!important;height:44px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;font-size:26px!important;border-width:6px 10px 8px!important}
/* 2026-10-29 ユーザー：±5も並べる／解放と商才のランクアップを分かりやすく（枠は大きくしてよい） */
.nk-ask-box.nk-pick{width:min(350px,100%)}
.nk-pick-open{height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:6px 0 2px}
.nk-pick-ol{display:flex;align-items:center;justify-content:center;gap:6px;height:30px}
.nk-pick-ol em{font-style:normal;font-size:14px;color:#e9d3a6}
.nk-pick-pk{display:flex;align-items:center;gap:2px}
.nk-pick-pk img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 3px #ffd75e)}
.nk-pick-pk b{font-size:14px;color:#ffd75e;font-weight:900;white-space:nowrap}
.nk-pick-sh{display:flex;align-items:center;justify-content:center;gap:4px;height:28px}
.nk-pick-sh img{height:26px;width:auto}
.nk-pick-sh i{font-style:normal;color:#ffd75e;font-size:18px;font-weight:900}
.nk-ask-box .nk-pick-lv{font-size:30px;line-height:1;margin:2px 0 6px}
.nk-pick-row.lv{gap:6px}
.nk-pick-row.lv .nk-pm{width:60px!important;font-size:19px!important}
.nk-pick-oh{height:20px;width:auto;display:block}
/* 2026-10-29 ユーザー「はいとやめるが統一感ない（前にも言った）」：2つ並んだボタンは同じ形の板の色違いにそろえる。
   となりに控えめなボタンがある「はい・決める・出発する」などは、朱の漆（金の角）ではなく同じ縄の板の朱色（btn_red）。となりの控えめな方は灰色の板（btn_ash） */
:root :is(.btn:not(.primary):not(.small) ~ .btn.primary:not(.small),.btn.primary:not(.small):has(~ .btn:not(.primary):not(.small))):not(#_pair){border-image-source:url(art/ui/btn_red.png)!important;border-image-slice:50 120 56 fill!important;border-image-width:var(--pbw,9px 24px 11px)!important;border-style:solid!important;border-width:9px 24px 11px!important;color:#fff8e6!important;-webkit-text-stroke-color:#3a0c06!important}
:root :is(.btn.primary:not(.small) ~ .btn:not(.primary):not(.small),.btn:not(.primary):not(.small):has(~ .btn.primary:not(.small))):not(#_pair){border-image-source:url(art/ui/btn_ash.png)!important;border-image-slice:40 110 46 fill!important;border-image-width:9px 24px 11px!important;border-style:solid!important;border-width:9px 24px 11px!important;background:none!important;color:#3a2a1c!important;-webkit-text-stroke-color:#f6f0e4!important}
/* 2026-10-30 ユーザー「続きからってこんなんだったっけ」：中の文字（b・small）が白い縁取りのままで、白い字がつぶれていた。縁取りの色はボタンに合わせる */
:root :is(.btn:not(.primary):not(.small) ~ .btn.primary:not(.small),.btn.primary:not(.small):has(~ .btn:not(.primary):not(.small))):not(#_pair) :is(b,small,span,em){-webkit-text-stroke-color:#3a0c06!important;color:#fff8e6!important}
:root :is(.btn.primary:not(.small) ~ .btn:not(.primary):not(.small),.btn:not(.primary):not(.small):has(~ .btn.primary:not(.small))):not(#_pair) :is(b,small,span,em){-webkit-text-stroke-color:#f6f0e4!important;color:#3a2a1c!important}

/* Lv50の固有ボーナスの名前（長いものは小さく）と、どこでも同じ効果の1行 2026-10-29 */
.nk-perk b.long{font-size:9.5px}.nk-perk b.long2{font-size:8.5px;letter-spacing:-.03em}
.nk-perk-pop dd.pp-only{padding:6px 2px}
/* 2026-11-03 ユーザー「道具左寄せにして右に効果書いて（略した感じ）」「横に3つ並んでる配置のまま」：確認の段の道具の札は3つ並びのまま、札の中で左に絵と名前、右に短い効果 */
.su-ok .it-slots.su-ok-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.su-ok .su-ok-items .it-slot.on{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:4px;row-gap:1px;align-items:center;justify-items:start;min-width:0;padding:3px 5px}
.su-ok .su-ok-items .it-slot.on img.it-ic{grid-row:1;grid-column:1}
.su-ok .su-ok-items .it-slot.on .it-short{grid-row:1;grid-column:2;justify-self:end;text-align:right;font-style:normal;font-weight:700;font-size:11px;line-height:1.15;color:#7a2a12;white-space:nowrap}
.su-ok .su-ok-items .it-slot.on b{grid-row:2;grid-column:1/3;font-size:10px;line-height:1.1;text-align:left;white-space:nowrap}
.su-ok .su-ok-items .it-slot.on img.it-eff{height:36px;width:auto;max-width:100%;object-fit:contain} /* 2026-11-03 ユーザー「これもチャッピーに描かせて」：効果の文字はチャッピーの手描き（art/ui/eff/道具id.png） */
/* 2026-11-03 ユーザー「ここにアイテム名入れなくていい」：確認の段の道具の札は 左に絵・右に効果 だけ */
.su-ok .su-ok-items .it-slot.on{grid-template-rows:auto;padding:3px 6px}
.su-ok .su-ok-items .it-slot.on b{display:none}
.su-ok .su-ok-items .it-slot.on img.it-ic{width:32px;height:32px}
/* 2026-11-03 ユーザー「仲間のこのすきま気になる。無駄なスペース」：確認の段の仲間の札は、右のすきまがなくなるまで絵と字を大きく */
.su-ok .sos-art{flex-basis:47%}
.su-ok .sos-info{gap:3px;padding-right:3px}
.su-ok .sos-info .rstar{font-size:clamp(9px,1.55dvh,13.5px)}
.su-ok .sos-name{font-size:clamp(11px,1.85dvh,15.5px)}
.su-ok .sos-lv{font-size:clamp(10px,1.6dvh,14px)}
.su-ok .sos-tags .spec.spec-img img{height:clamp(13px,2.15dvh,18px)!important}
/* 2026-11-03 ユーザー「仲間は名前とレベル入れ替えて。名前が一番下」 */
.su-ok .sos-lv{order:1}.su-ok .sos-name{order:2;font-size:clamp(11px,1.6dvh,13.5px)}
.su-ok .sos-name{letter-spacing:-.05em}.su-ok .sos-info .rstar{font-size:clamp(8.5px,1.4dvh,12px);letter-spacing:-.1em}
.su-ok .sos-info>*{flex-shrink:0}.su-ok .sos-info{gap:clamp(1px,.3dvh,3px)}
.su-ok .sos-tags{line-height:0}.su-ok .sos-tags :is(.spec,.sh-rank) img{height:clamp(12px,2dvh,18px)!important;width:auto!important}
.su-ok .sos-tags .spec{padding:0!important;min-height:0!important;height:auto!important;line-height:0!important;border:0!important;background:none!important}
/* 2026-11-03 ユーザー「修行キャラの星と名前も入れ替え。アワポンって書いてあるところに星とレベル表示」：顔の下に名前、上の札に★とLv */
.su-pf-stlv{gap:.35em}
.su-pf-stlv .su-pf-star{color:#ffd23a;letter-spacing:-.08em;font-size:.95em}
.su-pf-stlv .su-pf-lv{font-size:.9em}
.su-ok-face .su-face-name{font-family:var(--game-font);font-weight:400;font-size:13px;line-height:1.1;color:#2a1408;white-space:nowrap;margin-top:1px}
/* 2026-11-03 ユーザー「名前は背景うっすらつけて」 */
.su-ok-face .su-face-name{background:rgba(255,241,212,.62);padding:1px 7px 0;border-radius:3px}
/* 2026-11-03 ユーザー「これ修行開始にして！いらない。チャッピーに描かせて」 */
.su-start-moji{height:30px;width:auto;display:block;margin:0 auto;pointer-events:none}
/* 2026-11-03 ユーザー「おすすめおしたらこんなんなった」：縦長の絵（トキナリ）が入ると編成の札が縦にのびて下に重なった。札は正方形のまま、絵を中に収める */
.su-deckhead .su-slot{min-height:0;overflow:hidden}
.su-deckhead .su-slot .mon-img{max-height:100%;max-width:100%;object-fit:contain}
/* 2026-11-03 ユーザー「ランクは右上の角に枠と重ねる。中央よりちょい下寄せ。トキナリは下が切れてる」 */
.su-deckhead .su-slot{overflow:visible;position:relative;align-items:end;justify-items:center}
.su-deckhead .su-slot .mon-img{height:84%!important;width:auto!important;max-width:96%;max-height:none;align-self:end;margin-bottom:2%;object-fit:contain}
.su-deckhead .su-slot .spec{top:-9px!important;right:-11px!important;z-index:2}
.su-deckhead .su-slot{align-items:center}
.su-deckhead .su-slot .mon-img{height:100%!important;max-width:100%;align-self:center;margin:0;transform:translateY(7%)}
/* 2026-11-03 ユーザー「もうちょいキャラ大きくできる？」 */
.su-deckhead .su-slot .mon-img{height:116%!important;max-width:120%;transform:translateY(2%)}
.su-deckhead .su-slot .mon-img{position:absolute;left:-5px;right:-5px;top:-1px;bottom:-3px;width:calc(100% + 10px)!important;height:calc(100% + 4px)!important;max-width:none;max-height:none;object-fit:contain;object-position:50% 70%;transform:none;margin:0}
/* 2026-11-03 ユーザー：ロード中の画面（loading.js）。どの画面よりも上。コマが歩き、点が順に光る */
.ld{position:fixed;inset:0;z-index:2000;background:#1a120c;display:none;align-items:center;justify-content:center}
.ld.on{display:flex}
.ld-in{position:relative;width:220px;display:flex;flex-direction:column;align-items:center}
.ld-walk{position:relative;width:120px;height:120px}
.ld-walk img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;visibility:hidden;image-rendering:pixelated}
.ld-walk img.f{visibility:visible}
.ld-ground{width:180px;height:4px;margin-top:-6px;background:repeating-linear-gradient(90deg,#6b4a2c 0 14px,transparent 14px 24px);animation:ldGround .66s linear infinite;opacity:.8}
@keyframes ldGround{from{background-position:0 0}to{background-position:-24px 0}}
.ld-txt{display:flex;align-items:flex-end;gap:4px;margin-top:14px}
.ld-moji{height:34px;width:auto}
.ld-dots{display:flex;gap:5px;padding-bottom:5px}
.ld-dots i{width:7px;height:7px;background:#f3e2bd;border:2px solid #3a2414;border-radius:50%;opacity:.25;animation:ldDot 1.2s steps(1,end) infinite}
.ld-dots i:nth-child(2){animation-delay:.4s}.ld-dots i:nth-child(3){animation-delay:.8s}
@keyframes ldDot{0%{opacity:1}33%{opacity:.25}}
/* カットイン（修行開始・戦闘開始）：暗い帯が横に走り、描き文字が大きく出てドンと止まる。ななめにはしない */
.kcut{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:rgba(10,6,3,0);transition:background .15s}
.kcut.go{background:rgba(10,6,3,.45)}
.kcut.out{background:rgba(10,6,3,0);transition:background .3s}
.kcut-band{position:absolute;left:0;right:0;top:50%;height:118px;margin-top:-59px;background:#1a0f08;border-top:3px solid #b8862e;border-bottom:3px solid #b8862e;box-shadow:0 0 0 2px #5a1a0e,0 0 24px rgba(0,0,0,.6);transform:scaleX(0)}
.kcut.go .kcut-band{animation:ciBand .14s ease-out forwards}
.kcut.out .kcut-band{animation:ciBandOut .3s ease-in forwards}
@keyframes ciBand{to{transform:scaleX(1)}}
@keyframes ciBandOut{from{transform:scaleX(1);opacity:1}to{transform:scaleX(1) scaleY(0);opacity:0}}
.kcut-moji{position:relative;width:min(84vw,360px);height:auto;opacity:0;filter:drop-shadow(0 0 10px rgba(255,170,60,.55))}
.kcut.go .kcut-moji{animation:ciPop .5s cubic-bezier(.2,.9,.3,1) .08s forwards}
.kcut.out .kcut-moji{animation:ciOut .3s ease-in forwards}
@keyframes ciPop{0%{opacity:0;transform:scale(2.4)}22%{opacity:1;transform:scale(.94)}34%{transform:scale(1.04) translate(3px,-2px)}46%{transform:scale(1) translate(-3px,2px)}58%{transform:translate(2px,0)}70%,100%{opacity:1;transform:none}}
@keyframes ciOut{from{opacity:1;transform:none}to{opacity:0;transform:scale(1.15)}}
/* 2026-11-03 ユーザー「アイテム効果はやっぱり絵じゃなくて文字に戻して」：右の効果は2行の文字（伸びは「10%UP」） */
.su-ok .su-ok-items .it-slot.on .it-short{font-size:12px;line-height:1.2}
/* 2026-11-03 ユーザー「修行開始は左右に並べて」：確認の「いいえ」「はい」は横に2つ */
.modal-actions.su-yn{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.modal-actions.su-yn .btn{width:100%;min-width:0;margin:0}
/* 2026-11-03 ユーザー「もうちょいこの部分（能力・仲間・ボタン）の縦を大きくして、すごろく狭くしていい」：下の段を大きくし、すごろくの場（flex で残りを使う）が縮む */
#app .sg-bingo .sg-stats{height:auto}
#app .sg-bingo .sg-st{padding:5px 0 4px;line-height:1.2}
#app .sg-bingo .sg-st span{font-size:12px}
#app .sg-bingo .sg-st b{font-size:21px;line-height:1.1}
#app .sg-bingo .sg-team{height:auto;margin:3px 0}
#app .sg-bingo .sg-tm-face{width:54px;height:54px}
#app .sg-bingo .sg-tm-face img{height:52px}
#app .sg-bingo .sg-bond{height:17px}
#app .sg-bingo .sg-act{height:72px}
#app .sg-bingo .sg-roll{min-height:68px;font-size:22px}
#app .sg-bingo .sg-roll-art{height:38px;width:38px}
@media(max-height:720px){
 #app .sg-bingo .sg-st{padding:3px 0 2px}
 #app .sg-bingo .sg-st b{font-size:18px}
 #app .sg-bingo .sg-tm-face{width:44px;height:44px}
 #app .sg-bingo .sg-tm-face img{height:42px}
 #app .sg-bingo .sg-act{height:58px}
 #app .sg-bingo .sg-roll{min-height:56px;font-size:19px}
}

/* ===== 2026-11-03 時成通りのまとめ直し ===== */
/* 7 名札を左にそろえる */
.scene-speaker{left:0}
/* 14 ×が中身に重ならないよう、×のある窓は上をあける */
#app .modal:has(>.close[data-sg]){padding-top:40px!important}
#app .modal:has(>.close[data-sg])>.close{position:absolute!important;float:none;top:2px;right:6px;width:44px;height:30px;font-size:16px!important;z-index:5}
/* 6 ライン完成：くす玉と重なる題に、無地の帯 */
.sg-line-result .sg-line-title span{display:inline-block;background:#fff6df;border:3px solid #6b3d1f;padding:0 16px;text-shadow:none;box-shadow:0 3px 0 #6b3d1f}
.sg-line-result .sg-line-all{position:relative;z-index:1;margin:2px 0 4px;font-weight:900;font-size:15px;color:#fff6df;background:#a3311c;padding:3px 8px}
/* 11 増えた能力のカード：数字を小さくして中に収める */
#app .sg-line-gains .sg-st{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 0 6px;min-height:52px;overflow:hidden}
#app .sg-line-gains .sg-st span{font-size:12px;line-height:1.2}
#app .sg-line-gains .sg-st b{font-size:21px;line-height:1.1;white-space:nowrap;letter-spacing:-.02em}
/* 10 サイコロをふる：厚みと影、押すと沈む */
#app .sg-bingo .sg-roll{box-shadow:inset 0 3px 0 #ffffff4d,inset 0 -5px 0 #00000040,0 6px 0 #4f2917,0 9px 6px #0005!important;transition:transform .06s,box-shadow .06s}
#app .sg-bingo .sg-roll:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 3px 0 #ffffff33,inset 0 -2px 0 #00000040,0 1px 0 #4f2917,0 2px 2px #0004!important}
/* 13 札の数：模様の上ではなく無地の濃い地に */
#app .sg-bingo .sg-wallet .sg-leaf{background:#3a2414!important;color:#ffe9a8;border:2px solid #c99a2e}
#app .sg-bingo .sg-wallet .sg-leaf>small{color:#f1d79a}
/* 12 止まったマス：札＋大きな数字のカード */
#app .sg-stage-cue.landed{display:block;padding:6px 10px 8px;min-height:0;font-family:inherit}
.sg-cue-head{display:flex;align-items:center;justify-content:center;gap:6px}.sg-cue-head .sg-art{width:40px;height:40px}.sg-cue-head b{font:900 20px/1.2 var(--game-font)}
.sg-cue-msg{margin:2px 0 0;font-size:14px;font-weight:900}
.sg-cue-ups{display:flex;justify-content:center;gap:6px;margin-top:4px}
.sg-cue-up{min-width:76px;background:#2a1f16;color:#f3dfb0;border:2px solid #c99a2e;padding:2px 8px 3px;text-align:center}.sg-cue-up small{display:block;font-size:12px}.sg-cue-up b{display:block;font:900 22px/1.1 var(--game-font);color:#ffd84a}
/* 5 ルーレット：止まった出来事だけを出す */
.sg-wheel-pick{min-height:62px;margin:6px 0 2px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 10px;background:#fff6df;border:2px solid #aa732b;color:#502c13;text-align:left}
.sg-wheel-pick>span{color:#8a6a45;font-size:13px}
.sg-wheel-pick.on{animation:sgArrival .18s ease-out}.sg-wheel-pick .sg-art{width:44px;height:44px;flex:none}.sg-wheel-pick b{display:block;font:900 18px/1.2 var(--game-font);color:#7c3019}.sg-wheel-pick div span{display:block;font-size:13px;line-height:1.4}
/* 18 手伝い：仲間の絵つきのマス選び */
.sg-mate-head{display:flex;align-items:center;gap:10px;margin:0 0 6px}.sg-mate-art{flex:none;width:64px;height:64px;display:grid;place-items:center}.sg-mate-art img,.sg-mate-art svg{max-width:64px;max-height:64px}
.sg-mate-head b{display:block;font:900 18px/1.3 var(--game-font);color:#7c3019}.sg-mate-head p{margin:2px 0 0;font-size:14px;font-weight:900}
.sg-bondw{display:flex;align-items:center;gap:12px;padding:4px 6px 8px}.sg-bondw b{font:900 18px/1.3 var(--game-font)}.sg-bondw p{margin:4px 0 0;font-weight:900;color:#7c3019}
/* 20 買ったときのポップアップ */
.sg-buy-pop{text-align:center;padding:6px 8px 4px;color:#3b2514}.sg-buy-pop .sg-buy-art{width:64px;height:64px;display:block;margin:0 auto 4px}.sg-buy-pop b{display:block;font:900 22px/1.3 var(--game-font);color:#7c3019}.sg-buy-pop p{margin:6px 0;font-size:14px;line-height:1.5}.sg-buy-pop .sg-buy-got{font-weight:900;background:#fff6df;border:2px solid #aa732b;padding:4px 6px}
/* 21 旅の話の選ぶ画面にも絵 */
.sg-ev-art{max-height:150px;overflow:hidden}.sg-ev-art img{display:block;width:100%;height:150px;object-fit:cover}
@media(max-height:700px){.sg-ev-art,.sg-ev-art img{max-height:112px;height:112px}}
/* 24 目をえらぶ：止まるマスを数字の下に。戻るは小さく */
.sg-face-ov .sg-faces .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;min-height:68px}.sg-face-ov .sg-faces .btn b{font:900 28px/1 var(--game-font)}.sg-face-ov .sg-faces .btn small{font-size:12px;font-weight:900;margin-top:4px;font-family:inherit}
.sg-face-ov .sg-face-back{display:block;margin:12px auto 0;min-width:96px}
/* 1 はんこ：手前から奥へ */
.sg-hanko-fly{position:absolute;width:62px;height:62px;z-index:9;pointer-events:none;filter:drop-shadow(0 6px 4px #0006);transform-origin:50% 92%}
/* 15 覚えている技：奥義の行。絵の黒い窓に名前と説明、丸の中にLv（赤・黄とも同じ） */
#app .tsk.ougi{min-height:82px;padding:0 9% 0 31%;justify-content:center;gap:1px}
#app .tsk.ougi b{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .tsk.ougi b i{position:absolute;left:16.6%;top:50%;transform:translate(-50%,-50%);font-style:normal;font-size:13px;line-height:1.1;color:#ffd84a;text-align:center;width:14%}
#app .tsk.ougi small{font-size:11px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sg-face-ov .sg-faces .btn small{white-space:nowrap;font-size:11px;letter-spacing:-.04em}
/* 9 飾りを減らす：手伝える仲間の顔の点滅と「タップで次へ」の点滅をやめる（数字の印だけで分かる） */
.sg-tm.ready .sg-tm-face{animation:none}
.sg-tap{animation:none}
/* 2026-11-03 ユーザー「上の方のスペース無駄。背景は気にしなくていいからキャラをデカデカと」「技とステータス入れ替えて」「六角形は数字とかぶってもいいからでかく」 */
.fz-hero{top:0;height:246px}
.fz-pic{height:200px;align-items:flex-end}
.fz-pic .mon-img{width:100%!important;height:100%!important;object-fit:contain;object-position:center bottom;transform:scale(1.1);transform-origin:50% 100%}
.fz-h-sk{left:196px;top:0}
.fz-skills{left:196px;width:146px;top:26px;height:186px}
.fz-ledger{left:196px;top:219px;width:146px;height:197px}
.fz-web{left:-4px;top:250px;width:198px;height:168px;background-size:100% 100%}
.fz-web svg.fz-net{inset:0;width:100%;height:100%}

/* ===== 2026-11-03（2）時成通り：注文のビンゴ・能力ポイントと相場・分かれ道・勝負のマス ===== */
/* 注文のマス：短い名前を2行まで、進みは小さく */
#app .sg-cell.order>.sg-cell-name{white-space:normal;font-size:11px;line-height:1.15;text-align:left;font-family:inherit;font-weight:900}
#app .sg-cell.order>.sg-cell-name small{display:block;font-size:10px;color:#7c3019}
#app .sg-cell.order>.sg-art{flex:none}
.sg-orders{list-style:none;margin:6px 2px 0;padding:0;font-size:12px;line-height:1.35;color:#3b2514}
.sg-orders li{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dotted #aa732b;padding:1px 2px}.sg-orders li b{flex:none;color:#7c3019}.sg-orders li.done{color:#8a7a65}.sg-orders li.done b{color:#2e8b57}
/* 道の右下：能力ポイントと「割り振る」 */
.sg-ptbtn{position:absolute;right:4px;bottom:26px;z-index:6;display:flex;align-items:center;gap:4px;padding:3px 8px;background:#2a1f16;color:#fff4ce;border:2px solid #c99a2e;box-shadow:0 3px 0 #1a120b;font-weight:900}
.sg-ptbtn small{font-size:10px;color:#f1d79a}.sg-ptbtn b{font:900 18px/1 var(--game-font);color:#ffd84a}.sg-ptbtn span{font-size:12px;background:#a83b23;padding:1px 6px;margin-left:2px}
.sg-ptbtn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #1a120b}.sg-ptbtn.warn{border-color:#ff8a5c}.sg-ptbtn.warn span{background:#d8541e}
/* 相場の画面 */
.sg-mkt-lead{display:flex;align-items:baseline;gap:4px;margin:2px 4px 6px;font-weight:900;color:#3b2514;flex-wrap:wrap}.sg-mkt-lead b{font:900 24px/1 var(--game-font);color:#a3311c}.sg-mkt-lead span{margin-left:auto;font-size:11px;color:#7a5a36}
.sg-mkt{display:grid;gap:4px}
.sg-mrow{display:grid;grid-template-columns:40px 1fr 30px 30px 30px 40px 42px;align-items:center;gap:3px;padding:4px 4px;background:#fff6df;border:2px solid #aa732b;color:#3b2514}
.sg-mname{font-weight:900;font-size:13px}.sg-mrate{font:900 17px/1.1 var(--game-font)}.sg-mrate i{display:block;font:900 10px/1.2 inherit;font-style:normal}
.sg-mn{text-align:center;font:900 18px/1 var(--game-font)}.sg-mgain{font-style:normal;font-weight:900;color:#2e7a3c;text-align:right;font-size:15px}
.sg-mbtn{height:30px;padding:0;border:2px solid #6b3d1f;background:#ebd29a;color:#3b2514;font-weight:900;font-size:16px}.sg-mbtn.all{font-size:11px}.sg-mbtn:disabled{opacity:.4}
.sg-mrow.hi{background:#fff1c4}.sg-mrow.lo{background:#efe6d6}.sg-mrow.lo .sg-mrate{color:#6b6156}
.sg-mrow.boom{background:#ffd84a;border-color:#a3311c}.sg-mrow.boom .sg-mrate{color:#a3311c}
.sg-mrow.crash{background:#c9d4e2;border-color:#2f6fa8}.sg-mrow.crash .sg-mrate{color:#2f4f7a}
.sg-mkt-hint{margin:6px 4px 2px;font-size:12px;line-height:1.45;color:#3b2514}.sg-mkt-hint b{color:#a3311c}
.sg-mkt-go{display:flex;gap:8px}.sg-mkt-go .btn:first-child{flex:0 0 76px}.sg-mkt-go .btn.big{flex:1}
/* 分かれ道：2つの道の先を並べる */
.sg-branch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
#app .sg-route{display:flex;flex-direction:column;align-items:stretch;padding:6px 6px 8px;background:#fff6df!important;border:3px solid #6b3d1f;color:#3b2514;text-align:left}
.sg-route>b{font:900 18px/1.2 var(--game-font);color:#7c3019;text-align:center}.sg-route>small{text-align:center;font-weight:900;font-size:12px;margin-bottom:4px}
.sg-route ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.sg-route li{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:900;border-left:5px solid var(--c);padding-left:3px;min-height:26px}.sg-route li .sg-art{width:24px;height:24px}
.sg-instruction small{font-size:12px}
/* 勝負のごほうび */
.sg-prize-one{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sg-prize-one .btn{min-height:40px;font-size:14px}
/* ライン完成：能力ポイント */
.sg-line-pt{position:relative;z-index:1;margin:10px auto 16px;display:flex;align-items:baseline;justify-content:center;gap:8px;background:#2a1f16;color:#f3dfb0;width:max-content;padding:6px 18px;border:2px solid #c99a2e}.sg-line-pt b{font:900 32px/1 var(--game-font);color:#ffd84a}
.sg-half{margin:4px 2px;font-size:13px;font-weight:900;color:#a3311c;display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap}
.sg-big{margin:2px auto;width:max-content;padding:1px 14px;background:#a3311c;color:#fff6df;font-weight:900;font-size:14px}
/* 荷の積み上げ（絵が届くまでの図形） */
.sg-stack-bar{height:8px;background:#e8d7b3;border:2px solid #2a1f16;margin:0 4px 6px}.sg-stack-bar i{display:block;height:100%;width:100%;background:#c0392b}
.sg-stack-field{position:relative;height:210px;margin:0 4px 10px;background:linear-gradient(#f3e3bd,#e9d2a0);border:3px solid #2a1f16;overflow:hidden}
.sg-cart{position:absolute;left:50%;bottom:0;width:150px;height:24px;margin-left:-75px;background:#7a4a24;border-top:4px solid #4f2917}.sg-cart i{position:absolute;bottom:-8px;width:18px;height:18px;border-radius:50%;background:#2a1f16;border:3px solid #7a4a24}.sg-cart i:first-child{left:14px}.sg-cart i:last-child{right:14px}
.sg-crate{position:absolute;height:22px;background:#c99a2e;border:2px solid #4f2917;box-sizing:border-box;box-shadow:inset 0 -4px 0 #a37a1f}
.sg-crate.fall{animation:sgCrateFall .6s ease-in forwards}@keyframes sgCrateFall{to{transform:translateY(160px);opacity:0}}
.sg-stack-goal{position:absolute;left:0;right:0;border-top:2px dashed #a3311c}.sg-stack-goal span{position:absolute;right:4px;top:-16px;font-size:11px;font-weight:900;color:#a3311c}
.sg-stack .sg-drop{width:100%}
#app .sg-cell.order{padding:2px 2px!important;gap:2px!important}#app .sg-cell.order>.sg-art{width:22px!important;height:22px!important}
#app .sg-cell.order>.sg-cell-name{font-size:12px}
.sg-need{font-weight:900;color:#a3311c;font-size:16px;margin:0 2px}
#app .sg-mkt-go .btn.small{min-height:44px;flex:0 0 72px;font-size:14px}
@media(max-height:700px){.sg-mrow{padding:2px 4px}.sg-mbtn{height:26px}.sg-mkt{gap:3px}.sg-mkt-lead{margin:0 4px 3px}.sg-mkt-hint{margin:3px 4px 0}}
#app .modal .sg-mkt-go{display:flex!important;flex-direction:row!important;align-items:stretch;gap:8px}
#app .modal .sg-mkt-go .btn{margin:0!important;width:auto!important}
#app .modal .sg-mkt-go .btn.small{flex:0 0 76px!important;min-height:48px!important;max-height:52px;font-size:14px!important;padding:0!important}
#app .modal .sg-mkt-go .btn.big{flex:1 1 auto!important}
/* 2026-11-03「サイコロをふる」が2行に折れないように */
#app .sg-bingo .sg-roll b{white-space:nowrap}
#app .sg-bingo .sg-roll{font-size:19px;gap:6px;padding-left:6px;padding-right:6px}
#app .sg-bingo .sg-roll-art{height:32px;width:32px}

/* ===== 2026-11-03（3）時成通り：二手に分かれる道・勝負のマスのミニゲーム ===== */
.sg-road-svg{position:absolute;left:0;top:0;width:100%;overflow:visible;pointer-events:none}
.sg-road-svg polyline{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.sg-road-edge polyline{stroke:#836139;stroke-width:17}
.sg-road-top polyline{stroke:#ecd9a3;stroke-width:11}
.sg-road-svg polyline.dim{opacity:.28}
.sg-path-tile.dim{opacity:.35;filter:grayscale(.7)}
.sg-path-tile.sg-lane-pick{cursor:pointer;z-index:3;animation:sgPick 1s ease-in-out infinite alternate}
@keyframes sgPick{from{box-shadow:0 0 0 3px #ffd84a,0 0 10px 4px #ffd84aaa}to{box-shadow:0 0 0 5px #fff4ce,0 0 18px 8px #ffd84a}}
.sg-lane-tag{position:absolute;transform:translateX(-50%);z-index:4;padding:1px 8px;background:#2a1f16;color:#ffd84a;font-weight:900;font-size:12px;white-space:nowrap;border:2px solid #c99a2e;pointer-events:none}
.sg-lane-tag small{margin-left:4px;color:#f3dfb0;font-size:10px}.sg-lane-tag.far{background:#3c7a4a;color:#fff6df}
/* 雷よけの配達（絵が届くまでの図形。雷は黄の国の旗の雷に合わせて黄色） */
.sg-bolt-field{position:relative;height:170px;margin:0 4px 10px;background:linear-gradient(#3a3f5c,#6b6e85 60%,#c9b58a 60%,#e2cf9e);border:3px solid #2a1f16;overflow:hidden;touch-action:manipulation}
.sg-bolt-goal{position:absolute;right:8px;bottom:42px;width:4px;height:44px;background:#4f2917}.sg-bolt-goal:after{content:'';position:absolute;left:4px;top:0;width:22px;height:14px;background:#c0392b}
.sg-bolt-cart{position:absolute;left:16px;bottom:34px;width:28px;height:20px;margin-left:-14px;background:#c99a2e;border:2px solid #4f2917;box-sizing:border-box}
.sg-bolt-cart i{position:absolute;bottom:-8px;width:10px;height:10px;border-radius:50%;background:#2a1f16}.sg-bolt-cart i:first-child{left:1px}.sg-bolt-cart i:last-child{right:1px}
.sg-bolt-cart.run{animation:sgCartRun .25s linear infinite}@keyframes sgCartRun{50%{transform:translateY(-2px)}}
.sg-bolt-cart.hit{background:#ffd84a;box-shadow:0 0 20px 8px #ffd84a}
.sg-bolt-warn{position:absolute;bottom:30px;width:34px;height:12px;margin-left:-17px;border-radius:50%;background:#ffd84a;box-shadow:0 0 12px 4px #ffd84aaa;animation:sgWarn .3s ease-in-out infinite alternate}
.sg-bolt-warn:before{content:'';position:absolute;left:50%;bottom:6px;width:2px;height:140px;margin-left:-1px;background:linear-gradient(transparent,#ffd84a88)}
@keyframes sgWarn{from{opacity:.45}to{opacity:1}}
.sg-bolt-hit{position:absolute;bottom:30px;width:34px;height:160px;margin-left:-17px;background:#ffe14d;clip-path:polygon(40% 0,75% 0,55% 38%,85% 38%,30% 100%,45% 55%,15% 55%);filter:drop-shadow(0 0 8px #fff3a0)}
/* 雷太鼓（太鼓の皮の白・ふちの朱・音符は雷の黄色） */
.sg-drum-score{display:flex;justify-content:center;gap:14px;font-weight:900;font-size:13px;margin:0 0 6px}.sg-drum-score b{font:900 18px var(--game-font)}.sg-drum-score .g{color:#c0392b}.sg-drum-score .k{color:#a37a1f}.sg-drum-score .n{color:#2f4f7a}
.sg-drum-lane{position:relative;height:84px;margin:0 4px 10px;background:linear-gradient(#3a2414,#5a3b1c);border:3px solid #2a1f16;overflow:hidden;touch-action:manipulation}
.sg-drum-ring{position:absolute;left:44px;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff6df;border:6px solid #c0392b;box-sizing:border-box}
.sg-drum-ring.hit{animation:sgDrumHit .12s ease-out}@keyframes sgDrumHit{from{transform:scale(1.15);background:#ffe9a8}}
.sg-note{position:absolute;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:#ffd84a;border:4px solid #fff6df;box-shadow:0 0 0 2px #2a1f16;box-sizing:border-box}.sg-note.roll{width:28px;height:28px;margin:-14px 0 0 -14px;background:#ffb52e}
.sg-drum-judge{position:absolute;left:44px;top:4px;transform:translateX(-50%);font:900 18px var(--game-font);opacity:0;z-index:3}.sg-drum-judge.pop{animation:sgJudge .5s ease-out}.sg-drum-judge.g{color:#ffd84a}.sg-drum-judge.k{color:#f3dfb0}.sg-drum-judge.n{color:#9fb4d0}
@keyframes sgJudge{0%{opacity:1;transform:translate(-50%,6px)}100%{opacity:0;transform:translate(-50%,-6px)}}
.sg-drum-pad{display:grid;place-items:center;height:64px;margin:0 4px;background:#c0392b;color:#fff6df;font:900 24px var(--game-font);border:3px solid #4f2917;box-shadow:0 5px 0 #4f2917;user-select:none;-webkit-user-select:none;touch-action:manipulation;cursor:pointer}.sg-drum-pad:active{transform:translateY(4px);box-shadow:0 1px 0 #4f2917}
.sg-path-tile.sg-lane-pick:after{content:'';position:absolute;inset:-9px;border-radius:50%;border:4px solid #ffd84a;box-shadow:0 0 12px 4px #ffd84a;animation:sgPickRing .9s ease-in-out infinite alternate;pointer-events:none}
@keyframes sgPickRing{from{transform:scale(.92);opacity:.65}to{transform:scale(1.12);opacity:1}}
.sg-playing .sg-ptbtn{visibility:hidden}

/* ===== 2026-11-03（4）勝負のマス：難しさ4段階・天秤の目利き ===== */
.sg-tile-lv{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#app .sg-tile-lv .gchoice{display:flex;flex-direction:column;align-items:center;padding:6px 4px;min-height:0;line-height:1.25}
.sg-tile-lv .gchoice b{font:900 17px/1.2 var(--game-font)}.sg-tile-lv .gchoice small{font-size:11px;font-weight:900;opacity:.85}.sg-tile-lv .gchoice em{font-style:normal;font-size:11px;font-weight:900;color:#7c3019;margin-top:2px}
#app .sg-tile-lv .sg-lv4{background:#2a1f16!important;color:#ffd84a!important}#app .sg-tile-lv .sg-lv4 em{color:#ffe9a8}#app .sg-tile-lv .sg-lv4 small{color:#f3dfb0}
.sg-instruction small{font-weight:900;font-size:11px;margin-left:4px;color:#7a5a36}
/* 天秤の目利き（絵が届くまでの図形） */
.sg-bal{position:relative;height:96px;margin:0 4px 4px}
.sg-bal-post{position:absolute;left:50%;bottom:0;width:8px;height:70px;margin-left:-4px;background:#7a4a24}.sg-bal-post:after{content:'';position:absolute;left:-18px;bottom:0;width:44px;height:8px;background:#4f2917}
.sg-bal-beam{position:absolute;left:8%;right:8%;top:20px;height:6px;background:#a37a1f;border:1px solid #4f2917;transition:transform .5s cubic-bezier(.3,1.6,.5,1);transform-origin:50% 50%}
.sg-pan{position:absolute;top:4px;width:38%;transform-origin:50% 0}.sg-pan.l{left:-4%}.sg-pan.r{right:-4%}
.sg-pan-in{min-height:30px;margin-top:22px;padding:2px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px;border-bottom:4px solid #4f2917;border-radius:0 0 40% 40%;background:#e9d2a0aa}
.sg-pan:before{content:'';position:absolute;left:50%;top:0;width:2px;height:22px;background:#4f2917}
.sg-coins{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:4px 0;min-height:38px}
.sg-coin{width:34px;height:26px;border-radius:50%;background:#e8b923;border:2px solid #7a5310;color:#4f2917;font-weight:900;font-size:13px;padding:0;box-shadow:inset 0 -3px 0 #c2921a}
.sg-pan .sg-coin{width:26px;height:20px;font-size:11px}
.sg-coin.ghost{opacity:.15;box-shadow:none}.sg-coin.fake{background:#c0392b;color:#fff6df}
.sg-scale.answering .sg-coins .sg-coin:not(.ghost),.sg-scale.answering .sg-pan .sg-coin{outline:3px solid #a3311c;outline-offset:1px}
.sg-bal-log{margin:2px 6px;padding-left:18px;font-size:12px;line-height:1.4;text-align:left;min-height:18px}.sg-bal-log b{color:#a3311c}
.sg-bal-btns{display:flex;gap:8px;margin:4px 4px 0}.sg-bal-btns .btn{flex:1;min-height:44px}.sg-bal-btns small{display:block;font-size:10px}
.sg-lvbtn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 3px 6px;background:#fff6df;border:3px solid #6b3d1f;box-shadow:0 4px 0 #6b3d1f;color:#3b2514;line-height:1.2}
.sg-lvbtn:active{transform:translateY(3px);box-shadow:0 1px 0 #6b3d1f}
.sg-lvbtn b{font:900 17px/1.2 var(--game-font);color:#7c3019}.sg-lvbtn small{font-size:11px;font-weight:900;color:#6b5236}.sg-lvbtn em{font-style:normal;font-size:11px;font-weight:900}.sg-lvbtn em strong{font:900 16px var(--game-font);color:#a3311c;margin-left:2px}
.sg-lvbtn.sg-lv3{background:#ffe9a8}.sg-lvbtn.sg-lv4{background:#2a1f16;color:#f3dfb0;border-color:#c99a2e}.sg-lvbtn.sg-lv4 b,.sg-lvbtn.sg-lv4 em strong{color:#ffd84a}.sg-lvbtn.sg-lv4 small{color:#e2cf9e}
.sg-bal-log{list-style:none;padding-left:0}.sg-pan{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}

/* ===== 2026-11-03（5）影当て ===== */
.sg-kage-stage{position:relative;height:150px;margin:0 4px 8px;background:radial-gradient(#fff6df,#e9d2a0);border:3px solid #2a1f16;display:grid;place-items:center;overflow:hidden}
.sg-kage-img{max-height:136px;max-width:80%;image-rendering:pixelated;filter:brightness(0);transition:opacity .25s}
.sg-kage-img.flip{transform:scaleX(-1)}.sg-kage-img.half{clip-path:inset(0 0 50% 0)}
.sg-kage-img.show{filter:none;opacity:1!important;clip-path:none;transform:none;transition:filter .2s}
.sg-kage-names{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:0 4px}
.sg-kage-name{min-height:40px;background:#fff6df;border:3px solid #6b3d1f;box-shadow:0 3px 0 #6b3d1f;color:#3b2514;font:900 15px var(--game-font)}
.sg-kage-name:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #6b3d1f}
.sg-kage-name.right{background:#ffd84a;border-color:#2e7a3c}.sg-kage-name.wrong{background:#c9d4e2;border-color:#2f4f7a}
.sg-kage-img{height:128px;width:auto}
/* ?minigame=1 のお試し画面 */
.mg-try{position:fixed;inset:0;z-index:1500;background:#1a120c;display:flex;align-items:center;justify-content:center;padding:12px}
.mg-box{width:100%;max-width:400px;background:#f6e2b8;border:3px solid #4a2a12;border-radius:6px;padding:10px}
.mg-row{margin:10px 0}.mg-row b{display:block;font-size:16px;margin-bottom:4px;color:#2a1408}
.mg-row div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.mg-row .btn{min-width:0;padding:6px 0;font-size:13px}
.mg-res{text-align:center;font-weight:700;color:#7a2a12;min-height:1.4em;margin:6px 0 0}
.mg-row .btn{font-size:12px;white-space:nowrap;letter-spacing:-.02em}
.mg-x{position:fixed;top:calc(8px + env(safe-area-inset-top));right:8px;z-index:3000;width:44px;height:44px;border-radius:6px;border:3px solid #4a2a12;background:#b8402a;color:#fff6df;font-size:26px;line-height:1;font-weight:700;box-shadow:0 3px 0 #2a1f16}
/* 時成通りの札の「ミニゲーム練習」（遊び方の下） */
.su-pl-mg{position:absolute;top:8px;left:8px;right:auto}
.mg-box{position:relative}.mg-close{position:absolute;top:6px;right:6px}

/* ===== 2026-11-03（6）雷太鼓（作り直し）：雷雲から3本の道に稲妻の玉が落ち、下の3つの太鼓を叩く。色は雷の黄・雲の灰・ふちの朱 ===== */
.sg-drum-need{color:#7a5a36;font-size:11px}
.sg-rj-field{position:relative;height:230px;margin:0 4px;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(#5d6170,#3a3d48);border:3px solid #2a1f16;overflow:hidden;touch-action:none}
.sg-rj-cloud{position:absolute;left:-10%;right:-10%;top:-22px;height:44px;background:radial-gradient(ellipse at 20% 60%,#c8c9cf 30%,transparent 31%),radial-gradient(ellipse at 50% 50%,#b3b5bd 34%,transparent 35%),radial-gradient(ellipse at 80% 60%,#c8c9cf 30%,transparent 31%);z-index:2;pointer-events:none}
.sg-rj-lane{position:relative;border-right:1px dashed #ffffff22}.sg-rj-lane:last-of-type{border-right:0}
.sg-rj-line{position:absolute;left:0;right:0;bottom:12px;height:4px;background:#ffd84a;box-shadow:0 0 8px #ffd84a;z-index:1;pointer-events:none}
.sg-bolt-note{position:absolute;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;background:#ffd84a;transform:rotate(45deg);box-shadow:0 0 10px 3px #ffd84a99;border:2px solid #fff6c4;box-sizing:border-box}
.sg-bolt-note.hold{width:18px;margin:0 0 0 -9px;transform:none;background:linear-gradient(#fff6c4,#ffd84a 30%,#ffd84a);border-radius:2px}
.sg-bolt-note.hold.held{box-shadow:0 0 16px 6px #fff3a0}
.sg-raijin .sg-drum-judge{top:auto;bottom:24px;color:#fff;z-index:3}.sg-raijin .sg-drum-judge.g{color:#ffd84a}.sg-raijin .sg-drum-judge.k{color:#e8e8ee}.sg-raijin .sg-drum-judge.n{color:#9fb4d0}
.sg-rj-drums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 4px 0}
.sg-rj-drum{position:relative;height:64px;background:linear-gradient(90deg,#6b3d1f,#a0662f 40%,#6b3d1f);border-top:8px solid #c0392b;border-bottom:8px solid #c0392b;border-radius:10px/14px;box-shadow:0 4px 0 #2a1f16;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
.sg-rj-drum i{position:absolute;left:12%;right:12%;top:50%;height:4px;margin-top:-2px;background:#e8b923}
.sg-rj-drum.on{transform:translateY(3px);box-shadow:0 1px 0 #2a1f16;filter:brightness(1.25)}
/* 天秤：左右のボタン */
.sg-coin{width:40px;height:32px}
.sg-coin-wrap{position:relative;display:inline-block}
.sg-coin-pick{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);display:flex;gap:4px;z-index:5;padding:3px;background:#2a1f16;border-radius:4px;box-shadow:0 3px 0 #00000055}
.sg-coin-pick button{min-width:48px;min-height:44px;background:#fff6df;border:2px solid #c99a2e;color:#3b2514;font:900 17px var(--game-font)}
.sg-coin-pick button:active{transform:translateY(2px)}
/* 勝負のマスのやり直し（全部で2回） */
.sg-retry{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:8px}
.sg-retry small{display:block;font-size:11px;opacity:.9}
/* ===== 2026-11-03 ミニゲームの絵（チャッピー。art/mg/）===== */
/* 荷の積み上げ：宿場の荷置き場・荷車・木箱 */
.sg-stack-field{background:#d9b77a url(art/mg/stackbg.png) center bottom/cover}
.sg-cart{bottom:-2px;width:150px;height:46px;margin-left:-63px;background:url(art/mg/cart.png) center/100% 100% no-repeat;border:0}
.sg-cart i{display:none}
.sg-crate{height:24px;background:url(art/mg/crate.png) center/100% 100% no-repeat;border:0;box-shadow:none}
/* 雷よけの配達：街道と雷雲・荷車・旗・前ぶれ・雷 */
.sg-bolt-field{background:#3a3f5c url(art/mg/boltbg.png) center bottom/cover}
.sg-bolt-cart{bottom:24px;width:54px;height:24px;margin-left:-27px;background:url(art/mg/cart.png) center/100% 100% no-repeat;border:0}
.sg-bolt-cart i{display:none}
.sg-bolt-cart.hit{background-color:transparent;filter:drop-shadow(0 0 10px #ffd84a) brightness(1.6)}
.sg-bolt-goal{bottom:24px;width:30px;height:50px;background:url(art/mg/flag.png) left bottom/auto 100% no-repeat}
.sg-bolt-goal:after{display:none}
.sg-bolt-warn{bottom:18px;height:16px;background:url(art/mg/warn.png) center/100% 100% no-repeat;border-radius:0;box-shadow:none}
.sg-bolt-hit{bottom:24px;width:56px;height:150px;margin-left:-28px;background:url(art/mg/bolt.png) center bottom/100% 100% no-repeat;clip-path:none}
/* 雷太鼓：雷雲の空・稲妻の玉・太鼓 */
.sg-rj-field{background:#2c2e38 url(art/mg/drumbg.png) center/cover}
.sg-rj-cloud{display:none}
.sg-bolt-note{width:32px;height:32px;margin:-16px 0 0 -16px;background:url(art/mg/orb.png) center/contain no-repeat;transform:none;box-shadow:none;border:0}
.sg-rj-drum{height:70px;background:url(art/mg/drum.png) center/contain no-repeat;border:0;border-radius:0;box-shadow:none}
.sg-rj-drum i{display:none}
.sg-rj-drum.on{background-image:url(art/mg/drum_hit.png);box-shadow:none;filter:none}
.sg-rj-drums{background:url(art/mg/drum_hit.png) no-repeat -9999px -9999px} /* 叩いた絵を先に読んでおく（押した瞬間に消えないように） */
.sg-rj-line{bottom:36px;height:4px;background:#fff3a0;box-shadow:0 0 6px 2px #ffd84a,0 0 0 1px #2a1f16;z-index:2}
/* 2026-11-03 ユーザー「ドットで揃えて」：ミニゲームの絵は、縮めて色を減らしたドットの絵（元の絵は img/ミニゲーム原画/）。拡大しても角がぼけないように */
.sg-stack-field,.sg-cart,.sg-crate,.sg-bolt-field,.sg-bolt-cart,.sg-bolt-goal,.sg-bolt-warn,.sg-bolt-hit,.sg-rj-field,.sg-bolt-note,.sg-rj-drum{image-rendering:pixelated}
/* 2026-11-03 雷太鼓は横に流れる形に戻した。太鼓の達人に似ないよう、的は雷様の太鼓の絵（丸い輪にしない）、音符は稲妻の玉、帯は雷雲 */
.sg-drum-lane{height:96px;background:#2c2e38 url(art/mg/drumbg.png) center 30%/cover;image-rendering:pixelated}
.sg-drum-ring{width:60px;height:60px;margin:-30px 0 0 -30px;border:0;border-radius:0;background:url(art/mg/drum.png) center/contain no-repeat;image-rendering:pixelated}
.sg-drum-ring.hit{animation:none;background-image:url(art/mg/drum_hit.png)}
.sg-note{width:34px;height:34px;margin:-17px 0 0 -17px;border:0;border-radius:0;box-shadow:none;background:url(art/mg/orb.png) center/contain no-repeat;image-rendering:pixelated}
.sg-note.roll{width:24px;height:24px;margin:-12px 0 0 -12px}
.sg-drum-lane{background-color:#2c2e38}.sg-drum-lane:after{content:'';position:absolute;left:0;top:0;width:1px;height:1px;background:url(art/mg/drum_hit.png) -9999px -9999px}
.sg-drum-pad{background:#a8321f url(art/mg/drum.png) 12px center/auto 70% no-repeat;image-rendering:pixelated}

/* ===== 2026-11-03（7）荷車レース（絵が届くまでの図形） ===== */
.sg-race-map{position:relative;height:16px;margin:0 14px 6px;background:#e9d2a0;border:2px solid #6b3d1f;border-radius:8px}
.sg-race-map .flag{position:absolute;right:-6px;top:-8px;width:3px;height:28px;background:#4f2917}.sg-race-map .flag:after{content:'';position:absolute;left:3px;top:0;width:12px;height:8px;background:#c0392b}
.sg-race-map b{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:3px;border:2px solid #2a1f16;transition:left .1s linear}
.sg-race-map .me{background:#ffd84a;z-index:2}.sg-race-map .rv{background:#3c7a4a}
.sg-race-road{position:relative;height:250px;margin:0 4px 8px;overflow:hidden;border:3px solid #2a1f16;background:#c9a96a repeating-linear-gradient(#c9a96a 0 20px,#bf9d5e 20px 40px);touch-action:none}
.sg-race-div{position:absolute;top:0;bottom:0;width:0;border-left:3px dashed #f3e3bd99}
.sg-race-side{position:absolute;top:0;bottom:0;width:8px;background:repeating-linear-gradient(#3c7a4a 0 14px,transparent 14px 40px,#6b4a2a 40px 48px,transparent 48px 80px)}.sg-race-side.l{left:0}.sg-race-side.r{right:0}
.sg-race-cart{position:absolute;width:30px;height:38px;margin-left:-15px;z-index:3;transition:left .12s ease-out;border:2px solid #2a1f16;border-radius:4px;box-sizing:border-box}
.sg-race-cart.me{top:calc(100% - 46px);background:linear-gradient(#ffd84a 0 55%,#a37a1f 55%)}
.sg-race-cart.me.fast{box-shadow:0 0 14px 6px #ffd84a}.sg-race-cart.me.slow{filter:grayscale(.6) brightness(.8)}
.sg-race-cart.rv{background:linear-gradient(#3c7a4a 0 55%,#2a5a34 55%);z-index:2}.sg-race-cart.rv span{position:absolute;left:50%;top:-16px;transform:translateX(-50%);font-size:10px;font-weight:900;color:#fff6df;background:#2a5a34;padding:0 3px;white-space:nowrap}
.sg-race-obj{position:absolute;width:40px;height:22px;margin:-11px 0 0 -20px;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;color:#fff6df;z-index:1;border-radius:6px}
.sg-race-obj.rock{background:#6b6b70;border:2px solid #2a1f16}.sg-race-obj.hole{background:#1a120b;border-radius:50%}.sg-race-obj.mud{background:#5a3b1c;border-radius:40%}
.sg-race-obj.wind{background:#ffd84a;color:#4f2917;box-shadow:0 0 10px 3px #ffd84a}.sg-race-obj.took{opacity:0}.sg-race-obj.hit{opacity:.4}
.sg-race-goal{position:absolute;left:0;right:0;height:6px;margin-top:-3px;background:repeating-linear-gradient(90deg,#2a1f16 0 10px,#fff6df 10px 20px);z-index:1}
.sg-race-btns{display:flex;gap:8px;margin:0 4px}.sg-race-btns .btn{flex:1;min-height:50px;font-size:20px}
/* 荷車レースの絵（チャッピー・ドット）。道は上下がつながる絵を縦にくり返す。道ばたの帯は道の絵に入っているので消す */
.sg-race-road{background:#c9a96a url(art/mg/road.png) 0 0/100% auto repeat-y;image-rendering:pixelated}
.sg-race-side{display:none}
.sg-race-cart{border:0;border-radius:0;background:url(art/mg/race_me.png) center/contain no-repeat;image-rendering:pixelated}
.sg-race-cart.me{background:url(art/mg/race_me.png) center/contain no-repeat}
.sg-race-cart.me.fast{box-shadow:none;filter:drop-shadow(0 0 6px #ffd84a) drop-shadow(0 0 3px #fff3a0)}
.sg-race-cart.rv{background:url(art/mg/race_rv.png) center/contain no-repeat}
.sg-race-obj{border:0!important;border-radius:0!important;box-shadow:none!important;color:transparent!important;background:center/contain no-repeat!important;image-rendering:pixelated}
.sg-race-obj.rock{background-image:url(art/mg/rock.png)!important}
.sg-race-obj.hole{background-image:url(art/mg/hole.png)!important}
.sg-race-obj.mud{background-image:url(art/mg/mud.png)!important}
.sg-race-obj.wind{background-image:url(art/mg/wind.png)!important}
.sg-race-goal:before{content:'';position:absolute;left:50%;bottom:0;width:110px;height:72px;margin-left:-55px;background:url(art/mg/gate.png) center bottom/contain no-repeat;image-rendering:pixelated}
/* 2026-11-03 ユーザー「形が重なった瞬間に押せたほうが気持ちいい。流れてくる形と、ここに来たらの形を同じに」：的は稲妻の玉と同じ形・同じ大きさの影。叩くと光る */
.sg-drum-ring{width:34px;height:34px;margin:-17px 0 0 -17px;background:url(art/mg/orb.png) center/contain no-repeat;filter:brightness(.35) sepia(1) saturate(2) hue-rotate(5deg);opacity:.9}
.sg-drum-ring:after{content:'';position:absolute;inset:-6px;border:2px solid #ffd84a88;transform:rotate(45deg) scale(.72);border-radius:3px}
.sg-drum-ring.hit{background-image:url(art/mg/orb.png);filter:brightness(1.6) drop-shadow(0 0 8px #fff3a0);animation:sgRingFlash .18s ease-out}
@keyframes sgRingFlash{from{transform:scale(1.35)}to{transform:none}}
.sg-drum-ring:after{display:none}.sg-drum-ring{filter:brightness(.3) sepia(1) saturate(2) drop-shadow(0 0 3px #ffd84a)}
/* 2026-11-03 ユーザー：玉と的は「丸い雷の玉」（チャッピー・ドット）。的は同じ玉の暗い影 */
.sg-note{width:40px;height:40px;margin:-20px 0 0 -20px;background-image:url(art/mg/ball.png)}
.sg-note.roll{width:28px;height:28px;margin:-14px 0 0 -14px}
.sg-drum-ring{width:40px;height:40px;margin:-20px 0 0 -20px;background-image:url(art/mg/ball.png)}
.sg-drum-ring.hit{background-image:url(art/mg/ball.png)}
.sg-note.roll{background:url(art/mg/ball.png) center/contain no-repeat;border:0;box-shadow:none;border-radius:0;image-rendering:pixelated}
/* 2026-11-04 ユーザー：はんこは「すべらない話」のように、手前から画面の奥へドン（hanko_back＝真後ろから見たはんこ、stamp_done＝朱の「済」） */
.sg-hanko-fly{width:70px;height:auto;transform-origin:50% 50%;filter:drop-shadow(0 8px 6px #0007)}
.sg-seal .sg-done{image-rendering:auto}
.sg-stamp-slam{animation:sgSlam .3s cubic-bezier(.2,1.4,.4,1) both}
@keyframes sgSlam{0%{transform:translateY(-50%) scale(1.9);opacity:.2}35%{transform:translateY(-50%) scale(.88);opacity:1}60%{transform:translateY(-50%) scale(1.06)}100%{transform:translateY(-50%) scale(1)}}
.sg-book-hit{animation:sgBookSlam .28s ease-out}
@keyframes sgBookSlam{0%{transform:translate(0,0)}20%{transform:translate(-4px,3px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-2px,2px)}80%{transform:translate(1px,-1px)}100%{transform:none}}
.sg-stamp-flash{position:absolute;inset:0;z-index:8;pointer-events:none;background:#fff;opacity:0;animation:sgFlashHit .26s ease-out}
@keyframes sgFlashHit{0%{opacity:.55}100%{opacity:0}}
/* 2026-11-04 ユーザー「奥義の表示がコレジャナイ」：奥義の札はほかの技の札と同じ形の、朱と金の札（チャッピー） */
#app .tsk.ougi,.tsk.ougi{background-image:url(art/ui/skill_ougi2.png)!important;min-height:58px!important;padding:8px 13% 8px 9%!important;justify-content:center;gap:0}
.tsk.ougi::before{display:none!important}
#app .tsk.ougi b{font-size:16px;color:#fff3c4;text-shadow:0 2px 0 #3a1408}
#app .tsk.ougi b i{position:static!important;transform:none!important;width:auto!important;display:inline;margin-left:6px;font-size:13px;color:#ffd84a}
#app .tsk.ougi small{color:#ffe9c2;-webkit-line-clamp:1}

/* ===== 2026-11-04 時成通り8 ===== */
/* 6 イベントの絵は切らずに全部見せる（上下・左右に地を出す） */
#app .sg-res-art,#app .sg-ev-art{background:#3a2414}
#app .sg-res-art img,#app .sg-ev-art img{object-fit:contain!important;object-position:50% 50%!important;width:100%;height:100%}
#app .sg-ev-art{height:150px}@media(max-height:700px){#app .sg-ev-art{height:112px}#app .sg-res-art{height:140px}#app .sg-res-art.low{height:92px}}
/* 2 勝負のマスの絵 */
#app .sg-tile-art{height:120px}@media(max-height:700px){#app .sg-tile-art{height:84px}}
/* 3 難しさのボタンは名前だけ */
.sg-lvbtn{min-height:52px;justify-content:center}
/* 12 能力アップの札：黒地をやめ、明るい無地に濃い字・大きい数字 */
#app .evr-chips{border:0;border-image:none;padding:0;gap:6px}
#app .evr-chip{background:#fff6df!important;border:2px solid #c99a2e;border-radius:4px;height:auto;min-height:34px;aspect-ratio:auto;padding:2px 10px;gap:6px}
#app .evr-chip span{color:#5a3b1c;font-size:13px}
#app .evr-chip b{color:#a3311c;-webkit-text-stroke:0;font-size:22px}
#app .evr-chip.evr-hp b{color:#2e7a3c}#app .evr-chip.evr-hp.down b{color:#a3311c}
/* 11 分かれ道：のこりの歩数を大きく */
.sg-branch-left{position:absolute;left:50%;top:6px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:8px;padding:3px 12px;background:#2a1f16;color:#fff4ce;border:2px solid #ffd84a;font-weight:900;pointer-events:none;white-space:nowrap}
.sg-branch-left b{color:#ffd84a;font:900 16px var(--game-font)}.sg-branch-left strong{font:900 26px/1 var(--game-font);color:#ffd84a;margin:0 2px}
/* 14 ライン完成：タップで閉じる */
.sg-tapclose{position:relative;z-index:1;margin:6px 0 2px;font-weight:900;color:#7a5a36;font-size:13px}
/* 23 相場の画面：技のレベル */
.sg-mskills{display:flex;align-items:stretch;gap:4px;margin:5px 0 0}.sg-mskills>span{display:grid;place-items:center;font-weight:900;font-size:12px;color:#7a5a36;padding:0 2px}
.sg-mskill{flex:1;display:flex;flex-direction:column;align-items:center;padding:3px 2px;background:#fff6df;border:2px solid #aa732b;color:#3b2514;line-height:1.2;min-height:44px}
.sg-mskill b{font-size:12px}.sg-mskill span{font-size:12px;font-weight:900;color:#a3311c}.sg-mskill small{font-size:10px;font-weight:900}.sg-mskill:disabled{opacity:.45}
/* 21 ボーナスマス */
.sg-path-tile.bonus1{box-shadow:0 0 0 4px #ffd84a,0 0 12px 4px #ffd84a}.sg-path-tile .sg-bonus-tag{position:absolute;left:50%;top:-14px;transform:translateX(-50%);background:#a3311c;color:#fff6df;font-size:10px;font-weight:900;padding:0 4px;white-space:nowrap}
/* 16 修行の結果：キャラの絵を小さく、技の列を上に詰め、あいた分で六角形と帳簿を大きく */
.fz-hero{top:0;height:176px}
.fz-pic{height:130px}
.fz-pic .mon-img{transform:none}
.fz-h-sk{left:196px;top:0}
.fz-skills{left:196px;width:146px;top:24px;height:150px;gap:2px}
.fz-ledger{left:190px;top:182px;width:154px;height:234px}
.fz-web{left:-10px;top:200px;width:206px;height:177px}
/* 25 エンディング */
#app .sg-end-art{background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center}
#app .sg-end-art img,#app .sg-end-art svg{width:auto!important;height:92%!important;object-fit:contain}
.sg-end-got{margin-top:6px;padding:4px 8px;background:#fff6df;border:2px solid #c99a2e;font-weight:900;color:#a3311c}
#app .evr-chip{width:auto;min-width:76px;justify-content:center;align-items:baseline;padding:3px 12px}
#app .evr-chip span{position:static;margin:0}
#app .evr-chip{align-items:center}#app .evr-chip span{font-size:14px}
/* 2026-11-04 ユーザー：割り振りに ±10 のボタン */
.sg-mrow{grid-template-columns:34px minmax(0,1fr) 30px 26px 24px 26px 30px 34px 34px;gap:2px}
.sg-mbtn.t{font-size:11px;letter-spacing:-.04em}
/* 2026-11-04 ユーザー「六角形もっと広げて」：網を枠いっぱいに、枠も下まで使う */
.fz-web{left:-10px;top:196px;width:210px;height:222px;background-size:100% 100%!important}
.fz-web svg.fz-net{inset:0!important;width:100%!important;height:100%!important}
.sg-mrow{grid-template-columns:30px minmax(40px,1fr) 26px 22px 22px 22px 26px 28px 26px;gap:2px;padding:4px 3px}
.sg-mrow .sg-mrate{font-size:13px;white-space:nowrap;overflow:hidden}
.sg-mbtn.all{font-size:10px;letter-spacing:-.06em}
.sg-mgain{font-size:12px}
.sg-mbtn{white-space:nowrap;padding:0;overflow:hidden}.sg-mbtn.t{font-size:10px;letter-spacing:-.08em}
/* 2026-11-04 ボーナスマスの絵（千両箱）・エンディングの絵（チャッピー・ドット） */
.sg-path-tile .sg-bonus-tag{display:flex;align-items:center;gap:1px;padding:0 4px 0 1px;top:-18px}
.sg-path-tile .sg-bonus-tag img{width:20px;height:20px}
.sg-end-art{image-rendering:pixelated;background-size:cover;background-position:center}
/* 2026-11-04 ユーザー「むだなすき間があるのに右がぎゅうぎゅう。中央寄せじゃない所がある」：相場の行は左を詰めて右へ幅を回す。ボタンの字も数も真ん中 */
.sg-mrow{grid-template-columns:30px 40px 1.15fr 1fr 26px 1fr 1.15fr 1.25fr 32px;gap:3px;padding:4px 4px;align-items:center}
.sg-mrow .sg-mrate{font-size:14px}
.sg-mrate i{font-size:9px;letter-spacing:-.04em;white-space:nowrap}
.sg-mbtn{display:grid;place-items:center;height:30px;line-height:1;min-width:0}
.sg-mn{display:block;text-align:center;font-size:16px;letter-spacing:-.03em}
.sg-mgain{display:block;text-align:center;font-size:12px;letter-spacing:-.04em;white-space:nowrap}
.sg-mrow{grid-template-columns:30px 38px 1.1fr 1fr 30px 1fr 1.1fr 1.2fr 32px}.sg-mn{font-size:15px}

/* ===== 2026-11-04 時成通り9 ===== */
/* 6 ×の印を真ん中に（技・ログの窓の×と同じ形：38×36・下に3pxの影の分をあける） */
#app .modal .close[data-sg]{display:flex!important;align-items:center;justify-content:center;width:38px!important;height:36px!important;padding:0 0 3px!important;line-height:1!important;font-size:19px!important}
#app .modal .close[data-sg]{line-height:20px!important;background:none!important;border-style:solid!important;border-width:6px 10px 8px!important;border-image:url(art/ui/btn_red.png) 50 120 56 fill/6px 10px 8px stretch!important;color:#fff!important;-webkit-text-stroke:4px #3a1408;paint-order:stroke fill;filter:drop-shadow(0 2px 0 #2a1f16)}
/* 7 下の段の仲間の顔：枠の大きさはそのまま、中のキャラを枠いっぱいに近く（はみ出す分は丸い枠で切る） */
#app .sg-bingo .sg-tm-face img,#app .sg-bingo .sg-tm-face svg{width:100%!important;height:100%!important;object-fit:contain;transform:scale(1.18);transform-origin:50% 58%}
/* 8 ビンゴ帳の上のむだなすき間を削る（枠の絵は消してあるので、上の余白はいらない） */
#app .sg-book{padding-top:6px!important}
#app .modal:has([data-sg]) .sg-book{margin-top:4px!important;margin-bottom:4px!important}
/* 10 イベントの絵：横幅いっぱい・縦横比のまま（高さは sgFitArt が窓の残りに合わせて決める） */
#app .modal .sg-res-art{margin-left:-4px;margin-right:-4px;max-height:none}
#app .modal .sg-res-art img{object-fit:contain!important}
#app .modal .sg-res-art img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
#app .modal .sg-tile-art img{object-fit:cover!important}
/* 2026-11-04 ユーザー：大相場の日は、割り振るの札のふちをレインボーに、太く。相場の画面の大相場の行も同じ */
.sg-ptbtn.boom{border:5px solid transparent;border-image:linear-gradient(90deg,#ff3b3b,#ff9a1f,#ffe11f,#3ecf4a,#2fa8ff,#7a5cff,#e04cd0) 1;padding:1px 6px}
.sg-mrow.boom{border:4px solid transparent;border-image:linear-gradient(90deg,#ff3b3b,#ff9a1f,#ffe11f,#3ecf4a,#2fa8ff,#7a5cff,#e04cd0) 1;padding:1px 0;background:#fff6c9}
/* 2026-11-04 分かれ道：光るのは実際に止まるマス。最初のマスは押せるが光らない */
.sg-path-tile.sg-lane-pick{animation:none;box-shadow:none}
.sg-path-tile.sg-lane-land{cursor:pointer;z-index:3;animation:sgPick 1s ease-in-out infinite alternate}
/* 2026-11-04 ライン完成：枠のない小さなお知らせ。ビンゴ帳の上にふわっと出て消える */
.sg-line-toast{position:absolute;left:50%;top:50%;z-index:9;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%);animation:sgToast 1.5s ease-out both}
.sg-line-toast .sg-kusu{width:96px;height:auto;margin-bottom:-6px}
.sg-line-toast b{font:900 24px/1.1 var(--game-font);color:#fff6df;-webkit-text-stroke:5px #7a2a12;paint-order:stroke fill}
.sg-line-toast span{font:900 13px/1.2 var(--game-font);color:#fff6df;-webkit-text-stroke:4px #2a1f16;paint-order:stroke fill;margin-top:2px}
.sg-line-toast em{font-style:normal;font-size:24px;color:#ffd84a;margin-left:6px}
.sg-line-toast.all b{font-size:28px}
@keyframes sgToast{0%{opacity:0;transform:translate(-50%,-38%)}18%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1;transform:translate(-50%,-52%)}100%{opacity:0;transform:translate(-50%,-60%)}}
/* 2026-11-04 ユーザー「スペースの使い方が下手」：3けたの数（197）と4けたの増え幅（+821）でも重ならない幅に */
.sg-mrow{grid-template-columns:28px 34px 1.1fr .9fr 32px .9fr 1.1fr 1.05fr 38px;gap:2px;padding:4px 3px}
.sg-mrow .sg-mname{font-size:13px;white-space:nowrap}
.sg-mn{font-size:15px;letter-spacing:-.05em;white-space:nowrap}
.sg-mgain{font-size:12px;letter-spacing:-.05em;text-align:right}
/* 2026-11-04 技のレベルは決定まで取り消せる：予定の技は色を変え、右上の−で1段もどす */
.sg-mskills>span.sg-mskill-w{position:relative;display:block;flex:1;min-width:0;padding:0}
.sg-mskill-w .sg-mskill{width:100%;height:100%}
.sg-mskill-w.on .sg-mskill{background:#ffe9a8;border-color:#a3311c}
.sg-mskill-x{position:absolute;right:-2px;top:-4px;width:24px;height:24px;display:grid;place-items:center;padding:0;background:#ebd29a;border:2px solid #6b3d1f;color:#3b2514;font-weight:900;font-size:15px;line-height:1;z-index:2}
.sg-branch-left,.sg-branch-left *{white-space:nowrap}.sg-branch-left{width:max-content}
.sg-lane-tag,.sg-lane-tag *{white-space:nowrap}.sg-lane-tag{width:max-content}
/* 2026-11-04 ユーザー「無駄なスペースは極力作らない」：×のために窓の上を空けない。×は題の行の右に置き、題と本の見出しは×の分だけ右をあける */
#app .modal:has(>.close[data-sg]){padding-top:6px!important}
#app .modal:has(>.close[data-sg])>.close{top:4px;right:6px}
#app .modal:has(>.close[data-sg])>.band{margin-top:0!important;margin-right:46px}
#app .modal:has(>.close[data-sg])>.sg-book{margin-top:0!important;padding-top:6px!important}
#app .modal:has(>.close[data-sg])>.sg-book .sg-book-head{padding-right:50px;margin-bottom:3px;line-height:30px}
#app .modal:has(>.close[data-sg])>.sg-bondw{padding-right:46px}
#app .modal:has(>.close[data-sg])>.band{width:calc(100% - 46px);box-sizing:border-box}
#app .modal .sg-mkt-lead{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;margin-bottom:3px}
#app .modal .sg-mkt-lead span{margin-left:auto;font-size:10px;letter-spacing:-.03em}
/* 2026-11-04 ユーザー「無駄なスペースってのはこういうの」（下の一覧の右半分）：一覧をやめ、ビンゴ帳を開いた窓ではマスの中に注文の全文を書く */
.sg-cell-full{display:none}
#app .modal:has(>.close[data-sg]) .sg-grid{grid-template-rows:repeat(3,minmax(66px,auto))!important;gap:5px}
#app .modal:has(>.close[data-sg]) .sg-cell{display:flex;align-items:center;gap:2px;padding:3px!important;height:auto}
#app .modal:has(>.close[data-sg]) .sg-cell>.sg-art{width:24px!important;height:24px!important;flex:none}
#app .modal:has(>.close[data-sg]) .sg-cell-name{display:none}
#app .modal:has(>.close[data-sg]) .sg-cell-full{display:block;flex:1;min-width:0;white-space:normal!important;word-break:break-all;text-align:left;font-size:12px;line-height:1.25;font-weight:900;color:#3b2514;position:relative;z-index:2}
#app .modal:has(>.close[data-sg]) .sg-cell-full small{display:block;font-size:11px;color:#a3311c}
#app .modal:has(>.close[data-sg]) .sg-cell.marked .sg-cell-full{color:#8a7558}
#app .modal:has(>.close[data-sg]) .sg-seal{right:1px;width:34px;height:34px;opacity:.85}
#app .modal:has(>.close[data-sg]) .sg-seal{right:1px;top:1px;width:24px;height:24px;transform:none;opacity:.9}
@keyframes sgSlamCorner{0%{transform:scale(1.9);opacity:.2}35%{transform:scale(.88);opacity:1}60%{transform:scale(1.06)}100%{transform:none}}
#app .modal:has(>.close[data-sg]) .sg-stamp-slam{animation-name:sgSlamCorner}
/* 2026-11-04 ボーナスマスを通ったときのお知らせ（枠なし。千両箱がポンと出る） */
.sg-bonus-pop{position:absolute;left:50%;top:44%;z-index:9;display:flex;flex-direction:column;align-items:center;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%);animation:sgBonusPop .35s cubic-bezier(.2,1.5,.4,1) both}
.sg-bonus-pop img{width:112px;height:112px;filter:drop-shadow(0 0 12px #ffd84a)}
.sg-bonus-pop b{font:900 30px/1.1 var(--game-font);color:#ffd84a;-webkit-text-stroke:6px #7a2a12;paint-order:stroke fill}
.sg-bonus-pop span{font:900 15px/1.2 var(--game-font);color:#fff6df;-webkit-text-stroke:4px #2a1f16;paint-order:stroke fill}
.sg-bonus-pop em{font-style:normal;font-size:28px;color:#ffd84a;margin-left:6px}
@keyframes sgBonusPop{from{opacity:0;transform:translate(-50%,-50%) scale(.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
/* 2026-11-04 ユーザー「キャラ絵がつぶれている。正方形に、下に伸ばしていい」「六角形もっともっと広げて」：絵は190×190。六角形は網の絵の余白ごと拡大して、左の列いっぱいに。札は頂点に重ねる */
.fz-hero{top:0;height:236px}
.fz-pic{height:190px}
.fz-pic .mon-img{width:100%!important;height:100%!important;object-fit:contain;object-position:center bottom;transform:none}
.fz-web{left:-8px;top:244px;width:198px;height:172px;background-size:324px 242px!important;background-position:center!important;overflow:visible}
.fz-web svg.fz-net{position:absolute;inset:-35px auto auto -63px!important;width:324px!important;height:242px!important;overflow:visible}
.fz-web .fz-t0{left:33.15%;top:-6px}.fz-web .fz-t3{left:33.15%;top:158px}
.fz-web .fz-t1{left:auto;right:0;top:35px}.fz-web .fz-t2{left:auto;right:0;top:108px}
.fz-web .fz-t5{left:0;top:35px}.fz-web .fz-t4{left:0;top:108px}
.sg-mskill b{font-size:11px;white-space:nowrap;overflow:hidden;max-width:100%} /* 2026-11-04（10）技が4つ並んでも名前が入るように */

/* ===== 2026-11-04 サーバー保存（引き継ぎ） ===== */
.cl-modal{max-width:360px}
.cl-lead{margin:4px 2px 8px;font-weight:900;font-size:14px;color:#3b2514;text-align:center}
.cl-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cl-side{background:#fff6df;border:3px solid #6b3d1f;padding:6px 8px;color:#3b2514}.cl-side b{display:block;font:900 16px var(--game-font);color:#7c3019}.cl-side span{display:block;font-weight:900;font-size:13px}
.cl-side ul{list-style:none;margin:4px 0 0;padding:0;font-size:12px;line-height:1.5}
.cl-note{margin:6px 2px 0;font-size:12px;color:#7a5a36;text-align:center;min-height:16px}
.cl-btns{display:flex!important;flex-direction:row!important;gap:8px}.cl-btns .btn{flex:1;min-height:48px}
.cl-box{background:#fff6df;border:2px solid #aa732b;padding:8px;margin:6px 0;color:#3b2514;display:grid;gap:6px}.cl-box b{font:900 15px var(--game-font);color:#7c3019}.cl-box p{margin:0;font-size:12px}
.cl-code{text-align:center}.cl-code strong{display:block;font:900 24px/1.3 var(--game-font);letter-spacing:.06em;color:#2a1f16;user-select:all;-webkit-user-select:all}.cl-code small{display:block;font-size:11px;color:#7a5a36}
.cl-in{font:900 20px var(--game-font);text-align:center;letter-spacing:.05em;padding:6px;border:2px solid #6b3d1f;background:#fffdf5;color:#2a1f16;text-transform:uppercase;width:100%;box-sizing:border-box}
.overlay.cl-ov{z-index:3000}
.cl-code strong{font-size:20px;white-space:nowrap}
#app ~ .cl-ov .cl-btns .btn,.cl-ov .cl-btns .btn{font-size:14px!important;white-space:nowrap;padding-left:2px!important;padding-right:2px!important;min-width:0}
.cl-ov .cl-box .btn{min-height:44px;font-size:15px!important}

/* ゆら玉一覧（2026-11-04 ユーザー：無駄なスペースをなくす。主役の玉が最初の画面に見える。一覧だけ箱の中でスクロール） */
body:has(section.yura) .back-float{display:none}
#app section.yura{position:relative;display:flex;flex-direction:column;gap:4px;height:calc(100dvh - 94px);min-height:0;overflow:hidden}
.yura .yr-top{display:flex;align-items:center;gap:6px;flex:none}
.yura .yr-top .navbtn{font-size:12px;padding:2px 6px;min-height:0;flex:none}
.yura .yr-top .ev-ttl{font-size:18px;-webkit-text-stroke:5px #2a1408;flex:none}
.yura .yr-count{margin-left:auto;display:flex;gap:6px;font-size:10.5px;font-weight:700;white-space:nowrap;color:#3a1c08}
.yura .yr-count>span{display:block;text-align:right}
.yura .yr-count b{font-size:14px;margin-left:2px}
.yura .yr-polish{flex:none;display:flex;align-items:center;gap:6px;margin:0;padding:0 2px;border:0;background:none}
.yura .yr-polish img{width:32px;height:32px;object-fit:contain;flex:none}
.yura .yr-polish>b{font-size:13px;flex:1;min-width:0}
.yura .yr-polish .btn{flex:none}
.yura .yr-crys{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:40px;gap:4px;max-height:84px;overflow-y:auto}
.yura .yr-cry{display:flex;align-items:center;gap:3px;height:40px;padding:0 4px 0 2px;background:#f3efe6;color:#2a1408;border:2px solid var(--ink);border-left-width:6px;border-radius:0;text-align:left;min-height:0;min-width:0;overflow:hidden}
.yura .yr-cry img{width:34px;height:34px;object-fit:contain;flex:none}
.yura .yr-cry b{flex:1;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden}
.yura .yr-cry .yr-grade{flex:none;font-size:10px;padding:0 2px;line-height:1.3}
.yura .yr-cry.g0{border-left-color:#9a9184}.yura .yr-cry.g1{border-left-color:#4f9a3c}.yura .yr-cry.g2{border-left-color:#3d7fc4}.yura .yr-cry.g3{border-left-color:#c0392b}
.yura .yr-filter{flex:none;display:flex;flex-wrap:nowrap;align-items:center;gap:3px;margin:0}
.yura .yr-filter .btn{flex:1 1 0;min-width:0;min-height:0;padding:3px 2px;font-size:11.5px;white-space:nowrap}
.yura .yr-filter .yr-bulk{flex:1.7 1 0}
.yura .yr-help{flex:1 1 0;margin:0;position:static;font-size:12px}
.yura .yr-help summary{list-style:none;text-align:center;font-weight:900;cursor:pointer;height:27px;box-sizing:border-box;line-height:17px;padding:1px 0;border:solid transparent;border-width:4px 7px 5px;border-image:url(art/ui/btn_ash.png) 40 110 46 fill/4px 7px 5px stretch;white-space:nowrap;font-size:10.5px;letter-spacing:-.03em}
.yura .yr-help summary::-webkit-details-marker{display:none}
.yura .yr-help ul{position:absolute;left:0;right:0;z-index:20;margin:4px 0 0;padding:6px 8px 6px 8px;list-style:none;background:#fffaf0;border:3px solid var(--ink);max-height:60%;overflow-y:auto;font-size:12px;line-height:1.4}
.yura .yr-list{flex:1 1 0;min-height:0;overflow-y:auto;grid-template-columns:1fr 1fr;align-content:start;gap:4px;-webkit-overflow-scrolling:touch}
.yura .yr-item{min-width:0;padding:3px 5px;border-left-width:7px;font-size:11px;line-height:1.25}
.yura .yr-item .yr-head b{font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yura .yr-item .yr-main{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yura .yr-item .yr-subs li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yura .yr-item .yr-on{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yura .yr-item .yr-acts{margin-top:auto;padding-top:2px;flex-wrap:nowrap;gap:2px}
.yura .yr-item .yr-acts .btn{flex:1 1 0;min-width:0;min-height:0;padding:2px 1px;font-size:11px;line-height:1.1;white-space:nowrap}
.yura .yr-item .yr-acts .btn small{display:block;font-size:9px}
.yura .yr-none{grid-column:1/3;margin:6px;font-size:13px}
.yura .yr-toast{position:absolute;left:8px;right:8px;bottom:6px;z-index:15;margin:0;padding:5px 8px;background:#2a1408;color:#fff6df;font-size:12px;font-weight:700;text-align:center;pointer-events:none;animation:yrToast 2.6s forwards}
.yura .yr-filter .btn,.yura .yr-item .yr-acts .btn{border-width:4px 7px 5px!important;border-image-width:4px 7px 5px!important;padding:1px 0!important;line-height:1.15}
.yura .yr-filter .btn{height:27px}
.yura .yr-item .yr-acts .btn{height:32px;font-size:11px;letter-spacing:0}
.yura .yr-item .yr-acts .btn small{font-size:8.5px;line-height:1}
.yura .yr-polish .btn{border-width:5px 16px 6px!important;border-image-width:5px 16px 6px!important;padding:1px 4px!important;font-size:12px;height:30px;min-height:0}
@keyframes yrToast{0%,80%{opacity:1}100%{opacity:0}}

/* 一覧のカード（名前と主効果だけ） */
.yura .yr-list{grid-auto-rows:46px}
.yr-ico{width:34px;height:34px;object-fit:contain;flex:none}
.yr-card{position:relative;display:flex;align-items:center;gap:4px;height:46px;min-width:0;padding:0 3px;background:#fffaf0;color:#2a1408;border:2px solid var(--ink);border-left-width:6px;border-radius:0;text-align:left;overflow:hidden}
.yr-card.g0{border-left-color:#9a9184}.yr-card.g1{border-left-color:#4f9a3c}.yr-card.g2{border-left-color:#3d7fc4}.yr-card.g3{border-left-color:#c0392b;background:#fff1e0}
.yr-cn{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.yr-cn b{font-size:11px;white-space:nowrap;overflow:hidden;font-weight:700}
.yr-cn em{font-style:normal;font-weight:900;font-size:12px;white-space:nowrap;overflow:hidden}
.yr-ct{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.1}
.yr-ct .yr-grade{font-size:10px;padding:0 2px}.yr-ct i{font-style:normal;font-weight:900;font-size:11px}
.yr-card .yr-lock{position:absolute;left:1px;top:1px;font-size:8px;padding:0 2px}
.yr-worn{position:absolute;left:1px;bottom:1px;font-size:8px;background:#7a4f12;color:#fff;padding:0 2px;line-height:1.3}
/* 玉の窓 */
.yr-md{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.yr-md-bg{position:absolute;inset:0;background:#0009}
#app .yr-md .modal{position:relative;width:min(340px,100%);margin:0;max-height:86dvh;display:flex;flex-direction:column;gap:6px}
.yr-md-top{display:flex;align-items:center;gap:8px;padding-right:30px}
.yr-md-top img{width:64px;height:64px;object-fit:contain;flex:none}
.yr-md-top b{display:block;font-size:17px}
.yr-md-top div>span{display:flex;align-items:center;gap:6px;margin-top:2px}.yr-md-top i{font-style:normal;font-weight:900}
.yr-md-main{font-size:19px;font-weight:900;font-family:var(--game-font)}
.yr-md-subs{list-style:none;margin:0;padding:0;font-size:14px;font-weight:700;line-height:1.5}.yr-md-subs .none{color:#8a7d68}
.yr-md-set,.yr-md-on{margin:0;font-size:12px;line-height:1.35}.yr-md-on{color:#7a4f12;font-weight:700}
.yr-md-acts{display:flex;gap:4px;margin-top:4px}
.yr-md-acts .btn{flex:1 1 0;min-width:0;height:44px;min-height:0;padding:0 2px;font-size:14px;line-height:1.1;white-space:nowrap}
.yr-md-acts .btn small{display:block;font-size:10px}
.yura .yr-toast{z-index:70;position:fixed;left:16px;right:16px;bottom:96px}
.mn-headrow{display:flex;align-items:center;justify-content:space-between;gap:6px}
.mn-headrow .band{margin:0}.mn-headrow .btn{flex:none;min-height:0;white-space:nowrap}
.after-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 6px}
.after-row .after-count{margin:0}.after-row .btn{flex:none;min-height:0;white-space:nowrap}
/* 修行後の仲間の詳細：スクロールなし。絵が残りの高さをぜんぶ使う */
body:has(section.rec-detail) .back-float{display:none}
#app section.rec-detail{display:flex;flex-direction:column;gap:4px;height:calc(100dvh - 94px);padding:0;overflow:hidden}
#app .rec-detail .rd-top{flex:1 1 0;min-height:110px;position:relative;box-shadow:none;padding:0;display:block;overflow:hidden}
.rec-detail .rd-back{position:absolute;left:4px;top:4px;z-index:3;font-size:12px;padding:2px 6px;min-height:0}
.rec-detail .rd-art{position:absolute;left:0;right:30%;top:0;bottom:0;display:flex;align-items:flex-end;justify-content:center}
.rec-detail .rd-art img,.rec-detail .rd-art svg{height:92%!important;width:auto;max-width:100%;object-fit:contain}
.rec-detail .rd-id{position:absolute;right:4px;bottom:4px;max-width:58%}
.rec-detail .rd-id b{font-size:18px}.rec-detail .rd-id small{font-size:10px}
.rec-detail .rd-skills{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0}
.rec-detail .rd-sk{display:flex;justify-content:space-between;align-items:center;min-width:0;padding:1px 5px;gap:3px}
.rec-detail .rd-sk b{font-size:11.5px;white-space:nowrap;overflow:hidden;min-width:0}.rec-detail .rd-sk i{font-size:10.5px;white-space:nowrap;flex:none}
.rec-detail .rd-stats{flex:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin:0}
.rec-detail .rd-stats span{font-size:10px;line-height:1.1}.rec-detail .rd-stats b{font-size:15px;line-height:1.1;display:block}
.rec-detail .rd-slots{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:3px}
.rec-detail .rd-slot{aspect-ratio:auto;height:48px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;padding:0 3px;text-align:left;min-width:0;overflow:hidden;background:#f8eed6;color:#2a1408}
.rec-detail .rd-slot>b{font-size:14px;flex:none}
.rec-detail .rd-slot img{width:38px;height:38px;object-fit:contain;flex:none}
.rec-detail .rd-slot>span{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.rec-detail .rd-slot small{font-size:10px;text-align:left;display:flex;gap:4px}
.rec-detail .rd-slot em{position:static;font-size:10px}
.rec-detail .rd-slot i{font-style:normal;font-weight:900;font-size:11.5px;white-space:nowrap}
.rec-detail .rd-none{color:#8a7d68;font-size:12px;margin-left:4px}
.rec-detail .rd-foot{flex:none;margin:0;justify-content:flex-end}
.rec-detail .rd-foot .btn{min-height:0;height:30px;padding:0 4px;font-size:12px}
#app .rd-pick{margin:0;height:80dvh}
.rd-pick-t{padding-right:30px}
.rd-pick-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.rd-pick-list .yr-head{gap:4px}
/* 結晶が玉になる（脳汁ポイント） */
.yrx{position:fixed;inset:0;z-index:300;background:#140b06f2;color:#fff6df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;--c:#d9d2c0;user-select:none}
.yrx.g1{--c:#7fe06a}.yrx.g2{--c:#6fb6ff}.yrx.g3{--c:#ffd24a}
.yrx-glow{position:absolute;left:50%;top:32%;width:90vw;height:90vw;max-width:560px;max-height:560px;transform:translate(-50%,-50%) scale(.3);border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);opacity:0;pointer-events:none}
.yrx.charge .yrx-glow{opacity:.55;transform:translate(-50%,-50%) scale(.7);transition:all .9s ease-in}
.yrx.open .yrx-glow{opacity:.5;transform:translate(-50%,-50%) scale(1);animation:yrxFlash .55s ease-out}
.yrx.g0.open .yrx-glow{opacity:.18}
@keyframes yrxFlash{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}}
.yrx-stage{position:relative;width:240px;height:190px;flex:none}
.yrx-bull{position:absolute;left:-28px;bottom:0;width:104px;height:104px;object-fit:contain;image-rendering:pixelated;transition:opacity .25s}
.yrx-stage .yrx-cry{position:absolute;right:10px;bottom:0;width:140px;height:140px;object-fit:contain}
.yrx-stage .yrx-orb{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;opacity:0;transform:scale(.2)}
.yrx.polish .yrx-bull{animation:yrxRub .3s ease-in-out 3}
.yrx.polish .yrx-cry{animation:yrxShake .1s linear infinite}
.yrx.charge .yrx-cry{filter:brightness(1.6);animation-duration:.05s}
.yrx.open .yrx-bull,.yrx.open .yrx-stage .yrx-cry{opacity:0}
.yrx.open .yrx-stage .yrx-orb{opacity:1;transform:scale(1);transition:transform .35s cubic-bezier(.2,1.7,.4,1),opacity .1s}
@keyframes yrxRub{50%{transform:translateX(26px)}}
@keyframes yrxShake{25%{transform:translate(-2px,1px)}75%{transform:translate(2px,-1px)}}
.yrx-info{position:relative;width:min(320px,100%);min-height:150px;display:flex;flex-direction:column;gap:4px;text-align:center}
.yrx-row{visibility:hidden}
.yrx-row.on{visibility:visible;animation:yrxPop .28s cubic-bezier(.2,1.6,.4,1) backwards}
@keyframes yrxPop{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}
.yrx-name{display:flex;align-items:center;justify-content:center;gap:6px;font-size:18px}
.yrx-name b{font-family:var(--game-font)}
.yrx .yr-grade{background:var(--c,#d9d2c0);color:#2a1408;border-color:#2a1408;font-weight:900;font-size:15px;padding:0 6px}
.yrx-slot{border:2px solid #fff6df;padding:0 6px;font-size:13px;font-weight:900}
.yrx-main{font-family:var(--game-font);font-size:26px;color:#fff}
.yrx-subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:700}
.yrx-subs i{font-style:normal;font-size:11px;font-weight:900;margin-left:6px;padding:0 4px;background:#2a1408;border:1px solid currentColor}
.yrx-subs .t1{color:#ffd76a}
.yrx-subs .t2{color:#ffd24a;font-size:19px;text-shadow:0 0 10px #ffb400}
.yrx-end{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;visibility:hidden}
.yrx.done .yrx-end{visibility:visible}
.yrx-gem{display:flex;align-items:center;gap:3px;font-weight:900;font-size:14px}.yrx-gem img{width:20px;height:20px}
.yrx-close{min-width:140px;min-height:0;height:46px}
/* まとめて */
.yrx-many{justify-content:flex-start;padding-top:calc(16px + env(safe-area-inset-top))}
.yrx-grid{flex:1 1 0;min-height:0;width:100%;max-width:400px;overflow-y:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:min-content;align-content:center;gap:5px}
.yrx-cell{position:relative;aspect-ratio:1;background:#2a180c;border:2px solid #5a3a22;padding:2px;border-radius:0}
.yrx-cell img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:contain}
.yrx-cell .yrx-orb{opacity:0;transform:scale(.3)}
.yrx-cell.open .yrx-cry{opacity:0}
.yrx-cell.open .yrx-orb{opacity:1;transform:scale(1);transition:transform .25s cubic-bezier(.2,1.8,.4,1)}
.yrx-cell.g1.open{border-color:#7fe06a}.yrx-cell.g2.open{border-color:#6fb6ff;box-shadow:0 0 8px #6fb6ff}.yrx-cell.g3.open{border-color:#ffd24a;box-shadow:0 0 14px #ffd24a}
.yrx-cell.sel{outline:3px solid #fff6df;outline-offset:1px}
.yrx-many .yrx-info{flex:none;height:176px;min-height:0}
.yrx-many .yrx-info .yr-grade{background:#fff6df}
.yrx-sum{display:flex;gap:5px;font-weight:900;font-size:14px}
.yrx-sum .g3{color:#ffd24a}.yrx-sum .g2{color:#6fb6ff}.yrx-sum .g1{color:#7fe06a}.yrx-sum .g0{color:#d9d2c0}
.yrx-many .yrx-close{min-width:96px}
.yr-md-acts .btn{border-width:5px 12px 6px!important;border-image-width:5px 12px 6px!important;padding:0!important}
.yrx-close{border-width:6px 18px 7px!important;border-image-width:6px 18px 7px!important;padding:0 4px!important;white-space:nowrap;font-size:16px}
.yrx-sum b{white-space:nowrap}.yrx-many .yrx-end{width:100%;max-width:400px;justify-content:space-between;gap:6px}
.yrx-many .yrx-close{flex:none;min-width:90px;height:42px}
.mn-headrow{margin:0 0 2px}.mn-headrow .btn{height:30px;padding:0!important;border-width:4px 12px 5px!important;border-image-width:4px 12px 5px!important;font-size:12px}
.mine .mn-places{margin-bottom:0}
/* ゆら玉と結晶のアイコンはドット（2026-11-04 ユーザー）。拡大してもにじませない */
img[src*="art/ui/mine/orb_"],img[src*="art/ui/mine/cry_"]{image-rendering:pixelated}
.yr-cn em{font-size:11.5px;letter-spacing:-.03em}

/* 昇格 */
.yrx.hush .yrx-glow{opacity:0;transition:opacity .15s}
.yrx.hush .yrx-stage .yrx-cry{filter:brightness(.55);transition:filter .15s}.yrx.hush .yrx-bull{opacity:.3}
.yrx.quake .yrx-glow{opacity:.85;transform:translate(-50%,-50%) scale(1.1);transition:all 1s ease-in}
.yrx.quake .yrx-stage .yrx-cry{filter:brightness(1.8);animation:yrxQuake .07s linear infinite}
.yrx.quake .yrx-bull{opacity:0}
.yrx.promo-on .yrx-stage{animation:yrxBump .3s}
@keyframes yrxQuake{25%{transform:translate(-5px,3px)}50%{transform:translate(4px,-3px)}75%{transform:translate(-3px,-4px)}}
@keyframes yrxBump{30%{transform:translateY(8px)}}
.yrx-promo{position:absolute;left:0;right:0;top:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none}
.yrx.promo-on .yrx-promo{opacity:1}
.yrx.promo-out .yrx-promo{opacity:0;transition:opacity .15s}
.yrx-promo .moji{width:min(300px,80vw);height:auto;transform:scale(2.4);opacity:0}
.yrx.promo-on .yrx-promo .moji{transform:scale(1);opacity:1;transition:transform .18s cubic-bezier(.2,1.5,.4,1),opacity .08s}
.yrx-plates{display:flex;align-items:center;gap:10px}
.yrx-plates .yr-grade{font-size:30px;padding:2px 12px;border-width:3px;font-family:var(--game-font)}
.yrx-plates .p0{opacity:.75}
.yrx-plates i{border:10px solid transparent;border-left:16px solid #fff6df;border-right:0}
.yrx-plates .p1,.yrx-plates i{opacity:0}
.yrx.promo-next .yrx-plates i{opacity:1}
.yrx.promo-next .yrx-plates .p1{opacity:1;animation:yrxPop .3s cubic-bezier(.2,1.6,.4,1)}
.yrx-uptag{background:#c0392b;color:#fff6df;font-weight:900;font-size:13px;padding:0 5px;border:2px solid #ffd24a}
.yrx-cell.shake .yrx-cry{filter:brightness(1.8);animation:yrxQuake .07s linear infinite}
.yrx-cell.shake{box-shadow:0 0 16px #fff6df;border-color:#fff6df}
.yrx-cell em{display:none;position:absolute;left:0;right:0;bottom:0;background:#c0392b;color:#fff6df;font-style:normal;font-weight:900;font-size:10px;line-height:1.3;text-align:center}
.yrx-cell.up.open em{display:block}
.yrx-plates .pg0{background:#d9d2c0}.yrx-plates .pg1{background:#7fe06a}.yrx-plates .pg2{background:#6fb6ff}
.yrx-plates .p0{opacity:1}
.yrx-promo{top:38%}

/* 格は5段階（2026-11-04）：凡＝灰・並＝茶・上＝緑・特＝青・極＝赤金 */
.yr-item.g0,.yr-card.g0,.yura .yr-cry.g0{border-left-color:#9a9184}
.yr-item.g1,.yr-card.g1,.yura .yr-cry.g1{border-left-color:#b07d3c;background:#fffaf0}
.yr-item.g2,.yr-card.g2,.yura .yr-cry.g2{border-left-color:#4f9a3c;background:#fffaf0}
.yr-item.g3,.yr-card.g3,.yura .yr-cry.g3{border-left-color:#3d7fc4;background:#fffaf0}
.yr-item.g4,.yr-card.g4{border-left-color:#c0392b;background:#fff1e0}
.yrx.g0{--c:#b8b0a0}.yrx.g1{--c:#e0b070}.yrx.g2{--c:#7fe06a}.yrx.g3{--c:#6fb6ff}.yrx.g4{--c:#ffd24a}
.yrx-cell.open{border-color:#5a3a22;box-shadow:none}
.yrx-cell.g1.open{border-color:#b07d3c;box-shadow:none}.yrx-cell.g2.open{border-color:#7fe06a;box-shadow:none}
.yrx-cell.g3.open{border-color:#6fb6ff;box-shadow:0 0 8px #6fb6ff}.yrx-cell.g4.open{border-color:#ffd24a;box-shadow:0 0 14px #ffd24a}
.yrx-sum .g4{color:#ffd24a}.yrx-sum .g3{color:#6fb6ff}.yrx-sum .g2{color:#7fe06a}.yrx-sum .g1{color:#e0b070}.yrx-sum .g0{color:#b8b0a0}
.yrx-plates .pg0{background:#b8b0a0}.yrx-plates .pg1{background:#e0b070}.yrx-plates .pg2{background:#7fe06a}.yrx-plates .pg3{background:#6fb6ff}
.yura .yr-filter .yr-bulk{font-size:10.5px;letter-spacing:-.03em}
/* 昇格の文字は結晶の上、格の札は結晶の下（真ん中に重ねない） */
.yrx-promo{inset:0;top:0;display:block}
.yrx-promo .moji{position:absolute;left:50%;top:max(10px,calc(50% - 345px));width:min(250px,66vw);margin-left:calc(min(250px,66vw) / -2)}
.yrx-plates{position:absolute;left:0;right:0;top:calc(50% + 8px);justify-content:center}

/* 格のアイコン（チャッピー） */
.yr-rk{width:20px;height:20px;object-fit:contain;flex:none;display:block}
.yr-md-top .yr-rk{width:28px;height:28px}
.yrx-name .yr-rk{width:28px;height:28px}
.yrx-plates .yr-rk{width:52px;height:52px}
.yrx-plates .yr-rk,.yrx-name .yr-rk,.yr-md-top .yr-rk{image-rendering:pixelated}
.yr-md-acts .btn small{color:#3a1c08!important;font-size:11px;font-weight:900;text-shadow:none;-webkit-text-stroke:0}
.yr-item .yr-acts .btn small{color:#3a1c08!important}
.mn-pic{position:relative}.mn-pic>em{position:absolute;right:3px;top:3px;margin:0;padding:0 4px;background:#2a1408e6;color:#ffd76a;font-style:normal;font-weight:900;font-size:10.5px;line-height:1.4}
/* iPhoneのSafari：100vh はアドレスバーの分も数えてしまい、下がタブの裏に隠れる（2026-11-04） */
.home2{min-height:calc(100dvh - 74px)}

/* 勝利・敗北 */
.b3-end{justify-content:flex-start;background:rgba(42,31,22,0)!important;transition:background .3s}
.b3-end.win.go{background:rgba(42,31,22,.12)!important}
.b3-end>b{margin-top:30%}
.b3-end.lose.dim{-webkit-backdrop-filter:grayscale(1) brightness(.55);backdrop-filter:grayscale(1) brightness(.55);background:rgba(10,14,28,.35)!important}
.b3-moji{position:absolute;left:50%;top:9%;width:min(88%,340px);transform:translateX(-50%);text-align:center;opacity:0;pointer-events:none}
.b3-moji img{display:block;width:100%;height:auto}
.b3-moji b{display:block;font-family:var(--game-font);font-size:72px;line-height:1.1;-webkit-text-stroke:10px #2a1408;paint-order:stroke fill;color:#ffd76a}
.b3-end.lose .b3-moji b{color:#a9b8cc}
.b3-moji small{display:block;margin-top:2px;color:#fff6df;font-size:16px;font-weight:900;-webkit-text-stroke:4px #2a1408;paint-order:stroke fill}
.b3-end.win.go .b3-moji{opacity:1;animation:b3Slam .24s cubic-bezier(.2,1.3,.4,1) backwards;filter:drop-shadow(0 0 16px rgba(255,190,70,.8))}
.b3-end.lose.go .b3-moji{opacity:1;animation:b3Fall .9s cubic-bezier(.6,0,.9,.6) backwards}
.b3-end.done .b3-moji{animation:none!important}
@keyframes b3Slam{0%{opacity:0;transform:translateX(-50%) scale(2.6)}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes b3Fall{0%{opacity:0;transform:translate(-50%,-70px)}40%{opacity:1}100%{opacity:1;transform:translate(-50%,0)}}
.b3-stage.b3-bump{animation:b3Bump .28s}
@keyframes b3Bump{25%{transform:translateY(7px)}60%{transform:translateY(-3px)}}
.b3-unit .body.b3-cheer{animation:b3Hop .44s cubic-bezier(.3,.7,.5,1) 4}
@keyframes b3Hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-26px)}}
.b3-unit .body.b3-slump{transform:translateY(8px);transition:transform .7s}
.b3-endbtns{position:absolute;left:0;right:0;bottom:6%;display:flex;flex-direction:column;align-items:center;gap:6px;visibility:hidden}
.b3-end.done .b3-endbtns{visibility:visible;animation:yrxPop .22s backwards}
.b3-moji{top:15%}
.b3-kime{position:absolute;z-index:2;pointer-events:none;image-rendering:pixelated;filter:drop-shadow(2px 0 0 #1a120c) drop-shadow(-2px 0 0 #1a120c) drop-shadow(0 2px 0 #1a120c) drop-shadow(0 -2px 0 #1a120c)}
.b3-unit.a .b3-kime{transform:scaleX(-1)}
.b3-moji{width:min(70%,270px)}
.b3-moji{top:3%}

/* 負けたとき：左にもどる・右にやり直す */
.b3-endbtns.two{flex-direction:row;justify-content:center;gap:10px}
.b3-big .b3-endbtns.two button{flex:0 0 auto;min-width:128px;height:52px;margin:0;padding:0 6px;font-size:16px;line-height:1.1;white-space:nowrap}
.b3-big .b3-endbtns button.b3-back{border-image-source:url(art/ui/btn_wood.png)!important;border-image-slice:40 110 46 fill!important;color:#3a2410!important;-webkit-text-stroke:0!important;text-shadow:none!important}
.b3-big .b3-retry small{display:block;font-size:10px;font-weight:900}
/* シミュレーターのチェック（2026-11-04・402×714）：下の枠がタブにかからないように。空きも埋める */
.event-list{height:calc(100dvh - 232px - env(safe-area-inset-bottom,0px))}
.event-card:last-child:nth-child(odd){grid-column:1/3;aspect-ratio:auto}
.mine .mn-hero{height:clamp(120px,calc(100dvh - 540px),190px)}
.page-setup .su-wiz{height:calc(100dvh - 80px - 63px - 8px - env(safe-area-inset-bottom))}
/* 修行後の詳細にはタブがないので、下まで使う */
body:has(section.rec-detail) main{padding-bottom:0!important}
#app section.rec-detail{height:calc(100dvh - 18px)}
.rec-detail .rd-stats b{font-size:13.5px;letter-spacing:-.03em}
.rec-detail .rd-stats>div{padding-left:0!important;padding-right:0!important}
.event-card.ev-mine:last-child:nth-child(odd)>img:first-child{content:url(art/ui/ev_mine_wide.png);image-rendering:pixelated;object-fit:cover}
/* 戦闘の上の段：題がある戦闘でも「離脱」を2行目に落とさない */
.b3-stage>.b3-top .b3-title{font-size:11px!important;max-width:27%!important}
.b3-stage>.b3-top .b3-wave{font-size:11px!important;padding:1px 4px!important;white-space:nowrap}
.b3-stage>.b3-top button{font-size:11.5px!important;padding:0 1px!important;border-width:4px 9px 5px!important;border-image-width:4px 9px 5px!important;white-space:nowrap;min-height:0}
.b3-stage>.b3-top .b3-sp{min-width:0;flex:1 1 0}
/* 時成通りの上の帯：左の飾りに文字がかぶらないように。小さい札は字をつめて枠に収める */
.sg-bingo .sg-leg>b,.sg-bingo .sg-leg>small{padding-left:16px}
.sg-bingo .sg-wallet{flex:0 0 auto;min-width:92px}
#app .sg-bingo .sg-tools .btn{font-size:10px!important;letter-spacing:-.04em!important}
/* 磨く演出：裏の一覧が透けて文字が読みにくいので不透明に。まとめての一覧は上まで見られるように */
.yrx{background:#140b06}
.yrx-grid{align-content:safe center}

/* シミュレーターのチェック2（2026-11-04） */
.sb-prep p.lead-note b{flex:none;white-space:nowrap}
.sb-prep p.lead-note i{white-space:nowrap}
.sb-prep .sb-go{display:block;width:100%;box-sizing:border-box}
.modal:has(.sg-result-text) .sg-seal{width:24px!important;height:24px!important;right:-1px!important;opacity:.85}
.modal:has(.sg-result-text) .sg-cell>.sg-cell-name{font-size:11.5px!important}
.sg-wheel-choice{width:auto!important}
.sg-wheel-choice b{white-space:nowrap;font-size:11px}
.b3-moji{width:min(56%,210px);top:2%}
.page-nakama .nk-grid{max-height:calc(100dvh - 176px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.page-nakama .nk-grid.nk-rec{max-height:calc(100dvh - 214px)}
/* 根の国くだりの探索：スクロールなし。仲間は横3列、かけらは1行、道は3列 */
#app section.dive:has(.dv-run){height:calc(100dvh - 94px);display:flex;flex-direction:column;overflow:hidden}
.dive .dv-run{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:6px;margin-top:4px}
.dive .dv-side{flex:none;padding:4px 6px}
.dive .dv-side .dv-stat{display:flex;flex-wrap:nowrap;margin:0 0 2px!important;gap:4px}
.dive .dv-side .dv-stat span{flex:1 1 0;min-width:0;white-space:nowrap;font-size:11px;text-align:center}
.dive .dv-side .dv-stat b{font-size:15px}
.dive .dv-side .dv-stat small{display:none}
.dive .dv-boons{flex-wrap:nowrap;overflow-x:auto}
.dive .dv-boons li{white-space:nowrap}
.dive .dv-h{margin:2px 0 1px;font-size:11px}
.dive .dv-main{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.dive .dv-ask{margin:0;font-size:15px}
.dive .dv-msg{margin:0;font-size:12px}
.dive .dv-doors{flex:1 1 0;min-height:110px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dive .dv-door{padding:6px;min-width:0;justify-content:flex-start;gap:2px;box-shadow:0 3px 0 var(--ink)}
.dive .dv-door b{font-size:15px}
.dive .dv-door small{font-size:11px;line-height:1.3}
.dive .dv-back{flex:none;margin:0}
.dive .dv-back .btn{width:100%;min-height:0;height:44px;padding:0 4px!important;font-size:14px;white-space:nowrap}
.dive .dv-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 6px;align-items:center}
.dive .dv-side>.dv-stat,.dive .dv-side>.dv-h,.dive .dv-side>.dv-boons{grid-column:1/4}
.dive .dv-mate{display:grid!important;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:3px;align-items:center;margin:0!important;min-width:0}
.dive .dv-mate img{grid-row:1/3;width:30px!important;height:30px!important;object-fit:contain}
.dive .dv-mate b{font-size:10.5px;line-height:1.2;white-space:nowrap;overflow:hidden}
.dive .dv-mate .b3-bar{height:7px;min-width:0}
.dive .dv-run{align-items:stretch}
.dive>.band{color:#3a1c08}
.dive .dv-doors{display:flex;flex-direction:column;gap:6px;min-height:0}
.dive .dv-door{flex:1 1 0;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:8px;padding:4px 10px}
.dive .dv-door .ic{grid-row:1/3;font-size:32px;text-align:center}
.dive .dv-door b{font-size:17px;line-height:1.2}
.dive .dv-door small{font-size:12px}
/* 入口：空いた下まで絵を広げる */
#app section.dive:has(.dv-gate){height:calc(100dvh - 94px);display:flex;flex-direction:column;overflow:hidden}
#app section.dive .dv-gate{flex:1 1 0;min-height:150px;margin-bottom:0}
#app section.dive .tw-result{flex:0 1 auto;min-height:0;overflow-y:auto;max-height:34%}

/* レイド：題名がボタンに隠れない。結果の文は絵の下に細く重ねて、枠の並びを崩さない */
main .raid-pg>.ev-top{margin-right:0!important;width:100%;justify-content:flex-start!important;padding-right:0!important}
main .raid-pg>.ev-top .ev-ttl{min-width:0;width:auto;font-size:17px;padding:0 16px 2px;white-space:nowrap}
.raid-pg .rd-top{position:relative}
.raid-pg .rd-top>.tw-result{position:absolute;left:0;right:0;bottom:0;z-index:5;margin:0;padding:2px 8px;border-width:2px;font-size:12px;line-height:1.35}
/* レイド：挑む画面は絵を下まで広げる */
#app .raid-pg:has(.rd-go-row){display:flex;flex-direction:column;height:calc(100dvh - 94px)}
#app .raid-pg:has(.rd-go-row)>.rd-top{flex:1 1 0;min-height:0;max-height:none}
#app .raid-pg:has(.rd-go-row)>*:not(.rd-top){flex:none}
/* 坑道：周回の結果の文で下の坑道を押し出さない（絵の上に重ねる） */
section.mine>.dv-msg{position:absolute;left:0;right:0;top:50px;z-index:8;margin:0;max-height:clamp(110px,calc(100dvh - 550px),180px);overflow-y:auto;font-size:12px;line-height:1.35;padding:4px 8px}
section.mine>.dv-msg .mn-log{margin:2px 0 0;padding:0;list-style:none}
.cs-prizes{max-height:calc(100dvh - 346px);overflow-y:auto;-webkit-overflow-scrolling:touch}
/* 時成通り：能力と仲間の段を上へ広げる。能力ポイントの札はマップに重ねてよい（2026-11-04 ユーザー） */
#app .sg-bingo .sg-stats{height:50px;flex:none}
#app .sg-bingo .sg-st{padding:2px 0;line-height:14px;display:flex;flex-direction:column;justify-content:center}
#app .sg-bingo .sg-st span{font-size:12px}
#app .sg-bingo .sg-st b{font-size:22px;line-height:24px}
#app .sg-bingo .sg-team{height:66px;flex:none;margin:0}
#app .sg-bingo .sg-tm-face{height:46px;width:46px}
#app .sg-bingo .sg-tm-face img{height:42px}
#app .sg-bingo .sg-bond{height:16px;margin-top:1px}
/* 敗北のやり直すは赤い札 */
:root .b3-big .b3-endbtns button.b3-retry{border-image-source:url(art/ui/btn_red.png)!important;border-image-slice:50 120 56 fill!important;color:#fff8e6!important;-webkit-text-stroke:3px #3a1408!important;-webkit-text-stroke-color:#3a1408!important;paint-order:stroke fill}
#app .sg-bingo .sg-st b{font-size:20px;letter-spacing:-.04em}
/* イベントの選択肢：運試しの札は文字の下に置く。能力の数字は語の途中で折らない */
.overlay .scene-choices .gchoice>.gc-body b{display:block}
.overlay .scene-choices .gchoice .gc-risk{display:table;margin:2px auto 0;white-space:nowrap}
.overlay .scene-choices .gchoice small{word-break:keep-all;overflow-wrap:anywhere;font-size:11.5px!important}
.modal:has(.sg-result-text) .sg-cell{padding-right:2px!important}
.modal:has(.sg-result-text) .sg-seal{width:20px!important;height:20px!important;top:1px!important;right:1px!important;transform:none!important}
.modal:has(.sg-result-text) .sg-cell>.sg-cell-name{letter-spacing:-.04em}
/* 分かれ道：光るマスの名前を光の上に出す。札は上の段のマスを隠さない場所へ */
.sg-path-tile.sg-lane-land>span,.sg-path-tile.sg-lane-pick>span{position:absolute;z-index:6}
.sg-branch-left{left:4px;top:auto;bottom:26px;transform:none;padding:2px 8px;gap:4px}
.sg-branch-left b{font-size:13px}.sg-branch-left strong{font-size:20px}.sg-branch-left span{font-size:11px}
html:root body .b3-big .b3-endbtns button.b3-retry.b3-retry{border-image-source:url(art/ui/btn_red.png)!important;border-image-slice:50 120 56 fill!important;color:#fff8e6!important;-webkit-text-stroke-color:#3a1408!important}
.overlay .scene-choices .gchoice>.gc-body b{word-break:normal;line-height:1.15;font-size:13.5px!important}

/* 根の国くだりの道の札（チャッピー）・ドット */
.dive .dv-door img.ic{grid-row:1/3;width:44px;height:44px;object-fit:contain;image-rendering:pixelated;margin:0}
.dv-door img.ic{width:44px;height:44px;image-rendering:pixelated}
.sg-art[src*="order_point"]{image-rendering:pixelated}
/* 道の札：無地の色箱をやめて木の板に。種類は絵で見せる */
.dive .dv-door{background:none!important;box-shadow:none;border-style:solid;border-width:9px 22px 11px;border-image:url(art/ui/btn_wood.png) 40 110 46 fill/9px 22px 11px stretch;color:#3a1c08;padding:0 2px;grid-template-columns:64px minmax(0,1fr)}
.dive .dv-door:active{transform:translateY(2px)}
.dive .dv-door img.ic{width:64px;height:64px}
.dive .dv-door.d-elite{border-image-source:url(art/ui/btn_red.png);border-image-slice:50 120 56 fill;color:#fff8e6}
.dive .dv-door.d-elite small,.dive .dv-door.d-elite b{-webkit-text-stroke:3px #3a1408;paint-order:stroke fill}
.dive .dv-door.d-boss{background:none!important;border-image-source:url(art/ui/btn_red.png);border-image-slice:50 120 56 fill;color:#fff8e6}
.dive .dv-door.d-boss small,.dive .dv-door.d-boss b{-webkit-text-stroke:3px #3a1408;paint-order:stroke fill}
#app section.dive:has(.dv-run){height:calc(100dvh - 98px)}
.mg-try .mg-row .btn{font-size:11.5px;letter-spacing:-.04em;white-space:nowrap}

/* 倒れて消えた敵の影を残さない */
.b3-unit.down:not(.ko)::before{opacity:0;transition:opacity .2s}
/* 勝ったあとの2つのボタンも横に並べ、キャラにかぶせない */
.b3-big .b3-endbtns.two{bottom:3%}
.b3-big .b3-endbtns.two button.b3-again{margin:0;font-size:13px!important;letter-spacing:-.03em;line-height:1.15;-webkit-text-stroke:0;color:#3a2410}
.b3-big .b3-endbtns.two button.b3-again small{display:block;font-size:10.5px;-webkit-text-stroke:0;color:#7a2c10;font-weight:900}
.b3-big .b3-endbtns.two button.b3-again{box-shadow:none!important;height:52px;background:none!important}
/* 選択肢の札：文字を札の真ん中に */
.overlay .scene-choices .gchoice{display:flex;align-items:center;justify-content:center}
.overlay .scene-choices .gchoice>.gc-body{justify-content:center;gap:3px}
.overlay .scene-choices .gchoice small:empty{display:none}

/* 能力が4桁のとき、枠からはみ出さない（2026-11-04 ユーザー） */
.fz-lv.n4{font-size:12.5px;letter-spacing:-.06em}
.fz-web .fz-tag.n4{padding:0 8%;gap:1px}.fz-web .fz-tag.n4 b{font-size:10.5px;letter-spacing:-.05em}
.rec-detail .rd-stats>.n4 b{font-size:12px;letter-spacing:-.06em}
#app .sg-bingo .sg-st.n4 b{font-size:16px;letter-spacing:-.06em}
/* 指南の結果：窓を中身の高さに。下の大きな空きとスクロールをなくす */
.modal:has(>.ask.gask.gres),.modal:has(.gask.gres){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:auto 0!important}
.ask.gask.gres{height:auto!important;min-height:0!important}
/* 目をえらぶ：枠の外に四角い地が出ないように。札の下の黒い線も消す */
.sg-face-ov .modal{background:none!important;box-shadow:none!important;outline:0!important}
.sg-face-ov .sg-faces .btn,.sg-face-ov .modal>.btn{box-shadow:none!important;background:none!important}
/* イベント結果：能力が4つ以上でも「次へ」が切れない。札は1行に4つまで、体力は1行で（2026-11-04） */
.evr-chips{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
.evr-chips .evr-chip{min-width:0;padding-left:2px;padding-right:2px}
.evr-chips .evr-chip span{white-space:nowrap;word-break:keep-all;font-size:11px}
.scene-modal .scene-art:has(~ *){max-height:clamp(120px,calc(100dvh - 530px),200px)}
.scene-modal:has(.evr-chips) .scene-art{height:clamp(120px,calc(100dvh - 530px),200px)}
/* イベント結果：スクロールを出さない。入りきらない分は上の絵が縮む（2026-11-05） */
.scene-modal:has(.evr-chips){display:flex;flex-direction:column;overflow:hidden}
.scene-modal:has(.evr-chips)>.ev-stack{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}
.scene-modal:has(.evr-chips) .ev-pg{min-height:0;overflow:hidden}
.scene-modal:has(.evr-chips) .ev-pg>.scene{height:100%;min-height:0}
.scene-modal:has(.evr-chips) .scene-art{flex:0 1 clamp(120px,calc(100dvh - 530px),200px);min-height:60px;height:auto;max-height:none}
.scene-modal:has(.evr-chips) .scene-window,.scene-modal:has(.evr-chips) .scene-choices{flex-shrink:0}
/* イベント結果の札：3列でも能力名と数字が重ならない */
.evr .evr-chips .evr-chip:not(.evr-hp)>span{font-size:10px!important;letter-spacing:-.04em}
.evr .evr-chips .evr-chip:not(.evr-hp)>b{font-size:14px!important;-webkit-text-stroke-width:2.5px!important;letter-spacing:-.03em}
.evr .evr-chips .evr-chip.evr-hp>b{font-size:16px!important}
.evr .evr-chips .evr-chip:not(.evr-hp)>b.n3{font-size:12px!important;letter-spacing:-.06em}
/* 能力の札の絵をMuse版に（2026-11-05）：朱の帯がなくなったので、字を黒い所の上下まん中へ */
.practice-score.score-art .score-chip>span,.practice-score.score-art .score-chip>strong,.evr-chip:not(.evr-hp)>span,.evr-chip:not(.evr-hp)>b{top:14%;height:72%}
/* Googleログイン：公式のボタンをそのまま置く（2026-11-05） */
.cl-g{min-height:44px;display:flex;justify-content:center;overflow:hidden}
.cl-start p{margin:0;font-size:13px}
/* 2026-11-05 ログインと引き継ぎの窓のプライバシーポリシーへのリンク */
.cl-priv{display:block;text-align:center;font-size:12px;color:#7c3019;text-decoration:underline;padding:2px 0}
/* 2026-11-05 背の低いiPhone（375×550）でも引き継ぎの窓が切れないように詰める */
.cl-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:6px;align-items:stretch}
.cl-row .cl-in{font-size:16px;letter-spacing:0;padding:4px 2px;min-width:0}
.cl-ov .cl-row .btn{padding-left:0!important;padding-right:0!important;white-space:nowrap;min-width:0;width:100%;font-size:14px!important;border-left-width:8px;border-right-width:8px}
.cl-box[hidden]{display:none}
@media (max-height:640px){.cl-ov .cl-modal .band{margin-top:0;margin-bottom:0}.cl-box{padding:5px 8px;margin:3px 0;gap:3px}.cl-box b{font-size:14px}.cl-ov .cl-box .btn{min-height:40px}.cl-stat{margin:0!important;font-size:13px}.cl-note{margin:2px 0 0;min-height:0}.cl-note:empty{display:none}.cl-priv{padding:0}}
/* 2026-11-05 背の低いiPhone（Safariで375×550）：下のタブを薄くして、そのぶん窓と一覧に回す。ページごとのスクロールをなくし、長い一覧だけ箱の中で動かす */
@media (max-height:600px){
.tabbar{padding:2px 8px calc(2px + env(safe-area-inset-bottom))}
.tab{height:46px}.tab-ico{height:28px}.tab .moji{height:15px}.tab b{font-size:13px}.tab.on .tab-ico{transform:translateY(-2px) scale(1.06)}
body:has(.tabbar) main{padding-bottom:58px}
body:has(.tabbar) .overlay{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
body:has(.hud) .overlay{padding-top:calc(46px + env(safe-area-inset-top))}
body:has(.tabbar) .modal:not(.howto-full){max-height:calc(100dvh - 108px)}
.help-page{max-height:calc(100dvh - 308px);overflow:auto;align-items:flex-start;margin:4px 0}
.help-page img{height:64px}.help-page .guide-say p{font-size:13px;line-height:1.5}
.pick-scroll-body{display:flex;flex-direction:column;max-height:calc(100dvh - 186px)}
.pick-scroll-list{flex:1 1 auto;min-height:0;overflow-y:auto}
.pick-scroll-body>*:not(.pick-scroll-list){flex:none}
body:has(.tabbar) .overlay:has(.modal.howto-full){align-items:flex-start}
body:has(.tabbar) .modal.howto-full{height:calc(100dvh - 54px);max-height:calc(100dvh - 54px)}
.hw-talk .howto-who{height:70px}.hw-talk{margin:2px 0 4px!important}.hw-talk p{font-size:13px;line-height:1.45}
.page-nakama .nk-grid{max-height:calc(100dvh - 142px)}
#app section.yura,#app section.dive:has(.dv-run),#app section.dive:has(.dv-gate),#app .raid-pg:has(.rd-go-row){height:calc(100dvh - 70px)}
#app section.mine:has(.mn-places){display:flex;flex-direction:column;height:calc(100dvh - 72px);overflow:hidden}
#app section.mine .mn-hero{height:84px;flex:0 0 84px}
#app section.mine .mn-places{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.gacha3{padding-bottom:62px;min-height:100dvh;gap:4px}
.gacha3 .g4-hero{min-height:100px}
.sg-mrow{padding:0 4px}.sg-mbtn{height:24px}.sg-mkt{gap:2px}
.sg-game{position:relative}.sg-game .sg-retry{position:absolute;left:14px;right:14px;bottom:26px;z-index:5;flex-direction:row-reverse;margin:0;padding:6px;background:#f3e2c0;border:2px solid #aa732b}
.sg-game .sg-retry .btn{flex:1 1 0;min-width:0;height:54px;min-height:54px;font-size:15px!important;padding:0!important;border-left-width:10px;border-right-width:10px;white-space:nowrap;line-height:1.2}
.sg-game .sg-retry small{font-size:10px;white-space:nowrap}
.overlay .scene .scene-art{height:112px!important;max-height:112px!important;min-height:0!important;flex:0 0 112px!important}
.overlay .scene .rest-res{padding-top:2px;padding-bottom:2px}
.overlay .modal:has(>.b3-cards) .b3-card img{height:30px;width:auto}.overlay .modal:has(>.b3-cards) .b3-card{line-height:1.15}.overlay .modal:has(>.b3-cards) .band{margin-top:0;margin-bottom:0}
.overlay .modal.wide .vs{height:16px;line-height:16px;font-size:14px;margin:0}.overlay .modal.wide .rule{margin:0;min-height:0}.overlay .modal.wide .bp-mode{margin:0}
#app .sg-bingo .sg-team{height:56px}#app .sg-bingo .sg-tm-face{height:36px;width:36px}#app .sg-bingo .sg-tm-face img{height:34px}#app .sg-bingo .sg-bond{margin-top:1px}
#app .sg-bingo .sg-st{padding:0}#app .sg-bingo .sg-st b{line-height:20px}
}
/* 2026-11-05 坑道とぶとうかいは、どの高さでもページごと動かさない。一覧だけ箱の中で動かす */
@media (min-height:601px){
#app section.mine:has(.mn-places){display:flex;flex-direction:column;height:calc(100dvh - 94px);overflow:hidden}
#app section.mine>*{flex-shrink:0}
#app section.mine .mn-places{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
}
/* 2026-11-05 高さ700〜799の1列のとき、ランクと「勝てば」が重なっていた。2行目で横に並べる */
@media (min-height:700px) and (max-height:799px){main .arena-pg button.ar-opp .ar-gain{left:80px!important}}
/* 2026-11-05 ぶとうかいはタブの中身だけを箱の中で動かす（順位・報酬・防衛・記録も） */
#app section.ar-pg{display:flex;flex-direction:column;height:calc(100dvh - 94px);overflow:hidden}
#app section.ar-pg>*{flex-shrink:0}
#app section.ar-pg>.ar-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
#app section.ar-pg>.ar-body-fight{display:flex;flex-direction:column;overflow:hidden}
#app section.ar-pg>.ar-body-fight>*{flex-shrink:0}
#app section.ar-pg>.ar-body-fight>.ar-opps{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
@media (max-height:600px){#app section.ar-pg{height:calc(100dvh - 72px)}#app section.ar-pg>.ar-body-fight>.ar-opps{grid-auto-rows:68px;align-content:start}main .arena-pg button.ar-opp{height:68px!important}}
/* 2026-11-05 ユーザー：ダブルタップで拡大しない */
html,body{touch-action:manipulation}
/* 2026-11-05 ユーザー：下に引っぱる再読みこみも止める */
html,body{overscroll-behavior:none}
/* 2026-11-05 ミニゲームの途中で閉じたあとの窓：文をやり直しのボタンに隠さない */
.sg-game.sg-resume{min-height:240px}
/* 2026-11-05 サーバーとの通信の知らせ */
.gem-msg{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:90;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;background:#f3e4c2;border:3px solid #6b4423;border-radius:6px;color:#2a1f16;font-weight:700;font-size:14px;box-shadow:0 3px 0 #2a1f16;pointer-events:none}

/* 2026-11-05 ユーザー：押せない「結果を見る」は見せない（押せるようになったら「次へ」などで出す。場所は空けたまま） */
.practice-next:disabled{visibility:hidden}
/* 2026-11-05 最初の10連：初ゲット演出をとばす（四角とチェックは絵文字を使わず線で描く） */
.f-noget{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 2px;font:inherit;font-size:13px;font-weight:900;color:#fff6df;text-shadow:0 1px 2px #000,0 0 4px #000;cursor:pointer;white-space:nowrap}
.f-noget .f-box{position:relative;flex:none;width:18px;height:18px;background:#fbf3df;border:2px solid #2a1f16;box-shadow:0 2px 0 #2a1f16}
.f-noget.on .f-box::after{content:'';position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #b8402a;border-width:0 3px 3px 0;transform:rotate(45deg)}
.g3-first-sub{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:2px}
#app .g3-first-sub .g3-first-view{margin:0!important}
.gr-noget{flex:none;display:flex;justify-content:center}
/* 2026-11-05 ユーザー：坑道の出発の専用画面。下のタブは出さず、画面いっぱいを使う */
body:has(.mine-go) .tabbar,body:has(.mine-go) .back-float{display:none}
.mine-go{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;gap:6px;width:100%;max-width:560px;margin:0 auto;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));background:#2a1d14 center/cover no-repeat;box-sizing:border-box}
.mine-go>*{flex:none}
.mine-go .mn-phead{margin:0}
.mine-go .mg-back{position:absolute;right:4px;top:4px;z-index:2}
.mine-go .mn-info{margin:0}
.mine-go .mg-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff6df;text-shadow:0 1px 2px #000}
.mine-go .mg-sub b{font-family:var(--game-font);font-size:16px;white-space:nowrap}
.mine-go .mn-rep{flex:none;width:auto;min-height:0;height:38px;padding:0 8px;font-size:13px;white-space:nowrap}
.mine-go .mn-rep .ico{width:20px;height:20px;vertical-align:middle}
.mine-go p.lead-note{margin:0!important;color:#fff6df;text-shadow:0 1px 2px #000}
.mine-go p.lead-note small{color:#f3e2c0}
.mine-go .prep-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px}
.mine-go .sb-cands{grid-template-columns:repeat(3,minmax(0,1fr))}
.mine-go .prep-foot{display:flex;gap:6px}
.mine-go .prep-foot .ar-go{flex:1 1 0;width:auto!important;margin:0!important;min-width:0}
.mine-go .sb-cand img{width:min(21vw,84px);height:min(21vw,84px)}
.mine-go .sb-cand b{font-size:14px}
.mine-go .sb-cand small{font-size:11px}
/* 足もと：エナジーと挑むボタン（窓のときの見た目を、この画面でも） */
.mine-go .prep-foot{align-items:stretch;height:64px}
.mine-go .prep-foot .stam-have{flex:0 0 96px;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:0 4px;background:#2a1f16;border:2px solid #8a6a3a;color:#fff6df;font-size:13px;white-space:nowrap}
.mine-go .prep-foot .stam-have img{width:30px;height:30px;flex:none}
.mine-go .prep-foot .stam-have b{font-family:var(--game-font);font-size:20px;color:#ffd76a}
.mine-go .prep-foot .ar-go{height:64px;min-height:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 6px!important;font-size:18px;white-space:nowrap;writing-mode:horizontal-tb;overflow:hidden}
.mine-go .prep-foot .go-cost{display:inline-flex;align-items:center;gap:2px;flex:none}
.mine-go .prep-foot .go-cost img{width:26px;height:26px}
.mine-go .prep-foot .go-cost b{font-family:var(--game-font);font-size:24px}
.mine-go .prep-foot .go-cost small{font-size:10px}
/* リーダーの説明は1行に切らず2行まで。名前は折らない */
.mine-go p.lead-note{display:grid!important;grid-template-columns:auto auto 1fr;align-items:baseline;gap:2px 6px;white-space:normal;font-size:12px}
.mine-go p.lead-note b{white-space:nowrap}
.mine-go p.lead-note small{grid-column:1/-1;white-space:normal!important;overflow:visible;font-size:11px;line-height:1.35}
/* 坑道の名札：もどるボタンとセットの印を重ねない */
.mine-go .mn-phead{height:72px;align-items:flex-end;padding-right:8px}
.mine-go .mn-phead .mn-sets img{width:30px;height:30px}
.mine-go .mg-back{right:6px;top:6px;height:30px;min-height:0;padding:0 10px;font-size:12px}

/* 2026-11-05 ユーザー：初ゲットは「初」→キャラ→星と名前の順に重ねず並べる。「初」は小さく */
.g-get.on.card .gg-card{position:absolute;inset:0;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:2px;padding:calc(6px + env(safe-area-inset-top)) 10px calc(62px + env(safe-area-inset-bottom));box-sizing:border-box}
.g-get.card .gg-moji{position:static!important;justify-self:start;margin:0;z-index:2}
.g-get.card .gg-moji img{width:clamp(70px,22vw,96px)!important}
.g-get.card .gg-chara{position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:420px;height:100%!important;min-height:0;display:block;animation:none}
.g-get.card .gg-chara>:is(img,svg){position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain}
.g-get.card .gg-info{position:static!important;gap:4px;width:100%}
.g-get.card .gg-stars i{font-size:32px;-webkit-text-stroke:4px #3a1a04}
.g-get.card .gg-plate{min-width:0;width:min(92vw,380px);box-sizing:border-box;padding:4px 12px 6px}
.g-get.card .gg-plate b{font-size:32px;-webkit-text-stroke:5px #2a1408}
.g-get.card .gg-plate small{font-size:12px;margin-top:1px}
/* 2026-11-05 ユーザー：ガチャ結果は星の隣に＋の数字だけ（かけらはアイコンで） */
.gr-row{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}
.gr-plus{display:inline-flex;align-items:center;gap:1px;font-style:normal;font-family:var(--game-font);font-size:17px;line-height:1;color:#fff6df;-webkit-text-stroke:3px #1a0f08;paint-order:stroke fill}
.gr-plus .ico{width:20px;height:20px;flex:none}
/* 2026-11-05 ユーザー：名前のあと、タイトルが奥へ下がって漫画本になり、開いて1話へ */
.bi{position:fixed;inset:0;z-index:700;overflow:hidden;background:#1b140e;perspective:1100px;transition:opacity .25s}
.bi-book{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.45,.05,.3,1)}
.bi.s1 .bi-book{transform:scale(.6)}
.bi.s3 .bi-book{transition:transform .55s cubic-bezier(.4,0,.2,1)}
.bi-body{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fbf7ec;box-shadow:-3px 3px 0 #efe6d2,-6px 6px 0 #d8ccb2,-9px 9px 0 #efe6d2,-12px 12px 0 #2a1f16;transition:background .3s,box-shadow .3s}
.bi.s3 .bi-body{background:#1b140e;box-shadow:none}
.bi-page{display:block;background:#fff;object-fit:contain}
.bi-cover{position:absolute;inset:0;transform-origin:100% 50%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,.05,.4,1)}
.bi.s2 .bi-cover{transform:rotateY(168deg)}
.bi.s3 .bi-cover{visibility:hidden}
.bi-front,.bi-back{position:absolute;inset:0;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.bi-front .title-screen{position:absolute;cursor:default;z-index:auto}
.bi-back{transform:rotateY(180deg);background:#fbf7ec}
.bi.bi-out{opacity:0;pointer-events:none}
.gr-row{gap:3px}.gr-row .rstar{font-size:16px;letter-spacing:-1px}
.gr-plus{font-size:15px;-webkit-text-stroke:2.5px #1a0f08}.gr-plus .ico{width:16px;height:16px}
.gr-plus.gr-mat{position:absolute;left:0;bottom:-2px;z-index:1;font-size:16px;-webkit-text-stroke:3px #1a0f08}.gr-plus.gr-mat .ico{width:18px;height:18px}

/* 2026-11-06 クレジット（OtoLogic は表示が利用条件） */
.menu-grid .menu-wide{grid-column:1/-1}
.credit-list{margin-top:10px;color:#2a1408}
.credit-list b{display:block;font-family:var(--game-font);font-size:17px;margin-bottom:6px}
.credit-list p{margin:0 0 10px;font-size:15px;line-height:1.5;font-weight:700}
.credit-list small{font-size:12px;font-weight:500}
.credit-list a{color:#7a2a18;text-decoration:underline}
/* 2026-11-06 ユーザー：修行とストーリーを少し上へ（ミッションと受け取り箱も一緒に上がる） */
.home2{padding-bottom:22px}
