/* 005 mobile feedback: fixed actions, scrollable content and protected movement space. */
.owPanel{inset:calc(env(safe-area-inset-top,0px) + 12px) calc(env(safe-area-inset-right,0px) + 12px) calc(env(safe-area-inset-bottom,0px) + 12px) calc(env(safe-area-inset-left,0px) + 12px)}
.owRewardCard{overflow:hidden}.owRewardCard .owShort{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;text-align:center}.owRewardDetail{display:block}.owFullEffect{max-height:140px;overflow:auto;touch-action:pan-y;padding:10px;background:#d5c8ac;line-height:1.6}.owRewardCard.sel,.owChoicePair button.sel,.owFormChoices button.sel{outline:2px solid #f6cd76;outline-offset:-3px}.owChoicePair small{display:block}
#owBossHud{position:absolute;top:calc(var(--safe-t) + 10px);left:50%;transform:translateX(-50%);width:min(36vw,390px);text-align:center;pointer-events:none}#owBossHud[hidden]{display:none}#owBossHud #bossName{margin:0;background:#514536e8;padding:4px 8px;border:1px solid #bba479;color:#fff1d2;text-shadow:0 1px #32291e;letter-spacing:0;font-size:14px}#owBossHud #bossBar{width:100%;height:10px;margin:3px 0}
.owModal #owBossHud{visibility:hidden}
body.owPlaying #btnPause{position:absolute;top:calc(var(--safe-t) + 8px);left:calc(var(--safe-l) + 8px);width:44px;height:40px;z-index:30}body.owPlaying #owWallet{top:calc(var(--safe-t) + 8px);left:calc(var(--safe-l) + 60px);padding:5px 7px;gap:9px;height:40px;align-items:center}
body.owPlaying #cmpCard{left:calc(var(--safe-l) + 165px)!important;right:calc(var(--safe-r) + 175px)!important;top:calc(var(--safe-t) + 66px)!important;bottom:auto!important;width:auto!important;max-width:520px;padding:6px;animation:none}
.owPlaying #cmpCard #cmpRow{display:flex;gap:6px}.owPlaying #cmpCard .cmpArt,.owPlaying #cmpCard .cmpLbl,.owPlaying #cmpCard .cmpEn{display:none!important}.owPlaying #cmpCard .cmpName{display:inline;font-size:13px}.owPlaying #cmpCard .cmpPow{display:inline;font-size:12px;margin-left:4px}.owPlaying #cmpCard .cmpPow b{font-size:13px}.owPlaying #cmpCard .cmpCol{padding:5px!important}.owPlaying #cmpCard .cmpShort{display:block;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px}.owPlaying #cmpCard #btnSwap,.owPlaying #cmpCard #owCompareDetails{display:inline-block;width:calc(50% - 3px);min-height:34px;font:600 12px Murecho,sans-serif;padding:4px;margin:5px 0 0;pointer-events:auto}.owPlaying #cmpCard #owCompareDetails{margin-left:6px;background:#dac9a4;color:#453b30;border:1px solid #9b855d;border-radius:3px}
@media(max-height:450px){
 .owPanel{inset:calc(env(safe-area-inset-top,0px) + 6px) calc(env(safe-area-inset-right,0px) + 6px) calc(env(safe-area-inset-bottom,0px) + 6px) calc(env(safe-area-inset-left,0px) + 6px);font-size:clamp(12px,3.4vh,13px)}
 .owPanelTop{min-height:44px;padding:2px 6px;gap:5px}.owTabs button{font-size:12px;padding:4px 7px;min-height:36px}.owSpecialTitle{font-size:16px}.owPanelMoney{font-size:11px;gap:4px;flex-direction:row}.owPanelMoney b{font-size:13px}.owClose{width:48px!important;min-height:36px!important}.owPanelBody{padding:7px;overflow-x:hidden}.owPanel h1,.owPanel h2,.owPanel h3{font-size:clamp(15px,4.2vh,16px)!important;margin:4px 0 6px}.owPanel p{font-size:12px!important;line-height:1.5!important;margin:5px 0}.owPanel button,.owPanel select{font-size:12px}.owPanelFoot{min-height:44px;padding:3px 6px}.owPanelFoot button{min-height:36px;font-size:12px;min-width:0}.owPanel[data-tab=reward] .owPanelBody,.owPanel[data-tab=form] .owPanelBody{overflow:auto}
 .owRewardCards{gap:8px}.owRewardCard{height:146px;padding:5px!important;box-shadow:none!important;flex-shrink:0}.owRewardCard svg{height:50px;width:80px;flex:none}.owRewardCard h3{font-size:15px!important;white-space:nowrap;margin:3px 0!important}.owRewardCard>b{font-size:12px}.owRewardCard p{font-size:12px!important;margin:3px 0}.owRewardCard small{font-size:11px}.owRewardDetail{margin:7px 0 0}.owFullEffect{max-height:100px;font-size:12px;padding:6px}.owChoicePair{margin:5px 0;gap:8px}.owChoicePair>button{padding:8px;min-width:0}.owChoicePair svg{float:left;width:68px;height:68px;margin:0 10px 4px 0}.owChoicePair p{clear:both;font-size:12px!important}.owChoicePair h3{padding-top:10px}.owChoicePair small{font-size:12px}
 .owEndIllustration{margin:5px auto;gap:22px;height:67px}.owEndIllustration .owDogFace{transform:scale(.4);transform-origin:center;flex:none;margin:0 -42px}.owFerryToken{width:38px;height:53px;border-width:4px}.owFerryToken:before{inset:4px;font-size:24px}.owFerryToken:after{width:16px;height:12px;border-width:4px;left:5px;top:-9px}.owEndLines{font-size:13px!important;line-height:1.8!important}.owEndButtons{gap:8px;width:100%}.owEndButtons button{min-width:130px}.owPanel[data-tab=end] .owPanelBody{overflow:auto}
 .owSkillLayout{grid-template-columns:148px minmax(0,1fr);gap:6px}.owSkillList,.owSkillDetail{padding:6px}.owSkillChoice{font-size:12px;padding:5px;min-height:38px}.owSkillChoice small{font-size:11px}.owSkillDetail h2{font-size:16px}.owSkillDetail h3{font-size:15px}.owFormChoices{gap:6px}.owFormChoices button{font-size:12px;padding:6px;min-width:0}.owSupportRow{grid-template-columns:135px minmax(0,1fr)}.owSupportRow small{font-size:12px}.owSkillSticky{position:static}.owSkillSticky p:not(.owSkillFacts){display:block}.owSkillIntro{font-size:12px}.owSkillSlot{font-size:12px;padding:4px;min-height:40px}.owSkillSlots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .owItemDetail{max-height:none;padding:7px}.owItemDetail .owEffect,.owItemDetail .owFlavor{font-size:12px}.owDetailPower{font-size:12px}.owDetailPower b{font-size:18px}.owPowerSummary>span{font-size:14px}.owPowerSummary b{font-size:20px}.owPowerSummary small{font-size:11px}.owPortrait b{font-size:15px}.owGearLayout{grid-template-columns:52% minmax(0,1fr);gap:6px}.owPanel[data-tab=equipment] .owGearLayout{grid-template-columns:20% 40% minmax(0,1fr);gap:6px}.owItemGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.owPanel[data-tab=equipment] .owItemGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.owGearTools select{width:85px}.owDetailScrollHint{font-size:11px}.owItemActions button{min-height:36px}.owGearMiddle,.owItemDetail{overflow:auto;touch-action:pan-y}
 body.owPlaying #owWallet{height:36px;font-size:12px;gap:7px}body.owPlaying #owWallet b{font-size:13px;padding-left:3px}body.owPlaying #btnPause{height:36px}
 body.owPlaying #cmpCard{left:calc(var(--safe-l) + 165px)!important;right:calc(var(--safe-r) + 119px)!important;top:calc(var(--safe-t) + 56px)!important;max-width:none;padding:4px}.owPlaying #cmpCard .cmpBody{gap:4px;grid-template-columns:1fr 1fr}.owPlaying #cmpCard .cmpVs{display:none}.owPlaying #cmpCard .cmpName{font-size:12px}.owPlaying #cmpCard .cmpName small{font-size:10px}.owPlaying #cmpCard .cmpShort{font-size:12px}.owPlaying #cmpCard #btnSwap,.owPlaying #cmpCard #owCompareDetails{min-height:34px;margin-top:4px}
 body.owPlaying[data-device=touch] #tMove{left:calc(var(--safe-l) + 16px);bottom:calc(var(--safe-b) + 87px);width:88px;height:88px;transform:none}body.owPlaying #owFooter{bottom:calc(var(--safe-b) + 5px);max-width:calc(100% - 20px);gap:3px}body.owPlaying #owCorner{right:calc(var(--safe-r) + 7px);top:calc(var(--safe-t) + 7px)}#owBossHud{top:calc(var(--safe-t) + 8px);left:calc(var(--safe-l) + 255px);transform:none;width:calc(100% - var(--safe-l) - var(--safe-r) - 378px)}#owBossHud #bossName{font-size:12px;padding:3px 4px}#owBossHud #bossBar{height:8px}
}

body.owPlaying #btnPause{position:fixed!important}
.owPlaying #cmpCard .cmpArrow{display:none}
.owPlaying #cmpCard .cmpBody{grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;width:100%}
.owPlaying #cmpCard .cmpMain{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.owPlaying #cmpCard #btnSwap,.owPlaying #cmpCard #owCompareDetails{width:100%;margin:0;padding:4px;min-height:34px}
.owRewardCard>*{flex-shrink:0}.owRewardCard .owShort{min-height:18px;line-height:18px!important}
@media(max-height:450px){.owRewardCard svg{height:38px}.owPlaying #cmpCard #cmpCur,.owPlaying #cmpCard #cmpNew{min-height:44px}.owPlaying #cmpCard{height:auto}}
.owPlaying #cmpCard .cmpBody{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.owPlaying #cmpCard .cmpArrow{display:none!important}
.owPlaying #cmpCard .cmpCol{min-width:0;width:auto}
@media(max-height:450px){.owRewardCard{height:164px}.owRewardCard h3{line-height:1.35}.owRewardCard small{line-height:15px}}
.owPanel button:focus-visible{outline:2px dashed #4e6890;outline-offset:1px}
.owPanel button.sel:focus-visible{outline:2px solid #f6cd76;outline-offset:-3px}

/* Approved mobile A/B/C controls. Skills and movement keep independent pointers. */
.owTouchSkillLabel,.owCooldownRing{display:none}
.owSkillGlyph,.owTouchCountdown,.owSushiIcon{display:none}
.tJumpIcon{width:28px;height:28px}
body.owPlaying[data-device=touch] #owSkillHud{position:fixed;inset:0;pointer-events:none;display:block}
body.owPlaying[data-device=touch] .owSkillButton{position:fixed;min-height:44px;padding:0;border-radius:50%;pointer-events:auto;background:#364b49;border:2px solid #c5ad7a;white-space:normal;box-shadow:0 2px #222d2b;z-index:23;touch-action:none;line-height:1}
body.owPlaying[data-device=touch] .owKeySkillLabel{display:none}
body.owPlaying[data-device=touch] .owTouchSkillLabel{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff2d2}
.owTouchSkillLabel b{font-size:11px}.owTouchSkillLabel>span{font-size:10px}.owTouchSkillLabel small{font-size:10px}
body.owPlaying[data-device=touch] .owCooldownRing{display:block;position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke:#edca7c;stroke-width:3;stroke-dasharray:119.381;stroke-dashoffset:calc(119.381 * (1 - var(--cooldown,0)));pointer-events:none}
body.owPlaying[data-device=touch] .owSkillButton.ready{box-shadow:0 0 7px #d2be7288,inset 0 0 5px #d2be7277;background:#45644c}
body.owPlaying[data-device=touch] .owSkillButton.ready .owTouchSkillLabel b{animation:owSkillReady .4s ease-out}
@keyframes owSkillReady{from{color:#fff;filter:drop-shadow(0 0 5px #ffebad);transform:scale(1.15)}to{color:#fff2d2;filter:none;transform:none}}
@media(prefers-reduced-motion:reduce){body.owPlaying[data-device=touch] .owSkillButton.ready .owTouchSkillLabel b{animation:none}}
body.owPlaying[data-device=touch] .owSkillButton.kiMissing{border-color:#8b969a;background:#3a4149}
body.owPlaying[data-device=touch] .owSkillButton.kiMissing small{color:#e6a78d}
body.owPlaying[data-device=touch] .owSkillButton.aiming{outline:2px solid #e8d491;outline-offset:3px}
body.owPlaying[data-device=touch] #tAtk,body.owPlaying[data-device=touch] #tRoll,body.owPlaying[data-device=touch] #tJump,body.owPlaying[data-device=touch] #nikuBtn{position:fixed!important;transform:none!important;z-index:23}
body.owPlaying[data-device=touch] #tAtk{width:64px;height:64px}
body.owPlaying[data-device=touch] #tJump{background:#4e6890;color:#f6ecd3;border-color:#bdcee0;display:flex;align-items:center;justify-content:center}
body.owPlaying[data-device=touch] #tRoll{background:#745645;border-color:#bda480}
body.owPlaying[data-device=touch][data-touch-layout=C] #tJump,body.owPlaying[data-device=touch][data-touch-layout=C] #tRoll{display:none!important}
body.owPlaying[data-device=touch][data-touch-layout=C] #tAtk:after{content:'↑ 跳　↔ 転';position:absolute;bottom:-17px;left:-12px;right:-12px;font:10px Murecho,sans-serif;color:#fff0cb;white-space:nowrap;text-shadow:0 1px 2px #201e18;pointer-events:none}
body.owPlaying[data-device=touch] #owFooter{left:calc(var(--safe-l) + 160px);right:auto;transform:none;max-width:230px;width:auto;min-width:0;padding:5px;gap:6px;bottom:calc(var(--safe-b) + 8px)}
body.owPlaying[data-device=touch] #owFooter #status{width:100px;min-width:100px}
body.owPlaying[data-device=touch] #owFooter #owDogState,body.owPlaying[data-device=touch] #owFooter #owEquipBtn{width:44px;height:44px;min-width:44px;font-size:11px}
body.owPlaying[data-device=touch] #owKi{font-size:10px}
body.owPlaying[data-device=touch] #nikuBtn{display:block;width:44px;height:44px}
body.owPlaying[data-device=touch] #nikuBtn .nkName{font-size:9px}
body.owPlaying[data-device=touch] #nikuBtn .key{display:none}
body.owPlaying[data-device=touch] #nikuBtn .nkTop{height:44px;min-height:0;inset:0;padding:3px;display:flex;flex-direction:column;justify-content:center;gap:2px;border:1px solid #b59a78}
body.owPlaying[data-device=touch] #nikuBtn.none{opacity:.7}
body.owPlaying[data-device=touch] #nikuBtn .nkIco{display:none}
body.owPlaying[data-device=touch] #nikuBtn .nkN{font-size:12px}
body.owPlaying[data-device=touch] #owInteract{left:calc(var(--safe-l) + 145px);right:auto;transform:none;bottom:calc(var(--safe-b) + 85px);max-width:230px;min-height:44px;font-size:12px}
body.owPlaying[data-device=touch] #cmpCard{right:calc(var(--safe-r) + 268px)!important}
#owAimLine{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:24;overflow:visible}
#owAimLine[hidden]{display:none}
#owAimLine line{stroke:#f0d488;stroke-width:3;stroke-dasharray:9 5;filter:drop-shadow(0 1px 1px #293131)}
#owAimLine circle{fill:#f0d488;stroke:#344342;stroke-width:2}
#owAimLine text{fill:#fff1c9;paint-order:stroke;stroke:#34342e;stroke-width:3;font:12px Murecho,sans-serif}
#owAimLine.cancel line,#owAimLine.cancel circle{stroke:#d39f96;fill:#d39f96}
.owTouchLayoutChoices{display:flex;gap:8px}.owTouchLayoutChoices button{min-height:44px}
@media(max-height:450px){
 body.owPlaying[data-device=touch] #owCorner{width:80px}
 body.owPlaying[data-device=touch] #owCorner canvas{height:34px}
 body.owPlaying[data-device=touch] #owCorner>button{font-size:10px}
 body.owPlaying[data-device=touch] #owQuests{max-height:44px;margin-top:5px;padding:3px;overflow:auto}
 body.owPlaying[data-device=touch] #owQuests button{font-size:10px;min-height:18px;padding:0}
 body.owPlaying[data-device=touch] #owQuests p{font-size:10px;line-height:1.2;margin:2px 0}
 body.owPlaying[data-device=touch] #owFooter #hp{display:grid;grid-template-columns:repeat(4,9px)}
 body.owPlaying[data-device=touch] #owFooter #status{width:90px;min-width:90px}
 #pause{z-index:80}
 #pause .sheet{display:flex;flex-direction:column;max-height:calc(100% - 12px - var(--safe-t) - var(--safe-b));overflow:hidden;padding:8px 16px}
 #pause .sheet .pageHead,#pause .sheet .row.btns{flex:none}
 #pause .pauseOptions{flex:1;min-height:0;overflow:auto;touch-action:pan-y;overscroll-behavior:contain}
 #pause .sheet .row{margin:4px 0;min-height:30px;font-size:12px;gap:8px}
 #pause .sheet .row .lbl{font-size:12px;min-width:75px}
 #pause .sheet .row .lbl2{font-size:10px}
 #pause .sheet .tile.small{font-size:12px;padding:5px 8px;min-height:32px}
 #pause .sheet .bookName{font-size:18px}
 #pause .sheet .tile.mid{font-size:13px;padding:7px 12px;min-height:36px}
}

/* A4 replaces the initial A: compact icons, and distinct controls on the right edge. */
body.owPlaying[data-device=touch][data-touch-layout=A] .owTouchSkillLabel{display:none}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillGlyph{display:flex;align-items:center;justify-content:center;height:100%;color:#f5e3b3}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillGlyph svg{width:30px;height:30px}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton[data-slot='4']{border:3px double #ddc387;background:#584952}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton[data-slot='4'] .owSkillGlyph svg{width:34px;height:34px}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton.cooling .owTouchCountdown{display:block;position:absolute;inset:auto 0 4px;z-index:2;font:600 10px Murecho,sans-serif;background:#263333b8;color:#fff0c7;border-radius:8px;margin:0 5px}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton.cooling .owSkillGlyph{opacity:.55}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton.kiMissing .owSkillGlyph{opacity:.35}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton[aria-disabled=true]{opacity:.65}
body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton.ready .owSkillGlyph{animation:owSkillReady .4s ease-out}
body.owPlaying[data-device=touch][data-touch-layout=A] #nikuBtn{border-radius:8px;background:#55453d;border:1px solid #c6af86;box-shadow:0 3px #302c25}
body.owPlaying[data-device=touch][data-touch-layout=A] #nikuBtn .nkTop,body.owPlaying[data-device=touch][data-touch-layout=A] #nikuBtn .nkN{display:none}
body.owPlaying[data-device=touch][data-touch-layout=A] #nikuBtn .owSushiIcon{display:block;width:38px;height:34px;margin:auto}
body.owPlaying[data-device=touch][data-touch-layout=A] #tJump{border-radius:13px 13px 7px 7px;border:2px solid #bbcee1;background:#465e80}
body.owPlaying[data-device=touch][data-touch-layout=A] #tJump .tJumpIcon{width:31px;height:42px}
body.owPlaying[data-device=touch][data-touch-layout=A] #tRoll{border-radius:50%;border:2px solid #c5ac81;background:#78533d}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard{left:calc(var(--safe-l) + 8px)!important;right:auto!important;width:calc(40vw - var(--safe-l) - 50px)!important;padding:3px}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpCol{min-height:44px!important;padding:3px!important;line-height:16px}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpName,body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpPow,body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpShort{line-height:16px}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpName small{display:none}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpPow{white-space:nowrap}
body.owPlaying[data-device=touch][data-touch-layout=A] #cmpCard .cmpPowLabel{display:none}
body.owPlaying[data-device=touch][data-touch-layout=A] #owInteract{left:auto;right:calc(var(--safe-r) + 84px);bottom:calc(var(--safe-b) + 8px);max-width:calc(40vw - 95px);min-height:44px;white-space:normal;line-height:17px;padding:4px 7px}
#owTouchNameTip{position:fixed;right:calc(var(--safe-r) + 85px);bottom:calc(var(--safe-b) + 14px);max-width:190px;padding:5px 9px;border:1px solid #c9b687;border-radius:4px;background:#393b34f0;color:#f6e6bf;font:12px Murecho,sans-serif;pointer-events:none;z-index:25}
#owTouchNameTip[hidden]{display:none}
body.owPlaying[data-device=touch][data-touch-layout=A] #owTouchNameTip{top:calc(var(--safe-t) + 46px);bottom:auto;right:calc(var(--safe-r) + 100px)}
@media(prefers-reduced-motion:reduce){body.owPlaying[data-device=touch][data-touch-layout=A] .owSkillButton.ready .owSkillGlyph{animation:none}}
