:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;letter-spacing:.025em;color:#f6e7b5;background:#061315;font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game{position:relative}canvas{outline:none;display:block}button,select,input{font:inherit}button{cursor:pointer;color:#f6e7b5;touch-action:manipulation;border:0}.game-ui :focus{outline:none}.keyboard-focus :is(button,select,input,a):focus-visible{outline-offset:3px;outline:2px solid #f3ce77}button:hover{filter:brightness(1.18)}button:active{filter:brightness(.95)}.game-ui{transform-origin:0 0;pointer-events:none;width:1280px;height:720px;position:fixed}.hud-layer,.controls-layer,.modal-layer{position:absolute;inset:0}.game-ui button,.game-ui select,.game-ui input{pointer-events:auto}.gold-button,.secondary-button{background:var(--skin-primary,linear-gradient(#efd482, #b48c3c)) center / 100% 100% no-repeat;letter-spacing:1px;color:#2d1b0d;text-shadow:0 1px #ffedb2;min-height:70px;padding:18px 48px;font-size:28px;font-weight:700}.secondary-button{background-image:var(--skin-secondary);color:#f6e7b5;text-shadow:0 2px #041a25}.main-menu{text-align:center;flex-direction:column;gap:10px;display:flex;position:absolute}.main-menu button{font-weight:400}.menu-note{text-shadow:0 2px 5px #000;margin:8px 0 0;font-size:25px}.preview-note{color:#b5cfcd;margin:2px 0;font:19px Palatino Linotype,Book Antiqua,Palatino,Georgia,serif}.loading-content{text-align:center;text-shadow:0 2px 8px #000;width:min(630px,100% - 50px);position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.loading-title{letter-spacing:5px;margin:0 0 16px;font-size:26px}.loading-progress{accent-color:#57d6ce;width:100%;height:22px}.loading-percent{margin:8px 0;font-size:23px}.loading-tip{margin:8px 0;font-size:24px}.boot-message{text-align:center;width:100%;font-size:30px;position:absolute;top:45%}.player-status{background:#06272bea;border:1px solid #b99b58;border-radius:8px;align-items:center;gap:14px;padding:10px 20px;display:flex;position:absolute;top:22px;left:25px}.health-bar{appearance:none;background:#041e27;border:2px solid #e7c477;border-radius:7px;width:205px;height:22px;padding:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #6ce9df,0 0 9px #58e5db70,0 0 15px #e3bb5433}.health-bar::-webkit-progress-bar{background:#230c19;border-radius:3px}.health-bar::-webkit-progress-value{background:linear-gradient(#b4193d,#850a29);border-radius:3px;box-shadow:inset 0 1px #e7587244}.health-bar::-moz-progress-bar{background:linear-gradient(#b4193d,#850a29);border-radius:3px;box-shadow:inset 0 1px #e7587244}.training-label{letter-spacing:3px;text-shadow:0 2px 6px #000;font-size:26px;position:absolute;top:34px;left:50%;transform:translate(-50%)}.hud-actions{gap:8px;display:flex;position:absolute;top:22px;right:24px}.lesson-card{background:var(--skin-card) center / 100% 100% no-repeat;text-align:center;min-height:145px;padding:23px 30px;position:absolute;bottom:18px;left:250px;right:250px}.lesson-title{color:#e9c769;margin:0 0 9px;font-size:24px}.lesson-instruction{color:#fff1d0;margin:0;font-size:25px;line-height:1.35}.dialog-backdrop{pointer-events:auto;background:#041419ce;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialog-panel{text-align:center;background:#06292c;border:2px solid #b99b58;border-radius:12px;flex-direction:column;gap:10px;width:760px;max-height:680px;padding:28px 45px;display:flex;overflow:auto;box-shadow:0 8px 50px #0009}.dialog-title{color:#e9c769;margin:0;font-size:37px}.dialog-description{color:#e2e6d5;margin:6px 0 16px;font-size:23px;line-height:1.5}.settings-row{justify-content:space-between;align-items:center;gap:20px;font-size:26px;display:flex}.settings-select{color:#faf0ce;background:#0e4247;border:1px solid #aa985b;width:240px;padding:7px 14px}.settings-range{accent-color:#e7c26c;width:240px}.control-reference{white-space:pre-line;color:#bdd7d4;margin:8px 0;font-size:20px;line-height:1.45}.thoth-portrait{background:var(--icon-thoth) center / contain no-repeat;height:95px}.touch-stick{perspective:450px;background:var(--skin-joystick-base) center / 112% no-repeat;touch-action:none;pointer-events:auto;width:170px;height:170px;position:absolute;bottom:25px;left:28px}.stick-thumb{filter:drop-shadow(3px 6px 3px #001315a0);background:var(--skin-joystick-thumb) center / 145% no-repeat;pointer-events:none;width:74px;height:74px;position:absolute;top:48px;left:48px}.controls-layer[hidden]{display:none}@media (prefers-reduced-motion:reduce){button{transition:none}}.game-ui [hidden]{display:none!important}.portrait-message{z-index:100;text-align:center;color:#f4d47e;background:#06292c;justify-content:center;align-items:center;padding:32px;font:24px/1.5 Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;display:flex;position:fixed;inset:0}.portrait-message[hidden]{display:none}.loading-track{position:relative}.loading-scarab{background:var(--icon-scarab) center / contain no-repeat;width:44px;height:44px;position:absolute;top:-10px;left:0;transform:translate(-50%)}.action-icon{pointer-events:none;filter:drop-shadow(0 2px 2px #061315);background:50%/contain no-repeat;width:100%;height:100%;display:block}.action-fire .action-icon{background-image:var(--icon-fire)}.action-melee .action-icon{background-image:var(--icon-melee)}.action-wing .action-icon{background-image:var(--icon-wing)}.touch-actions{gap:9px;width:310px;display:flex;position:absolute;bottom:25px;right:25px}.touch-action{background:var(--skin-stick) center / 100% 100% no-repeat, #083b46;touch-action:none;border:0;border-radius:50%;width:96px;height:96px;padding:23px}.touch-action.held{background:var(--skin-stick) center / 100% 100% no-repeat, #106876;filter:brightness(1.25)}.touch-mode .lesson-card{bottom:28px;left:215px;right:340px}.hud-icon{background:var(--skin-stick) center / 100% 100% no-repeat, #06272bd9;border-radius:50%;width:84px;height:84px;padding:21px}.hud-symbol{background:50%/contain no-repeat;width:100%;height:100%;display:block}.hud-thoth .hud-symbol{background-image:var(--icon-thoth)}.hud-pause .hud-symbol{background-image:var(--icon-pause)}.hud-skip .hud-symbol{background-image:var(--icon-skip)}.settings-toggle{accent-color:#eac566;width:28px;height:28px}.assist-note{color:#bdd7d4;margin:0 0 8px;font-size:20px;line-height:1.4}.action-melee.assisted{animation:1.4s ease-in-out infinite alternate assisted-glow;box-shadow:0 0 14px 3px #efcc65,0 0 24px #58e3d7}@keyframes assisted-glow{to{box-shadow:0 0 22px 5px #efcc65,0 0 35px #58e3d7}}@media (prefers-reduced-motion:reduce){.action-melee.assisted{animation:none}}.touch-stick.engaged .stick-thumb{filter:drop-shadow(4px 8px 4px #001315c0)brightness(1.08)}.mission-objective{text-align:center;background:#082329b3;border:1px solid #c39a4966;border-radius:14px;width:520px;padding:8px 18px;position:absolute;top:106px;left:50%;transform:translate(-50%)}.mission-objective p{margin:0;font-size:17px}.shard-balance{color:#ffe29a;background:var(--icon-scarab) left center / 27px no-repeat;padding-left:32px;font-size:22px}.boss-panel{background:#041e27e8;border:2px solid #d4b16a;border-radius:10px;width:min(600px,100% - 650px);padding:10px 22px 14px;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 2px 14px #000b,inset 0 0 10px #b2883944}.boss-health{width:100%}.intro-panel{text-align:center;pointer-events:auto;background:#071e25ad;border:2px solid #c9a458;border-radius:18px;width:760px;padding:14px 24px;position:absolute;bottom:24px;left:310px}.intro-line{color:#f2ead7;margin:0 0 8px;font-size:23px;line-height:1.35}.intro-counter{color:#caa660;margin:0}.intro-panel button{width:275px;min-height:54px;margin:6px;padding:12px 35px;font-size:21px;display:inline-block}.touch-mode .mission-objective{top:104px}.credit-link{color:#efc978;margin:8px;display:block}.mission-ui .player-status{gap:10px;width:auto}.mission-ui .training-label{letter-spacing:1px;font-size:23px}.boss-name{text-align:center;color:#ffe3ae;text-shadow:0 2px 4px #000;margin-bottom:8px;font-size:20px}.themed-progress{--meter-fill:linear-gradient(90deg, #197b83, #68ebd2);appearance:none;background:#04232e;border:2px solid #dfbc71;border-radius:8px;height:28px;padding:3px;overflow:hidden;box-shadow:0 0 10px #d9ad4933}.themed-progress::-webkit-progress-bar{background:#031820;border-radius:4px}.themed-progress::-webkit-progress-value{background:var(--meter-fill);border-radius:4px;box-shadow:0 0 7px #efc66b}.themed-progress::-moz-progress-bar{background:var(--meter-fill);border-radius:4px}.boss-health{--meter-fill:linear-gradient(90deg, #a82c25, #e86338, #f9c35e)}.intro-ui .intro-panel{width:min(760px,100% - 32px);max-height:calc(100% - 24px);padding:12px 20px;left:50%;overflow:auto;transform:translate(-50%)}.intro-ui .intro-panel button{width:min(275px,100% - 12px)}.intro-ui .intro-line{font-size:clamp(17px,2.5vw,23px)}.menu-footer{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-footer button{min-height:52px;padding:12px 20px;font-size:20px}.viewport-ui{width:100%;height:100%;inset:0}.menu-art{width:max(100%,177.778vh);height:max(100%,56.25vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-background{width:100%;height:100%;position:absolute}.menu-hero{height:71%;position:absolute;bottom:16.8%;left:9%}.menu-logo{object-fit:contain;width:min(47vw,660px);height:29%;position:absolute;top:9%;left:48%}.viewport-ui .main-menu{gap:clamp(4px,1vh,12px);width:min(39%,510px);top:40%;left:53%}.viewport-ui .main-menu button{min-height:clamp(40px,8.5vh,78px);padding:8px 30px;font-size:clamp(17px,3.2vh,29px)}.viewport-ui .menu-footer button{min-height:clamp(36px,6vh,52px);padding:6px 22px;font-size:clamp(14px,2.6vh,21px)}.viewport-ui .menu-note{margin:3px 0;font-size:clamp(16px,3vh,25px)}.viewport-ui .preview-note{font-size:clamp(11px,2.1vh,18px);line-height:1.3}.menu-sound{top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));width:clamp(44px,7vh,68px);height:clamp(44px,7vh,68px);padding:13px;position:absolute}.hud-sound .hud-symbol{background:#f4d17c;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z'/%3E%3Cpath d='M16 8q5 4 0 8m3-11q8 7 0 14' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z'/%3E%3Cpath d='M16 8q5 4 0 8m3-11q8 7 0 14' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 50%/contain no-repeat}.hud-sound.muted .hud-symbol{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z'/%3E%3Cpath d='m16 8 6 8m0-8-6 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z'/%3E%3Cpath d='m16 8 6 8m0-8-6 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")}.viewport-ui .dialog-panel{width:min(720px,100% - 32px);max-height:calc(100% - 24px);padding:clamp(16px,3vh,28px) clamp(22px,4vw,45px)}.viewport-ui .dialog-title{font-size:clamp(25px,4vh,37px)}.viewport-ui .dialog-description{margin-bottom:8px;font-size:clamp(16px,2.5vh,23px)}.viewport-ui .dialog-panel>button{align-self:center;width:min(100%,420px);min-height:54px;padding:12px 44px;font-size:22px}@media (orientation:portrait){.viewport-ui .menu-art{left:0;transform:translateY(-50%)}.viewport-ui .menu-hero{height:62%;bottom:16.7%;left:6%}.viewport-ui .menu-logo{width:86%;height:23%;top:4%;left:7%}.viewport-ui .main-menu{top:auto;left:8%;bottom:max(22px, env(safe-area-inset-bottom));background:#041b24b8;border-radius:16px;width:84%;padding:12px}.viewport-ui .main-menu button{min-height:52px;font-size:22px}.viewport-ui .menu-footer button{min-height:42px;font-size:17px}.viewport-ui .menu-note{font-size:19px}.viewport-ui .preview-note{font-size:13px}.viewport-ui .settings-row{gap:8px;font-size:18px}.viewport-ui .settings-select,.viewport-ui .settings-range{width:145px}}@media (height<=500px) and (orientation:landscape){.viewport-ui .settings-row{font-size:20px}.viewport-ui .settings-select{padding:5px 12px}.viewport-ui .assist-note,.viewport-ui .control-reference{font-size:16px}}.power-indicator{--countdown:360deg;background:conic-gradient(#f5d178 var(--countdown), #37565a 0);border-radius:50%;flex:0 0 46px;width:46px;height:46px;padding:3px;box-shadow:0 0 9px #edc86955}.power-icon{background:#082f36 50%/80% no-repeat;border-radius:50%;width:100%;height:100%;display:block}.dialog-panel.settings-panel{height:min(630px,100% - 24px);overflow:hidden}.settings-panel .dialog-description{margin:0;font-size:18px}.settings-tabs{flex:none;gap:8px;display:flex}.settings-tab{background:#113e44;border:1px solid #b99b5866;border-radius:7px;flex:1;min-height:44px;padding:8px;font-size:21px}.settings-tab[aria-selected=true]{color:#211a0d;background:#ceab5b;border-color:#f7d480}.settings-body{flex:1;min-height:0;padding:8px 6px;overflow:auto}.settings-tab-panel{flex-direction:column;gap:16px;display:flex}.settings-panel .settings-row{font-size:22px}.settings-panel .settings-select,.settings-panel .settings-range{width:min(240px,48%)}.settings-panel .assist-note,.settings-panel .control-reference{font-size:17px;line-height:1.4}.settings-panel>.gold-button{flex:none;min-height:52px;padding:12px 40px;font-size:23px}.settings-tab-panel>button{min-height:46px;padding:10px 34px;font-size:20px}.key-bindings{grid-template-columns:1fr 1fr;gap:8px 20px;display:grid}.key-binding{text-align:left;justify-content:space-between;align-items:center;gap:8px;font-size:18px;display:flex}.binding-key{color:#ffe0a1;background:#0e4247;border:1px solid #b99b58;border-radius:5px;min-width:90px;min-height:42px;padding:8px;font-size:17px}.binding-status{color:#f0d49b;margin:0;font-size:17px;line-height:1.4}@media (width<=500px) and (orientation:portrait){.viewport-ui .settings-panel{padding:18px}.viewport-ui .settings-tab{font-size:17px}.viewport-ui .settings-panel .settings-row{font-size:18px}.viewport-ui .key-bindings{gap:8px}.viewport-ui .key-binding{gap:3px;font-size:15px}.viewport-ui .binding-key{min-width:67px;font-size:15px}}
