/* AR V47: generated art, real controls and readable combat state. */
#screen-ar.ar-v47 #ar-fallback[hidden],#screen-ar-outing [hidden],#screen-ar.ar-v47 .combat-primary-action[hidden],#app #screen-ar.ar-v47.hunt-encounter #ar-fallback[hidden]{display:none!important}
#screen-ar.ar-v47 #ar-fallback:not([hidden]),#app #screen-ar.ar-v47.hunt-encounter #ar-fallback:not([hidden]){display:block;background:linear-gradient(#06121b0d,#06121b00 60%,#06121b40),url('../assets/img/ar-v47/lantern-street-banner.webp') center/cover no-repeat}
#app #screen-ar.ar-v47.hunt-encounter #ar-fallback:not([hidden]){background-image:linear-gradient(180deg,#07151b66,#091e2026 45%,#10201d8f),var(--hunt-scene);background-size:cover;background-position:center}
#screen-ar.ar-v47 #ar-fallback::after{display:none}
#screen-ar.ar-v47 #ar-vignette{background:linear-gradient(#020b12a8,transparent 29%,transparent 70%,#020b125c)}
#screen-ar.ar-v47{animation:none}
#screen-ar.ar-v47 .hud-top{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;padding:calc(16px + var(--safe-t)) 16px 8px;background:linear-gradient(#031016bd,transparent)}
#screen-ar.ar-v47 .ar-scene-title{margin:0;grid-column:2;grid-row:1;text-align:center;align-self:center;font:800 24px/1.3 var(--serif);color:#f5e4b9;text-shadow:0 2px 10px #000;position:relative;border-block:1px solid #d7b87c80;padding:7px 0}
#screen-ar.ar-v47 .ar-scene-title::after{content:'◇';position:absolute;left:calc(50% - 8px);top:-14px;background:#0c171c;color:#e5c688;font-size:16px;line-height:18px}
#screen-ar.ar-v47 .ar-scene-instruction{grid-column:1/-1;grid-row:2;margin:1px 0 0;text-align:center;font:700 13px/1.2 var(--serif);letter-spacing:1px;color:#ffedc3;text-shadow:0 2px 8px #000}
#screen-ar.ar-v47 .ar-omen{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:10px;margin:4px 9px 0;color:#ffe8bb;font:700 12px/1.2 var(--serif);white-space:nowrap;text-shadow:0 2px 7px #000}
#screen-ar.ar-v47 .ar-omen .bar-wrath{flex:1;height:8px;margin:0;border:1px solid #aa8d65a3;border-radius:6px;background:repeating-linear-gradient(90deg,#152028 0,#152028 calc(10% - 2px),#020d13 calc(10% - 2px),#020d13 10%);overflow:hidden}
#screen-ar.ar-v47 .ar-omen #ar-wrath-fill{height:100%;background:linear-gradient(90deg,#f1aa65,#f4cc84);box-shadow:0 0 16px #ef994eaa}
#screen-ar.ar-v47 .ar-omen>span:last-child{font-size:18px;color:#73dbbb}
#screen-ar.ar-v47 .hud-top .btn-icon{grid-column:1;grid-row:1;border-radius:50%;border-color:#dcc28b9c;color:#f7e6bf}
#screen-ar.ar-v47 .ar-timer{grid-column:3;grid-row:1;width:44px;height:44px;border-radius:50%;font-size:16px;color:#f3dbab}
#screen-ar.ar-v47 .ghost-status{grid-column:1/-1;grid-row:3;margin:5px 14px 0;border:1px solid #cdb48165;background:#091b21d9;border-radius:14px;padding:10px 12px;backdrop-filter:none}
#screen-ar.ar-v47 .ghost-title{font:700 15px/1.35 var(--serif);margin-bottom:7px;color:#f5e4b9}
#screen-ar.ar-v47 .ghost-title .tier{font-size:11px;margin-right:auto;margin-left:5px}
#screen-ar.ar-v47 .ar-health-value{font:700 12px/1.35 var(--serif);font-variant-numeric:tabular-nums;color:#ffe7c2}
#screen-ar.ar-v47 .bar-hp{height:7px;border-radius:5px;background:#362026}
#screen-ar.ar-v47 .encounter-director{top:calc(192px + var(--safe-t) + var(--encounter-offset,0px));left:24px;right:24px;gap:6px;font-size:11px}
#screen-ar.ar-v47 .encounter-director span{font-size:11px;background:#081b20cf;padding:5px 8px;backdrop-filter:none}
#screen-ar.ar-v47 .encounter-director #btn-recenter{font-size:11px;min-height:44px;min-width:44px;padding:6px 9px;border-radius:12px}
#screen-ar.ar-v47 .enemy-technique{top:calc(246px + var(--safe-t) + var(--encounter-offset,0px));left:24px;right:24px;font:700 12px/1.4 var(--sans);padding:7px 10px;border:1px solid #d6bb8545;border-radius:9px;background:#08191bce;backdrop-filter:none;color:#eadbc0}
#screen-ar.ar-v47 .enemy-technique.danger{background:#391d18ed;border-color:#f1a45e;color:#ffe1a4}
#screen-ar.ar-v47 .ghost-wrap{width:min(65vw,300px);height:min(43dvh,365px)}
#screen-ar.ar-v47.outdoor-cutout .ghost-wrap{width:min(58vw,276px);height:min(40dvh,330px)}
#screen-ar.ar-v47 .ghost-img{filter:drop-shadow(0 0 16px var(--aura)) drop-shadow(0 14px 12px #0009)}
#screen-ar.ar-v47 .ghost-name-tag{font-size:11px;padding:5px 10px;bottom:0;background:#091a21c9;color:#f0dcb6}
#screen-ar.ar-v47 .ghost-aura{opacity:.22}
#screen-ar.ar-v47 .action-title{top:auto;bottom:calc(195px + var(--safe-b));font-size:26px;letter-spacing:2px}
#screen-ar.ar-v47 .combat-primary-dock{position:absolute;z-index:30;left:50%;bottom:calc(55px + var(--safe-b));transform:translateX(-50%);width:min(calc(100% - 28px),410px);display:flex;justify-content:space-evenly;gap:10px;pointer-events:none}
#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action{position:relative;flex:1 1 0;max-width:120px;min-width:44px;min-height:130px;margin:0;padding:98px 0 5px;display:block;border:0;border-radius:16px;background:transparent;color:#fff6df;font:800 13px/1.25 var(--sans);text-align:center;white-space:normal;box-shadow:none;pointer-events:auto;touch-action:manipulation;text-shadow:0 2px 5px #000;transition:filter .15s}
#screen-ar.ar-v47 .combat-primary-action::before{content:'';position:absolute;inset:0 0 36px;background:center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 4px 6px #000a)}
#screen-ar.ar-v47 .combat-primary-attack::before{background-image:url('../assets/img/ar-v47/attack.webp')}
#screen-ar.ar-v47 .combat-primary-evade::before{background-image:url('../assets/img/ar-v47/evade.webp')}
#screen-ar.ar-v47 .combat-primary-seal::before{background-image:url('../assets/img/ar-v47/seal.webp')}
#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action:disabled{opacity:1;color:#fff2d6;cursor:default}
#screen-ar.ar-v47 .combat-primary-action:disabled::before{filter:grayscale(.35) brightness(.83)}
#screen-ar.ar-v47 .combat-primary-action:active:not(:disabled)::before{transform:scale(.96)}
#screen-ar.ar-v47 .combat-primary-action:focus-visible{outline:2px solid #ffe0a2;outline-offset:3px}
#screen-ar.ar-v47 .hud-bottom{z-index:31;display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 16px calc(10px + var(--safe-b));background:linear-gradient(transparent,#061219d9)}
#screen-ar.ar-v47 .mind-wrap{grid-column:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto 8px;align-self:center;align-items:center;gap:3px 6px;min-width:0}
#screen-ar.ar-v47 .mind-label{grid-column:1;font-size:11px;white-space:nowrap;color:#ecdfc5}
#screen-ar.ar-v47 .mind-value{grid-column:2;justify-self:end;color:#d7eee5;font:800 11px/1 var(--sans);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000}
#screen-ar.ar-v47 .bar-mind{grid-column:1/3;grid-row:2;height:8px;margin:0;border:1px solid #bfcdab55;border-radius:7px;background:#091d25;box-shadow:inset 0 1px 4px #0009}
#screen-ar.ar-v47 .bar-mind>div{background:linear-gradient(90deg,#69adbb,#b1e4e9);box-shadow:0 0 9px #93e6e8a6}
#screen-ar.ar-v47 .mind-wrap.low .mind-value{color:#ffbd91;text-shadow:0 0 8px #f17763a8}
#screen-ar.ar-v47 .mind-wrap.low .bar-mind{border-color:#d28166a6}
#screen-ar.ar-v47 .mind-wrap.low .bar-mind>div{background:linear-gradient(90deg,#bd4c4b,#ffc08d);box-shadow:0 0 10px #f17b5fa6}
#screen-ar.ar-v47 .mind-quick-heal{grid-column:3;grid-row:1/3;min-width:44px;min-height:44px;margin:0;padding:3px 6px;border:1px solid #c8e7bea6;border-radius:11px;background:linear-gradient(145deg,#1c4741,#0d292e);color:#e7ffdc;font:800 11px var(--sans);box-shadow:inset 0 1px 8px #b8f1c028,0 0 12px #83d8bb3d;touch-action:manipulation}
#screen-ar.ar-v47 .mind-quick-heal:disabled{border-color:#898e8066;background:#122d2c;color:#b3b8a6;box-shadow:none}
#screen-ar.ar-v47 .mind-quick-heal:focus-visible{outline:2px solid #fff0bd;outline-offset:2px}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47 .mind-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:44px}}
#screen-ar.ar-v47 .ar-hint{display:none}
#screen-ar.ar-v47 .combat-auxiliary{grid-column:2}
#screen-ar.ar-v47 .combat-auxiliary>summary{min-height:44px;padding:12px 9px;font-size:11px;background:#0b2527ed;border:1px solid #b6a37670;border-radius:10px}
#screen-ar.ar-v47 .combat-auxiliary>summary{font-size:12px;color:#ffedc8}
#screen-ar.ar-v47 .combat-auxiliary-tray{position:absolute;box-sizing:border-box;bottom:calc(190px + var(--safe-b));right:0;left:auto;width:min(456px,calc(100vw - 32px));max-height:clamp(132px,calc(100dvh - 380px),300px);overflow:auto;padding:12px;border:1px solid #c4a8759c;border-radius:14px;background:linear-gradient(145deg,#0c2529f8,#132e2bf8);box-shadow:0 0 0 2px #061719aa,0 -12px 35px #000b,inset 0 1px 12px #e2c58a22}
#screen-ar.ar-v47 .combat-auxiliary-tray .player-skillbar,#screen-ar.ar-v47 .combat-auxiliary-tray .ar-tools,#screen-ar.ar-v47 .combat-auxiliary-tray .capture-tools,#screen-ar.ar-v47 .combat-auxiliary-tray .player-combat-status{grid-column:1/-1}
#screen-ar.ar-v47 .combat-auxiliary-tray .btn{min-height:44px;font-size:12px}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47 .combat-auxiliary-tray{width:min(420px,calc(100vw - 245px))}}
#screen-ar.ar-v47:has(.combat-companion-assist:not([hidden])) .combat-auxiliary-tray{bottom:calc(235px + var(--safe-b))}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47:has(.combat-companion-assist:not([hidden])) .combat-auxiliary-tray{bottom:calc(205px + var(--safe-b))}}
@media(orientation:portrait) and (max-height:640px){#screen-ar.ar-v47 .combat-auxiliary-tray{max-height:145px}}
#screen-ar.ar-v47:has(.capture-panel:not([hidden])) .combat-primary-dock{visibility:hidden;pointer-events:none}
#screen-ar.ar-v47:has(.capture-panel:not([hidden])) .combat-primary-dock button{pointer-events:none}
#screen-ar.ar-v47 .capture-panel[data-stage=ritual] h2{top:22%;font:700 40px/1.2 var(--brush);letter-spacing:3px;color:#f2dba4;text-shadow:0 2px 18px #172322}
#screen-ar.ar-v47 .capture-panel[data-stage=ritual] #capture-desc{top:29%;font-size:13px;letter-spacing:0;line-height:1.6;padding:0 16px;color:#f3e6ca;text-shadow:0 2px 8px #000}
#screen-ar.ar-v47 .seal-gate{border:0;background:url('../assets/img/ar-v47/seal-ring.webp') center/contain no-repeat;box-shadow:0 0 28px #52e0b728}
#screen-ar.ar-v47 .seal-gate>i{display:none}
#screen-ar.ar-v47 .seal-gate>span{font-size:28px;color:#e8dcaa;opacity:.8}
#screen-ar.ar-v47 .seal-core{filter:drop-shadow(0 0 18px #73fbd2)}
#screen-ar.ar-v47 .seal-gesture-hint{top:auto;bottom:7%;left:7%;right:7%;padding:12px 8px;border:1px solid #dbbf7d99;border-radius:14px;background:#061b22d9;color:#f7e3b7!important;font:700 16px/1.4 var(--serif)!important}
#screen-ar.ar-v47 .capture-panel[data-stage=complete]{top:50%;transform:translate(-50%,-50%);max-height:90dvh;overflow:auto;border-color:#c7b878;background:#0b292bf5}
#screen-ar-outing .ar-outing-controls{display:flex;align-items:stretch;gap:6px;pointer-events:none}
#screen-ar-outing .ar-outing-controls>button{pointer-events:auto;min-width:44px;min-height:44px;flex:1;padding:8px;font:700 11px/1.3 var(--sans);border:1px solid #aaab7c88;border-radius:10px;background:#0b292bf0;color:#f2e8c8;white-space:normal}
#screen-ar-outing .ar-outing-camera:disabled{opacity:.6}
#screen-ar-outing .ar-outing-direction{margin:0;max-width:420px;padding:7px 12px;background:#0a2128ef;border:1px solid #e4c683aa;border-radius:12px;color:#ffe6ad;font:700 12px/1.4 var(--sans);text-align:center}
#screen-ar-outing.ar-outing-screen .ar-outing-footer{grid-template-columns:1fr;gap:7px}
#screen-ar-outing .ar-outing-controls{grid-column:1/-1}
#screen-ar-outing .ar-outing-fallback{background-image:linear-gradient(#0817224d,#081722a8),url('../assets/img/ar-v47/lantern-street-banner.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-height:740px) and (orientation:portrait){#screen-ar.ar-v47 .hud-top{padding-top:calc(8px + var(--safe-t))}#screen-ar.ar-v47 .ar-scene-title{font-size:21px}#screen-ar.ar-v47 .ghost-status{margin-top:2px;padding:7px 10px}#screen-ar.ar-v47 .encounter-director{top:calc(135px + var(--safe-t) + var(--encounter-offset,0px))}#screen-ar.ar-v47 .enemy-technique{top:calc(185px + var(--safe-t) + var(--encounter-offset,0px))}#screen-ar.ar-v47 .combat-primary-dock{bottom:calc(67px + var(--safe-b))}#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action{min-height:112px;padding-top:87px}#screen-ar.ar-v47 .ghost-wrap{height:34dvh;width:54vw}}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47 .hud-top{left:0;right:auto;width:240px;padding:8px;gap:5px}#screen-ar.ar-v47 .ar-scene-title{font-size:17px}#screen-ar.ar-v47 .ghost-status{margin:3px 0 0;padding:6px 8px}#screen-ar.ar-v47 .ghost-title{font-size:12px}#screen-ar.ar-v47 .encounter-director{top:130px;left:8px;right:auto;width:218px;gap:3px}#screen-ar.ar-v47 .enemy-technique{top:188px;left:8px;right:auto;width:218px;font-size:11px}#screen-ar.ar-v47 .ghost-wrap{width:220px;height:60dvh}#screen-ar.ar-v47 .combat-primary-dock{left:auto;right:8px;bottom:116px;transform:none;width:225px;gap:3px}#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action{min-height:95px;padding-top:68px;font-size:10px}#screen-ar.ar-v47 .hud-bottom{left:auto;right:8px;width:225px;padding:0 0 10px;grid-template-columns:1fr}#screen-ar.ar-v47 .combat-auxiliary{grid-column:1}#screen-ar.ar-v47 .mind-wrap{display:none}#screen-ar.ar-v47 .action-title{top:12%;left:35%;font-size:26px}#screen-ar.ar-v47 .capture-panel[data-stage=ritual] h2{top:17%;left:30%;font-size:30px}#screen-ar.ar-v47 .capture-panel[data-stage=ritual] #capture-desc{top:28%;left:35%;font-size:11px}#screen-ar.ar-v47 .seal-gesture-hint{bottom:2%;left:30%;font-size:12px!important;padding:7px}#screen-ar-outing.ar-outing-screen .ar-outing-footer{grid-template-columns:1fr auto;gap:3px 8px}#screen-ar-outing .ar-outing-controls{grid-column:2;grid-row:1}#screen-ar-outing .ar-outing-direction{grid-column:1/-1;padding:4px 8px;font-size:11px}#screen-ar-outing .ar-outing-safety{font-size:10px}}
@media(max-height:740px) and (orientation:portrait){#screen-ar.ar-v47 .ar-scene-instruction{font-size:11px}#screen-ar.ar-v47 .ar-omen{margin-top:2px;font-size:10px}#screen-ar.ar-v47 .encounter-director{top:calc(164px + var(--safe-t) + var(--encounter-offset,0px))}#screen-ar.ar-v47 .enemy-technique{top:calc(217px + var(--safe-t) + var(--encounter-offset,0px))}}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47 .ar-scene-instruction{font-size:10px;letter-spacing:0}#screen-ar.ar-v47 .ar-omen{margin:0;font-size:9px;gap:5px}#screen-ar.ar-v47 .ghost-status{margin:2px 0 0;padding:5px 7px}#screen-ar.ar-v47 .encounter-director{top:167px}#screen-ar.ar-v47 .enemy-technique{top:221px}#screen-ar.ar-v47 .mind-wrap{display:grid;grid-column:1;min-height:44px}#screen-ar.ar-v47 .mind-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47 *,#screen-ar-outing .ar-outing-spirit{animation:none!important;transition:none!important}}
.reduced-motion #screen-ar.ar-v47 *{animation:none!important;transition:none!important}
#screen-ar.ar-v47 .combat-primary-attack.recovering::before{filter:grayscale(.2) brightness(.78)}
#screen-ar.ar-v47 .combat-primary-attack.recovering::after{content:'';position:absolute;left:18%;right:18%;bottom:31px;height:4px;border-radius:3px;background:#ffd78b;box-shadow:0 0 10px #f5ac57;transform-origin:left center;animation:ar-attack-recover .3s linear both;pointer-events:none}
@keyframes ar-attack-recover{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47 .combat-primary-attack.recovering::after{animation:none!important;transform:scaleX(1)}}
.reduced-motion #screen-ar.ar-v47 .combat-primary-attack.recovering::after{animation:none!important;transform:scaleX(1)}
#screen-ar.ar-v47 .combat-primary-evade.ready::before{filter:drop-shadow(0 0 15px #82c8ff) drop-shadow(0 0 5px #c3ecff)}
#screen-ar.ar-v47 .combat-primary-evade.ready::after{content:'';position:absolute;inset:2px 7px 32px;border:2px solid #a9dcff;border-radius:50%;box-shadow:0 0 14px #59b8ffb3,inset 0 0 10px #80c8ff80;pointer-events:none;animation:ar-evade-ready .55s ease-in-out alternate infinite}
@keyframes ar-evade-ready{from{opacity:.65;transform:scale(.96)}to{opacity:1;transform:scale(1.02)}}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47 .combat-primary-evade.ready::after{animation:none!important;opacity:1;transform:none}}
.reduced-motion #screen-ar.ar-v47 .combat-primary-evade.ready::after{animation:none!important;opacity:1;transform:none}
#screen-ar.ar-v47 #ar-fallback:not([hidden]){background-image:radial-gradient(circle at 9% 43%,#ffbf6842,transparent 22%),radial-gradient(ellipse at 50% 78%,#f5bc7330,transparent 34%),linear-gradient(#06121b05,#06121b00 60%,#06121b40),url('../assets/img/ar-v47/lantern-street-banner.webp')}
#app #screen-ar.ar-v47.hunt-encounter #ar-fallback:not([hidden]){background-image:radial-gradient(circle at 9% 43%,#ffbf6842,transparent 22%),radial-gradient(ellipse at 50% 78%,#f5bc7330,transparent 34%),linear-gradient(180deg,#07151b40,#091e2010 45%,#10201d8f),var(--hunt-scene)}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::before,#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::after{content:'';position:absolute;left:50%;pointer-events:none;border-radius:50%}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::before{bottom:-6%;width:110%;height:24%;transform:translateX(-50%) scaleY(.55);background:radial-gradient(ellipse,#1a100dd1 0%,#72411f6e 42%,#f7b85b2b 65%,transparent 79%);filter:blur(8px);z-index:0}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::after{bottom:-22%;width:140%;height:62%;transform:translateX(-50%) scaleY(.31);background:url('../assets/img/ar-v47/seal-ring.webp') center/100% 100% no-repeat;filter:sepia(1) saturate(1.6) hue-rotate(338deg) brightness(1.18) drop-shadow(0 0 18px #f6bd6e);opacity:.82;z-index:1}
#screen-ar.ar-v47 .ghost-img{position:relative;z-index:2}
#screen-ar.ar-v47 .ghost-img{transform-origin:50% 78%}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47 .ghost-img{rotate:0deg!important}}
.reduced-motion #screen-ar.ar-v47 .ghost-img{rotate:0deg!important}
#screen-ar.ar-v47 .combat-effects{z-index:15}
#screen-ar.ar-v47 .combat-tool{width:clamp(104px,29vw,154px);opacity:.7}
#screen-ar.ar-v47 .combat-telegraph .combat-layer-enemy-form{opacity:.28}
#screen-ar.ar-v47 .ghost-wrap.telegraphing{filter:drop-shadow(0 0 11px #ffac65bd) drop-shadow(0 0 3px #ffefc9)}
#screen-ar.ar-v47 .ghost-wrap.telegraphing .ghost-aura{animation:none;transform:scale(1.08);background:radial-gradient(circle,#ffad686e 0%,#ec65463d 48%,transparent 76%);opacity:.7;filter:blur(8px)}
#screen-ar.ar-v47 .ghost-name-tag{z-index:3}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-name-tag{display:none}
#screen-ar.ar-v47 #enemy-technique{top:calc(246px + var(--safe-t) + var(--encounter-offset,0px))}
@media(orientation:portrait) and (min-height:741px){
  #screen-ar.ar-v47 .hud-top{padding-top:calc(8px + var(--safe-t));gap:5px}
  #screen-ar.ar-v47 .ar-scene-title{font-size:22px;padding:4px 0}
  #screen-ar.ar-v47 .ar-scene-instruction{font-size:12px;margin-top:0}
  #screen-ar.ar-v47 .ar-omen{margin-top:1px}
  #screen-ar.ar-v47 .ghost-status{margin-top:3px;padding:8px 10px}
  #screen-ar.ar-v47 .encounter-director{top:calc(145px + var(--safe-t) + var(--encounter-offset,0px))}
  #screen-ar.ar-v47 #enemy-technique{top:calc(195px + var(--safe-t) + var(--encounter-offset,0px))}
}
@media(max-height:740px) and (orientation:portrait){#screen-ar.ar-v47 #enemy-technique{top:calc(217px + var(--safe-t) + var(--encounter-offset,0px))}}
@media(orientation:landscape) and (max-height:500px){
  #screen-ar.ar-v47 .ghost-wrap,#screen-ar.ar-v47.outdoor-cutout .ghost-wrap{width:160px;height:44dvh}
  #screen-ar.ar-v47 .combat-primary-dock .combat-primary-action{font-size:11px}
  #screen-ar.ar-v47 .encounter-director{top:150px}
  #screen-ar.ar-v47 #enemy-technique{top:199px}
  #screen-ar.ar-v47 .ghost-name-tag{display:none}
  #screen-ar.ar-v47 .action-title{top:12px;bottom:auto;left:240px;right:235px;font-size:19px}
}
#screen-ar.ar-v47 .encounter-director #render-mode{display:none}
@media(orientation:portrait){
  #screen-ar.ar-v47 .encounter-director{left:16px;right:16px;justify-content:space-between}
  #screen-ar.ar-v47 .encounter-director #pattern-cue{max-width:calc(100% - 116px)}
  #screen-ar.ar-v47 #enemy-technique{left:16px;right:auto;width:max-content;max-width:calc(100% - 32px)}
}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::after{filter:sepia(1) saturate(1.2) hue-rotate(338deg) brightness(.92) drop-shadow(0 0 10px #eec67c);opacity:.67}
/* V51: let the scene breathe while keeping each combat state readable. */
@media(orientation:portrait){
  #screen-ar.ar-v47 .ar-scene-instruction{grid-column:1/-1;grid-row:2;margin:0;text-align:center;color:#f4e5bd;font:700 12px/1.25 var(--serif);text-shadow:0 2px 8px #000}
  #screen-ar.ar-v47 .ar-omen{grid-row:3}
  #screen-ar.ar-v47 .ghost-status{grid-row:4}
  #screen-ar.ar-v47 .encounter-director{top:calc(170px + var(--safe-t) + var(--encounter-offset,0px))}
  #screen-ar.ar-v47 #enemy-technique{top:calc(217px + var(--safe-t) + var(--encounter-offset,0px))}
}
@media(orientation:portrait) and (max-width:360px) and (max-height:740px){
  #screen-ar.ar-v47.technique-warning:has(#ar-arrow[hidden]) .encounter-director{visibility:hidden}
  #screen-ar.ar-v47.technique-warning:has(#ar-arrow[hidden]) #enemy-technique{top:calc(179px + var(--safe-t));left:16px;right:16px;width:auto;max-width:none;text-align:center;font-size:10px;line-height:1.2;padding:4px 5px}
  #screen-ar.ar-v47.technique-warning:has(#ar-arrow[hidden]):has(#ar-phase:not([hidden])) .ar-omen{visibility:hidden}
  #screen-ar.ar-v47.technique-warning:has(#ar-arrow[hidden]):has(#ar-phase:not([hidden])) .ar-scene-instruction{visibility:hidden}
  #screen-ar.ar-v47.technique-warning:has(#ar-arrow[hidden]):has(#ar-phase:not([hidden])) #enemy-technique{top:calc(67px + var(--safe-t));font-size:10px;line-height:1.15;padding:3px 5px}
}
@media(orientation:landscape){#screen-ar.ar-v47 .ar-scene-instruction{display:none}}
@media(orientation:landscape) and (max-height:500px){
  #screen-ar.ar-v47 .ar-scene-instruction{display:block;grid-column:1/-1;grid-row:2;margin:0 2px;text-align:center;font-size:10px;letter-spacing:0;line-height:1.15;color:#fff0c8;max-width:220px}
  #screen-ar.ar-v47 .ar-omen{grid-row:3;margin:0}
  #screen-ar.ar-v47 .ghost-status{grid-row:4;margin:2px 0 0}
  #screen-ar.ar-v47 #enemy-technique{top:calc(199px + var(--safe-t) + var(--encounter-offset,0px))}
}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .encounter-director{justify-content:flex-end}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .encounter-director #pattern-cue[hidden]{display:none}
#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action,#screen-ar.ar-v47 .combat-primary-dock .combat-primary-action:disabled{color:transparent;text-shadow:none}
#screen-ar.ar-v47 .combat-primary-dock .combat-primary-attack.recovering,#screen-ar.ar-v47 .combat-primary-dock #btn-evade.ready,#screen-ar.ar-v47 .combat-primary-dock #btn-evade.cooling{color:#fff0cc;font-size:11px;text-shadow:0 2px 6px #000}
#screen-ar.ar-v47 .combat-primary-dock #btn-evade{background:transparent;border-color:transparent}
#app #screen-ar.ar-v47.hunt-encounter #ar-fallback:not([hidden]){background-image:radial-gradient(ellipse at 50% 78%,#eda65a52,transparent 39%),radial-gradient(circle at 9% 43%,#ffbf6842,transparent 22%),linear-gradient(180deg,#07151b40,#091e2010 45%,#10201d35),var(--hunt-scene)}
@media(orientation:portrait) and (min-height:741px){
  #screen-ar.ar-v47 .combat-primary-dock{bottom:calc(35px + var(--safe-b));width:min(calc(100% - 12px),430px)}
  #screen-ar.ar-v47 .combat-primary-action::before{bottom:30px}
}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::after{width:110%;filter:sepia(1) saturate(1.6) hue-rotate(350deg) brightness(.94) drop-shadow(0 0 8px #efb95c);opacity:.66}
#screen-ar.ar-v47:has(#ar-fallback:not([hidden])) .ghost-wrap::before{width:100%;background:radial-gradient(ellipse,#1a100de0 0%,#a45b2d61 44%,#f7b85b20 66%,transparent 79%)}
/* Keep the late-guard warning close to the spirit instead of covering the scene. */
#screen-ar.ar-v47 .guard-ring{width:52%;height:52%;border-width:2px;opacity:.68;box-shadow:0 0 10px #edbb6e55}
#screen-ar.ar-v47 .guard-ring.hot{opacity:.95;box-shadow:0 0 18px #e9b45a,inset 0 0 12px #d9a44166}
/* Draw the cutout nearer to the target framing and seat it in the lantern light. */
@media(orientation:portrait){
  #screen-ar.ar-v47.outdoor-cutout .ghost-wrap{width:min(68vw,300px);height:min(46dvh,385px)}
}
#screen-ar.ar-v47.outdoor-cutout:has(#ar-fallback:not([hidden])) .ghost-img{filter:drop-shadow(0 0 12px #e7a15577) drop-shadow(0 13px 15px #000b)}
#screen-ar.ar-v47.outdoor-cutout:has(#ar-fallback:not([hidden])) .ghost-wrap::after{width:125%;opacity:.83;filter:sepia(1) saturate(1.6) hue-rotate(350deg) brightness(1.12) drop-shadow(0 0 11px #efb95c)}
/* Explain why the seal is dormant at the control itself. */
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:not([hidden]){color:#e5ffec;font-size:10px;line-height:1.15;text-shadow:0 2px 5px #000}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:disabled:not([hidden]){color:#f7ddaf;text-shadow:0 2px 5px #000}
@media(orientation:portrait){
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture:not([hidden]){padding-top:75px;padding-bottom:31px}
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture::before{bottom:54px}
}
#screen-ar.ar-v47 .ar-scene-title{background:radial-gradient(circle at 7% 50%,#82d9ba 0 3px,transparent 4px),radial-gradient(circle at 93% 50%,#82d9ba 0 3px,transparent 4px),linear-gradient(90deg,transparent,#0b292947 20%,#0b292947 80%,transparent)}
#screen-ar.ar-v47.outdoor-cutout:has(#ar-fallback:not([hidden])) .ghost-img{filter:drop-shadow(-4px -2px 5px #fbd08b77) drop-shadow(0 0 10px #e7a15577) drop-shadow(0 16px 12px #000d)}
#screen-ar.ar-v47.outdoor-cutout:has(#ar-fallback:not([hidden])) .ghost-wrap::before{bottom:-3%;width:96%;height:18%;background:radial-gradient(ellipse,#080b0ded 0%,#2d211ac2 35%,#ce7d3444 63%,transparent 78%);filter:blur(6px)}
/* Use the full seal art and show its changing requirement in a separate badge. */
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:not([hidden]){padding:0;color:transparent;font-size:0;text-shadow:none;overflow:visible}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture::before{inset:0 0 30px}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture::after{content:attr(data-seal-status);position:absolute;left:50%;top:-20px;transform:translateX(-50%);box-sizing:border-box;min-width:106px;max-width:126px;min-height:25px;padding:4px 7px;border:1px solid #b29b6da3;border-radius:20px;background:#102b2bdc;color:#fff0cb;font:800 11px/1.25 var(--sans);white-space:nowrap;text-align:center;text-shadow:0 1px 3px #00120e;box-shadow:0 3px 10px #0008;pointer-events:none}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:not(:disabled)::before{filter:drop-shadow(0 0 9px #63e6b1b0) drop-shadow(0 4px 6px #000a)}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:not(:disabled)::after{border-color:#8bf0c9;background:#124139f0;color:#e7fff2}
/* When an ally is present, keep assist above attack and the seal badge above seal. */
#screen-ar.ar-v47 .combat-primary-dock:has(#btn-capture:not([hidden])) .combat-companion-assist:not([hidden]){left:0;transform:none;box-sizing:border-box;width:162px;max-width:162px}
@media(orientation:landscape) and (max-height:500px){
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture::before{bottom:22px}
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture::after{top:auto;bottom:0;left:0;right:0;transform:none;min-width:0;max-width:none;min-height:22px;padding:3px 1px;font-size:10px}
}
/* Short phones need the complete spirit silhouette and floor seal above the controls. */
@media(orientation:portrait){#screen-ar.ar-v47 .ghost-img{min-width:0;min-height:0}}
@media(orientation:portrait) and (max-width:360px) and (max-height:740px){
  #screen-ar.ar-v47 .ghost-wrap,#screen-ar.ar-v47.outdoor-cutout .ghost-wrap{width:60vw;height:38dvh;margin-top:-24px}
  #screen-ar.ar-v47 .combat-primary-dock{bottom:calc(55px + var(--safe-b))}
  #screen-ar.ar-v47 .combat-primary-dock .combat-primary-action{min-height:102px;padding-top:77px}
  #screen-ar.ar-v47 .combat-primary-action::before{bottom:26px}
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture::before{bottom:20px}
  #screen-ar.ar-v47 .combat-primary-dock #btn-capture::after{min-width:90px;max-width:90px}
  #screen-ar.ar-v47 .combat-primary-dock:has(#btn-capture:not([hidden])) .combat-companion-assist:not([hidden]){box-sizing:border-box;width:100px;min-width:100px;max-width:100px;padding:5px;font-size:10px;line-height:1.15}
}
/* Narrow portrait boss art keeps its full silhouette above the combat dock. */
@media(orientation:portrait){
  #screen-ar.ar-v47 .ghost-wrap.is-boss{width:min(56vw,300px);height:30dvh}
}
@media(orientation:portrait) and (max-height:740px){
  #screen-ar.ar-v47 .ghost-wrap.is-boss{width:min(50vw,300px);height:22dvh}
}
@media(orientation:portrait) and (max-width:360px){
  #screen-ar.ar-v47 .ghost-wrap.is-boss{width:50vw;height:30dvh}
}
@media(orientation:portrait) and (max-width:360px) and (max-height:640px){
  #screen-ar.ar-v47 .ghost-wrap.is-boss{width:44vw;height:22dvh;margin-top:-4px}
}
/* V59: restore the illustrated title, omen gauge and control depth from the hunt target. */
#screen-ar.ar-v47 .hud-top .btn-icon{font:400 35px/1 var(--serif);background:linear-gradient(145deg,#09191ce8,#19292ad9);border:1px solid #e4c486bd;box-shadow:0 0 0 2px #0817198a,inset 0 1px 10px #eac48824,0 4px 16px #0009}
#screen-ar.ar-v47 .ar-scene-title{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 10px;border:1px solid #d9bc82aa;border-radius:18px 18px 11px 11px;background:linear-gradient(135deg,#0c2228f2,#13292be8 48%,#0b2025f2);box-shadow:0 0 0 2px #06191ca8,inset 0 1px 9px #f0d9a32a,0 7px 19px #0008}
#screen-ar.ar-v47 .ar-scene-title::after{background:#102328;border:1px solid #d8bb83;border-radius:2px;box-shadow:0 0 9px #efc77c77;line-height:17px}
#screen-ar.ar-v47 .ar-title-flower{flex:none;color:#9ce9d1;font:400 18px/1 var(--serif);text-shadow:0 0 6px #6de6bdc9,0 0 14px #60c5a988}
#screen-ar.ar-v47 .ar-omen .bar-wrath{height:12px;border:1px solid #d5ad70bc;border-radius:4px;background:repeating-linear-gradient(90deg,#111e23 0 20px,#071219 20px 23px);box-shadow:inset 0 1px 5px #0009,0 0 0 2px #06151a80}
#screen-ar.ar-v47 .ar-omen #ar-wrath-fill{background:repeating-linear-gradient(90deg,#f2bf78 0 19px,#b75d36 19px 21px,#f8ca80 21px 22px,transparent 22px 23px);box-shadow:0 0 13px #ff9a55a6,inset 0 1px 3px #fff2c4b8}
#screen-ar.ar-v47 .ghost-status{border-color:#d7bf8c9e;background:linear-gradient(145deg,#0a1a22ee,#12262ae8);box-shadow:0 0 0 2px #03101780,inset 0 1px 12px #dbbc7d1a,0 8px 20px #0008}
#screen-ar.ar-v47 .combat-primary-attack:not(.recovering):not(:disabled)::before{filter:brightness(1.1) saturate(1.16) drop-shadow(0 0 8px #f67b5b9e) drop-shadow(0 8px 8px #000b)}
#screen-ar.ar-v47 .combat-primary-evade:not(.ready):not(:disabled)::before{filter:brightness(1.12) saturate(1.13) drop-shadow(0 0 8px #76b9eba8) drop-shadow(0 8px 8px #000b)}
#screen-ar.ar-v47 .combat-primary-dock #btn-capture:not(:disabled)::before{filter:brightness(1.12) saturate(1.12) drop-shadow(0 0 9px #64d9b3b0) drop-shadow(0 8px 8px #000b)}
@media(orientation:portrait) and (max-height:740px){
  #screen-ar.ar-v47 .ar-scene-title{padding:3px 6px}
  #screen-ar.ar-v47 .ar-title-flower{font-size:14px}
  #screen-ar.ar-v47 .ar-omen .bar-wrath{height:9px}
}
@media(orientation:landscape) and (max-height:500px){
  #screen-ar.ar-v47 .ar-title-flower{display:none}
  #screen-ar.ar-v47 .ar-scene-title{justify-content:center;padding:3px 4px;white-space:nowrap}
}
/* First real hunt: give the player a readable opening beat before combat starts. */
#screen-ar.ar-v47.intro-ready .ar-timer{font-size:12px;color:#ffe6ad;border-color:#d9bf7980;box-shadow:0 0 13px #e5b96c35}
#screen-ar.ar-v47.intro-ready .ar-scene-instruction{color:#fff0c7;text-shadow:0 0 11px #e5bd7e6b,0 2px 8px #000}
#screen-ar.ar-v47.capture-ready .ar-scene-instruction{color:#b7ffe4;text-shadow:0 0 12px #48dcbba8,0 2px 8px #000}
#screen-ar.ar-v47 .pop.heal{color:#b8ffe1;font-size:21px;text-shadow:0 0 10px #3ddb9a,2px 2px 0 #001d18}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist[data-assist-kind=heal]:not([hidden]){border-color:#a0eed2;background:linear-gradient(100deg,#174c44f5,#205a48f0);box-shadow:0 0 13px #4ee2b24d,0 8px 18px #000a}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist[data-assist-kind=burst]:not([hidden]){border-color:#f7bc84;background:linear-gradient(100deg,#64321ff2,#3d241ef2);box-shadow:0 0 13px #e889524d,0 8px 18px #000a}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist[data-assist-kind=shield]:not([hidden]){border-color:#a8d6f1;background:linear-gradient(100deg,#183b56f2,#223749f2);box-shadow:0 0 13px #6ca9dc4d,0 8px 18px #000a}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist[data-assist-kind=snare]:not([hidden]){border-color:#b1e5bf;background:linear-gradient(100deg,#254a37f2,#2f4830f2);box-shadow:0 0 13px #80c7864d,0 8px 18px #000a}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist.guarding:not([hidden]){box-shadow:0 0 0 2px #e8f8d496,0 0 16px #9fead49a,0 8px 18px #000a}
#screen-ar.ar-v47 #companion-guard-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist.guarding:not([hidden]):disabled{opacity:1;color:#fff8e5;border-color:#d4f7ce;cursor:default}
#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist.guarding:not([hidden])::after{content:attr(data-guard-status);position:absolute;left:100%;top:50%;transform:translate(7px,-50%);box-sizing:border-box;min-width:78px;min-height:27px;padding:6px 8px;border:1px solid #d4f7ced1;border-radius:999px;background:#153d35f2;color:#e8ffde;font:800 11px/1.2 var(--serif);white-space:nowrap;text-align:center;box-shadow:0 0 11px #9eeab978,0 4px 9px #0009;pointer-events:none}
@media(max-width:360px){#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist.guarding:not([hidden])::after{min-width:68px;font-size:10px;transform:translate(5px,-50%)}}
@media(orientation:landscape) and (max-height:500px){#screen-ar.ar-v47 .combat-primary-dock .combat-companion-assist.guarding:not([hidden])::after{left:auto;right:0;top:-29px;transform:none;min-height:24px;padding:4px 7px}}
#screen-ar.ar-v47.intro-ready .combat-primary-dock #btn-primary-attack{color:#fff2d2;text-shadow:0 2px 6px #000}
#screen-ar.ar-v47.intro-ready .combat-primary-dock #btn-primary-attack::before{animation:ar-first-strike 2.4s ease-in-out infinite}
@keyframes ar-first-strike{50%{filter:brightness(1.17) drop-shadow(0 0 13px #ee9b69a8)}}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47.intro-ready .combat-primary-dock #btn-primary-attack::before{animation:none}}
.reduced-motion #screen-ar.ar-v47.intro-ready .combat-primary-dock #btn-primary-attack::before{animation:none}
/* One recovery press is held for the next strike; show that the input was accepted. */
#screen-ar.ar-v47 .combat-primary-dock #btn-primary-attack.attack-queued{color:#d5fff0;text-shadow:0 0 9px #56e8ba,0 2px 6px #000}
#screen-ar.ar-v47 .combat-primary-dock #btn-primary-attack.attack-queued::before{filter:brightness(1.15) drop-shadow(0 0 12px #75f1c4c9)}
#screen-ar.ar-v47 .combat-primary-dock #btn-primary-attack.attack-queued::after{animation:none;transform:scaleX(1);background:#83f0cb;box-shadow:0 0 10px #59ecc2}
#screen-ar.ar-v47 .enemy-technique.counter-ready{border-color:#8ee5bd;background:#102b28e8;color:#dbffeb}
#screen-ar.ar-v47 .combat-primary-dock #btn-primary-attack.counter-ready{color:#ecffdf;text-shadow:0 0 8px #67dca6,0 2px 6px #000}
#screen-ar.ar-v47 .combat-primary-dock #btn-primary-attack.counter-ready::before{filter:drop-shadow(0 0 8px #6be6ad)}
/* Camera and portrait preparation has its own short, legible scene. */
#screen-ar.ar-v47 .ar-entry-loader[hidden]{display:none}
#screen-ar.ar-v47 .ar-entry-loader{position:absolute;z-index:24;left:50%;top:48%;transform:translate(-50%,-50%);width:min(72vw,250px);display:grid;justify-items:center;gap:4px;pointer-events:none;text-align:center;color:#f8e6b7;text-shadow:0 2px 7px #000}
#screen-ar.ar-v47 .ar-entry-ring{display:block;width:min(29vw,116px);height:min(29vw,116px);background:url('../assets/img/ar-v47/seal-ring.webp') center/contain no-repeat;filter:drop-shadow(0 0 14px #edc173a8);animation:ar-entry-gather 2.6s ease-in-out infinite}
#screen-ar.ar-v47 .ar-entry-loader strong{font:800 16px/1.25 var(--serif);letter-spacing:.04em}
#screen-ar.ar-v47 .ar-entry-loader small{font:700 10px/1.4 var(--sans);color:#b7d2c0}
#screen-ar.ar-v47.loading-encounter .combat-primary-dock{opacity:.48;pointer-events:none}
@keyframes ar-entry-gather{50%{transform:rotate(18deg) scale(1.06);filter:drop-shadow(0 0 21px #f2d690cb)}}
@media(prefers-reduced-motion:reduce){#screen-ar.ar-v47 .ar-entry-ring{animation:none}}
.reduced-motion #screen-ar.ar-v47 .ar-entry-ring{animation:none}
/* Telegraph preparation should look and read differently from the last-moment dodge cue. */
#screen-ar.ar-v47 .combat-primary-dock #btn-evade:not(.ready):not(.cooling):not(:disabled){color:#c7d8e5;font-size:10px;text-shadow:0 2px 6px #000}
#screen-ar.ar-v47 .combat-primary-dock #btn-evade:not(.ready):not(.cooling):not(:disabled)::before{filter:brightness(.76) saturate(.82) drop-shadow(0 6px 8px #000b)}
#screen-ar.ar-v47 .combat-primary-dock #btn-evade.ready{color:#edfbff}
