body.rest-mode{background:#030a0d;overflow:hidden}body.rest-mode #app{width:100%;max-width:none;height:var(--battle-vh,100dvh);min-height:0;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);margin:0;overflow:hidden;display:block}body.rest-mode #app::before,body.rest-mode #app::after{display:none}
.rest-v2{--ink:var(--ui-ink);--leaf:#9fdc8a;--fire:#ffa045;--heal:#7fe0a6;--cinzel:"Cinzel",serif;color:var(--bone);font-family:var(--serif);padding:0;min-height:0;box-sizing:border-box}
.rest-v2 *,.rest-v2 *::before,.rest-v2 *::after{box-sizing:border-box}
.rest-v2 button{font-family:inherit;color:inherit;border-radius:0;letter-spacing:normal;min-width:0;margin:0;line-height:normal;text-transform:none}
.rest-v2{position:relative;width:min(100%,440px);height:100%;margin:0 auto;overflow:hidden;overflow:clip;isolation:isolate;display:flex;flex-direction:column}
.rest-v2 .rs-bg{position:absolute;inset:0;z-index:-4;background:var(--stratum-image) 50% 30%/cover;filter:saturate(.8) brightness(.8)}
.rest-v2 .rs-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,22,.85) 0%,rgba(6,10,22,.45) 30%,rgba(10,6,4,.55) 62%,rgba(6,4,3,.96) 88%)}
.rest-v2 .rs-warm{position:absolute;left:50%;top:44%;width:560px;height:560px;margin:-280px 0 0 -280px;z-index:-3;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at 64% 52%,rgba(255,170,80,.42),rgba(255,120,40,.16) 38%,transparent 62%);animation:rest-flick 3.2s ease-in-out infinite}
@keyframes rest-flick{0%,100%{opacity:1;transform:scale(1)}23%{opacity:.86}41%{opacity:1;transform:scale(1.03)}67%{opacity:.9}}
.rest-v2 .rs-embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.rest-v2 .rs-embers i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd08a;box-shadow:0 0 6px 2px rgba(255,150,60,.8);animation:rest-ember var(--d) ease-out var(--dl) infinite}
@keyframes rest-ember{0%{transform:translate(0,0);opacity:0}10%{opacity:1}100%{transform:translate(var(--dx),-220px);opacity:0}}
.rest-v2 .rs-snow{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.rest-v2 .rs-snow i{position:absolute;top:-8px;width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:.7;animation:rest-fall var(--d) linear var(--dl) infinite}
@keyframes rest-fall{to{transform:translate(var(--dx),110vh)}}
.rest-v2 .rs-runbar{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 12px 4px;font-size:12px;color:#c9d3d4;flex:none}
.rest-v2 .rs-runbar .rs-fl b{font-family:var(--num);font-style:italic;font-weight:800;font-size:20px;color:#fff}
.rest-v2 .rs-runbar .rs-fl{white-space:nowrap}
.rest-v2 .rs-runbar .rs-gold{white-space:nowrap}
.rest-v2 .rs-runbar .rs-gold b{font-family:var(--num);font-style:italic;font-weight:800;font-size:22px;color:var(--gold)}
.rest-v2 .rs-runbar .rs-gold small{font-family:var(--num);font-style:italic;color:var(--gold)}
.rest-v2 .rs-runbar .rs-sp{flex:1}
.rest-v2 .rs-head{flex:none;padding:6px 16px 0;position:relative;z-index:2}
.rest-v2 .rs-head small{display:block;font-family:var(--num);font-style:italic;font-weight:800;font-size:12px;letter-spacing:.3em;color:var(--fire)}
.rest-v2 .rs-head h1{margin:2px 0 0;font-size:24px;font-weight:800;letter-spacing:.1em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.rest-v2 .rs-head p{margin:2px 0 0;font-size:12px;color:#d6c9b4}
.rest-v2 .rs-scene{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:flex-end;justify-content:center}
.rest-v2 .rs-camp{position:relative;z-index:1;height:min(100%,300px);aspect-ratio:1402/1122;max-width:94%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));opacity:0;transform:translateY(16px);transition:all .6s .15s cubic-bezier(.2,1,.3,1)}
.rest-v2.rs-in .rs-camp{opacity:1;transform:none}
.rest-v2 .rs-camp .rs-cb{position:absolute;inset:0;width:100%;height:100%}
.rest-v2 .rs-camp .rs-cf{position:absolute;left:70.61%;top:35.65%;width:27.82%;height:43.67%;transform-origin:50% 92%;animation:rest-burn 1.6s ease-in-out infinite}
.rest-v2 .rs-camp .rs-cf.rs-glow{filter:blur(6px) brightness(1.4);mix-blend-mode:screen;opacity:.55;animation:rest-burn2 1.1s ease-in-out infinite}
@keyframes rest-burn{0%,100%{transform:scale(1,1) skewX(0)}20%{transform:scale(.98,1.05) skewX(-1.5deg)}45%{transform:scale(1.02,.97) skewX(1deg)}70%{transform:scale(.99,1.04) skewX(1.8deg)}85%{transform:scale(1.01,.99) skewX(-.6deg)}}
@keyframes rest-burn2{0%,100%{transform:scale(1.02,1);opacity:.45}40%{transform:scale(1.06,1.1);opacity:.7}70%{transform:scale(1,1.03);opacity:.5}}
.rest-v2 .rs-scene::after{content:"";position:absolute;left:12%;right:12%;bottom:4px;height:22px;background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%)}
.rest-v2 .rs-hp{position:relative;z-index:2;flex:none;margin:6px 14px 0;padding:9px 14px 11px;background:rgba(10,8,6,.78);
  box-shadow:inset 0 0 0 1px rgba(255,160,69,.55),inset 0 0 0 4px rgba(10,8,6,.8),inset 0 0 0 5px rgba(255,160,69,.25);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.rest-v2 .rs-hp .rs-row{display:flex;align-items:baseline;gap:8px}
.rest-v2 .rs-hp .rs-row small{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--fire)}
.rest-v2 .rs-hp .rs-row b{font-family:var(--num);font-style:italic;font-weight:800;font-size:30px;line-height:1;color:#fff}
.rest-v2 .rs-hp .rs-row em{font-style:normal;font-family:var(--num);font-style:italic;font-size:14px;color:#b7aa92}
.rest-v2 .rs-hp .rs-row .rs-rest-plus{margin-left:auto;font-family:var(--num);font-style:italic;font-weight:800;font-size:22px;color:var(--heal);text-shadow:0 0 10px rgba(127,224,166,.6);opacity:0}
.rest-v2 .rs-hp .rs-row .rs-rest-plus.rs-pop{animation:rest-plus 1.2s ease-out forwards}
@keyframes rest-plus{0%{opacity:0;transform:translateY(8px) scale(1.4)}20%{opacity:1;transform:none}80%{opacity:1}100%{opacity:.85}}
.rest-v2 .rs-bar{position:relative;height:10px;margin-top:7px;background:rgba(255,255,255,.08);transform:skewX(-24deg);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rest-v2 .rs-bar i{position:absolute;top:0;bottom:0;left:0;transition:width .9s cubic-bezier(.3,.8,.3,1)}
.rest-v2 .rs-bar .rs-base{background:linear-gradient(90deg,#3fb3c9,#b5f3ff);z-index:2}
.rest-v2 .rs-bar .rs-gain{background:var(--heal);box-shadow:0 0 10px var(--heal);z-index:1}
.rest-v2 .rs-bar .rs-ghost{background:repeating-linear-gradient(90deg,rgba(127,224,166,.55) 0 6px,rgba(127,224,166,.2) 6px 10px);z-index:0;animation:rest-blink 1.1s ease-in-out infinite}
@keyframes rest-blink{50%{opacity:.4}}
.rest-v2 .rs-hp .rs-note{margin-top:5px;font-size:10.5px;color:#b7aa92}
.rest-v2 .rs-choices{position:relative;z-index:2;flex:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 14px 0}
.rest-v2 .rs-ch{position:relative;border:0;padding:12px 10px 12px;cursor:pointer;text-align:center;background:rgba(10,14,18,.86);min-height:132px;display:flex;flex-direction:column;align-items:center;gap:3px;
  box-shadow:inset 0 0 0 1px var(--cc),inset 0 0 0 4px rgba(10,14,18,.9),inset 0 0 0 5px color-mix(in srgb,var(--cc) 35%,transparent),0 6px 14px rgba(0,0,0,.45);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);opacity:0;transform:translateY(18px);transition:transform .4s cubic-bezier(.2,1.2,.3,1),opacity .3s,filter .25s}
.rest-v2.rs-in .rs-ch{opacity:1;transform:none}
.rest-v2.rs-in .rs-ch:nth-child(2){transition-delay:.08s}
.rest-v2 .rs-ch .rs-md{position:relative;width:46px;height:46px;display:grid;place-items:center;color:#fff;margin-bottom:2px}
.rest-v2 .rs-ch .rs-md::before{content:"";position:absolute;inset:5px;transform:rotate(45deg);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--cc) 70%,#fff),color-mix(in srgb,var(--cc) 40%,#000));box-shadow:0 0 0 1px var(--brass),0 0 0 3px #0a0e12,0 0 14px color-mix(in srgb,var(--cc) 60%,transparent)}
.rest-v2 .rs-ch .rs-md svg{position:relative;width:20px;height:20px}
.rest-v2 .rs-ch small{font-family:var(--num);font-style:italic;font-weight:800;font-size:11px;letter-spacing:.24em;color:var(--cc)}
.rest-v2 .rs-ch b{font-size:17px;font-weight:800;letter-spacing:.06em;color:#fff}
.rest-v2 .rs-ch span{font-size:11.5px;color:#c9c0ad;line-height:1.45}
.rest-v2 .rs-ch span em{font-style:normal;font-family:var(--num);font-style:italic;font-weight:800;font-size:15px;color:var(--cc)}
.rest-v2 .rs-ch.rs-sel{transform:translateY(-6px) scale(1.03);filter:brightness(1.12)}
.rest-v2 .rs-ch.rs-sel::after{content:"選択中";position:absolute;top:0;right:0;padding:2px 10px;font-size:10px;font-weight:800;color:var(--ink);background:var(--cc)}
.rest-v2 .rs-choices.rs-has .rs-ch:not(.rs-sel){filter:brightness(.55) saturate(.7);transform:scale(.97)}
.rest-v2 .rs-foot{flex:none;display:flex;padding:12px 14px 14px;position:relative;z-index:2}
.rest-v2 .rs-go{position:relative;flex:1;height:58px;border:0;padding:0;background:none;cursor:pointer;color:var(--ink)}
.rest-v2 .rs-go .rs-sh{position:absolute;inset:6px -2px -6px 8px;background:var(--coral);clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%)}
.rest-v2 .rs-go .rs-face{position:absolute;inset:0 6px 6px 0;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bone);overflow:hidden;clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%);transition:transform .12s}
.rest-v2 .rs-go .rs-t{font-weight:800;font-size:17px;letter-spacing:.06em;text-align:center}
.rest-v2 .rs-go .rs-t small{display:block;font-weight:600;font-size:10px;color:#6d5f40}
.rest-v2 .rs-go .rs-rest-chev{display:flex}
.rest-v2 .rs-go .rs-rest-chev i{width:7px;height:7px;border-top:2.5px solid var(--coral);border-right:2.5px solid var(--coral);transform:rotate(45deg);margin-left:-1px;animation:rest-chev 1.1s infinite}
.rest-v2 .rs-go .rs-rest-chev i:nth-child(2){animation-delay:.15s}
.rest-v2 .rs-go .rs-rest-chev i:nth-child(3){animation-delay:.3s}
@keyframes rest-chev{0%,100%{opacity:.3}50%{opacity:1}}
.rest-v2 .rs-go:disabled{cursor:default}
.rest-v2 .rs-go:disabled .rs-face{background:rgba(207,199,180,.5)}
.rest-v2 .rs-go:disabled .rs-sh{background:rgba(90,106,112,.6)}
.rest-v2 .rs-go:disabled .rs-rest-chev{display:none}
.rest-v2 .rs-go:not(:disabled) .rs-face::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:rest-sheen 2.2s ease-in-out infinite}
@keyframes rest-sheen{0%{left:-40%}60%,100%{left:130%}}
.rest-v2 .rs-go:active:not(:disabled) .rs-face{transform:translate(5px,5px)}
.rest-v2 .rs-rest-flare{position:absolute;left:50%;top:48%;width:10px;height:10px;margin:-5px;border-radius:50%;z-index:3;pointer-events:none;box-shadow:0 0 0 3px var(--fc);animation:rest-flare .8s ease-out forwards}
@keyframes rest-flare{to{transform:scale(40);opacity:0}}
.rest-v2 .rs-rest-toast{position:absolute;left:50%;top:40%;z-index:50;transform:translate(-50%,-50%);padding:6px 18px;font-weight:800;font-size:14px;color:var(--ink);background:var(--bone);box-shadow:4px 4px 0 var(--coral);white-space:nowrap;animation:rest-toast 1.3s ease-out forwards;pointer-events:none}
@keyframes rest-toast{0%{opacity:0}15%,75%{opacity:1}100%{opacity:0}}
.rest-v2 button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-height:720px){.rest-v2 .rs-head h1{font-size:20px}
.rest-v2 .rs-head p{display:none}
.rest-v2 .rs-ch{min-height:112px;padding:8px}
.rest-v2 .rs-ch .rs-md{width:38px;height:38px}
.rest-v2 .rs-ch span{font-size:10.5px}
.rest-v2 .rs-hp{padding:7px 12px 9px}
.rest-v2 .rs-hp .rs-row b{font-size:24px}
.rest-v2 .rs-foot{padding:8px 14px 10px}
}
@media (prefers-reduced-motion:reduce){.rest-v2 *{animation:none!important;transition:none!important}
}
@media(prefers-reduced-motion:reduce){.rest-v2 .rs-ln{stroke-dashoffset:0}.rest-v2 .rs-camp,.rest-v2 .rs-ch,.rest-v2 .rs-fac,.rest-v2 .rs-resume,.rest-v2 .rs-new{opacity:1;transform:none}}

.rest-v2,.rest-v2 *{font-family:var(--serif)!important}

.rest-v2 .rs-runbar .rs-fl b{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-runbar .rs-gold b{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-runbar .rs-gold small{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-head small{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-hp .rs-row b{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-hp .rs-row em{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-hp .rs-row .rs-rest-plus{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-ch small{font-family:var(--num),var(--serif)!important}

.rest-v2 .rs-ch span em{font-family:var(--num),var(--serif)!important}
.rest-v2 button:disabled{opacity:1}

.rest-v2{line-height:normal}
