/* Dreaming of Líra · R1182 */
body.lira3d{font-family:Arial,Helvetica,sans-serif;background:#06090e}
.lira3d #gameShell{width:min(100vw,177.7778dvh,1600px);height:min(100dvh,56.25vw,900px);border:0;isolation:isolate}
.lira3d #game{display:none}.lira3d #orientationHint{display:none!important}
#lira3dRoot{position:absolute;inset:0;z-index:2;color:#f5f2e9;font-family:Arial,Helvetica,sans-serif}
#lira3dRoot canvas{width:100%;height:100%;image-rendering:auto;background:transparent;position:absolute;inset:0}
.lira3d-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,7,13,.18),transparent 30%,transparent 75%,rgba(3,7,13,.14));box-shadow:inset 0 0 80px #03060a22}
.lira3d-top{position:absolute;inset:20px 24px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;pointer-events:none}
.lira3d-status{width:220px;background:linear-gradient(90deg,#060a10e8,#0a10168f);padding:14px 16px;border-left:2px solid #cfb070;box-shadow:0 4px 24px #0004}
.lira3d-status header{display:flex;justify-content:space-between;font-size:14px;letter-spacing:.13em;font-weight:700;margin-bottom:9px}
.lira3d-status header span{letter-spacing:0;color:#dcab70;font-size:13px}
.lira3d-bar{height:5px;background:#e9eee81c;margin-top:7px;overflow:hidden}
.lira3d-bar i{display:block;height:100%;background:#c25360;transition:width .12s}
.lira3d-bar.super{height:3px}.lira3d-bar.super i{background:#dfb66c}
.lira3d-meta{margin-top:8px;color:#b6c1c8;font-size:12px;display:flex;justify-content:space-between}
.lira3d-level{text-align:center;text-shadow:0 2px 7px #000;line-height:1.5}
.lira3d-level small{color:#ceb278;letter-spacing:.2em;font-size:12px}.lira3d-level strong{display:block;font-size:15px;letter-spacing:.1em}.lira3d-level span{font-size:12px;color:#b0bec8}
.lira3d-tools{display:flex;gap:7px;pointer-events:auto}
.lira3d-tool{color:#e0e6e9;background:#090f18bd;border:1px solid #ffffff24;border-radius:4px;min-width:39px;min-height:37px;font:700 14px Arial;cursor:pointer;text-decoration:none;display:grid;place-items:center;padding:8px 11px}
.lira3d-tool:hover,.lira3d-tool:focus-visible{border-color:#cfb070;color:#f4d597;outline:2px solid #cfb070;outline-offset:3px}
#liraQuality{font-size:12px;max-width:118px}#liraQuality option{background:#0b121c}
.lira3d-bottom{position:absolute;left:26px;right:26px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#b9c5ce;font-size:12px;letter-spacing:.02em;pointer-events:none}
.lira3d-bottom b{color:#e0c18b;font-weight:500}.lira3d-message{position:absolute;bottom:17%;left:50%;transform:translateX(-50%);max-width:72%;text-align:center;background:#071018d9;border:1px solid #d2b27555;padding:10px 20px;border-radius:3px;font-size:14px;font-weight:700;letter-spacing:.07em;pointer-events:none;opacity:0;transition:opacity .18s}
.lira3d-message.visible{opacity:1}
.lira3d-menu{position:absolute;inset:0;display:flex;align-items:center;padding:7% 8%;background:linear-gradient(90deg,#050910f5 0%,#050910df 33%,#05091066 60%,#0509101a 100%);z-index:15;overflow-y:auto}
.lira3d-menu[hidden]{display:none}.lira3d-menu-content{width:min(470px,56%)}
.lira3d-brand{font-size:12px;color:#d0b47b;letter-spacing:.35em;margin-bottom:20px;font-weight:700}
.lira3d-menu h1{font-size:clamp(34px,5.8vw,82px);font-weight:400;line-height:.94;letter-spacing:-.055em;margin:0 0 18px;font-family:Georgia,'Times New Roman',serif}
.lira3d-menu h1 em{display:block;color:#dfc28c;font-style:normal;font-size:1.33em}.lira3d-menu p{font-size:15px;line-height:1.6;color:#b2beca;margin:0 0 26px;max-width:370px}
.lira3d-menu-actions{display:flex;flex-wrap:wrap;gap:9px;max-width:390px}.lira3d-button{border:1px solid #a7946d70;background:#111923db;color:#e8e7df;padding:13px 18px;border-radius:3px;font-size:14px;letter-spacing:.05em;font-weight:700;cursor:pointer;text-decoration:none;min-height:44px}
.lira3d-button.primary{background:#d4b579;border-color:#d4b579;color:#171b20;width:100%;text-align:left;display:flex;justify-content:space-between}.lira3d-button:hover{filter:brightness(1.2)}.lira3d-button:focus-visible{outline:2px solid #fff;outline-offset:3px}.lira3d-button:disabled{opacity:.4;cursor:default;filter:none}
.lira3d-help{font-size:12px;color:#8999a8;margin-top:23px;line-height:1.8}.lira3d-help kbd{font:inherit;color:#d1dbe1;border-bottom:1px solid #586674;padding:1px 2px}
.lira3d-edition{position:absolute;right:28px;bottom:23px;font-size:11px;color:#e0d5be;letter-spacing:.2em;opacity:.75}.lira3d-menu .lira3d-home{position:absolute;top:22px;left:28px;color:#c5cdd4;text-decoration:none;font-size:13px}
.lira3d-level-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.lira3d-level-list button{text-align:left;padding:10px;font-size:12px;min-height:50px}.lira3d-level-list small{display:block;color:#c1a875;margin-bottom:3px}
.lira3d-boss{position:absolute;left:32%;right:32%;bottom:10%;height:5px;background:#050b13bb}.lira3d-boss i{display:block;height:100%;background:#b7444e;transition:width .1s}.lira3d-boss span{position:absolute;bottom:12px;width:100%;text-align:center;font-size:11px;letter-spacing:.12em;color:#e4c59c;text-shadow:0 2px 4px #000}
.lira3d .actionBtn{background:#07101a8f;backdrop-filter:none}.lira3d .dirBtn{background:#111a2326}.lira3d .systemButtons{display:none}.lira3d #mobileControls{z-index:14}
.lira3d.menu-open #mobileControls{display:none}.lira3d.menu-open .lira3d-top{opacity:0;pointer-events:none}.lira3d.menu-open .lira3d-tools{pointer-events:none}.lira3d.menu-open .lira3d-bottom{display:none}
.lira3d-rotate{display:none;position:absolute;inset:auto 16px 16px;background:#0e1723ed;border:1px solid #bca57760;padding:13px;font-size:13px;line-height:1.5;text-align:center;z-index:20}
@media(max-height:560px){.lira3d-top{inset:10px 12px auto}.lira3d-status{width:180px;padding:9px 12px}.lira3d-status header{font-size:12px;margin-bottom:6px}.lira3d-meta{font-size:11px}.lira3d-bar{margin-top:5px}.lira3d-level strong{font-size:12px}.lira3d-level small,.lira3d-level span{font-size:10px}.lira3d-bottom{bottom:9px;font-size:10px}.lira3d-tool{min-height:34px;min-width:34px;padding:6px}.lira3d-brand{margin-bottom:12px;font-size:10px}.lira3d-menu h1{font-size:42px;margin-bottom:12px}.lira3d-menu p{font-size:13px;margin-bottom:15px}.lira3d-button{padding:10px 14px;min-height:39px;font-size:12px}.lira3d-help{margin-top:12px;font-size:10px}.lira3d-menu .lira3d-home{top:12px;left:18px}.lira3d-edition{bottom:12px;font-size:10px}.lira3d-level-list button{padding:7px;min-height:40px;font-size:11px}}
@media(pointer:coarse),(max-width:900px){.lira3d-bottom{display:none}.lira3d-message{bottom:27%;font-size:12px;padding:7px 12px}.lira3d-menu{padding:6%}.lira3d .pad{width:clamp(108px,17vw,160px);bottom:10px}.lira3d .actions{bottom:10px;width:clamp(165px,25vw,225px);height:clamp(110px,17vw,155px)}.lira3d .actionBtn{width:clamp(48px,7.5vw,68px);height:clamp(48px,7.5vw,68px)}.lira3d .swordBtn{width:clamp(36px,5.4vw,46px);height:clamp(36px,5.4vw,46px)}.lira3d-boss{bottom:5%;left:35%;right:35%}}
@media(orientation:portrait) and (max-width:900px){.lira3d #gameShell{width:100vw;height:100dvh;aspect-ratio:auto}.lira3d-menu{padding:17% 8%;align-items:flex-start;background:linear-gradient(#050910ba,#050910e8)}.lira3d-menu-content{width:100%}.lira3d-menu h1{font-size:clamp(48px,15vw,76px)}.lira3d-menu p{max-width:100%}.lira3d-menu-actions{max-width:100%}.lira3d-rotate{display:block}.lira3d-menu .lira3d-home{top:22px}.lira3d-edition{display:none}.lira3d-level{display:none}.lira3d-top{gap:6px}.lira3d-status{width:155px}.lira3d-tools{gap:4px}.lira3d-tool{font-size:12px;min-width:32px}.lira3d #liraQuality{max-width:72px;font-size:10px}.lira3d-help{font-size:12px}.lira3d-level-list button{font-size:13px}.lira3d:not(.menu-open) .lira3d-rotate{inset:83px 12px auto;padding:6px;font-size:11px;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#lira3dRoot *{transition:none!important}}
#lira3dRoot [hidden]{display:none!important}

/* R1201 — guaranteed 3D boot splash + simplified A/B/S touch cluster. */
.lira3d-boot-splash{position:absolute;inset:0;z-index:40;background:#02040a;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .42s ease}
.lira3d-boot-splash img{width:100%;height:100%;object-fit:cover;display:block}
.lira3d-boot-splash.active{opacity:1;pointer-events:auto}
.lira3d-boot-splash.active.leaving{opacity:0;pointer-events:none}
.lira3d .actions.actionsR1201{width:clamp(150px,23vw,205px)!important;height:clamp(116px,18vw,158px)!important}
.lira3d .actionsR1201 [data-action="jump"]{right:0!important;bottom:0!important;left:auto!important;top:auto!important}
.lira3d .actionsR1201 [data-action="sword"]{right:0!important;top:0!important;left:auto!important;bottom:auto!important;width:clamp(48px,7.5vw,68px)!important;height:clamp(48px,7.5vw,68px)!important;transform:none!important}
.lira3d .actionsR1201 [data-action="sword"].active{transform:scale(.93)!important}
.lira3d .actionsR1201 [data-action="super"]{left:0!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translateY(-50%)!important;width:clamp(43px,6.5vw,58px)!important;height:clamp(43px,6.5vw,58px)!important}
.lira3d .actionsR1201 [data-action="super"].active{transform:translateY(-50%) scale(.93)!important}

/* R1461: all seven chapters own their controls; legacy A/B/S never overlays menus. */
body.lira3d #mobileControls{display:none!important;visibility:hidden!important;pointer-events:none!important}
