:root{
  --sky1:#6e58c4; --sky2:#b788dc; --sky3:#f6aed0;
  --plum:#3b2856; --plum-soft:#76678f; --plum-faint:#b9aecb;
  --card-2:#f7f1ff; --line:#eadff8;
  --pink:#ff6fae; --pink-d:#df4f8e; --lav:#a98bef; --lav-d:#7c5ed4; --mint:#3fcbb0; --mint-d:#25a88f;
  --sun:#ffd65a; --sun-d:#e5ae22; --sky:#6db1f2; --sky-d:#4a8fd4;
  --shadow:rgba(59,40,86,.24);
  --f-ui:"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans CJK JP",sans-serif;
  --f-num:"Arial Rounded MT Bold","Hiragino Maru Gothic ProN","Arial Black",Arial,sans-serif;
}
*{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html,body{margin:0;height:100%}
body{font-family:var(--f-ui);color:var(--plum);background:#9a77d6;background-image:linear-gradient(165deg,var(--sky1) 0%,var(--sky2) 55%,var(--sky3) 100%);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}
button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
#stars{position:fixed;left:0;top:0;right:0;bottom:0;pointer-events:none;overflow:hidden}
#stars i{position:absolute;color:#fff;font-style:normal;animation:tw 3.2s ease-in-out infinite}
#app{position:relative;height:100%}
.screen{display:none;height:100%;flex-direction:column}
.screen.on{display:flex}
.num{font-family:var(--f-num)}

/* ボタン */
.btn{display:inline-block;height:56px;line-height:56px;padding:0 22px;border-radius:28px;background:#fff;color:var(--plum);font-weight:700;font-size:20px;box-shadow:0 5px 0 var(--shadow);position:relative;top:0;white-space:nowrap;margin:0 10px 6px 0;overflow:hidden;vertical-align:middle}
.btn:active{top:4px;box-shadow:0 1px 0 var(--shadow)}
.btn .i{font-size:24px;margin-right:6px;vertical-align:-2px}
.btn.pink{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-d)}
.btn.lav{background:var(--lav);color:#fff;box-shadow:0 5px 0 var(--lav-d)}
.btn.mint{background:var(--mint);color:#fff;box-shadow:0 5px 0 var(--mint-d)}
.btn.sun{background:var(--sun);box-shadow:0 5px 0 var(--sun-d)}
.btn.big{height:74px;line-height:74px;font-size:27px;padding:0 36px;border-radius:37px}
.btn.small{height:46px;line-height:46px;font-size:17px;padding:0 18px;border-radius:23px}
.btn.ghost{background:rgba(255,255,255,.35);color:#fff;box-shadow:none;border:2px solid rgba(255,255,255,.7);line-height:42px}
.btn[disabled]{opacity:.45;cursor:default}
.btn .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,214,90,.6)}
.btn.holding .fill{width:100%;transition:width 1.2s linear}
.btn .l{position:relative}
.bar{display:flex;align-items:center;flex-wrap:wrap;padding:14px 18px 8px;flex:none;position:relative;z-index:2}
.bar .grow{flex:1}
.bar h1{margin:0 12px 6px 4px;font-size:28px;color:#fff;text-shadow:0 2px 0 rgba(59,40,86,.25)}
.pill{display:inline-block;background:rgba(255,255,255,.9);border-radius:20px;padding:7px 16px;font-weight:700;font-size:17px;margin:0 0 6px 8px}
.bubble{display:inline-block;background:#fff;border-radius:22px;padding:11px 20px;font-size:21px;font-weight:700;position:relative;margin-bottom:12px;box-shadow:0 5px 0 rgba(59,40,86,.16);white-space:nowrap}
.bubble:after{content:"";position:absolute;left:50%;bottom:-11px;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid #fff}
.bat{display:block;width:100%;height:auto;overflow:visible}
.float{animation:float 3s ease-in-out infinite}

/* プレイヤー選択 */
#scr-players,#scr-subj{align-items:center;justify-content:center;position:relative;padding:20px;overflow-y:auto;text-align:center}
#scr-subj .plist{justify-content:center}
#scr-subj .who{display:flex;align-items:center;justify-content:center;gap:10px}
.logo{display:flex;align-items:center;justify-content:center}
.logobat{width:190px;flex:none}
.logo h1{font-size:52px;color:#fff;margin:0 0 0 14px;line-height:1.2;text-shadow:0 4px 0 rgba(59,40,86,.25);letter-spacing:2px}
.who{font-size:26px;color:#fff;margin:16px 0 18px;font-weight:700;text-shadow:0 2px 0 rgba(59,40,86,.2)}
.plist{display:flex;flex-wrap:wrap;justify-content:center;max-width:1120px}
.pcard{display:block;width:196px;margin:10px;background:#fff;border-radius:28px;padding:12px 10px 16px;text-align:center;box-shadow:0 7px 0 var(--shadow);position:relative;top:0}
.pcard:active{top:4px;box-shadow:0 3px 0 var(--shadow)}
.pcard .av{display:block;width:130px;margin:0 auto}
.pcard .nm{display:block;font-size:24px;font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .gr{display:inline-block;margin-top:6px;font-size:14px;font-weight:700;color:#fff;background:var(--lav);border-radius:10px;padding:2px 10px}
.pcard .sk{display:block;font-size:14px;color:var(--plum-soft);margin-top:6px;font-weight:700}
.pcard.add{background:rgba(255,255,255,.3);border:3px dashed rgba(255,255,255,.95);box-shadow:none;color:#fff;min-height:240px}
.pcard.add .plus{display:block;font-size:70px;line-height:1;margin-top:46px}
.pcard.add .nm{font-size:20px}
.pcard.subj .av{font-size:86px;line-height:1.25;width:auto;height:auto}
.pcard.subj .sk{white-space:normal;line-height:1.4}
.pcard.soon{opacity:.55;pointer-events:none}
.pcard.soon .nm{white-space:normal;font-size:17px;line-height:1.35}
.gear{position:absolute;right:18px;bottom:16px;margin:0}

/* メニュー */
.me{display:flex;align-items:center;background:rgba(255,255,255,.9);border-radius:30px;padding:4px 18px 4px 4px;margin:0 10px 6px 0}
.me .av{width:52px;height:52px;border-radius:50%;background:var(--card-2);display:block;overflow:hidden;padding:4px}
.me .nm{font-size:21px;font-weight:700;margin-left:8px}
.home{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 20px 24px}
.home>div:last-child{max-height:100%;overflow-y:auto;padding:6px 4px 0 0}
.hero{width:300px;text-align:center;margin-right:34px;flex:none}
.hero .batbox{width:250px;margin:0 auto}
.stat{color:#fff;font-weight:700;font-size:16px;margin-top:8px;text-shadow:0 1px 0 rgba(59,40,86,.3)}
.menu{display:flex;flex-wrap:wrap;max-width:660px}
.tile{display:block;width:200px;height:182px;margin:0 14px 16px 0;border-radius:30px;background:#fff;box-shadow:0 7px 0 var(--shadow);position:relative;top:0;text-align:center}
.tile:active{top:4px;box-shadow:0 3px 0 var(--shadow)}
.tile .em{display:block;font-size:66px;line-height:1.1;margin-top:20px}
.tile .lb{display:block;font-size:23px;font-weight:700;margin-top:8px}
.tile .sub{display:block;font-size:14px;color:var(--plum-soft);margin-top:4px;font-weight:700}
.tile.t-adv{background:#ffe3f0} .tile.t-ta{background:#fff3c9} .tile.t-pr{background:#dcf8f1} .tile.t-tb{background:#e3efff} .tile.t-al{background:#f0e6ff}
.cfgline{color:#fff;font-size:15px;font-weight:700;margin-top:6px;max-width:660px;text-shadow:0 1px 0 rgba(59,40,86,.3)}

/* すごろくマップ */
.mapwrap{flex:1;min-height:0;display:flex;padding:0 18px 18px}
.board{flex:1;position:relative;background:rgba(255,255,255,.22);border-radius:30px;border:3px solid rgba(255,255,255,.55);min-height:0;min-width:0}
.board svg.path{position:absolute;left:0;top:0;width:100%;height:100%}
.sq{position:absolute;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#fff;box-shadow:0 5px 0 rgba(59,40,86,.2);text-align:center;line-height:84px;font-size:40px}
.sq .sn{font-family:var(--f-num);font-size:22px;color:var(--plum-faint)}
.sq.star{background:#fff6cc} .sq.coin{background:#fff3d6} .sq.egg{background:#fff0f6} .sq.gift{background:#ffe0ef} .sq.jump{background:#dff2ff} .sq.start{background:#e0fbf3}
.sq.goal{width:116px;height:116px;margin:-58px 0 0 -58px;line-height:116px;font-size:56px;background:#f1e4ff;box-shadow:0 0 0 6px rgba(255,214,90,.8),0 6px 0 rgba(59,40,86,.2)}
.sq.goal .boss{position:absolute;right:-14px;top:-14px;font-size:40px;line-height:1}
.sq.past{opacity:.6}
.piece{position:absolute;width:96px;margin:-118px 0 0 -48px;transition:left .3s ease,top .3s ease;z-index:3}
.piece.hop .bat{animation:hop .3s ease}
.side{width:310px;flex:none;margin-left:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border-radius:30px;padding:20px;text-align:center}
.side .msg{font-size:23px;font-weight:700;line-height:1.5;margin-bottom:16px}
.side .note{font-size:15px;color:var(--plum-soft);font-weight:700;margin-top:10px;line-height:1.6}
.dice{width:116px;height:116px;border-radius:26px;background:#fff;box-shadow:0 6px 0 rgba(59,40,86,.22),inset 0 0 0 4px #f1e6ff;position:relative;margin:4px auto 22px}
.dice .pip{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--pink);margin:-11px 0 0 -11px}
.dice.roll{animation:roll .45s linear infinite}

/* たたかい・れんしゅう・タイムアタック */
.arena{flex:1;min-height:210px;display:flex;align-items:center;justify-content:center;position:relative;padding:0 20px}
.fighter{width:310px;text-align:center;position:relative}
.fighter .batbox{width:210px;margin:0 auto}
.vs{font-family:var(--f-num);font-size:44px;color:#fff;margin:0 18px;text-shadow:0 3px 0 rgba(59,40,86,.3)}
.mon{font-size:150px;line-height:1.1;display:inline-block}
.monname{display:inline-block;font-size:19px;font-weight:700;color:var(--plum);background:#fff;border-radius:16px;padding:4px 14px;margin-bottom:6px}
.hp{width:250px;height:26px;border-radius:13px;background:rgba(255,255,255,.45);margin:6px auto 0;overflow:hidden;border:3px solid #fff}
.hp i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff6fae,#ffb0d0);transition:width .35s}
.hpt{color:#fff;font-weight:700;font-size:16px;margin-top:4px;text-shadow:0 1px 0 rgba(59,40,86,.3)}
.me-atk .batbox{animation:attack .45s ease}
.foe-hit .mon{animation:hit .45s}
.foe-laugh .mon{animation:laugh .6s}
.foe-out .mon{animation:defeat .9s forwards}
.dmg{position:absolute;left:50%;top:30%;margin-left:-60px;width:120px;text-align:center;font-family:var(--f-num);font-size:46px;color:#fff;text-shadow:0 3px 0 var(--pink-d);animation:dmg .9s ease-out forwards;pointer-events:none}
.spark{position:absolute;font-style:normal;color:#ffe270;font-size:30px;pointer-events:none;animation:spark .7s ease-out forwards}
.tabox{width:380px;text-align:center;color:#fff;font-weight:700;margin-left:30px}
.tlabel{font-size:22px}
.tlabel b{font-size:40px}
.tbar{height:28px;border-radius:14px;background:rgba(255,255,255,.4);border:3px solid #fff;overflow:hidden;margin:10px 0}
.tbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ffd65a,#ff9fc8)}
.tscore{font-size:24px}
.tscore b{font-size:64px;font-family:var(--f-num)}
.dots{display:flex;flex-wrap:wrap;justify-content:center}
.dot{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.35);margin:4px;border:3px solid #fff}
.dot.on{background:var(--sun)}
.dot.miss{background:#fff}
.dot.cur{background:var(--pink)}
.qrow{flex:none;display:flex;align-items:stretch;justify-content:center;padding:0 18px 20px}
.qcard{flex:1;max-width:640px;min-height:250px;background:#fff;border-radius:30px;box-shadow:0 7px 0 var(--shadow);margin-right:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:62px 20px 18px;position:relative}
.qtext{font-family:var(--f-num);font-size:62px;line-height:1.15;white-space:nowrap;text-align:center}
.qtext.long{font-size:48px}
.qtext .op{color:var(--pink);margin:0 4px}
.qlbl{font-family:var(--f-ui);font-weight:700;font-size:38px;margin-right:10px}
.abox{display:inline-block;min-width:116px;height:86px;line-height:80px;border-radius:20px;background:var(--card-2);border:4px solid var(--line);padding:0 12px;vertical-align:middle;text-align:center;color:var(--plum);cursor:pointer}
.abox.act{border-color:var(--pink);background:#fff0f7}
.abox.good{border-color:var(--mint);background:#e2fbf5;color:var(--mint-d)}
.abox.bad{border-color:#ff9a9a;background:#fff0f0;color:#e05a5a}
.amari{font-family:var(--f-ui);font-weight:700;font-size:26px;margin:0 8px;vertical-align:middle}
.pics{font-size:44px;line-height:1.25;max-width:600px;text-align:center;margin-bottom:8px}
.pics.cnt{max-width:330px;font-size:52px}
.pics .x{opacity:.28}
.pics .opx{font-family:var(--f-num);color:var(--pink);margin:0 10px}
.qsay{position:absolute;right:16px;top:14px;width:46px;height:46px;border-radius:50%;background:var(--card-2);font-size:22px;line-height:46px}
.mark{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border:14px solid rgba(63,203,176,.85);border-radius:50%;pointer-events:none;animation:mark .6s ease-out forwards}
.pad{width:340px;flex:none}
.prow{display:flex;margin-bottom:10px}
.pk{display:block;flex:1;height:64px;margin-right:10px;border-radius:20px;background:#fff;box-shadow:0 5px 0 var(--shadow);font-family:var(--f-num);font-size:32px;color:var(--plum);position:relative;top:0}
.pk:last-child{margin-right:0}
.pk:active,.pk.press{top:4px;box-shadow:0 1px 0 var(--shadow)}
.pk.ok{background:var(--mint);color:#fff;box-shadow:0 5px 0 var(--mint-d);font-family:var(--f-ui);font-weight:700;font-size:25px}
.pk.del{background:#ffe2ee;font-family:var(--f-ui);font-weight:700;font-size:20px}
.pk.sw{background:var(--lav);color:#fff;box-shadow:0 5px 0 var(--lav-d);font-family:var(--f-ui);font-weight:700;font-size:19px}
.choices{width:460px;flex:none;display:flex;flex-wrap:wrap;align-content:center}
.ch{display:block;width:214px;height:100px;margin:0 16px 16px 0;border-radius:26px;background:#fff;box-shadow:0 6px 0 var(--shadow);font-family:var(--f-num);font-size:42px;color:var(--plum);position:relative;top:0}
.ch:nth-child(2n){margin-right:0}
.ch:active{top:4px;box-shadow:0 2px 0 var(--shadow)}
.ch.no{opacity:.3}
.ch.yes{background:var(--mint);color:#fff}
.ch .am{font-family:var(--f-ui);font-weight:700;font-size:20px;margin:0 4px}
.choices.three .ch{width:140px;margin-right:10px}
.choices.three .ch:nth-child(2n){margin-right:10px}
.choices.three .ch:nth-child(3n){margin-right:0}
.shake{animation:shake .4s}

/* けっか */
#scr-result{align-items:center;justify-content:center;overflow-y:auto}
#res .dres{background:#fff7e0;border-radius:16px;padding:8px 14px;font-size:17px;font-weight:700;display:inline-block;margin:4px auto 10px}
#res .dres b.num{font-size:30px;color:var(--pink-d)}
.pmenu{text-align:left}.pmenu h4{font-size:14px;color:var(--plum-soft);margin:14px 0 6px}.pmenu .chip2{height:auto;min-height:40px;line-height:1.3;padding:8px 14px;white-space:normal;text-align:left}.pmenu .chip2 small{color:var(--pink-d);margin-left:6px}
.pmenu .btn.big{display:block;margin:0 auto}
.res{text-align:center;padding:20px;color:#fff}
.res .batbox{width:200px;margin:0 auto}
.res h2{font-size:54px;margin:4px 0;text-shadow:0 3px 0 rgba(59,40,86,.25)}
.res .big{font-family:var(--f-num);font-size:96px;line-height:1.05;text-shadow:0 4px 0 rgba(59,40,86,.25)}
.res .stars{font-size:70px;letter-spacing:8px;line-height:1.2}
.res .stars .off{opacity:.25}
.res p{font-size:23px;font-weight:700;margin:8px 0}
.res .new{display:inline-block;background:var(--sun);color:var(--plum);border-radius:24px;padding:6px 22px;font-size:24px;font-weight:700;margin:6px 0;animation:pop .4s ease-out}
.res .hist{display:inline-block;background:rgba(255,255,255,.88);color:var(--plum);border-radius:20px;padding:10px 20px;font-size:17px;font-weight:700;margin-top:6px;line-height:1.8}
.res .acts{margin-top:24px}

/* ひょう */
.tblwrap{flex:1;min-height:0;display:flex;padding:0 18px 18px}
.grid{flex:1;background:#fff;border-radius:28px;padding:12px;box-shadow:0 7px 0 var(--shadow);overflow:auto;min-width:0;display:flex;flex-direction:column}
.grow2{flex:1;display:flex;min-height:44px}
.gc{flex:1;margin:2px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--f-num);font-size:24px;background:var(--card-2);cursor:pointer;min-width:40px}
.gc.h{background:var(--lav);color:#fff;font-size:17px;font-family:var(--f-ui);font-weight:700}
.gc.corner{background:transparent;cursor:default}
.gc.rowon{background:#ffe1ef}
.gc.h.rowon{background:var(--pink)}
.gc.sel{background:var(--pink);color:#fff}
.gc.hid{color:transparent;position:relative}
.gc.hid:after{content:"?";color:var(--plum-faint);position:absolute}
.tside{width:340px;flex:none;margin-left:16px;background:rgba(255,255,255,.92);border-radius:28px;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.eq{font-family:var(--f-num);font-size:54px;line-height:1.2}
.eq .op{color:var(--pink)}
.chant{font-size:24px;color:var(--pink-d);font-weight:700;margin:8px 0 18px;min-height:32px}
.tside .btn{margin:6px 0}
.tswitch{display:flex;background:rgba(255,255,255,.35);border-radius:28px;padding:5px;margin:0 10px 6px 0}
.tswitch button{height:46px;padding:0 20px;border-radius:23px;font-size:18px;font-weight:700;color:#fff}
.tswitch button.on{background:#fff;color:var(--plum)}

/* シールちょう */
.album{flex:1;min-height:0;overflow-y:auto;padding:0 18px 20px}
.page{max-width:940px;margin:0 auto;background:#fff;border-radius:30px;padding:18px;display:flex;flex-wrap:wrap;justify-content:center;box-shadow:0 7px 0 var(--shadow)}
.stk{width:122px;height:122px;margin:9px;border-radius:50%;text-align:center;line-height:114px;font-size:60px;background:#f8f3ff;border:4px dashed #e2d6f5;position:relative}
.stk.got{background:#fff;border:4px solid #ffc3dd;box-shadow:0 5px 0 rgba(59,40,86,.12)}
.stk.rare{border-color:#f3dfa0}
.stk.rare.got{border-color:var(--sun);background:#fff9df;box-shadow:0 0 0 5px rgba(255,214,90,.45),0 5px 0 rgba(59,40,86,.12)}
.stk .q{font-size:40px;color:#d6c8ee;font-family:var(--f-num)}
.stk .c{position:absolute;right:-4px;bottom:2px;background:var(--pink);color:#fff;font-size:15px;line-height:22px;border-radius:12px;padding:0 9px;font-family:var(--f-num)}

/* せってい */
.ed{flex:1;min-height:0;overflow-y:auto;padding:0 18px 50px;-webkit-user-select:text;-moz-user-select:text;user-select:text}
.sec{max-width:900px;margin:0 auto 14px;background:#fff;border-radius:24px;padding:16px 22px}
.sec h3{margin:0 0 10px;font-size:19px}
.sec .note{font-size:14px;color:var(--plum-soft);line-height:1.7;margin-top:4px}
.prev{display:flex;align-items:center}
.prev .batbox{width:120px;margin-right:16px}
.inp{height:50px;border:3px solid var(--line);border-radius:16px;padding:0 14px;font-size:21px;font-family:var(--f-ui);width:300px;color:var(--plum);-webkit-user-select:text;user-select:text}
.chips{display:flex;flex-wrap:wrap}
.chip{display:inline-block;min-height:44px;line-height:20px;padding:10px 16px;border-radius:22px;border:2px solid var(--line);background:#fff;font-size:16px;font-weight:700;margin:0 8px 8px 0;color:var(--plum);text-align:left}
.chip.on{background:var(--pink);border-color:var(--pink);color:#fff}
.chip .g{font-size:12px;opacity:.75;margin-left:6px}
.chip.off{opacity:.4}
.sw{display:inline-block;width:84px;height:84px;border-radius:24px;margin:0 10px 10px 0;border:4px solid transparent;background:var(--card-2);padding:4px}
.sw.on{border-color:var(--pink);background:#fff0f7}
.opsec{border-top:2px dashed var(--line);padding-top:12px;margin-top:12px}
.stepbtns{display:inline-block;margin-left:10px;vertical-align:middle}
.stepbtns .chip.sm{min-height:36px;line-height:16px;padding:8px 12px;font-size:14px;margin:0 4px 6px 0}
.hardb{background:#fff7e0;border:2px solid #ffc94d}
.hardb .btn{margin:6px 8px 0 0}
.optog{display:inline-block;height:44px;line-height:40px;padding:0 18px 0 12px;border-radius:22px;border:2px solid var(--line);font-size:18px;font-weight:700;margin-bottom:10px}
.optog .bx{display:inline-block;width:24px;height:24px;line-height:20px;border-radius:7px;border:2px solid var(--plum-faint);text-align:center;margin-right:8px;vertical-align:-4px;font-size:16px;color:transparent}
.optog.on{background:var(--lav);border-color:var(--lav);color:#fff}
.optog.on .bx{border-color:#fff;background:#fff;color:var(--lav-d)}
.dan{margin:2px 0 6px 2px;font-size:14px;font-weight:700;color:var(--plum-soft)}
.prow2{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:2px solid var(--card-2)}
.prow2:last-child{border-bottom:0}
.script{display:block;width:100%;height:150px;font-family:Menlo,Monaco,monospace;font-size:13px;line-height:1.5;border:2px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;resize:vertical;-webkit-user-select:text;user-select:text}
.steps{margin:6px 0 8px;padding-left:22px;line-height:1.9;font-size:15px}
.err{color:#e05a5a;font-weight:700;font-size:16px;min-height:22px;margin:4px 0}
.edbtns{max-width:900px;margin:0 auto;text-align:center}

/* まど */
#modal{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(43,22,72,.5);display:none;align-items:center;justify-content:center;z-index:50}
#modal.on{display:flex}
.mbox{background:#fff;border-radius:34px;padding:24px 30px 20px;min-width:440px;max-width:660px;text-align:center;box-shadow:0 10px 0 rgba(43,22,72,.25);animation:pop .3s ease-out}
.mt{font-size:31px;font-weight:700;margin-bottom:4px}
.mbig{font-size:110px;line-height:1.2;margin:4px 0}
.mbig.stkbig{display:inline-block;width:170px;height:170px;line-height:162px;border-radius:50%;border:5px solid #ffc3dd;background:#fff7fb;font-size:96px;animation:spin .7s ease-out}
.mbig.stkbig.rare{border-color:var(--sun);background:#fff9df;box-shadow:0 0 0 8px rgba(255,214,90,.4)}
.mb{font-size:19px;color:var(--plum-soft);line-height:1.6;font-weight:700}
.mbtns{display:flex;flex-wrap:wrap;justify-content:center;margin-top:14px}
.mbtns .btn{margin:6px}
#toast{max-width:86%;white-space:normal;position:fixed;left:50%;top:74px;top:calc(74px + env(safe-area-inset-top,0px));transform:translateX(-50%);max-width:92vw;white-space:normal;text-align:center;line-height:1.4;background:var(--plum);color:#fff;padding:12px 26px;border-radius:26px;font-size:20px;font-weight:700;opacity:0;transition:opacity .2s;pointer-events:none;z-index:70;white-space:nowrap}
#toast.on{opacity:1}
#ov{position:fixed;left:0;top:0;right:0;bottom:0;display:none;align-items:center;justify-content:center;z-index:55;pointer-events:none}
#ov.on{display:flex}
#ov b{font-family:var(--f-num);font-size:180px;color:#fff;text-shadow:0 8px 0 rgba(59,40,86,.3);animation:pop .4s ease-out}
#ov b.word{font-family:var(--f-ui);font-size:96px}
.conf{position:fixed;top:-30px;width:13px;height:19px;border-radius:4px;z-index:65;pointer-events:none;animation:fall 1.9s linear forwards}

@keyframes tw{0%,100%{opacity:.2}50%{opacity:.95}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes hop{50%{transform:translateY(-20px)}}
@keyframes roll{0%{transform:rotate(0)}25%{transform:rotate(-14deg) scale(1.06)}75%{transform:rotate(14deg) scale(1.06)}100%{transform:rotate(0)}}
@keyframes attack{40%{transform:translateX(110px) rotate(12deg)}}
@keyframes hit{20%{transform:translateX(16px) rotate(10deg)}55%{transform:translateX(-10px)}}
@keyframes laugh{25%{transform:rotate(-12deg) scale(1.06)}75%{transform:rotate(12deg) scale(1.06)}}
@keyframes defeat{100%{transform:rotate(360deg) scale(0);opacity:0}}
@keyframes dmg{0%{opacity:0;transform:translateY(10px) scale(.6)}20%{opacity:1;transform:translateY(0) scale(1.15)}100%{opacity:0;transform:translateY(-60px)}}
@keyframes spark{0%{opacity:1;transform:translate(0,0) scale(.5)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.2)}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(9px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
@keyframes pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes spin{0%{transform:scale(.2) rotate(-200deg)}100%{transform:scale(1) rotate(0)}}
@keyframes mark{0%{transform:scale(.4);opacity:0}30%{opacity:1}100%{transform:scale(1.15);opacity:0}}
@keyframes fall{100%{transform:translateY(115vh) rotate(600deg)}}
@media (prefers-reduced-motion: reduce){
  .float,#stars i,.dice.roll,.conf{animation:none}
}
@media (max-height:860px){
  .qcard{min-height:210px}
  .pk{height:56px}
  .ch{height:84px}
  .mon{font-size:120px}
  .fighter .batbox{width:170px}
  .arena{min-height:180px}
  .tile{height:166px}
  .tile .em{font-size:58px;margin-top:16px}
}
@media (max-width:900px){
  body{overflow-y:auto}
  .screen{height:auto;min-height:100%}
  .logo{flex-direction:column}
  .logo h1{font-size:38px;margin:6px 0 0;text-align:center}
  .logobat{width:140px}
  .home{flex-direction:column}
  .hero{margin:0 0 16px}
  .menu{justify-content:center}
  .tile{width:150px;height:150px;margin:0 8px 12px}
  .tile .em{font-size:50px;margin-top:16px}
  .tile .lb{font-size:18px}
  .mapwrap,.tblwrap{flex-direction:column}
  .board{min-height:430px}
  .sq{width:50px;height:50px;margin:-25px 0 0 -25px;line-height:50px;font-size:24px}
  .sq.goal{width:66px;height:66px;margin:-33px 0 0 -33px;line-height:66px;font-size:34px}
  .sq.goal .boss{font-size:26px}
  .piece{width:60px;margin:-74px 0 0 -30px}
  .side{width:auto;margin:14px 0 0}
  .arena{flex-direction:column;padding-top:10px}
  .fighter{width:auto}
  .vs{margin:4px 0}
  .tabox{width:auto;margin:10px 0 0}
  .qrow{flex-direction:column;align-items:center}
  .qcard{margin:0 0 16px;width:100%;min-height:0}
  .qtext{font-size:40px}
  .qtext.long{font-size:30px}
  .abox{min-width:80px;height:62px;line-height:56px}
  .choices{width:100%;max-width:460px}
  .ch{width:47%;margin-right:6%}
  .ch:nth-child(2n){margin-right:0}
  .tside{width:auto;margin:14px 0 0}
  .gc{font-size:16px;min-width:28px}
  .gc.h{font-size:11px}
  .mbox{min-width:0;margin:0 12px}
  .gear{position:static;margin-top:20px}
}

.tile.t-dr{background:#ffe6f6}
.coini{display:inline-block;width:1em;height:1em;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c4,#ffd23f 55%,#e0a800);box-shadow:inset 0 0 0 2px #d39b00;vertical-align:-.14em;margin-right:5px}
.coinpill{font-family:var(--f-num);font-size:20px}
#h-bat{position:relative}
.hpet{position:absolute;right:-56px;bottom:-4px;width:110px}
.hpet .pet,.dpet .pet,.petbox .pet,.petmini .pet{width:100%;height:auto;display:block}
.petbox{position:absolute;right:-34px;bottom:-4px;width:96px;z-index:3}
.pbub{display:none;position:absolute;left:70px;bottom:70px;white-space:nowrap;background:#fff;border:3px solid var(--pink);border-radius:18px;padding:10px 12px;font-size:16px;font-weight:700;line-height:1.55;text-align:left;color:var(--plum);box-shadow:0 4px 0 rgba(59,40,86,.15);z-index:6}
.pbub.on{display:block;animation:pop .3s ease-out}
.qhint{position:absolute;left:150px;right:70px;top:10px;display:flex;align-items:center;background:#fff7fb;border:2px solid #ffc3dd;border-radius:14px;padding:6px 12px 6px 6px;font-size:16px;font-weight:700;line-height:1.45;color:var(--plum);text-align:left;z-index:2;animation:pop .3s ease-out}
.qhint .qhi{width:34px;height:34px;flex:none;margin-right:6px}
.qhint .qhi svg{width:34px;height:34px;display:block}
.qtag{position:absolute;right:62px;top:16px;font-size:13px;font-weight:700;border-radius:12px;padding:4px 10px;background:#fff0f7;color:var(--pink-d)}
.qtag.rev{background:#e8fbf6;color:#25a88f}
.hintbtn{position:absolute;left:14px;top:12px;height:46px;padding:0 16px 0 4px;border-radius:23px;background:#fff0f7;border:3px solid var(--pink);font-size:17px;font-weight:700;color:var(--pink-d);display:flex;align-items:center;z-index:2}
.hintbtn .hi{width:38px;height:38px;display:inline-block;margin-right:4px}
.hintbtn .hi svg{width:38px;height:38px;display:block}
.hintbtn.pulse{animation:hpulse 1s ease-in-out infinite}
@keyframes hpulse{50%{transform:scale(1.1)}}
.coinpop{position:absolute;left:46%;top:-6px;font-family:var(--f-num);font-size:26px;font-weight:700;color:#d39b00;text-shadow:0 2px 0 #fff;animation:dmg .9s ease-out forwards;pointer-events:none;z-index:7}
.piece{overflow:visible}
.petmini{position:absolute;right:-26px;bottom:-6px;width:40px}
.sq svg.egg{width:.82em;height:1em;vertical-align:middle}
.dress{flex:1;min-height:0;display:flex;padding:0 18px 18px}
.dleft{width:430px;flex:none;margin-right:16px;display:flex;flex-direction:column}
.dstage{flex:1;min-height:300px;border-radius:30px;position:relative;overflow:hidden;box-shadow:0 7px 0 var(--shadow)}
.dstage .floor{position:absolute;left:12%;right:12%;bottom:22px;height:34px;border-radius:50%;background:rgba(255,255,255,.35)}
.dstage .dav{position:absolute;left:50%;bottom:36px;width:300px;margin-left:-175px}
.dstage .dav svg{width:300px;height:240px;display:block}
.dstage .dpet{position:absolute;right:18px;bottom:26px;width:120px}
.dtabs{display:flex;margin-top:12px}
.dtab{flex:1;height:54px;margin-right:6px;border-radius:16px;background:rgba(255,255,255,.55);font-size:17px;font-weight:700;color:var(--plum)}
.dtab:last-child{margin-right:0}
.dtab.on{background:#fff;box-shadow:0 4px 0 var(--shadow)}
.dpanel{flex:1;min-width:0;background:#fff;border-radius:30px;box-shadow:0 7px 0 var(--shadow);padding:16px 20px;overflow-y:auto}
.dpanel h3{margin:6px 0 10px;font-size:19px}
.dpanel .note{font-size:15px;color:var(--plum-soft);margin:0 0 12px;line-height:1.6}
.grid3{display:flex;flex-wrap:wrap}
.itile{display:block;width:122px;margin:0 10px 12px 0;border-radius:20px;background:var(--card-2);border:3px solid transparent;padding:6px 6px 8px;text-align:center;position:relative;color:var(--plum)}
.itile:hover{border-color:#ffc3dd}
.itile.on{border-color:var(--pink);background:#fff0f7}
.itile .pv{display:block;width:104px;height:84px;margin:0 auto}
.itile .pv svg{width:104px;height:84px;display:block}
.itile.ptl .pv svg{width:84px;height:84px;margin:0 auto}
.itile .nm{display:block;font-size:13px;font-weight:700;margin-top:4px;line-height:1.3}
.itile .pr{display:block;font-size:14px;font-weight:700;color:#c98a00;margin-top:3px}
.itile.lock{opacity:.6}
.itile.chr .pv{height:96px}
.itile.chr .pv svg{height:96px}
.itile.chr.lock .pv svg{-webkit-filter:grayscale(1) brightness(1.15);filter:grayscale(1) brightness(1.15)}
.itile .tag{position:absolute;left:6px;top:6px;font-size:11px;font-weight:700;color:#fff;background:var(--pink);border-radius:8px;padding:1px 6px;z-index:1}
.nopet{display:block;font-size:46px;line-height:84px;color:var(--plum-soft)}
.swrow{display:flex;flex-wrap:wrap;margin-bottom:8px}
.swc{width:48px;height:48px;border-radius:50%;margin:0 10px 10px 0;border:4px solid #fff;box-shadow:0 0 0 2px #e6dcef}
.swc.on{box-shadow:0 0 0 4px var(--pink)}
.eggrow{display:flex;align-items:center;padding:10px 0;border-bottom:2px solid var(--card-2)}
.eggrow svg{width:48px;height:58px;margin-right:14px;flex:none}
.ebody{flex:1}
.ebody b{font-size:15px}
.ebar{height:16px;border-radius:8px;background:var(--card-2);overflow:hidden;margin:6px 0 4px}
.ebar i{display:block;height:100%;background:linear-gradient(90deg,#ffd65a,#ff9fc8)}
.enote{font-size:13px;color:var(--plum-soft)}
.chips2{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.chip2{height:44px;padding:0 13px;margin:0 6px 8px 0;border-radius:22px;background:var(--card-2);font-weight:700;font-size:14px;color:var(--plum);white-space:nowrap}
.rside .chip2{padding:0 11px;font-size:13.5px;margin-right:5px}
.dtab{white-space:nowrap;padding:0 4px}
.chip2.on{background:var(--pink);color:#fff}
.chips2 .btn{margin:0 0 8px 6px}
.photos{display:flex;flex-wrap:wrap}
.ph{width:204px;margin:0 12px 12px 0;border-radius:10px;box-shadow:0 4px 0 var(--shadow);padding:0;background:#fff}
.ph svg{width:204px;height:153px;display:block}
.mbig svg.pet,.mbig svg.bat{width:200px;height:170px}
.mbig svg.egg{width:110px;height:132px}
.mbig .photo{width:440px;height:330px;max-width:78vw}
.flash{position:fixed;left:0;top:0;right:0;bottom:0;background:#fff;z-index:99;animation:flash .5s ease-out forwards;pointer-events:none}
@keyframes flash{to{opacity:0}}
.atabs{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto 12px}
.atab{height:46px;padding:0 18px;margin:0 6px 6px;border-radius:23px;background:rgba(255,255,255,.6);font-weight:700;font-size:16px;color:var(--plum)}
.atab.on{background:#fff;box-shadow:0 4px 0 var(--shadow)}
#printarea{display:none}
/* プリント（紙） */
.sheet{page-break-after:always;color:#222;font-family:var(--f-ui)}
.sheet:last-child{page-break-after:auto}
.sheet .sh{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:3px solid #222;padding-bottom:6px;margin-bottom:14px}
.sheet h1{font-size:26px;margin:0}
.sheet .meta{font-size:15px}.sheet .meta span{margin-left:14px;white-space:nowrap}.sheet .meta i{display:inline-block;width:110px;border-bottom:2px solid #222;vertical-align:-2px}
.sheet .probs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:26px;row-gap:14px}
.sheet.c3 .probs,.sheet .probs.c3{grid-template-columns:1fr 1fr 1fr}
.sheet .probs li{display:flex;align-items:center;flex-wrap:wrap;min-height:52px;font-size:30px;font-weight:700;font-family:var(--f-num);break-inside:avoid;overflow:hidden}
.sheet.c3 .probs li{font-size:24px;min-height:44px}
.sheet .probs li.w{grid-column:1 / -1;font-size:19px;font-family:var(--f-ui);line-height:1.5}
.sheet .probs li.c{grid-column:1 / -1}
.sheet .no{width:34px;height:34px;border-radius:50%;border:2px solid #222;font-size:16px;display:inline-flex;align-items:center;justify-content:center;margin-right:12px;flex:none;font-family:var(--f-ui)}
.sheet .eq{white-space:nowrap;font-size:inherit;font-weight:inherit;line-height:1.2;display:inline;margin:0;padding:0;color:inherit}
.sheet .box{display:inline-block;width:64px;height:48px;border:2.5px solid #222;border-radius:8px;margin-left:12px;flex:none}
.sheet.c3 .box{width:52px;height:40px}
.sheet .rem{font-size:16px;font-family:var(--f-ui);margin-left:10px}
.sheet .pics{font-size:26px;letter-spacing:1px;font-family:sans-serif;font-weight:400;white-space:nowrap}
.sheet .pics.sm{flex-basis:100%;font-size:19px;letter-spacing:0;margin:0 0 2px 46px;white-space:nowrap;overflow:hidden;line-height:1.2}
.sheet .pics s{text-decoration:line-through;opacity:.5}
.sheet .lbl{font-size:18px;font-family:var(--f-ui);margin-left:12px}
.sheet .word{font-weight:700;flex:1}
.sheet .sfoot{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed #999;margin-top:22px;padding-top:10px;font-size:15px}
.sheet .circles{font-size:30px;letter-spacing:6px}
.sheet .sign i{display:inline-block;width:120px;border-bottom:2px solid #222;vertical-align:-2px}
.sheet .sh h1{font-size:24px;line-height:1.2}
.sheet .sh h1 small{display:block;font-size:14px;font-weight:400;margin:2px 0 0;color:#555}
.sheet .shclk{display:inline-block;flex:none}
.sheet .shclk text{fill:#222}
.sheet .crew{display:flex;align-items:flex-end}
.sheet .crew svg.bat{width:96px;height:78px}.sheet .crew svg.pet{width:50px;height:50px;margin-left:2px}
.sheet .crew.big{justify-content:center;margin:18px 0}.sheet .crew.big svg.bat{width:260px;height:210px}.sheet .crew.big svg.pet{width:120px;height:120px;margin-left:10px}
.sheet .sid{font-size:12px;color:#777;font-family:var(--f-num)}
.sheet .box.trace{color:#c9c9c9;font-size:32px;line-height:48px;text-align:center;font-family:var(--f-num)}
.sheet.c3 .box.trace{font-size:26px;line-height:40px}
.sheet .box.wide{width:90px}
.sheet .box.tm{width:48px;height:38px;margin:0 4px;vertical-align:middle;font-size:22px;line-height:38px}
.sheet .probs li.k{grid-column:span 1;align-items:flex-start}
.sheet .clkq{display:flex;align-items:center;font-family:var(--f-ui);font-size:17px;font-weight:700}
.sheet .clkq .clktxt{margin-left:10px;line-height:1.5}
.sheet .coins{display:inline-flex;flex-wrap:wrap;max-width:360px}
.sheet .coin{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:2px solid #222;font-size:12px;font-family:var(--f-num);margin:2px;background:#fff}
.sheet .coin.v1{width:30px;height:30px}.sheet .coin.v5{border-style:double}.sheet .coin.v50{border-style:double;border-width:3px}.sheet .coin.v100{width:42px;height:42px}.sheet .coin.v500{width:46px;height:46px;border-width:3px}.sheet .coin.v1000{border-radius:6px;width:64px;height:34px}
.sheet li.wk .no{background:#eee}
.sheet.color .colorart{display:flex;justify-content:center;align-items:flex-end;margin:30px 0 10px}
.sheet.color .colorart svg.bat{width:420px;height:340px}.sheet.color .colorart svg.pet{width:200px;height:200px;margin-left:20px}
.sheet.color .colorwords{text-align:center;font-size:22px;font-weight:700;margin:20px 0 40px}
.sheet.reward{text-align:center;padding-top:40px}
.sheet.reward .ribbon{font-size:34px;font-weight:700;border:4px double #222;border-radius:20px;padding:14px 30px;display:inline-block}
.sheet.reward .rwname{font-size:40px;font-weight:700;margin:28px 0 8px}
.sheet.reward .rwbody{font-size:20px;margin-bottom:8px}
.sheet.reward .rwdate{font-size:18px;margin-top:20px}
.shopts{text-align:left;max-width:560px}
.shopts h4{margin:8px 0 4px;font-size:14px;color:var(--plum-soft)}
.shopts .shchips{display:flex;flex-wrap:wrap}
.shopts .chip2{font-size:14px;height:40px;line-height:40px;margin:0 6px 6px 0;padding:0 12px}
.shopts .chip2.sm{font-size:12.5px;height:34px;line-height:34px}
.shlist .shrow{display:flex;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:2px solid var(--card-2);font-size:15px}
.shlist .shid{font-family:var(--f-num);font-weight:700;margin-right:10px;color:var(--plum-soft)}
.shlist .shd{margin-right:10px;color:var(--plum-soft)}
.shlist .shn{flex:1;font-weight:700;min-width:180px}
.shlist .shok{color:#25a88f;font-weight:700}
.shlist .shrow.done{opacity:.7}
.hl{background:#fff7fb;border:2px solid #ffc3dd}
.bal{background:#f4fbff;border:2px solid #bfe3f7}
.bars .brow{display:flex;align-items:center;margin:4px 0;font-size:14px}.bars .bl{width:120px;font-weight:700}.bars .bb{flex:1;height:14px;border-radius:7px;background:#e6eef7;overflow:hidden;margin:0 10px}.bars .bb i{display:block;height:100%;background:linear-gradient(90deg,#6db1f2,#a98bef)}.bars .bv{width:230px;color:var(--plum-soft)}
.hlist{margin:4px 0 8px;padding-left:20px;font-size:16px;line-height:1.7}
.hlst{display:flex;flex-wrap:wrap;margin-bottom:6px}
.hlrow{display:flex;align-items:center;flex-wrap:wrap}.hlrow .inp{margin:0 10px 6px 0;max-width:100%}
.letter{display:flex;align-items:center;justify-content:center}
.letter .lpet{width:110px;height:110px;flex:none}.letter .lpet svg{width:110px;height:110px}
.letter .lpaper{background:#fffbe6;border:2px dashed #e5ae22;border-radius:14px;padding:12px 18px;margin-left:10px;text-align:left;max-width:300px}
.letter .lpaper b{font-size:26px;display:block}.letter .lpaper p{margin:6px 0;font-size:18px}.letter .lpaper small{color:#8a7a5a;font-size:12px}
.sheet.ans .probs li{font-size:18px;min-height:30px;font-weight:400;overflow:visible}.sheet.ans .probs li .eq{font-size:18px;white-space:normal}.sheet.ans .probs li b{margin-left:4px;font-size:22px}.sheet.ans .no{width:26px;height:26px;font-size:13px}

@media print{#app,#modal,#ov,#toast,#stars,#confetti,#pv{display:none !important}body{background:#fff !important;overflow:visible !important}html,body{height:auto !important}#printarea{display:block}#printarea svg{width:100%;height:auto}
  @page{size:A4;margin:12mm}
}

.lvpill{display:flex;align-items:center;margin-left:10px;background:#fff;border-radius:18px;padding:4px 12px;font-weight:700;color:var(--plum);box-shadow:0 3px 0 var(--shadow)}
.lvpill b{font-family:var(--f-num);font-size:18px}
.lvpill .xb{display:inline-block;width:70px;height:10px;border-radius:5px;background:var(--card-2);margin:0 8px;overflow:hidden}
.lvpill .xb i{display:block;height:100%;background:linear-gradient(90deg,#7fd8ff,#b18cff)}
.lvpill .tt2{font-size:13px;color:#fff;background:var(--pink);border-radius:10px;padding:1px 8px}
.mis{max-width:646px;background:rgba(255,255,255,.92);border-radius:22px;padding:10px 16px;margin:0 0 8px;box-shadow:0 5px 0 var(--shadow)}
.mis .mh{font-weight:700;font-size:16px;margin-bottom:4px}
.mis .mok{color:#fff;background:#3fcbb0;border-radius:10px;padding:1px 8px;font-size:13px}
.mr{display:flex;align-items:center;font-size:15px;font-weight:700;padding:3px 0}
.mr .mc{width:24px;height:24px;border-radius:50%;border:2px solid #d9cdee;margin-right:8px;text-align:center;line-height:20px;color:#fff;font-size:15px;flex:none}
.mr.done .mc{background:#3fcbb0;border-color:#3fcbb0}
.mr.done .mt{color:var(--plum-soft);text-decoration:line-through}
.mr .mt{flex:1}
.mr .mv{font-family:var(--f-num);color:var(--plum-soft)}
.wmap{flex:1;min-height:0;overflow-y:auto;padding:0 18px 20px}
.wcont{text-align:center;margin-bottom:12px}
.wrow{display:flex;align-items:center;border-radius:28px;padding:22px 24px;margin:0 auto 16px;max-width:1100px;box-shadow:0 6px 0 var(--shadow)}
.wrow.lock{-webkit-filter:grayscale(.8);filter:grayscale(.8);opacity:.7}
.wname{width:180px;flex:none;color:#fff;font-weight:700;font-size:15px;line-height:1.5;text-shadow:0 2px 0 rgba(59,40,86,.3)}
.wname b{font-size:21px}
.wnodes{flex:1;display:flex;align-items:center}
.wline{flex:1;height:8px;margin:0 6px;border-radius:4px;background:rgba(255,255,255,.35)}
.wline.on{background:#fff}
.wnode{width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:0 5px 0 rgba(59,40,86,.25);position:relative;flex:none;color:var(--plum)}
.wnode .wn{font-family:var(--f-num);font-size:26px;font-weight:700}
.wnode.boss{width:116px;height:116px}
.wnode.boss .wn{font-size:54px;font-family:inherit}
.wnode.lock{background:rgba(255,255,255,.55)}
.wnode.nope{animation:shake .45s ease-in-out}
.wnode.lock .wn{font-size:32px;font-family:inherit}
.wnode.clear{box-shadow:0 0 0 5px #ffd65a,0 5px 0 rgba(59,40,86,.25)}
.wnode.here{box-shadow:0 0 0 5px var(--pink),0 5px 0 rgba(59,40,86,.25)}
.wnode .wc{position:absolute;right:-6px;top:-8px;font-size:28px}
.wnode .wl{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);background:var(--plum);color:#fff;font-size:12px;font-weight:700;border-radius:10px;padding:1px 8px;white-space:nowrap}
.wnode .wh{position:absolute;left:50%;top:-30px;margin-left:-38px;width:76px;background:var(--pink);color:#fff;font-size:12px;font-weight:700;border-radius:10px;padding:2px 0;white-space:nowrap}
.ahead{position:absolute;width:110px;margin:-132px 0 0 -55px;text-align:center;z-index:2;pointer-events:none;animation:bob 1.2s ease-in-out infinite}
.ahead .ae{font-size:72px;line-height:1;display:block}
.ahead .ax{position:absolute;right:4px;top:-8px;font-size:32px;font-weight:700;color:#ff3d7f;text-shadow:0 2px 0 #fff}
.ahead .al{display:inline-block;background:#fff;border-radius:10px;font-size:12px;font-weight:700;padding:1px 8px;color:var(--plum)}
@keyframes bob{50%{transform:translateY(-8px)}}
.minfo{font-weight:700;font-size:16px;margin-bottom:12px;display:flex;align-items:center;background:var(--card-2);border-radius:14px;padding:4px 12px}
.minfo svg.hrt{width:20px;height:18px;margin:0 2px 0 10px}
.mlvl{font-weight:700;font-size:15px;color:var(--plum-soft);margin:-8px 0 12px}
.hud{margin-top:2px}
.hlv{font-weight:700;font-size:15px;color:#fff;text-shadow:0 1px 0 rgba(59,40,86,.4)}
.hlv .httl{font-size:12px;background:var(--pink);border-radius:9px;padding:1px 8px;margin-left:6px;text-shadow:none}
.hearts{display:flex;flex-wrap:wrap;justify-content:center;margin:3px auto;max-width:240px}
svg.hrt{width:24px;height:22px;margin:0 1px;fill:#ff4f7e;stroke:#fff;stroke-width:2}
svg.hrt.off{fill:rgba(255,255,255,.35)}
.muteki{display:inline-block;font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.3);border-radius:10px;padding:1px 10px}
.gauge{display:inline-flex;align-items:center;background:rgba(255,255,255,.3);border-radius:12px;padding:2px 8px}
.gauge .gl{font-size:12px;font-weight:700;color:#fff;margin-right:6px}
.gauge i{width:22px;height:10px;border-radius:5px;background:rgba(255,255,255,.45);margin-right:3px}
.gauge i.on{background:#ffd65a}
.gauge.full{background:#ffd65a;animation:hpulse 1s ease-in-out infinite}
.gauge.full .gl,.gauge .gok{color:var(--plum)}
.gauge .gok{font-weight:700;font-size:13px;margin-left:3px}
.mlv{font-size:13px;color:var(--plum-soft)}
.foe-atk{animation:fatk .45s ease}
@keyframes fatk{40%{transform:translateX(-80px) scale(1.12)}}
.me-hit{animation:mhit .45s ease}
@keyframes mhit{25%{transform:translateX(-12px)}50%{transform:translateX(12px)}75%{transform:translateX(-6px)}}
.hdmg{position:absolute;left:44%;top:26%;font-family:var(--f-num);font-size:24px;font-weight:700;color:#ff4f7e;text-shadow:0 2px 0 #fff;animation:dmg .9s ease-out forwards;pointer-events:none;z-index:8;display:flex;align-items:center}
.hdmg svg.hrt{width:22px;height:20px}
.sfxr{position:absolute;top:-40px;font-size:46px;font-style:normal;animation:rain 1s ease-in forwards;pointer-events:none;z-index:6}
@keyframes rain{to{transform:translateY(260px) rotate(220deg);opacity:0}}
.revtag{position:absolute;right:66px;top:56px;background:#ffefc2;color:#a06a00;border-radius:10px;padding:2px 10px;font-size:14px;font-weight:700;z-index:2}
.atab.big{height:50px;font-size:17px;padding:0 22px}
.dexpage{display:block;text-align:left}
.dexw{margin-bottom:14px}
.dexh{font-weight:700;font-size:18px;margin:4px 0 8px}
.dexr{display:flex;flex-wrap:wrap}
.dex{width:132px;margin:0 10px 10px 0;border-radius:20px;background:#f8f3ff;border:3px dashed #e2d6f5;text-align:center;padding:8px 4px;position:relative}
.dex.seen{border-style:solid;background:#fff}
.dex.boss{border-color:#ffd65a}
.dex .de{display:block;font-size:52px;line-height:1.15;color:#cfc2e6;font-weight:700}
.dex .dn{display:block;font-size:13px;font-weight:700;margin-top:2px}
.dex .dw{display:block;font-size:11px;color:var(--plum-soft)}
.dex .dfr{position:absolute;left:6px;top:6px;background:var(--pink);color:#fff;font-size:11px;font-weight:700;border-radius:8px;padding:1px 6px}
.ttlpage{display:block}
.note2{font-size:14px;color:var(--plum-soft);margin-bottom:10px;font-weight:700}
.ttl{display:inline-block;vertical-align:top;width:272px;margin:0 10px 10px 0;border-radius:18px;background:#f8f3ff;border:3px solid transparent;padding:10px 12px;text-align:left;position:relative;color:var(--plum)}
.ttl.got{background:#fff7e0;border-color:#ffd65a}
.ttl.on{border-color:var(--pink);background:#fff0f7}
.ttl .tn{display:block;font-size:17px;font-weight:700}
.ttl .th{display:block;font-size:12px;color:var(--plum-soft);margin-top:2px}
.ttl .tsel{position:absolute;right:8px;top:8px;background:var(--pink);color:#fff;font-size:11px;font-weight:700;border-radius:8px;padding:1px 6px}
.wkhead{font-weight:700;margin:8px 0 6px}
.wklist{max-height:220px;overflow-y:auto;border:2px solid var(--card-2);border-radius:14px;padding:6px 10px;margin-bottom:8px}
.wk{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--card-2);font-size:14px}
.wk span{color:var(--plum-soft)}

.qtext.hole .abox{margin:0 6px}
.holelbl{font-size:16px;font-weight:700;color:var(--plum-soft);margin-top:4px}
.revtag.chal{background:#ffd65a;color:#7a4a00;right:auto;left:150px;top:56px}
.chestbox{text-align:center;width:330px}
.chestbox svg.chest{width:200px;height:162px;display:block;margin:0 auto}
.code{display:inline-block;background:rgba(255,255,255,.92);border-radius:18px;padding:6px 16px;font-weight:700;font-size:18px;color:var(--plum);margin-top:4px}
.code .cd{display:inline-block;width:40px;height:46px;line-height:46px;margin-left:6px;border-radius:10px;background:#efe7fb;font-family:var(--f-num);font-size:28px;color:#b9a8d6}
.code .cd.on{background:#ffd65a;color:#5a3a00;animation:pop .35s ease-out}
.cnote{font-size:13px;font-weight:700;color:#fff;margin-top:6px;text-shadow:0 1px 0 rgba(59,40,86,.4)}
.mbig.chestmini svg.chest{width:150px;height:122px}
.sq svg.chest{width:1.1em;height:.95em;vertical-align:middle}
.evrow{position:relative;box-shadow:0 0 0 4px #ffd65a,0 6px 0 var(--shadow)}
.evtag{display:inline-block;background:#ffd65a;color:#5a3a00;font-size:12px;border-radius:9px;padding:1px 8px;text-shadow:none}
.rest{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.rest .batbox{width:260px;position:relative}
.rest .zzz{position:absolute;right:-10px;top:0;font-size:34px;font-weight:700;color:#fff;animation:bob 2s ease-in-out infinite}
.rest h2{font-size:40px;margin:10px 0 6px;text-shadow:0 2px 0 rgba(59,40,86,.3)}
.rest p{font-size:21px;font-weight:700;margin:0 0 20px}
.rest .acts .btn{margin:0 8px}
#scr-rest{background-image:linear-gradient(165deg,#2e2350 0%,#5a4a9a 55%,#8a6fc0 100%)}
.report{flex:1;min-height:0;overflow-y:auto;padding:0 18px 24px}
#rp-per .chip{margin:0 6px 6px 0}
.rcard{max-width:980px;margin:0 auto 14px;background:#fff;border-radius:22px;padding:16px 20px;box-shadow:0 5px 0 var(--shadow);color:#3b2856}
.rcard h3{margin:0 0 10px;font-size:18px}
.rcard h4{margin:14px 0 6px;font-size:15px}
.kpis{display:flex;flex-wrap:wrap}
.kpi{min-width:118px;margin:0 10px 8px 0;background:#f6f1fd;border-radius:16px;padding:10px 12px;text-align:center}
.kpi b{display:block;font-size:24px;font-family:var(--f-num)}
.kpi span{font-size:12px;color:var(--plum-soft);font-weight:700}
.ins{margin:0;padding-left:20px;line-height:1.8;font-size:15px}
.rchart{width:100%;height:auto;display:block}
.rlegend{font-size:12px;color:var(--plum-soft);font-weight:700;margin-top:4px}
.rlegend span{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin:0 4px 0 10px}
.rlegend .lg1{background:#b9a4f2}.rlegend .lg2{background:#ff5fa2}
.rtab{border-collapse:collapse;width:100%;font-size:14px}
.rtab th{text-align:left;color:var(--plum-soft);font-size:12px;border-bottom:2px solid #eee6f5;padding:6px 8px}
.rtab td{border-bottom:1px solid #f1ebf8;padding:6px 8px}
.rbar{display:inline-block;width:90px;height:10px;border-radius:5px;background:#f1ebf8;margin-right:8px;overflow:hidden;vertical-align:middle}
.rbar i{display:block;height:100%}
.rbar i.g{background:#3fcbb0}.rbar i.y{background:#ffc94d}.rbar i.r{background:#ff6b8b}
.heats{display:flex;flex-wrap:wrap}
.heats > div{margin:0 26px 10px 0}
.heat{border-collapse:separate;border-spacing:3px;font-size:12px}
.heat th{color:var(--plum-soft);font-weight:700;width:30px}
.heat td{width:34px;height:28px;text-align:center;border-radius:6px;font-weight:700;color:#fff}
.heat td.h0{background:#efeaf5}.heat td.h1{background:#ff6b8b}.heat td.h2{background:#ffc94d;color:#5a3a00}.heat td.h3{background:#3fcbb0}
.rnote{font-size:13px;color:var(--plum-soft);margin:6px 0}
.printrep h2{font-size:22px}
.printrep .rcard{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}

.clockq svg.clock{width:170px;height:170px;display:block;margin:0 auto 4px}
.qtext.lq{font-size:52px}
.qtext.lq .qlbl{font-family:var(--f-ui);font-size:24px;font-weight:700;margin-right:10px;vertical-align:middle}
.unit{font-family:var(--f-ui);font-weight:700;font-size:26px;margin:0 8px 0 4px;vertical-align:middle}
.coins{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:560px;margin-bottom:6px}
svg.coinq{width:58px;height:58px;margin:2px}
svg.bill{width:104px;height:52px;margin:2px 4px}
svg.coinq.hl,svg.bill.hl{-webkit-filter:drop-shadow(0 0 6px #ffd23f);filter:drop-shadow(0 0 6px #ffd23f);transform:scale(1.15)}
.chg{display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.citem{display:flex;align-items:center;background:#fff7e6;border-radius:16px;padding:6px 14px;margin-right:16px}
.citem .ie{font-size:52px;margin-right:8px}
.citem .pt{font-size:16px;font-weight:700;line-height:1.3;text-align:left}
.citem .pt b{font-size:24px;color:#e0569a}
.cpay{display:flex;align-items:center;font-weight:700;font-size:17px}
.wordq{text-align:center;max-width:560px}
.wpic{font-size:30px;line-height:1.2;margin-bottom:4px}
.wtext{font-size:23px;font-weight:700;line-height:1.6;color:var(--plum);text-align:left;background:#faf6ff;border-radius:16px;padding:8px 14px;margin-bottom:6px}
.expbtn{position:absolute;left:50%;top:10px;margin-left:-100px;width:200px;height:48px;border-radius:24px;background:#ffd65a;border:3px solid #e5ae22;box-shadow:0 4px 0 #c99a1a;font-weight:700;font-size:18px;color:#5a3a00;z-index:3;animation:pop .3s ease-out,hpulse 1.2s ease-in-out .3s infinite}
#explain{display:none;position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(40,28,70,.55);z-index:60;align-items:center;justify-content:center}
#explain.on{display:flex}
.exbox{background:#fff;border-radius:30px;width:780px;max-width:94vw;padding:18px 24px 20px;text-align:center;box-shadow:0 10px 0 rgba(59,40,86,.25)}
.exh{font-weight:700;font-size:18px;color:var(--plum-soft)}
.exstage{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:6px 0}
.excap{font-size:22px;font-weight:700;color:var(--plum);min-height:64px;line-height:1.45}
.exdots{margin:6px 0 10px}
.exdots i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e6dcf3;margin:0 3px}
.exdots i.on{background:var(--pink)}
.exbtns .btn{margin:0 8px}
.exstage.still .xk,.exstage.still .grp{animation:none}
.exstage.still .xk.mv{animation:mvin .8s ease-out}
.exstage.still .nw,.exstage.still .nw .xk{animation:pop .35s ease-out}
.exq{font-family:var(--f-num);font-size:44px;color:var(--plum);margin-bottom:10px}
.exq.small{font-size:30px;margin-top:8px}
.exq .hb{color:var(--pink)}
.xrow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:680px}
.xk{display:inline-block;width:30px;height:30px;border-radius:8px;margin:3px;position:relative;font-style:normal;animation:pop .3s ease-out}
.xk.b1{background:#7fb2f0}.xk.b2{background:#ff9fc8}.xk.e{background:#f1ebf8;animation:none}
.xk.x{opacity:.4}
.xk.x:after{content:"×";position:absolute;left:0;right:0;top:-8px;font-size:32px;font-weight:700;color:#e0405a;text-align:center}
.xk.hl{box-shadow:0 0 0 3px #ffd23f}
.xk.mv{animation:mvin .8s ease-out}
@keyframes mvin{from{transform:translate(240px,0);opacity:.3}}
.xk em{position:absolute;left:0;right:0;top:5px;font-style:normal;font-size:14px;font-weight:700;color:#fff;text-align:center}
.xop{font-size:30px;font-weight:700;color:var(--pink);margin:0 10px}
.tfs{display:flex;justify-content:center}
.tf{display:flex;flex-wrap:wrap;width:212px;padding:6px;border:3px solid #d9cdee;border-radius:12px;margin:0 14px;background:#fff}
.tf .xk{width:34px;height:34px}
.tfl{display:flex;justify-content:center;font-family:var(--f-num);font-size:28px;color:var(--plum);margin-top:6px}
.tfl span{width:230px;margin:0 14px;text-align:center}
.colc{border-collapse:collapse;font-family:var(--f-num);font-size:44px;color:var(--plum);margin:0 auto}
.colc td{width:54px;height:58px;text-align:center;position:relative}
.colc td.hl{background:#fff3c4}
.colc .mk td{height:26px}
.colc .cm{color:#e0569a;font-size:22px}
.colc .sym{color:var(--pink)}
.colc .rs td{border-top:4px solid var(--plum);color:#e0569a}
.colc s{color:#b9a8d6}
.colc sup{font-size:20px;color:#e0569a;position:absolute;top:-6px;right:0}
.kk{display:flex;flex-direction:column;align-items:flex-start;min-height:60px}
.kr{display:flex;align-items:center}
.kr .xk{width:24px;height:24px;margin:2px}
.kt{font-family:var(--f-num);font-size:22px;color:var(--pink);margin-left:12px;min-width:40px}
.area{display:flex;width:520px;height:120px;margin:6px auto}
.area > div{display:flex;align-items:center;justify-content:center;font-family:var(--f-num);font-size:30px;color:#fff;background:#d9cdee;border:3px solid #fff}
.area .ar1{flex:3}.area .ar2{flex:1}
.area .ar1.on{background:#7fb2f0}.area .ar2.on{background:#ff9fc8}
.grps{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:700px}
.grp{display:inline-flex;flex-wrap:wrap;max-width:150px;border:3px dashed #7a63cf;border-radius:16px;padding:4px;margin:4px;animation:pop .3s ease-out}
.grp .xk,.loose .xk{width:22px;height:22px;margin:2px}
.loose{display:inline-flex;flex-wrap:wrap;max-width:420px}
.xrow.big{max-width:620px}
.ci{position:relative;font-size:40px;margin:2px}
.ci em{position:absolute;left:0;right:0;top:-6px;text-align:center;font-style:normal;font-size:16px;font-weight:700;color:#fff;background:var(--pink);border-radius:10px}
.xbar{width:520px;margin:6px auto}
.bwhole{background:#7a63cf;color:#fff;border-radius:10px 10px 0 0;font-family:var(--f-num);font-size:26px;padding:4px}
.bparts{display:flex}
.bparts span{display:flex;align-items:center;justify-content:center;height:52px;font-family:var(--f-num);font-size:26px;color:#fff;border:2px solid #fff}
.bp1{background:#7fb2f0}.bp2{background:#ff9fc8}
.exclock svg.clock{width:230px;height:230px}
.wtext.ex{max-width:600px;margin:0 auto 10px}
.mis:empty{display:none}
.lifex{border-top:2px dashed #eee6f5;margin-top:6px;padding-top:6px}
.gl,.rwl{display:flex;align-items:center;font-size:15px;font-weight:700;padding:3px 0}
.glt{margin-right:4px}
.gbar{flex:1;height:14px;border-radius:7px;background:#f1ebf8;overflow:hidden;margin:0 10px;display:inline-block;min-width:80px}
.gbar i{display:block;height:100%;background:linear-gradient(90deg,#7fd8c8,#3fcbb0)}
.gbar.sm{flex:none;width:120px;height:10px}
.glv{font-family:var(--f-num)}
.rwrow{display:flex;flex-wrap:wrap;align-items:center;padding:6px 0;border-bottom:1px solid var(--card-2);font-size:14px}
.rwrow > *{margin-right:10px}
.rwgot{color:#3fcbb0;font-weight:700}
.rwwait{color:var(--plum-soft)}
.rwadd{margin-top:10px}
.rwadd .inp{max-width:320px;margin-bottom:6px}
.bk{max-width:760px;margin:14px auto 0;background:#fff7e0;border:2px solid #ffc94d;border-radius:16px;padding:10px 14px;font-size:14px;font-weight:700;color:#7a5200;text-align:left}
.bk .btn{margin:6px 6px 0 0}
.bgmbtn{margin-right:8px}
.bgmbtn.off{opacity:.6}
.qhsay{margin-left:8px;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #ffc3dd;font-size:16px;flex:none}
.exh{position:relative}
.exsay{position:absolute;right:0;top:-6px;width:42px;height:42px;border-radius:50%;background:#f6f1fd;font-size:18px}

#scr-home .tile{height:146px;margin-bottom:12px}
#scr-home .tile .em{font-size:44px}
.tile.t-rm{background:#fff1d6}.tile.t-mz{background:#dff3ff}.tile.t-mk{background:#eaffd9}
.tile.later{opacity:.55;filter:saturate(.6)}
.hcall{display:flex;align-items:center;margin:10px auto 0;padding:6px 14px 6px 6px;border-radius:30px;background:#fff;box-shadow:0 5px 0 var(--shadow);color:var(--plum);font-weight:700;font-size:15px;animation:bob 1.6s ease-in-out infinite}
.hcall .hcp{width:46px;height:46px;margin-right:8px}.hcall .hcp svg{width:46px;height:46px;display:block}
.hcall .hct{text-align:left;line-height:1.25}.hcall .hct small{display:block;font-size:12px;color:var(--plum-soft)}
.quest{width:628px;max-width:100%;margin:0 0 14px;padding:10px 14px 8px;border-radius:26px;background:linear-gradient(90deg,#ffe27a,#ffb3d1);box-shadow:0 7px 0 var(--shadow);color:var(--plum)}
.quest.done{background:linear-gradient(90deg,#d9f7ef,#e8f3ff)}
.quest .qhead{display:flex;align-items:center;margin-bottom:6px}.quest .qhead .dem{font-size:30px;margin-right:8px}.quest .qhead b{font-size:21px}.quest .qhead small{margin-left:10px;font-size:13px;color:#6b4a7a;font-weight:700;flex:1}
.quest .mats{font-size:14px;font-weight:700;background:rgba(255,255,255,.7);border-radius:14px;padding:3px 10px}
.quest .qitems{display:flex;flex-wrap:wrap}
.qitem{display:flex;align-items:center;height:48px;padding:0 12px 0 8px;margin:0 8px 6px 0;border-radius:24px;background:#fff;box-shadow:0 4px 0 var(--shadow);font-weight:700;font-size:15px;color:var(--plum);position:relative;top:0}
.qitem:active{top:3px;box-shadow:0 1px 0 var(--shadow)}
.qitem .qi{font-size:22px;margin-right:6px}.qitem .qn{font-size:12px;color:var(--plum-soft);margin-left:6px;font-family:var(--f-num)}
.qitem.ok{background:#e8fbf6;color:#25a88f;box-shadow:0 4px 0 #9fdcd0}.qitem.ok .qn{color:#25a88f}
.qitem.other{background:#eef3ff}
.daily{display:flex;align-items:center;width:628px;max-width:100%;margin:0 0 14px;padding:10px 18px 10px 14px;border-radius:26px;background:linear-gradient(90deg,#ffe27a,#ffb3d1);box-shadow:0 7px 0 var(--shadow);color:var(--plum);text-align:left;position:relative;top:0}
.daily:active{top:4px;box-shadow:0 3px 0 var(--shadow)}
.daily .dem{font-size:44px;margin-right:12px}
.daily .dtx{flex:1;line-height:1.25}.daily .dtx b{display:block;font-size:24px}.daily .dtx small{display:block;font-size:14px;color:#6b4a7a;font-weight:700}
.daily .dgo{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--pink-d)}
.daily.done{background:linear-gradient(90deg,#d9f7ef,#e8f3ff)}
.daily.done .dgo{background:var(--mint);color:#fff}
@media (max-width:900px){.daily{width:100%}}
.tile.later .em{font-size:48px;margin-top:30px}
.tile.later .lb{font-size:19px}
.roomwrap{flex:1;min-height:0;display:flex;padding:0 18px 18px}
.rcv{flex:1;min-width:0;border-radius:30px;overflow:hidden;box-shadow:0 7px 0 var(--shadow);margin-right:16px;position:relative;background:#cfe8ff}
#room-cv{position:absolute;left:0;top:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.rfab{position:absolute;left:0;top:0;display:none;transform:translate(-50%,-100%);white-space:nowrap;z-index:5}
.rfab.on{display:flex;flex-wrap:wrap;justify-content:center;max-width:560px;max-width:min(92%, 560px)}
.rfab button{margin-bottom:6px}
.rfab button{height:66px;min-width:66px;padding:0 12px;margin:0 5px;border-radius:33px;background:#fff;box-shadow:0 5px 0 var(--shadow);font-size:15px;font-weight:700;color:var(--plum);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.rfab button .i{font-size:24px;line-height:1}
.rfab button.ok{background:var(--mint);color:#fff;box-shadow:0 5px 0 var(--mint-d)}
.rfab button.no{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-d)}
.rfab button:active{transform:translateY(4px);box-shadow:none}
.rhint{position:absolute;left:14px;bottom:16px;max-width:calc(100% - 270px);background:rgba(59,40,86,.78);color:#fff;font-weight:700;font-size:15px;line-height:1.35;border-radius:18px;padding:8px 14px;pointer-events:none;display:none;z-index:4}
.rhint.on{display:block}
.rcambtns{position:absolute;right:12px;bottom:12px;display:flex;z-index:4}
.play-bar{display:none;position:absolute;left:50%;top:12px;transform:translateX(-50%);align-items:center;background:rgba(255,255,255,.95);border-radius:26px;padding:6px 8px 6px 14px;box-shadow:0 5px 0 var(--shadow);z-index:6;white-space:nowrap;font-weight:700;color:var(--plum);max-width:94%}
.play-bar.on{display:flex}
.play-bar .play-ic{font-size:24px;margin-right:6px}.play-bar b{font-size:18px;margin-right:10px}.play-bar .play-prog{font-family:var(--f-num);font-size:17px;color:var(--pink-d);margin-right:10px}.play-bar .play-msg{font-size:14px;color:var(--plum-soft);margin-right:10px;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.play-bar .btn{margin:0}
.play-dim{display:none;position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(20,10,40,.45);z-index:3;pointer-events:none;transition:opacity .4s}
.play-dim.on{display:block}
.play-list{display:flex;flex-direction:column}
.play-card{display:flex;align-items:center;text-align:left;background:var(--card-2);border-radius:18px;padding:10px 12px;margin-bottom:8px;color:var(--plum);border:3px solid transparent}
.play-card:active{border-color:var(--pink)}
.play-card.lock{opacity:.6}
.play-card .play-ic{font-size:36px;margin-right:12px;flex:none}
.play-card .play-tx b{display:block;font-size:17px}.play-card .play-tx small{display:block;font-size:12.5px;color:var(--plum-soft);line-height:1.4;margin-top:2px}
.play-card .play-note{color:#c98a00}
.rcambtns button{width:52px;height:52px;border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 4px 0 var(--shadow);font-size:24px;margin-left:8px;color:var(--plum)}
.rcambtns button:active{transform:translateY(3px);box-shadow:none}
.petrow{display:flex;flex-wrap:wrap}
.pett{width:74px;height:92px;margin:0 6px 6px 0;border-radius:14px;background:var(--card-2);border:3px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--plum);position:relative}
.pett.on{border-color:var(--mint);background:#e8fbf6}
.pett.off{opacity:.45}
.pett.off svg,.pett.off .pe{filter:grayscale(1)}
.pett svg{width:48px;height:48px;display:block}
.pett .pe{font-size:36px;line-height:48px;height:48px;display:block}
.pett .pn{font-size:11px;font-weight:700;margin-top:2px;max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pett .pz{position:absolute;right:-6px;top:-6px;font-size:16px;background:#fff;border-radius:50%;width:24px;height:24px;line-height:24px;text-align:center;box-shadow:0 2px 0 var(--shadow)}
.pettall .btn{margin:4px 8px 8px 0}
.pname .pnv{display:block;width:120px;height:120px;margin:0 auto 6px}
.pname .pnv svg{width:120px;height:120px;display:block}
.pname .inp{display:block;margin:0 auto 10px;text-align:center;font-size:24px;height:56px;width:300px;max-width:80vw}
.pname .pnideas{display:flex;flex-wrap:wrap;justify-content:center}
.pname .pnideas .chip2{font-size:16px;padding:0 16px}
.wearhead{display:flex;align-items:center;margin-bottom:8px}
.wearhead b{margin-left:10px;font-size:17px}
.wearhead .btn{margin:0}
.rwear .itile{width:104px}
.rwear .itile .pv,.rwear .itile .pv svg{width:72px;height:72px}
.rside .chips2.cats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.rside .chips2.cats .chip2{margin:0;padding:0 8px;text-align:center;overflow:hidden;text-overflow:ellipsis}
.rside .chips2.sub{display:grid;grid-template-columns:repeat(4, 1fr);gap:5px;margin:0 0 10px}
.chip2.sm{height:38px;line-height:38px;font-size:12.5px;padding:0 4px;margin:0;text-align:center;overflow:hidden;text-overflow:ellipsis}
.dpanel h3 small{font-size:12px;color:var(--plum-soft);font-weight:400;margin-left:6px}
.rside{width:370px;flex:none;display:flex;flex-direction:column;min-height:0}
.rside .dtabs{margin:0 0 10px}
.rside .dpanel{flex:1;min-height:0}
.pcards{display:flex;flex-wrap:wrap}
.pcard2{width:150px;margin:0 8px 8px 0;border-radius:18px;background:var(--card-2);border:3px solid transparent;padding:6px 8px;text-align:left;color:var(--plum)}
.pcard2.on{border-color:var(--pink);background:#fff0f7}
.pcard2 .pv{display:block;width:70px;height:70px;margin:0 auto}
.pcard2 .pv svg{width:70px;height:70px;display:block}
.pcard2 .nm{display:block;text-align:center;font-weight:700;font-size:13px;margin-bottom:4px}
.pcard2 .bl{display:flex;align-items:center;font-size:11px;font-weight:700;margin-top:2px}
.pcard2 .fav{display:block;text-align:center;font-size:11px;color:var(--plum-soft);margin-top:3px}
.cbar{flex:1;height:8px;border-radius:4px;background:#fff;margin-left:6px;overflow:hidden}
.cbar i{display:block;height:100%}
.cbar.hu i{background:#ffb84d}.cbar.mo i{background:#ff7fb4}.cbar.af i{background:#7fd8c8}
.foods{display:flex;flex-wrap:wrap;margin-bottom:8px}
.food{width:62px;height:78px;margin:0 6px 6px 0;border-radius:14px;background:#fff7e0;border:2px solid #ffd58a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--plum)}
.food.none{opacity:.45}
.food .fe{font-size:26px}.food .fn{font-size:11px;font-weight:700}.food .fc{font-size:11px}
.cacts .btn{margin:0 8px 8px 0}
.rinv,.rshop{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:start}
.rinv .ritem,.rshop .ritem{width:auto;margin:0;box-sizing:border-box}
.rinv .ritem .rthumb,.rshop .ritem .rthumb{max-width:100%}
.ritem{width:104px;margin:0 8px 8px 0;border-radius:16px;background:var(--card-2);border:3px solid transparent;padding:8px 6px;display:flex;flex-direction:column;align-items:center;color:var(--plum);position:relative}
.ritem.on{border-color:var(--pink);background:#fff0f7}
.ritem.none{opacity:.5}
.ritem .rn{font-size:13px;font-weight:700;text-align:center;line-height:1.3}
.ritem .rp{font-size:12px;font-weight:700;color:#c98a00;margin-top:3px;text-align:center}
.ritem .rp .mt{display:inline-block;margin-right:4px;color:var(--plum)}
.craftnote{width:100%}
.ritem .rc{font-size:11px;color:var(--plum-soft);margin-top:2px}
.ritem .fe{font-size:28px}
.ritem .rthumb{width:92px;height:72px;display:block;margin:0 auto 3px;border-radius:10px;background:#fff}
.ritem.sm{width:92px}
.ritem.sm .rthumb{width:80px;height:63px}
.ritem .fthumb{font-size:44px;line-height:72px;height:72px}
.mbig img.bigthumb{width:240px;height:190px;border-radius:18px;background:#f7f3fb;display:block;margin:0 auto}
.mbig .bigfood{font-size:96px}
.ritem .sw{width:40px;height:26px;border-radius:6px;border:2px solid #fff;box-shadow:0 0 0 1px #ddd;margin-bottom:4px}
.selbox{display:flex;align-items:center;flex-wrap:wrap;background:#fff7e0;border-radius:14px;padding:6px 10px;margin:6px 0;font-size:14px}
.selbox b{margin-right:8px}.selbox .btn{margin-left:6px}
@media (max-width:900px){
  .roomwrap{flex-direction:column;padding:0 12px 12px}
  .rcv{margin:0 0 12px;flex:none;height:auto;aspect-ratio:4/3;max-height:62vh;min-height:320px}
  .rside{width:auto;flex:none}
  .rside .dpanel{max-height:none;overflow:visible}
}
.mzwrap{flex:1;min-height:0;position:relative;margin:0 18px 18px;border-radius:30px;overflow:hidden;box-shadow:0 7px 0 var(--shadow);background:#eee8f7}
#mz-cv{width:100%;height:100%;display:block}
#mz-mini{position:absolute;right:14px;top:14px;border-radius:10px;border:3px solid rgba(255,255,255,.8)}
.mzhud{position:absolute;left:14px;top:14px;max-width:62%;background:rgba(255,255,255,.93);border-radius:16px;padding:8px 14px;font-size:22px;color:var(--plum);line-height:1.5}
.mzhud:empty{display:none}
.mzhud small{font-size:14px;color:var(--plum-soft)}
.mzmsg{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);background:rgba(59,40,86,.82);color:#fff;font-weight:700;font-size:22px;border-radius:18px;padding:10px 20px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}
.mzmsg.on{opacity:1}
.mzpad{position:absolute;right:22px;bottom:22px;width:200px;height:140px}
.mzpad button{position:absolute;width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.93);font-size:26px;color:var(--plum);box-shadow:0 4px 0 rgba(59,40,86,.2)}
.mzpad [data-mz="up"]{left:68px;top:0}.mzpad [data-mz="left"]{left:0;top:72px}.mzpad [data-mz="down"]{left:68px;top:72px}.mzpad [data-mz="right"]{left:136px;top:72px}
.mzmenu{display:none;position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(40,28,70,.45);align-items:center;justify-content:center}
.mzmenu.on{display:flex}
.mzbox{background:#fff;border-radius:28px;padding:20px 26px;width:540px;max-width:90%;text-align:center;color:var(--plum)}
.mzbox h2{margin:0 0 6px}.mzbox h3{margin:12px 0 6px;font-size:16px}
.mzinfo{font-weight:700;color:#7a63cf}
.mzbox .chips2{justify-content:center}
.mzbox .btn{margin-top:12px}
.mzbox .btn[disabled]{opacity:.45}
.make{flex:1;min-height:0;overflow-y:auto;padding:0 18px 18px}
.mkbody{max-width:900px;margin:0 auto;background:#fff;border-radius:28px;padding:18px 22px;box-shadow:0 7px 0 var(--shadow);color:var(--plum)}
.mktabs{max-width:900px;margin:0 auto 12px}
.mkrow{display:flex;align-items:center;justify-content:center;font-family:var(--f-num);font-size:52px;margin:12px 0;flex-wrap:wrap}
.mkbox{display:inline-block;min-width:110px;height:80px;line-height:74px;border-radius:18px;background:var(--card-2);border:4px solid var(--line);text-align:center;margin:0 6px;cursor:pointer;color:var(--plum)}
.mkbox.act{border-color:var(--pink);background:#fff0f7}
.mkop{color:var(--pink);margin:0 4px}
.mkpad{display:flex;flex-wrap:wrap;justify-content:center;max-width:420px;margin:6px auto}
.mkpad button{width:72px;height:56px;margin:4px;border-radius:14px;background:var(--card-2);font-size:24px;font-weight:700;color:var(--plum)}
.mkpad .mkdel{background:#ffe6ee;font-size:16px}.mkpad .mknext{background:#e2fbf5;font-size:16px}
.mkword{background:#faf6ff;border-radius:16px;padding:10px 14px;font-size:20px;font-weight:700;line-height:1.6;margin:8px 0}
.mkops .chip2{height:56px;min-width:64px;font-size:26px;padding:0 18px;line-height:56px}
.mkops .chip2.on{background:var(--pink);color:#fff}
.mkitems{display:flex;flex-wrap:wrap;justify-content:center}
.mkitems button{width:52px;height:52px;margin:3px;border-radius:14px;background:var(--card-2);font-size:28px;border:3px solid transparent}
.mkitems button.on{border-color:var(--pink)}
.mklist .mki{display:flex;align-items:center;padding:8px 0;border-bottom:2px solid var(--card-2);font-size:16px}
.mklist .mki .q{flex:1;font-weight:700}
.mklist .mki .s{font-size:13px;color:var(--plum-soft);margin-right:10px}
.quiz{text-align:center}
.qteacher{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.qteacher .av{width:80px;height:64px;margin-right:8px;display:inline-block}
.qteacher .av svg{width:80px;height:64px;display:block}
.qres{font-size:40px;font-weight:700;margin:10px 0}
.qres.ok{color:#e0569a}.qres.ng{color:#7a63cf}

/* ---- 教科ページ共通: けっか ---- */
.kres{text-align:center;padding:24px 20px;color:#fff}
.kres .kttl{font-size:40px;font-weight:700;text-shadow:0 3px 0 rgba(59,40,86,.25);margin:10px 0 4px}
.kres .kstars{font-size:54px;line-height:1.2;margin:4px 0}
.kres .knote{font-size:20px;font-weight:700;margin:4px 0 18px}
.kres .kacts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.kres .kacts .btn{margin:4px}

.kbands{display:flex;flex-wrap:wrap;justify-content:center;margin:0 0 10px}
.kbands .chip{font-size:17px;min-height:46px;line-height:22px}
.kbands .chip.mine:not(.on){border-color:var(--lav);color:var(--lav)}
.homecol{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:0 20px 20px;overflow-y:auto}

.qzc.qztext{font-size:20px;line-height:1.35;height:auto;min-height:64px;padding:12px 18px;white-space:normal;max-width:380px;letter-spacing:0;border-radius:24px}
.mkoto{font-size:40px !important}
.ochoice.long{font-size:28px;letter-spacing:3px}
.ostaff{display:block;margin:6px auto;border-radius:12px;max-width:100%}

.knone{background:rgba(255,255,255,.9);border-radius:24px;padding:22px 26px;font-size:20px;font-weight:700;color:var(--plum);text-align:center;margin-top:30px;max-width:520px;line-height:1.6}
.knone small{font-size:15px;color:var(--plum-soft);font-weight:700}

/* ---- 教科ページ: モリィ・ハブ ---- */
.mcard,.mside{position:relative}
.qzmolly{position:absolute;left:10px;top:8px;width:96px;pointer-events:none}
.qzmolly svg{width:100%;height:auto;display:block}
.qzmolly.hop{animation:khop .6s ease-out}
.qzmolly.wob{animation:kwob .5s ease-in-out}
@keyframes khop{0%{transform:translateY(0)}35%{transform:translateY(-26px) scale(1.08)}70%{transform:translateY(0)}85%{transform:translateY(-8px)}100%{transform:translateY(0)}}
@keyframes kwob{0%{transform:rotate(0)}25%{transform:rotate(-10deg)}50%{transform:rotate(9deg)}75%{transform:rotate(-5deg)}100%{transform:rotate(0)}}
.hubtop{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;margin:0 0 14px;max-width:900px}
.hubgo{display:flex;align-items:center;gap:12px;background:#fff;border-radius:24px;padding:10px 22px 10px 14px;box-shadow:0 6px 0 var(--shadow);color:var(--plum);text-align:left;position:relative;top:0;font-weight:700}
.hubgo:active{top:3px;box-shadow:0 3px 0 var(--shadow)}
.hubgo .hi{width:52px;height:52px;border-radius:50%;background:var(--pink);color:#fff;font-size:24px;line-height:52px;text-align:center;flex:none}
.hubgo b{font-size:19px}
.hubgo small{font-size:13px;color:var(--plum-soft)}
.hubq{background:rgba(255,255,255,.92);border-radius:24px;padding:10px 16px;box-shadow:0 6px 0 var(--shadow);color:var(--plum);min-width:260px;max-width:520px;text-align:left}
.hqh{font-weight:700;font-size:20px;margin-bottom:6px}
.hqh small{color:var(--plum-soft);margin-left:6px}
.hqitems{display:flex;flex-wrap:wrap;gap:6px}
.hq{background:var(--card-2);border-radius:16px;padding:9px 13px;font-size:18px;font-weight:700;color:var(--plum)}
.hq.ok{opacity:.6}
.hq small{color:var(--plum-soft);margin-left:4px}
.sech{color:#fff;font-size:20px;margin:18px auto 8px;max-width:900px;text-shadow:0 2px 0 rgba(59,40,86,.25)}
@media (max-width:900px){.qzmolly{width:64px}}

/* ---- 親ゲート ---- */
.gq{font-size:40px;font-weight:700;color:var(--plum);margin:4px 0}
.gnote{font-size:15px;color:var(--plum-soft);font-weight:700;margin-bottom:6px}
.gdots{font-size:26px;letter-spacing:8px;min-height:36px;color:var(--plum)}
.gkpad{display:grid;grid-template-columns:repeat(3,72px);gap:8px;justify-content:center;margin:6px auto 2px}
.gk{height:60px;border-radius:14px;background:var(--card-2);color:var(--plum);font-size:24px;font-weight:700;-webkit-tap-highlight-color:transparent}
.gk:active,.gk:focus{background:var(--card-2);outline:none}
.gk.gko{background:var(--pink);color:#fff}
.gk.gkx{background:#fff;border:2px solid var(--line)}
.mbox.shake{animation:oshake .35s}
@keyframes oshake{0%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-5px)}100%{transform:translateX(0)}}
.pinin{width:170px;margin:0 6px 6px 0;height:46px;border-radius:14px;border:2px solid var(--line);padding:0 12px;font-size:18px}

/* ---- プリント：クイズ・なぞり（全教科） ---- */
.sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet .qs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:12px}
.sheet .qs li.qi{display:flex;align-items:flex-start;break-inside:avoid;border-bottom:1px dashed #bbb;padding-bottom:8px;min-height:70px}
.sheet .qs .qb{flex:1;min-width:0}
.sheet .qs .qp{font-size:20px;line-height:1.35;margin-bottom:2px}
.sheet .qs .qp .mbig{font-size:40px;line-height:1.1;display:inline-block;font-family:sans-serif}
.sheet .qs .qp .mword,.sheet .qs .qp .kbig,.sheet .qs .qp .eword{font-size:24px;font-weight:700;display:inline-block;margin-left:6px;letter-spacing:1px}
.sheet .qs .qp .kbig{font-size:34px}
.sheet .qs .qp .khint{font-size:13px;color:#666;margin-left:6px}
.sheet .qs .qp .mkoto{font-size:20px}
.sheet .qs .qp .eswatch{display:inline-block;width:36px;height:24px;border:1px solid #333;border-radius:4px;vertical-align:middle}
.sheet .qs .qp .edots{font-size:16px;letter-spacing:1px}
.sheet .qs .qp svg.scomp{width:84px;height:84px;display:inline-block;margin:0}
.sheet .qs .qp .smap{font-size:40px}
.sheet .qs .qa{font-size:15px;font-weight:700;margin:2px 0 4px}
.sheet .qs .qc{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:16px}
.sheet .qs .pch{display:inline-flex;align-items:center}
.sheet .qs .pch b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid #333;border-radius:50%;font-size:12px;margin-right:5px;flex:none;font-weight:400}
.sheet .qs .pch .obox{display:inline-block;width:22px;height:22px;border:1.5px solid #333;border-radius:4px;margin-right:5px;flex:none}
.sheet .qs li.qzkanji .pch span,.sheet .qs li.qzemo .pch span{font-size:28px;line-height:1.2}
.sheet .qs .pch span small{display:inline;font-size:11px;color:#777;margin-left:3px}
.sheet .qs li.qi .no{margin-top:4px}
.sheet.ans .probs li .eq small{font-size:12px;color:#777;font-weight:400}
.sheet .trg{display:flex;flex-direction:column;gap:8px}
.sheet .trow{display:flex;align-items:center;gap:6px;break-inside:avoid}
.sheet .tlab{width:150px;flex:none;font-size:15px;line-height:1.3;padding-right:6px}
.sheet .tlab b{display:block;font-size:17px}.sheet .tlab small{display:block;font-size:12px;color:#555}
.sheet .tc{width:64px;height:64px;flex:none;border:1.5px solid #333;display:flex;align-items:center;justify-content:center;font-size:48px;line-height:1;font-family:"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Hiragino Sans",sans-serif;position:relative;color:#111;background:linear-gradient(#bbb,#bbb) center/100% 1px no-repeat,linear-gradient(#bbb,#bbb) center/1px 100% no-repeat}
.sheet .tc.light{color:#c4c4c4}
.sheet.tr-en .tc{font-family:"Avenir Next","Arial Rounded MT Bold",Arial,sans-serif;font-size:46px}
.sheet .shp{display:block}
.shopts a.chip2{text-decoration:none;display:inline-block}
/* ---- レポート：ぶんせき ---- */
.ana .ana-lines li{margin-bottom:4px}
.alab{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:9px;color:#fff;vertical-align:middle}
.alab.g{background:#3aa76d}.alab.y{background:#e5ae22}.alab.r{background:#e5484d}.alab.n{background:#aaa}
.atr{font-size:12px;font-weight:700;margin-left:4px}.atr.up{color:#25a88f}.atr.dn{color:#e5484d}
.anasj{margin:8px 0;background:var(--card-2);border-radius:14px;padding:6px 12px}
.anasj summary{cursor:pointer;font-size:15px;padding:4px 0}
.anasj .rtab{margin-top:4px}
.anah{margin:10px 0 4px;font-size:14px;color:var(--plum-soft)}
.anachars .anacs{font-size:14px;margin:4px 0}
.anach{display:inline-block;min-width:30px;padding:2px 6px;margin:2px;border-radius:8px;background:#fff;border:2px solid #ffc3dd;font-size:20px;font-weight:700;text-align:center}
@media print{.anasj{break-inside:avoid}.anasj summary{list-style:none}}
/* ---- プリント プレビュー ---- */
#pv{display:none;position:fixed;left:0;top:0;right:0;bottom:0;z-index:300;background:rgba(40,28,64,.9);flex-direction:column}
#pv.on{display:flex}
#pv .pvbar{display:flex;align-items:center;flex-wrap:wrap;padding:10px 14px 4px;color:#fff;font-size:17px;background:#3b2856}
#pv .pvbar b{margin-right:8px}
#pv .grow{flex:1}
#pv .pvbar .btn{margin:3px}
#pv .pvnote{color:#fff;font-size:13px;padding:6px 16px;background:#3b2856;opacity:.95}
#pv .pvscroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:6px 0 30px}
#pv .pvfit{position:relative;overflow:visible;margin:0 auto;width:100%}
#pv .pvpages{width:794px;margin:0 auto;-webkit-transform-origin:top center;transform-origin:top center}
#pv .sheet,#pv .printrep{display:block;width:794px;min-height:1123px;background:#fff;box-sizing:border-box;padding:40px 46px;margin:0 auto 18px;box-shadow:0 6px 24px rgba(0,0,0,.35);color:#222}
#pv .printrep{min-height:0}
#pv .printrep h2{font-size:22px;color:#222}
#pv .printrep .rcard{box-shadow:none;border:1px solid #ddd;margin:0 0 10px}
body.pvopen{overflow:hidden}
/* ---- ふるい Safari（flex gap なし）むけの ようし ---- */
.sheet .probs{grid-column-gap:26px;grid-row-gap:14px}
.sheet .qs{grid-column-gap:24px;grid-row-gap:12px}
.rside .chips2.cats{grid-gap:6px}.rside .chips2.sub{grid-gap:5px}.rinv,.rshop{grid-gap:8px}.gkpad{grid-gap:8px}
.nogap #scr-subj .who>*+*{margin-left:10px}
.nogap .kres .kacts>*{margin:2px}
.nogap .hubtop>*{margin:5px}
.nogap .hubgo>*+*{margin-left:12px}
.nogap .hqitems>*{margin:3px}
.nogap .sheet .qs .qc>*{margin:2px 7px 2px 0}
.nogap .sheet .trg>*+*{margin-top:8px}
.nogap .sheet .trow>*+*{margin-left:6px}
.nogap .mchoices>*,.nogap .ochoices>*{margin:5px}
.nogap .qzseq>*{margin:0 3px}
.nogap .mwrap>*+*,.nogap .pwrap>*+*{margin-left:16px}
.nogap .mgrid>*{margin:3px}
.nogap .opiano>*+*{margin-left:8px}
.nogap .plevels>*{margin:7px}
.nogap .pprog>*,.nogap .ppal>*{margin:4px}
.nogap .pacts>*{margin:3px}
@media (max-width:900px){.nogap .mwrap>*+*,.nogap .pwrap>*+*{margin-left:0;margin-top:16px}}
/* ---- ぶんすう ---- */
.qtext.fq{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.fr{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin:0 2px;line-height:1.05;vertical-align:middle}
.fr i{font-style:normal;padding:0 10px 3px;border-bottom:4px solid currentColor;display:block;min-width:46px;text-align:center}
.fr b{padding:3px 10px 0;display:block;min-width:46px;text-align:center;font-weight:inherit}
.fr.fin i{border-bottom:4px solid var(--plum)}
.fr .abox{min-width:62px}
.sheet .fr i{border-bottom:3px solid #222;min-width:30px;padding:0 5px 2px}
.sheet .fr b{min-width:30px;padding:2px 5px 0}
.pk.dot{font-size:19px}
/* ---- メモ（けいさんようし） ---- */
.qmemo{position:absolute;right:12px;bottom:12px;background:#fff;border-radius:20px;padding:8px 16px;font-size:17px;font-weight:700;color:var(--plum);box-shadow:0 4px 0 var(--shadow);z-index:3}
.qmemo:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow)}
#memo{display:none;position:fixed;left:0;top:0;right:0;bottom:0;z-index:260;background:rgba(40,28,64,.86);flex-direction:column}
#memo.on{display:flex}
#memo .mmbar{display:flex;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#3b2856;color:#fff}
#memo .mmbar .btn{margin:3px}
#memo .mmbar .grow{flex:1}
#memo .mmnote{font-size:13px;color:#e8def8;margin:0 10px}
#memo canvas{flex:1;min-height:0;width:100%;display:block;touch-action:none;background:#fffdf6}
.mmintro{text-align:center}
.mmintro .mmbig{font-size:64px;line-height:1.1;margin-bottom:6px}
.mmintro p{font-size:19px;margin:8px 0;line-height:1.6}
.mmintro .mmsub{font-size:15px;color:var(--plum-soft)}
/* ---- おとな向け画面の もじを よみやすく（F044） ---- */
.ed .note,.report .rnote,.report .note,#pv .pvnote,.shopts .chip2,.shlist .shrow,.anasj summary,.anachars .anacs,.ana .hlist li,.report .hlist li{font-size:16px}
.ed .sec h3{font-size:18px}
.anasj .rtab,.report .rtab{font-size:15px}
html.bigtxt .ed,html.bigtxt .report,html.bigtxt #pv .pvbar{font-size:118%}
html.bigtxt .ed .note,html.bigtxt .report .rnote,html.bigtxt .report .note{font-size:18px}
/* ---- 玄関のボタンを はっきり見せる（F014） ---- */
#scr-players .bar .btn.ghost,#scr-subj .bar .btn.ghost{background:rgba(59,40,86,.62);border-color:rgba(255,255,255,.9);color:#fff}
.qzbar{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:center;margin-top:10px}
.qzbar .btn{margin:4px}
.nogap .qzbar>*{margin:4px}
.gdots.gnum{font-family:var(--f-num);font-size:34px;letter-spacing:4px;color:var(--plum)}
.tile.later{opacity:.45}
.edmore{margin:0 0 10px}
.edmore>summary{cursor:pointer;background:#fff;border-radius:18px;padding:12px 16px;font-weight:700;font-size:17px;color:var(--plum);box-shadow:0 4px 0 var(--shadow);margin-bottom:8px;list-style:none}
.edmore>summary::-webkit-details-marker{display:none}
.sec.newhint{text-align:center;background:#fff7fb;border:3px solid #ffc3dd}
.sec.newhint b{font-size:20px;display:block;margin-bottom:4px}
