.door-transition{z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.door-transition--idle{visibility:hidden;opacity:0}.door-transition--fade-in{visibility:visible;background:#000}.door-transition--fade-in .door-transition__scene{opacity:0;animation:.3s ease-out forwards dt-fade-in}.door-transition--door-appear,.door-transition--ladder-appear,.door-transition--door-open,.door-transition--ladder-climb-down,.door-transition--ladder-climb-up{visibility:visible;opacity:1;background:#000}.door-transition--fade-out{visibility:visible;opacity:1;background:#000;animation:.4s ease-in forwards dt-fade-out}.door-transition__scene{perspective:800px;width:60vh;max-width:90vw;height:60vh;max-height:90vw;position:relative}.door-transition[data-transition-type=ladder]{overflow:hidden}.door-transition[data-direction=down]{align-items:flex-start}.door-transition[data-direction=up]{align-items:flex-end}.door-transition[data-transition-type=ladder] .door-transition__scene{width:90vw;max-width:100vw;height:120vh;max-height:none}.door-transition--fade-in .door-transition__scene{transform:scale(1)translateY(0)}.door-transition--door-appear .door-transition__scene{opacity:1;transform:scale(1)translateY(0)}.door-transition--ladder-appear .door-transition__scene{animation:.4s ease-out forwards dt-ladder-appear}.door-transition--door-open .door-transition__scene{animation:2s ease-in-out forwards dt-door-open-scene}.door-transition--ladder-climb-down .door-transition__scene{animation:2s ease-in-out forwards dt-ladder-climb-down;transform:scale(1)translateY(0)}.door-transition--ladder-climb-up .door-transition__scene{animation:2s ease-in-out forwards dt-ladder-climb-up;transform:scale(1)translateY(0)}.door-transition[data-transition-type=door].door-transition--fade-out .door-transition__scene{opacity:.8;animation:.4s ease-in forwards dt-door-fadeout-scene;transform:scale(2.5)translateY(0)}.door-transition[data-transition-type=ladder][data-direction=down].door-transition--fade-out .door-transition__scene{opacity:.8;animation:.4s ease-in forwards dt-ladder-fadeout-scene;transform:scale(1)translateY(-30%)}.door-transition[data-transition-type=ladder][data-direction=up].door-transition--fade-out .door-transition__scene{opacity:.8;animation:.4s ease-in forwards dt-ladder-fadeout-scene;transform:scale(1)translateY(30%)}.door-transition__panel{width:100%;height:100%;transform-style:preserve-3d;transform-origin:100%}.door-transition--fade-in .door-transition__panel,.door-transition--idle .door-transition__panel,.door-transition--door-appear .door-transition__panel{transform:rotateY(0)}.door-transition--door-open .door-transition__panel{animation:2s ease-in-out forwards dt-door-open-panel}.door-transition[data-transition-type=door].door-transition--fade-out .door-transition__panel{animation:none;transform:rotateY(-85deg)}.door-transition__door{width:100%;height:100%;position:relative}.door-transition__door img{width:100%;height:100%;display:block}.door-transition[data-transition-type=ladder] .door-transition__door img{object-fit:fill}@keyframes dt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes dt-door-appear{0%{opacity:0;transform:scale(.4)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes dt-ladder-appear{0%{opacity:0;transform:scale(.4)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes dt-door-open-scene{0%{transform:scale(1)translateY(0)}12.5%{transform:scale(1.15)translateY(-6px)}25%{transform:scale(1.35)translateY(5px)}37.5%{transform:scale(1.6)translateY(-5px)}50%{transform:scale(1.85)translateY(4px)}62.5%{transform:scale(2.1)translateY(-3px)}75%{transform:scale(2.3)translateY(2px)}87.5%{transform:scale(2.45)translateY(-1px)}to{transform:scale(2.5)translateY(0)}}@keyframes dt-door-open-panel{0%{transform:rotateY(0)}to{transform:rotateY(-85deg)}}@keyframes dt-door-fadeout-scene{0%{opacity:.8;transform:scale(2.5)translateY(0)}to{opacity:0;transform:scale(2.5)translateY(0)}}@keyframes dt-ladder-fadeout-scene{0%{opacity:.8}to{opacity:0}}@keyframes dt-ladder-climb-down{0%{transform:scale(1)translateY(0%)}12%{transform:scale(.94)translateY(-4%)}24%{transform:scale(1.06)translateY(-12%)}28%{transform:scale(1)translateY(-12%)}40%{transform:scale(.94)translateY(-16%)}52%{transform:scale(1.06)translateY(-22%)}58%{transform:scale(1)translateY(-22%)}72%{transform:scale(.94)translateY(-26%)}82%{transform:scale(1.06)translateY(-30%)}88%{transform:scale(1)translateY(-30%)}to{transform:scale(1)translateY(-30%)}}@keyframes dt-ladder-climb-up{0%{transform:scale(1)translateY(0%)}12%{transform:scale(.94)translateY(4%)}24%{transform:scale(1.06)translateY(12%)}28%{transform:scale(1)translateY(12%)}40%{transform:scale(.94)translateY(16%)}52%{transform:scale(1.06)translateY(22%)}58%{transform:scale(1)translateY(22%)}72%{transform:scale(.94)translateY(26%)}82%{transform:scale(1.06)translateY(30%)}88%{transform:scale(1)translateY(30%)}to{transform:scale(1)translateY(30%)}}.ui-game-nav{z-index:20;padding:7px 8px max(7px, env(safe-area-inset-bottom));border-top:2px solid var(--ui-ink);background:var(--ui-metal);box-shadow:inset 0 1px 0 var(--ui-gold-dark);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid;position:relative}.ui-game-nav__item{color:#aaa995;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:55px;padding:3px 2px 2px;text-decoration:none;transition:color .14s,background-color .14s,transform .14s;display:flex;position:relative}.ui-game-nav__item:after{background:var(--ui-gold);content:"";opacity:0;height:2px;position:absolute;bottom:0;left:10px;right:10px}.ui-game-nav__icon-wrap{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ui-game-nav__icon{object-fit:contain;filter:grayscale(.55)brightness(.8)drop-shadow(0 2px 1px #0000008c);opacity:.72;width:100%;height:100%;transition:filter .14s,opacity .14s,transform .14s}.ui-game-nav__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;line-height:1.2;overflow:hidden}.ui-game-nav__item--active{border-color:var(--ui-gold-dark);color:var(--ui-gold-light);background:#202624;transform:translateY(-2px)}.ui-game-nav__item--active:after{opacity:1}.ui-game-nav__item--active .ui-game-nav__icon{filter:drop-shadow(0 0 5px #dab053a6)drop-shadow(0 2px 1px #0000008c);opacity:1;transform:scale(1.08)}.ui-game-nav__item:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.ui-game-nav__item,.ui-game-nav__icon{transition:none}}.ui-btn{--btn-fill:#d8ac59;--btn-hover:#e8c476;--btn-ink:#2d2115;border:2px solid var(--ui-ink);background:var(--btn-fill);min-width:44px;max-width:100%;color:var(--btn-ink);box-shadow:0 4px 0 var(--ui-ink);font-family:var(--font-main);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:750;line-height:1.35;transition:background-color .12s,transform .12s,box-shadow .12s;display:inline-flex;position:relative}.ui-btn--m{min-height:44px;padding:10px 16px;font-size:13px}.ui-btn--l{min-height:50px;padding:13px 22px;font-size:15px}.ui-btn--full{width:100%}.ui-btn--secondary{--btn-fill:var(--ui-metal);--btn-hover:var(--ui-metal-light);--btn-ink:var(--ui-gold-light)}.ui-btn--danger{--btn-fill:var(--ui-danger);--btn-hover:#913d42;--btn-ink:#fff0d2}.ui-btn__label{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:0;display:inline-flex;position:relative}.ui-btn__icon{flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:relative}.ui-btn__icon>img,.ui-btn__icon>svg{object-fit:contain;width:100%;height:100%}@media (hover:hover){.ui-btn:hover:not(:disabled){background-color:var(--btn-hover)}}.ui-btn:active:not(:disabled){box-shadow:0 1px 0 var(--ui-ink);transform:translateY(3px)}.ui-btn:disabled{--btn-fill:#373a33;--btn-ink:#a6a590;cursor:not-allowed;box-shadow:0 2px 0 var(--ui-ink)}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}.ui-btn:active:not(:disabled){transform:none}}.ui-btn-group{gap:12px;max-width:100%;display:inline-flex}.ui-btn-group--horizontal{flex-flow:wrap}.ui-btn-group--vertical{flex-direction:column;align-items:stretch}.ui-btn-group--no-gap{border:1px solid var(--ui-gold-dark);background:var(--ui-ink);border-radius:7px;gap:0;padding:3px}.ui-btn-group--no-gap>.ui-btn{box-shadow:none}.ui-btn-group--no-gap>.ui-btn:active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.ui-btn-group--no-gap>.ui-btn:active:not(:disabled){transform:none}}.ui-modal-overlay{z-index:1500;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));background:#0a0f0fc7;justify-content:center;align-items:center;animation:.16s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.ui-modal-panel{border:2px solid var(--ui-ink);background:var(--ui-metal);border-radius:8px;flex-direction:column;width:100%;max-width:370px;min-height:0;max-height:100%;padding:24px;animation:.18s ease-out modal-pop-in;display:flex;position:relative;box-shadow:0 8px #00000059}.ui-modal-panel:before{border:26px solid #0000;border-image:var(--ui-panel-frame) 22% / 26px stretch;content:"";pointer-events:none;position:absolute;inset:-2px}.ui-modal__title{color:var(--ui-gold-light);font-family:var(--ui-font-display);text-align:center;overflow-wrap:anywhere;flex-shrink:0;padding:0 4px 16px;font-size:23px;line-height:1.2}.ui-modal__body{overscroll-behavior:contain;border:1px solid var(--ui-gold-dark);background:var(--ui-paper) var(--ui-parchment) repeat;min-height:0;color:var(--ui-paper-ink);font-size:var(--font-size-md);text-align:center;overflow-wrap:anywhere;background-size:256px;border-radius:3px;padding:20px 16px;line-height:1.55;overflow-y:auto}.ui-modal__body--inventory{color:#eee3c8;scrollbar-color:var(--ui-gold-dark) #1b211f;background:#1b211f}.ui-modal__body>p+p{margin-top:10px}.ui-modal__actions{flex-shrink:0;justify-content:center;margin-top:18px;display:flex}.ui-modal__actions .ui-btn-group{width:100%}.ui-modal__actions .ui-btn{flex:100px;padding-inline:14px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ui-modal-overlay,.ui-modal-panel{animation:none}}.ui-status-bar{z-index:20;min-height:48px;padding:max(7px, env(safe-area-inset-top)) 12px 7px;border-bottom:2px solid var(--ui-ink);background:var(--ui-metal);box-shadow:inset 0 -1px 0 var(--ui-gold-dark), 0 3px 0 #0000003d;flex-shrink:0;align-items:center;gap:9px;display:flex;position:relative}.ui-status-bar:after{background:var(--ui-gold);content:"";opacity:.55;height:1px;position:absolute;bottom:-2px;left:10px;right:10px}.ui-status-meter{flex:1 1 0;align-items:center;min-width:0;display:flex}.ui-status-meter--hp{flex-grow:1.35}.ui-status-meter__emblem{z-index:2;border:2px solid var(--ui-ink);width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--ui-gold-dark);background:#2a302e;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;margin-right:-7px;display:flex;position:relative}.ui-status-meter__emblem img{object-fit:contain;width:23px;height:23px}.ui-status-meter__track{border:2px solid var(--ui-ink);width:100%;height:20px;box-shadow:inset 0 0 0 1px var(--ui-gold-dark), 0 1px 0 #ffffff14;background:#261919;border-radius:3px;display:block;position:relative;overflow:hidden}.ui-status-meter__fill{background:#b83b3f;max-width:calc(100% - 4px);transition:width .22s;display:block;position:absolute;inset:2px auto 2px 2px;box-shadow:inset 0 -3px #7b2429}.ui-status-meter--ap .ui-status-meter__track{background:#172927}.ui-status-meter--ap .ui-status-meter__fill{background:#338f8b;box-shadow:inset 0 -3px #215e5b}.ui-status-meter__value{color:#fff3dc;text-shadow:0 1px 2px #000;justify-content:center;align-items:center;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.ui-status-coins{border:2px solid var(--ui-ink);min-width:50px;height:30px;box-shadow:inset 0 0 0 1px var(--ui-gold-dark);background:#332919;border-radius:15px;flex:0 auto;justify-content:flex-end;align-items:center;gap:4px;padding:3px 5px 3px 10px;display:flex}.ui-status-coins__value{min-width:0;color:var(--ui-gold-light);text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.ui-status-coins__icon{object-fit:contain;flex:0 0 23px;width:23px;height:23px}@media (width<=350px){.ui-status-bar{gap:6px;padding-inline:8px}.ui-status-coins{min-width:43px;padding-left:7px}}@media (prefers-reduced-motion:reduce){.ui-status-meter__fill{transition:none}}.top-bar-shell{z-index:30;flex-shrink:0;position:relative}.ui-loading-screen{width:100%;min-height:0;color:var(--ui-gold-light);background:#090d12;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex;overflow:hidden}.ui-loading-screen__mark{width:58px;height:58px;animation:1.4s linear infinite ui-loading-spin;position:relative}.ui-loading-screen__mark span{border:2px solid var(--ui-ink);background:var(--ui-gold);width:10px;height:10px;position:absolute;top:24px;left:24px}.ui-loading-screen__mark span:first-child{transform:rotate(0)translateY(-23px)rotate(45deg)}.ui-loading-screen__mark span:nth-child(2){transform:rotate(90deg)translateY(-23px)rotate(45deg)}.ui-loading-screen__mark span:nth-child(3){transform:rotate(180deg)translateY(-23px)rotate(45deg)}.ui-loading-screen__mark span:nth-child(4){transform:rotate(270deg)translateY(-23px)rotate(45deg)}.ui-loading-screen__label{font-family:var(--ui-font-display);letter-spacing:1.8px;text-transform:uppercase;font-size:15px;font-weight:700}@keyframes ui-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-loading-screen__mark{animation-duration:2.8s}}.ui-snackbar-region{top:max(12px, env(safe-area-inset-top));z-index:2000;pointer-events:none;width:calc(100% - 32px);max-width:382px;position:fixed;left:50%;transform:translate(-50%)}.ui-snackbar{--notice-accent:#665025;border:2px solid var(--ui-ink);background:var(--ui-paper) var(--ui-parchment) repeat;color:var(--ui-paper-ink);font-size:var(--font-size-sm);background-size:256px;border-radius:5px;align-items:center;gap:12px;padding:18px 22px;font-weight:650;line-height:1.45;animation:.18s ease-out snackbar-in;display:flex;position:relative;box-shadow:0 5px #0000004d}.ui-snackbar:before{border:14px solid #0000;border-image:var(--ui-button-frame) 20% / 14px stretch;content:"";pointer-events:none;position:absolute;inset:-2px}.ui-snackbar--success{--notice-accent:#28564a}.ui-snackbar--error{--notice-accent:var(--ui-danger)}.ui-snackbar__icon{border:1px solid var(--ui-ink);background:var(--notice-accent);color:#fff0d2;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;height:28px;font-size:17px;font-weight:800;display:flex}.ui-snackbar__text{overflow-wrap:anywhere;min-width:0}@keyframes snackbar-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-snackbar{animation:none}}.battle-active-effects{z-index:6;pointer-events:none;flex-direction:column-reverse;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;bottom:8px}.battle-active-effects--player{left:8px}.battle-active-effects--enemy{right:8px}.battle-active-effects__icon{box-sizing:border-box;object-fit:contain;background:#14142be0;border:1px solid #efd699bf;border-radius:6px;flex:0 0 32px;width:32px;height:32px;box-shadow:0 2px 4px #000000a6}.battle-card{--card-aspect:512 / 683;--cost-left:14.5%;--cost-top:11.7%;--name-left:27%;--name-top:8.6%;--name-width:65%;--name-height:8.2%;--icon-left:10%;--icon-top:17%;--icon-width:82%;--icon-height:40%;--description-left:8%;--description-top:62.5%;--description-width:84%;--description-height:19%;--remaining-left:11%;--remaining-top:84%;--remaining-width:78%;--remaining-height:5%;isolation:isolate;width:100%;height:auto;aspect-ratio:var(--card-aspect);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;position:relative;container-type:inline-size}.battle-card__art-background,.battle-card__background{pointer-events:none;position:absolute}.battle-card__art-background{z-index:0;top:var(--icon-top);left:var(--icon-left);width:var(--icon-width);height:var(--icon-height);object-fit:cover}.battle-card__background{z-index:1;object-fit:fill;width:100%;height:100%;inset:0}.battle-card--map{--card-aspect:256 / 341;--cost-left:15%;--cost-top:11.7%;--icon-left:10%;--icon-top:14%;--icon-width:82%;--icon-height:73%}.battle-card--disabled{opacity:.35;pointer-events:none}.battle-card--glowing:not(.battle-card--disabled){filter:drop-shadow(0 0 1px #ffe6a3)drop-shadow(0 0 1px #ffe6a3)drop-shadow(0 0 4px #ffcf668c)}.battle-card__cost,.battle-card__name,.battle-card__icon,.battle-card__description,.battle-card__remaining{z-index:2;position:absolute}.battle-card__cost{top:var(--cost-top);left:var(--cost-left);color:#fff;text-shadow:0 1px 3px #000000d9;font-size:clamp(8px,10cqw,24px);font-weight:800;line-height:1;transform:translate(-50%,-50%)}.battle-card__name{top:var(--name-top);left:var(--name-left);width:var(--name-width);height:var(--name-height);color:#2c2116;text-align:center;justify-content:center;align-items:center;padding:0 2%;font-size:clamp(6px,5.5cqw,14px);font-weight:400;line-height:1.05;display:flex;overflow:hidden}.battle-card__icon{top:var(--icon-top);left:var(--icon-left);width:var(--icon-width);height:var(--icon-height);justify-content:center;align-items:center;padding:7%;display:flex}.battle-card__icon img{object-fit:contain;filter:drop-shadow(0 0 1px #c8b46e80)drop-shadow(0 2px 3px #0000004d);max-width:100%;max-height:100%}.battle-card__description{top:var(--description-top);left:var(--description-left);width:var(--description-width);height:var(--description-height);color:#2c2116;justify-content:center;align-items:center;padding:3% 7%;display:flex;overflow:hidden}.battle-card__value{text-align:center;font-size:clamp(6px,6.5cqw,14px);font-weight:600;line-height:1.15}.battle-card__remaining{top:var(--remaining-top);left:var(--remaining-left);width:var(--remaining-width);height:var(--remaining-height);color:#f8f4e8;text-align:center;text-shadow:0 1px 3px #000c;justify-content:center;align-items:center;padding:0 4%;font-size:clamp(6px,6.5cqw,14px);font-weight:700;line-height:1.05;display:flex;overflow:hidden}.battle-card--map{cursor:default;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);width:auto;height:70%}.battle-card--map:active{transform:none}.battle-card--map .battle-card__cost{font-size:clamp(2px,9cqw,10px)}.battle-card--map .battle-card__icon{padding:8%}.battle-card-details{color:#eee3c8;flex-direction:column;align-items:center;gap:16px;display:flex}.battle-card-details__preview{width:min(48vw,180px)}.battle-card-details__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;width:100%;margin:0;display:grid}.battle-card-details__stats div{min-width:0}.battle-card-details__stats dt{color:#bba56f;font-size:12px}.battle-card-details__stats dd{margin:2px 0 0;font-size:14px;font-weight:700}.battle-card-details__description{color:#f8f4e8;width:100%;margin:0;font-size:15px;line-height:1.45}.battle-card-hand{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:8px;min-height:0;padding:16px 8px;display:grid;overflow-y:auto}.battle-card-hand__card{min-width:0;position:relative}.battle-card-hand__details.ui-btn{z-index:4;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:20px;position:absolute;bottom:8px;right:8px}.battle-card-hand::-webkit-scrollbar{width:3px}.battle-card-hand::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.battle-card-hand::-webkit-scrollbar-track{background:0 0}.card-flight{z-index:1000;pointer-events:none;transform-origin:50%;animation:.7s ease-in forwards card-fly;position:fixed}@keyframes card-fly{0%{opacity:1;transform:translate(0)scale(1)rotate(0)}36%{transform:translate(var(--mid-x), var(--mid-y)) scale(1.3) rotate(-10deg);opacity:1}71%{transform:translate(var(--fly-dx), var(--fly-dy)) scale(.33) rotate(20deg);opacity:1}to{opacity:0}}.enemy-hp-bar{z-index:5;width:148px;height:32px;position:absolute;bottom:calc(100% + 26px);left:50%;transform:translate(-50%)}.enemy-hp-bar__frame{object-fit:fill;z-index:1;pointer-events:none;filter:drop-shadow(0 3px #00000080);width:100%;height:100%;position:absolute;inset:0}.enemy-hp-bar__track{clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 50%,calc(100% - 4px) 100%,4px 100%,0 50%);z-index:2;background:#111a1c;position:absolute;inset:9px 13px 8px;overflow:hidden}.enemy-hp-bar__damage,.enemy-hp-bar__fill{position:absolute;inset:0 auto 0 0}.enemy-hp-bar__damage{background:#f2d58b;transition:width .38s ease-out}.enemy-hp-bar__fill{transition:width .2s ease-out}.enemy-hp-bar__fill:after{content:"";background:#ffffff47;height:2px;position:absolute;top:2px;left:0;right:0}.enemy-hp-bar__fill--healthy{background:#269b68;border-bottom:3px solid #176345}.enemy-hp-bar__fill--warning{background:#d49a32;border-bottom:3px solid #875b20}.enemy-hp-bar__fill--danger{background:#c8433d;border-bottom:3px solid #742825}.enemy-hp-bar__text{z-index:3;color:#fff0c7;letter-spacing:.02em;text-shadow:-1px 0 #16191a,0 1px #16191a,1px 0 #16191a,0 -1px #16191a;pointer-events:none;justify-content:center;align-items:center;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.enemy-intro{z-index:3000;isolation:isolate;background:#090d12;display:flex;position:absolute;inset:0;overflow:hidden}.enemy-intro--ready{animation:4s linear both enemy-intro-exit}.enemy-intro__background,.enemy-intro__enemy,.enemy-intro__title,.enemy-intro__shade{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.enemy-intro__background{z-index:0;object-fit:cover;width:100%;height:100%;animation:.65s cubic-bezier(.2,.75,.25,1) both enemy-intro-background-in;inset:0}.enemy-intro__shade{z-index:1;opacity:0;border:12px solid #0000006b;animation:.35s ease-out .45s both enemy-intro-shade-in;inset:0;box-shadow:inset 0 0 0 1px #d1a23d61}.enemy-intro__enemy{z-index:2;transform-origin:50% 70%;width:min(116%,500px);height:auto;animation:.82s cubic-bezier(.12,.82,.18,1.08) .52s both enemy-intro-enemy-in;bottom:-4%;left:-8%}.enemy-intro__title{z-index:3;top:env(safe-area-inset-top);width:min(74.4%,320px);height:auto;animation:.72s cubic-bezier(.12,.82,.18,1.08) .68s both enemy-intro-title-in;right:-2%}@keyframes enemy-intro-background-in{0%{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes enemy-intro-shade-in{to{opacity:1}}@keyframes enemy-intro-enemy-in{0%{transform:translate(-115%)rotate(-8deg)scale(.86)}72%{transform:translate(2.5%)rotate(1deg)scale(1.025)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes enemy-intro-title-in{0%{transform:translate(125%)rotate(7deg)scale(.82)}72%{transform:translate(-3%)rotate(-1deg)scale(1.035)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes enemy-intro-exit{0%,92%{opacity:1}to{opacity:0}}@media (height<=700px){.enemy-intro__enemy{width:min(110%,480px);bottom:-11%;left:-5%}.enemy-intro__title{top:env(safe-area-inset-top);width:68.8%}}@media (prefers-reduced-motion:reduce){.enemy-intro__background,.enemy-intro__shade,.enemy-intro__enemy,.enemy-intro__title{animation-duration:1ms;animation-delay:0s}}.impact-effect{z-index:15;object-fit:contain;pointer-events:none;transform-origin:50%;animation:.5s cubic-bezier(.16,.8,.35,1) forwards impact-effect-life;position:absolute}.impact-effect--battle{width:128%;height:128%;inset:-14%}@keyframes impact-effect-life{0%{opacity:0;transform:scale(.45)rotate(-4deg)}18%{opacity:1;transform:scale(.95)rotate(0)}48%{opacity:1;transform:scale(1.08)rotate(1deg)}to{opacity:0;transform:scale(1.24)rotate(2deg)}}.enemy-character{width:100%;height:100%;position:relative}.enemy-shadow{filter:blur(1px);pointer-events:none;background:#0c101666;border-radius:50%;width:90%;height:14%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.enemy-character--en4 .enemy-shadow{width:110%}.enemy{pointer-events:none;transform-origin:50% 92%;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);width:100%;height:100%;position:relative}.enemy img{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.enemy__body{object-fit:contain;z-index:1;width:auto;height:104%;bottom:16%;left:50%;translate:-50%}.enemy__hand{z-index:2;width:32%;height:auto;position:absolute;top:14%}.enemy__hand--right{right:5%}.enemy__hand--left{left:5%;transform:scaleX(-1)}.enemy .enemy__hand-img{width:100%;height:auto;display:block;position:static}.enemy__foot{z-index:0;width:29%;height:auto;bottom:0}.enemy__foot--right{right:17%}.enemy__foot--left{left:17%;transform:scaleX(-1)}.enemy--en2 .enemy__hand,.enemy--en3 .enemy__hand{width:30%}.enemy--en2 .enemy__foot,.enemy--en3 .enemy__foot{width:27%}.enemy--en5 .enemy__body{height:110%;bottom:17%}.enemy--en5 .enemy__foot--right{right:14%}.enemy--en5 .enemy__foot--left{left:14%}.enemy--en5 .enemy__hand{top:10%}.enemy--en5 .enemy__hand--right{right:2%}.enemy--en5 .enemy__hand--left{left:2%}.enemy--en5 .enemy__hand-img{transform:rotate(20deg)}.enemy--en4 .enemy__body{height:110%;bottom:14%}.enemy--en4 .enemy__foot{width:37%;bottom:0}.enemy--en4 .enemy__foot--right{right:0}.enemy--en4 .enemy__foot--left{left:0}.enemy--en4 .enemy__hand{width:37%;top:5%}.enemy--en4 .enemy__hand--right{right:-7%}.enemy--en4 .enemy__hand--left{left:-7%}.enemy--idle .enemy__body{animation:2s ease-in-out infinite enemy-idle-body}.enemy--idle .enemy__hand--right{animation:2s ease-in-out infinite enemy-idle-hand-r}.enemy--idle .enemy__hand--left{animation:2s ease-in-out infinite enemy-idle-hand-l}@keyframes enemy-idle-body{0%,to{transform:translateY(0)}50%{transform:translateY(-2%)}}@keyframes enemy-idle-hand-r{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes enemy-idle-hand-l{0%,to{transform:scaleX(-1)rotate(0)}50%{transform:scaleX(-1)rotate(-3deg)}}.enemy--hurt{animation:.4s ease-out enemy-hurt-shake}.enemy--hurt .enemy__body{animation:.4s ease-out enemy-hurt-head}.enemy--hurt .enemy__hand--right{animation:.4s ease-out enemy-hurt-hand-r}.enemy--hurt .enemy__hand--left{animation:.4s ease-out enemy-hurt-hand-l}.enemy--hurt .enemy__foot--left{animation:.4s ease-out enemy-hurt-foot-l}@keyframes enemy-hurt-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}35%{transform:translate(4px)}55%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes enemy-hurt-head{0%{transform:translateY(0)}25%{transform:translateY(-4%)}60%{transform:translateY(-2%)}to{transform:translateY(0)}}@keyframes enemy-hurt-hand-r{0%{transform:translate(0)rotate(0)}25%{transform:translate(-4%,-10%)rotate(8deg)}60%{transform:translate(-1%,-4%)rotate(3deg)}to{transform:translate(0)rotate(0)}}@keyframes enemy-hurt-hand-l{0%{transform:scaleX(-1)translate(0)rotate(0)}25%{transform:scaleX(-1)translate(-4%,-10%)rotate(8deg)}60%{transform:scaleX(-1)translate(-1%,-4%)rotate(3deg)}to{transform:scaleX(-1)translate(0)rotate(0)}}@keyframes enemy-hurt-foot-l{0%,to{transform:scaleX(-1)translateY(0)rotate(0)}25%{transform:scaleX(-1)translateY(8%)rotate(3deg)}60%{transform:scaleX(-1)translateY(3%)rotate(1deg)}}.enemy--attacking .enemy__body{transform-origin:50% 100%;animation:.65s ease-out enemy-attack-body}.enemy--attacking .enemy__hand--right{animation:.65s ease-out enemy-attack-hand-right}.enemy--attacking .enemy__hand--left{animation:.65s ease-out enemy-attack-hand-left}@keyframes enemy-attack-body{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:translateY(0)scale(1)}38%,62%{transform:translateY(2%)scale(1.1)}to{transform:translateY(0)scale(1)}}@keyframes enemy-attack-hand-right{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:translate(0)scale(1)}38%{animation-timing-function:cubic-bezier(.7,0,.9,.35);transform:translate(50%,-50%)scale(2)}54%{animation-timing-function:cubic-bezier(.15,.7,.25,1);transform:translateY(80%)scale(2)}to{transform:translate(0)scale(1)}}@keyframes enemy-attack-hand-left{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:translate(0)scaleX(-1)scale(1)}38%{animation-timing-function:cubic-bezier(.7,0,.9,.35);transform:translate(-50%,-50%)scaleX(-1)scale(2)}54%{animation-timing-function:cubic-bezier(.15,.7,.25,1);transform:translateY(80%)scaleX(-1)scale(2)}to{transform:translate(0)scaleX(-1)scale(1)}}.enemy--dead{transform-origin:bottom;animation:.8s ease-in forwards enemy-death}@keyframes enemy-death{0%{opacity:1;transform:rotateX(0)}40%{opacity:1;transform:rotateX(20deg)}to{opacity:1;transform:rotateX(80deg)}}.player-character{--player-shadow-bottom:-1.5%;width:100%;height:100%;position:relative}.player-shadow{left:50%;bottom:var(--player-shadow-bottom);filter:blur(1px);pointer-events:none;background:#0c101661;border-radius:50%;width:90%;height:12%;position:absolute;transform:translate(-50%)}.player{pointer-events:none;z-index:10;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);position:absolute}.player-wrap{position:absolute}.player-wrap .player{width:100%;height:100%;position:relative}.player-wrap--flipped{transform:scaleX(-1)}.player img{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.player__head{object-fit:cover;object-position:center top;width:auto;height:70%;margin-inline:auto;top:3%;left:0;right:0}.player__face{object-fit:cover;object-position:center top;z-index:1;width:auto;height:70%;margin-inline:auto;top:-17.125%;left:0;right:0}.player__hand{z-index:2;width:26.25%;height:26.25%;position:absolute;top:32.75%}.player__hand--right{right:-6.875%}.player__hand--left{left:-6.875%;transform:scaleX(-1)}.player__hand-img{width:100%;height:100%;display:block;position:static}.player__weapon{left:calc(50% + var(--weapon-offset-x,0%));bottom:calc(40% - var(--weapon-offset-y,0%));width:calc(50% * var(--weapon-scale,1));height:calc(110% * var(--weapon-scale,1));object-fit:contain;transform:translate(-50%)}.player__foot{width:26.25%;height:19.25%;top:65.125%}.player__foot--right{right:15%}.player__foot--left{left:15%;transform:scaleX(-1)}.player-wrap .player__head{top:18%}.player-wrap .player__face{top:-2.125%}.player-wrap .player__hand{top:47.75%}.player-wrap .player__foot{top:80.125%}.player--idle .player__head,.player--idle .player__face{animation:2s ease-in-out infinite idle-head}.player--idle .player__hand--right{animation:2s ease-in-out infinite idle-hand-r}.player--idle .player__hand--left{animation:2s ease-in-out infinite idle-hand-l}@keyframes idle-head{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}@keyframes idle-hand-r{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}@keyframes idle-hand-l{0%,to{transform:scaleX(-1)rotate(0)}50%{transform:scaleX(-1)rotate(-4deg)}}.player--walk{animation:.4s ease-in-out infinite walk-body}.player--walk .player__hand--right{animation:.4s ease-in-out infinite walk-hand-r}.player--walk .player__hand--left{animation:.4s ease-in-out infinite walk-hand-l}.player--walk .player__foot--right{animation:.4s ease-in-out infinite walk-foot-r}.player--walk .player__foot--left{animation:.4s ease-in-out infinite walk-foot-l}@keyframes walk-body{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-8%)rotate(-2deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-8%)rotate(2deg)}}@keyframes walk-hand-r{0%,to{transform:translateY(0)}25%{transform:translateY(-18%)}75%{transform:translateY(15%)}}@keyframes walk-hand-l{0%,to{transform:scaleX(-1)translateY(0)}25%{transform:scaleX(-1)translateY(15%)}75%{transform:scaleX(-1)translateY(-18%)}}@keyframes walk-foot-r{0%,to{transform:translateY(0)}25%{transform:translateY(25%)}75%{transform:translateY(-20%)}}@keyframes walk-foot-l{0%,to{transform:scaleX(-1)translateY(0)}25%{transform:scaleX(-1)translateY(-20%)}75%{transform:scaleX(-1)translateY(25%)}}.player--attacking{transform-origin:50% 100%;animation:.6s ease-out attack-body}@keyframes attack-body{0%{transform:translate(0)rotate(0)}30%{transform:translate(-3%)rotate(-5deg)}55%{transform:translate(5%)rotate(8deg)}70%{transform:translate(2%)rotate(3deg)}to{transform:translate(0)rotate(0)}}.player--attacking .player__head,.player--attacking .player__face{animation:.6s ease-out attack-head}@keyframes attack-head{0%{transform:rotate(0)}30%{transform:rotate(-3deg)}55%{transform:rotate(5deg)}to{transform:rotate(0)}}.player--attacking .player__hand--left{animation:.6s ease-out attack-left-hand}@keyframes attack-left-hand{0%{transform:scaleX(-1)translate(0)rotate(0)}30%{transform:scaleX(-1)translate(14%,20%)rotate(18deg)}55%{transform:scaleX(-1)translate(-8%,-10%)rotate(-12deg)}70%{transform:scaleX(-1)translate(-3%,-3%)rotate(-3deg)}to{transform:scaleX(-1)translate(0)rotate(0)}}.player--attacking .player__hand--right{transform-origin:20% 20%;animation:.6s ease-out attack-swing}.player--attacking.player--armed .player__hand--right{animation:.6s ease-out attack-weapon-swing}@keyframes attack-swing{0%{animation-timing-function:ease-out;transform:translate(0)rotate(0)}30%{animation-timing-function:ease-in;transform:translate(-30%,-38%)rotate(-55deg)}55%{animation-timing-function:ease-out;transform:translate(35%,25%)rotate(118deg)}70%{animation-timing-function:ease-out;transform:translate(28%,16%)rotate(105deg)}to{transform:translate(0)rotate(0)}}@keyframes attack-weapon-swing{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:translate(0)rotate(0)}28%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:translate(-48%,-58%)rotate(-72deg)}38%{animation-timing-function:cubic-bezier(.15,.7,.25,1);transform:translate(-8%,-46%)rotate(-28deg)}46%{animation-timing-function:cubic-bezier(.2,.75,.3,1);transform:translate(132%,-12%)rotate(91deg)}54%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:translate(140%,-2%)rotate(100deg)}72%{animation-timing-function:cubic-bezier(.35,0,.2,1);transform:translate(74%,18%)rotate(85deg)}88%{animation-timing-function:ease-out;transform:translate(16%,8%)rotate(18deg)}to{transform:translate(0)rotate(0)}}.player--attacking .player__hand--right:after,.player--punching-left .player__hand--left:after{content:"";filter:blur(4px);pointer-events:none;z-index:-1;background:radial-gradient(at 35%,#ffffff4d,#0000 65%);border-radius:50%;width:90%;height:90%;animation:.6s ease-out attack-trail;position:absolute;top:5%;left:5%}.player--punching-left .player__hand--right:after{content:none}@keyframes attack-trail{0%,33%{opacity:0;transform:scale(1)}42%{opacity:.6;transform:scale(1.5)}58%{opacity:.7;transform:scale(1.7)}70%{opacity:0;transform:scale(1.2)}to{opacity:0;transform:scale(1)}}.player--hurt{animation:.4s ease-out player-hurt-shake}.player--hurt .player__head,.player--hurt .player__face{animation:.4s ease-out player-hurt-head}.player--hurt .player__hand--right{animation:.4s ease-out player-hurt-hand-r}.player--hurt .player__hand--left{animation:.4s ease-out player-hurt-hand-l}.player--hurt .player__foot--left{animation:.4s ease-out player-hurt-foot-l}@keyframes player-hurt-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}35%{transform:translate(4px)}55%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes player-hurt-head{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-4%)rotate(-6deg)}60%{transform:translateY(-2%)rotate(-3deg)}to{transform:translateY(0)rotate(0)}}@keyframes player-hurt-hand-r{0%{transform:translate(0)rotate(0)}25%{transform:translate(-4%,-10%)rotate(8deg)}60%{transform:translate(-1%,-4%)rotate(3deg)}to{transform:translate(0)rotate(0)}}@keyframes player-hurt-hand-l{0%{transform:scaleX(-1)translate(0)rotate(0)}25%{transform:scaleX(-1)translate(-4%,-10%)rotate(8deg)}60%{transform:scaleX(-1)translate(-1%,-4%)rotate(3deg)}to{transform:scaleX(-1)translate(0)rotate(0)}}@keyframes player-hurt-foot-l{0%,to{transform:scaleX(-1)translateY(0)rotate(0)}25%{transform:scaleX(-1)translateY(8%)rotate(3deg)}60%{transform:scaleX(-1)translateY(3%)rotate(1deg)}}.player--dead{transform-origin:bottom;animation:.8s ease-in forwards player-death}@keyframes player-death{0%{opacity:1;transform:rotateX(0)}40%{opacity:1;transform:rotateX(20deg)}to{opacity:1;transform:rotateX(80deg)}}.ui-ctx-overlay{z-index:1000;padding:max(16px, env(safe-area-inset-top)) 10px 0;background:#0a0f0fb8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-ctx-sheet{width:100%;max-width:410px;min-height:0;max-height:100%;padding:28px 24px max(26px, env(safe-area-inset-bottom));border:2px solid var(--ui-ink);background:var(--ui-metal);border-radius:8px 8px 0 0;flex-direction:column;animation:.18s ease-out ctx-slide-up;display:flex;position:relative}.ui-ctx-sheet:before{border:24px solid #0000;border-image:var(--ui-panel-frame) 22% / 24px stretch;content:"";pointer-events:none;position:absolute;inset:-2px}.ui-ctx-title{color:var(--ui-gold-light);font-family:var(--ui-font-display);text-align:center;overflow-wrap:anywhere;flex-shrink:0;margin-bottom:16px;font-size:22px;line-height:1.25}.ui-ctx-description{color:var(--ui-muted);text-align:center;overflow-wrap:anywhere;flex-shrink:0;margin:-6px 8px 18px;font-size:14px;line-height:1.4}.ui-ctx-actions{overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;margin:-7px;padding:7px 7px 8px;display:flex;overflow-y:auto}.ui-ctx-action{flex-shrink:0}@keyframes ctx-slide-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-ctx-sheet{animation:none}}.ui-inventory-slot{aspect-ratio:1;min-width:0;list-style:none;transition:filter .15s;position:relative}.ui-inventory-slot__button{isolation:isolate;color:#eee3c8;width:100%;height:100%;font-family:var(--font-main);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:visible}.ui-inventory-slot__button:before{z-index:3;background:var(--ui-inventory-slot-frame) center / 100% 100% no-repeat;filter:drop-shadow(0 0 1px #f2d58b57);content:"";pointer-events:none;transition:filter .15s;position:absolute;inset:0}.ui-inventory-slot__icon{--ui-inventory-icon-rotation:0deg;z-index:1;object-fit:contain;width:56%;height:56%;transform:rotate(var(--ui-inventory-icon-rotation));filter:drop-shadow(0 3px 2px #00000080);transition:filter .15s,transform .15s;position:relative}.ui-inventory-slot--left-tilted-icon .ui-inventory-slot__icon{--ui-inventory-icon-rotation:-33deg}.ui-inventory-slot__badge{z-index:4;border:2px solid var(--ui-ink);color:#fff5d8;background:#37765f;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:flex;position:absolute;top:11%;right:10%}.ui-inventory-slot--equipped .ui-inventory-slot__button:before{filter:drop-shadow(0 0 1px #67e7b080)}.ui-inventory-slot--selected .ui-inventory-slot__button:before{filter:drop-shadow(0 0 1px #71efe68c)}.ui-inventory-slot__button:active:not(:disabled) .ui-inventory-slot__icon{transform:rotate(var(--ui-inventory-icon-rotation)) scale(.93)}.ui-inventory-slot--disabled{filter:grayscale(.8);opacity:.38}.ui-inventory-slot--disabled .ui-inventory-slot__button{cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ui-inventory-slot__button:before,.ui-inventory-slot__icon,.ui-inventory-slot{transition:none}}.page.battle-page{background:#14142b;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;display:flex;overflow:hidden}.battle-scene{flex-shrink:0;height:217px;position:relative}.battle-wall{background-color:#56626d;background-image:url(/assets/stone-graphite-light-BptHOXBJ.webp);background-size:128px 128px;border-radius:2px;height:150px;position:absolute;top:0;left:0;right:0}.battle-floor{transform-origin:50% 0;border-radius:1px;height:100px;position:absolute;top:150px;left:-20%;right:-20%;transform:perspective(500px)rotateX(55deg)}.battle-floor--default{background-color:#7a9a6a;background-image:url(/assets/grass-BHKHKk1K.webp);background-size:100px 100px}.battle-floor--wood{background-color:#b99b72;background-image:url(/assets/parquet-herringbone-BWtftl9_.webp);background-size:100px 100px}.battle-floor--wood-dark{background-color:#66594f;background-image:url(/assets/parquet-basketweave-C3kqHAS_.webp);background-size:100px 100px}.battle-floor--cobblestone-rugged-soft{background-color:#5c5347;background-image:url(/assets/floor-R34kemYe.webp);background-size:100px 100px}.battle-player-slot{top:calc(150px - var(--battle-char-size,96px) / 2);left:calc(50% - 40px - var(--battle-char-size,96px));width:var(--battle-char-size,96px);height:var(--battle-char-size,96px);z-index:3;position:absolute}.battle-player-slot .player-character{--player-shadow-bottom:2%}.battle-player-slot .player{width:100%;height:100%;position:relative;top:10%}.battle-enemy-slot{top:calc(150px - var(--battle-enemy-size,115px) / 2 - 12px);left:calc(50% + 40px - (var(--battle-enemy-size,115px) - var(--battle-char-size,96px)) / 2);width:var(--battle-enemy-size,115px);height:var(--battle-enemy-size,115px);z-index:3;position:absolute}.battle-enemy-slot .enemy{width:100%;height:100%}.battle-player-slot .player--punching-left .player__hand--left{z-index:3;animation:.6s ease-out battle-punch-left-hand}.battle-player-slot .player--punching-left .player__hand--right{animation:.6s ease-out battle-punch-right-counter}.battle-player-slot .player--punching-left .player__hand--left .player__hand-img{transform-origin:50%;animation:.6s cubic-bezier(.33,0,.67,1) battle-punch-left-fist-spin}.battle-player-slot .player--punching-right .player__hand--right{transform-origin:20% 20%;animation:.6s ease-out battle-punch-right-hand}.battle-player-slot .player--punching-right .player__hand--left{animation:.6s ease-out battle-punch-left-counter}@keyframes battle-punch-left-hand{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:scaleX(-1)translate(0)rotate(0)}28%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:scaleX(-1)translate(24%,-30%)rotate(-34deg)}38%{animation-timing-function:cubic-bezier(.15,.7,.25,1);transform:scaleX(-1)translate(-12%,-36%)rotate(-4deg)}46%{animation-timing-function:cubic-bezier(.2,.75,.3,1);transform:scaleX(-1)translate(-120%,-12%)rotate(42deg)}54%{animation-timing-function:cubic-bezier(.2,.1,.8,1);transform:scaleX(-1)translate(-128%,14%)rotate(48deg)}to{transform:scaleX(-1)translate(0)rotate(0)}}@keyframes battle-punch-left-fist-spin{0%,to{transform:rotate(0)}54%{transform:rotate(180deg)}}@keyframes battle-punch-right-hand{0%{animation-timing-function:cubic-bezier(.33,0,.2,1);transform:translate(0)rotate(0)}28%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:translate(-24%,-30%)rotate(-34deg)}38%{animation-timing-function:cubic-bezier(.15,.7,.25,1);transform:translate(12%,-36%)rotate(-4deg)}46%{animation-timing-function:cubic-bezier(.2,.75,.3,1);transform:translate(120%,-12%)rotate(42deg)}54%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:translate(128%,-2%)rotate(48deg)}72%{animation-timing-function:cubic-bezier(.35,0,.2,1);transform:translate(66%,18%)rotate(30deg)}88%{animation-timing-function:ease-out;transform:translate(14%,8%)rotate(10deg)}to{transform:translate(0)rotate(0)}}@keyframes battle-punch-right-counter{0%,to{transform:translate(0)rotate(0)}30%{transform:translate(-8%,-4%)rotate(-8deg)}55%{transform:translate(5%,5%)rotate(8deg)}70%{transform:translate(3%,3%)rotate(5deg)}}@keyframes battle-punch-left-counter{0%,to{transform:scaleX(-1)translate(0)rotate(0)}30%{transform:scaleX(-1)translate(8%,-4%)rotate(-8deg)}55%{transform:scaleX(-1)translate(-5%,5%)rotate(8deg)}70%{transform:scaleX(-1)translate(-3%,3%)rotate(5deg)}}.battle-dev-btn{bottom:calc(74px + env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--bg-secondary);width:36px;height:36px;color:var(--text-muted);cursor:pointer;z-index:100;opacity:.5;font-size:16px;font-family:var(--font-main);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.battle-dev-btn:active{opacity:1;background:var(--bg-tertiary)}.weapon-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:4px 0;list-style:none;display:grid}.victory-coins{justify-content:center;align-items:center;gap:8px;margin-top:8px;display:flex}.victory-coins__amount{color:#e2c044;font-size:32px;font-weight:700}.victory-coins__icon{flex-shrink:0;width:36px;height:36px}.battle-end-turn{padding:0 8px max(12px, env(safe-area-inset-bottom));flex-shrink:0}.battle-end-turn .ui-btn{max-width:none}.page--crafting{--inv-gap:clamp(7px, 2.4vw, 11px);background:#1b211f;flex-direction:column;justify-content:flex-start;align-items:stretch}.crafting-content{overscroll-behavior:contain;scrollbar-color:var(--ui-gold-dark) #1b211f;flex:1;width:100%;min-height:0;padding:14px 12px 18px;overflow-y:auto}.crafting-content--empty{justify-content:center;align-items:center;display:flex}.page--crafting .inventory-grid{gap:var(--inv-gap);grid-template-columns:repeat(3,minmax(0,1fr))}.page--crafting>.ui-btn{margin:0 12px 8px}.crafting-instruction{flex-direction:column;gap:14px;display:flex}.crafting-instruction__lead{font-weight:700}.crafting-instruction__recipe{border-top:1px solid #70522859;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding-top:14px;display:grid}.crafting-instruction__companion,.crafting-instruction__result{flex-direction:column;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:700;line-height:1.2;display:flex}.crafting-instruction__companion img{object-fit:contain;filter:drop-shadow(0 3px 2px #00000059);width:72px;height:72px}.crafting-instruction__card{width:76px}.crafting-instruction__card .battle-card{cursor:default}.crafting-instruction__arrow{color:var(--ui-paper-ink);font-size:24px;font-weight:900}@media (width<=340px){.crafting-content{padding-inline:8px}.crafting-instruction__companion img{width:60px;height:60px}.crafting-instruction__card{width:66px}}.debug-actors-page{min-height:0}.debug-actors-controls{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;flex:1;gap:10px;width:100%;min-height:0;padding:12px 12px 20px;display:flex;overflow-y:auto}.debug-actors-control-group{border:1px solid var(--border);background:var(--bg-secondary);border-radius:8px;padding:10px}.debug-actors-control-title{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-weight:700}.debug-actors-control-group .ui-btn-group{flex-wrap:wrap;width:100%}.debug-actors-control-group .ui-btn:disabled{color:#fff;border-color:var(--accent);outline-color:var(--accent);background:var(--accent);filter:none;opacity:1}.map-cell>.map-decoration{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;display:flex;position:absolute;inset:0;overflow:hidden}.map-cell>.map-decoration--floor{z-index:0}.map-cell>.map-decoration--wall{z-index:3}.map-decoration--align-center{align-items:center}.map-decoration--align-bottom{align-items:flex-end}.map-decoration__image{object-fit:contain;pointer-events:none;flex:none;display:block}.map-decoration__flame-anchor{z-index:1;pointer-events:none;display:block;position:absolute;transform:translate(-50%,-50%)}.map-decoration__flame{object-fit:contain;pointer-events:none;transform-origin:50% 88%;will-change:transform, opacity;width:100%;height:100%;animation:.78s ease-in-out infinite alternate map-decoration-flame;display:block}@keyframes map-decoration-flame{0%{opacity:.92;transform:translate(-2%,1%)rotate(-2deg)scale(.96,1.02)}45%{opacity:1;transform:translate(1%,-1%)rotate(1deg)scale(1.03,.97)}to{opacity:.95;transform:translate(2%)rotate(2deg)scale(.98,1.05)}}@media (prefers-reduced-motion:reduce){.map-decoration__flame{animation:none}}.map-object-img--outlined{filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059)}.map-battlecard{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(-5deg)}.map-battlecard--bob{animation:1.5s ease-in-out infinite battlecard-bob}@keyframes battlecard-bob{0%,to{transform:rotate(-5deg)translateY(0)}50%{transform:rotate(-5deg)translateY(-8%)}}.pickable{pointer-events:none;justify-content:center;align-items:center;width:60%;height:60%;display:flex}.pickable__img{object-fit:contain;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);width:100%;height:100%}.pickable--bob{animation:1.5s ease-in-out infinite pickable-bob}@keyframes pickable-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8%)}}.savepoint{pointer-events:none;justify-content:center;align-items:center;width:60%;height:60%;display:flex}.savepoint__img{object-fit:contain;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);width:100%;height:100%}.savepoint--bob{animation:1.5s ease-in-out infinite savepoint-bob}@keyframes savepoint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8%)}}.vendor,.vendor img{width:100%;height:100%}.vendor img{object-fit:contain;display:block}.wall{background-color:#56626d;background-image:url(/assets/stone-graphite-light-BptHOXBJ.webp);background-size:100% 100%;width:100%;height:100%;position:relative;overflow:hidden}.wall--forest{background-color:#0000;background-image:url(/assets/tree-Ce_2y5uX.webp);background-repeat:no-repeat}.debug-map-page{z-index:9999;background:#111;display:flex;position:fixed;inset:0;overflow:hidden}.debug-map-scroll{-webkit-overflow-scrolling:touch;flex:1;min-width:0;height:100%;overflow:auto}.debug-map-grid{flex-shrink:0;position:relative}.debug-map-grid *{animation:none!important}.debug-map-grid .wall{background-image:none}.debug-map-room-area,.debug-map-room-label{pointer-events:none;position:absolute}.debug-map-room-area{z-index:15;border:2px solid var(--debug-room-color);background:color-mix(in srgb, var(--debug-room-color) 14%, transparent)}.debug-map-room-label{z-index:30;border:2px solid var(--debug-room-color);color:#fff;white-space:nowrap;text-shadow:0 1px 1px #000;background:#111111e0;border-radius:4px;padding:2px 5px;font-size:16px;font-weight:700;line-height:1;transform:translate(-50%,-50%)}.debug-map-room--west{--debug-room-color:#38bdf8}.debug-map-room--central{--debug-room-color:#e879f9}.debug-map-room--east{--debug-room-color:#fb923c}.debug-map-cell{cursor:pointer;background-color:#7a9a6a;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:inset 0 0 0 .5px #00000026}.debug-map-cell>*{pointer-events:none}.debug-map-cell>.map-decoration{-webkit-user-select:none;user-select:none;justify-content:center;display:flex;position:absolute;inset:0;overflow:hidden}.debug-map-cell>.map-decoration--floor{z-index:0}.debug-map-cell>.map-decoration--wall{z-index:3}.debug-map-decoration-room-line{z-index:20;transform-origin:0;background:#ff4fa3;border-radius:999px;height:3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #111111bf}.debug-map-spawn-marker{z-index:20;background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1px #00000080}.debug-map-info__trigger{color:#f87171;margin-top:3px}.debug-map-entry-exit-marker{z-index:6;border:2px solid #a855f7;border-radius:50%;position:absolute;inset:2px}.debug-map-cell .pickable{z-index:5;position:absolute;inset:0}.debug-map-cell--floor-wood{background-color:#b99b72}.debug-map-cell--floor-wood-dark{background-color:#66594f}.debug-map-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0009;flex-direction:column;flex-shrink:0;gap:8px;width:200px;height:100%;padding:8px;display:flex}.debug-map-toggle{color:#ddd;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:7px;font-size:14px;line-height:1.2;display:flex}.debug-map-toggle input{margin:0}.debug-map-info{color:#ccc;flex-direction:column;flex:1;gap:4px;min-height:0;font-size:15px;line-height:1.3;display:flex;overflow-y:auto}.debug-map-info__coord{color:#facc15;font-size:17px;font-weight:600}.debug-map-info__row{color:#aaa}.debug-map-info__list{margin-left:4px}.debug-map-info__item{color:#888}.debug-map-floor-buttons{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.debug-map-cell--click-a{box-shadow:inset 0 0 0 2px #3b82f6}.debug-map-cell--copied{box-shadow:inset 0 0 0 2px #facc15}.debug-map-cells-list{color:#ccc;flex-shrink:0;max-height:180px;font-size:13px;line-height:1.4;overflow-y:auto}.debug-map-cells-list__item{white-space:nowrap}.debug-map-lock-arrow{z-index:10;clip-path:polygon(0 30%,100% 50%,0 70%);background:#ef4444;width:14px;height:14px;position:absolute;top:50%;left:50%}.debug-map-lock-arrow--right{transform:translate(-50%,-50%)}.debug-map-lock-arrow--left{transform:translate(-50%,-50%)rotate(180deg)}.debug-map-lock-arrow--up{transform:translate(-50%,-50%)rotate(-90deg)}.debug-map-lock-arrow--down{transform:translate(-50%,-50%)rotate(90deg)}.debug-map-lock-arrow--temp{background:#22c55e}.debug-map-lock-arrow--perm{background:#ef4444}.debug-map-cell--click-b{box-shadow:inset 0 0 0 2px #ef4444}@keyframes camera-shake{0%,45%{transform:translate(0)}48%{transform:translate(-3px,2px)}52%{transform:translate(3px,-1px)}56%{transform:translate(-2px,2px)}60%{transform:translate(1px,-1px)}65%,to{transform:translate(0)}}.debug-room-page{z-index:9999;background:#111;display:flex;position:fixed;inset:0;overflow:hidden}.debug-room-stage{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle,#ffffff0f,#0000 55%),#111;flex:1;min-width:0;overflow:auto}.debug-room-stage__content{place-items:center;min-width:100%;min-height:100%;display:grid}.debug-room-grid{flex-shrink:0;position:relative}.debug-room-cell{box-shadow:inset 0 0 0 .5px #00000014}.debug-room-grid,.debug-room-grid *{pointer-events:none;-webkit-user-select:none;user-select:none}.debug-room-menu{color:#f5f5f5;background:#121212f5;border-left:1px solid #ffffff1f;flex-direction:column;flex:0 0 240px;width:240px;height:100%;display:flex}.debug-room-menu__header{border-bottom:1px solid #ffffff1f;flex-shrink:0;padding:16px 12px 12px}.debug-room-menu__title,.debug-room-menu__floor{margin:0}.debug-room-menu__title{font-size:20px;line-height:1.2}.debug-room-menu__meta{color:#aaa;margin-top:6px;font-size:13px}.debug-room-menu__rooms{flex:1;min-height:0;padding:12px;overflow-y:auto}.debug-room-menu__group+.debug-room-menu__group{margin-top:18px}.debug-room-menu__floor{color:#bbb;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:14px;line-height:1.2}@media (width<=700px){.debug-room-menu{flex-basis:180px;width:180px}}.ui-tab-bar{border-top:1px solid var(--ui-gold-dark);background:var(--ui-metal);scrollbar-width:none;scroll-snap-type:x proximity;flex-shrink:0;gap:5px;width:100%;padding:8px 9px 9px;display:flex;overflow-x:auto}.ui-tab-bar::-webkit-scrollbar{display:none}.ui-tab-bar--compact{gap:2px;padding-left:4px;padding-right:4px}.ui-tab-bar__item{color:#aeae9c;min-width:0;min-height:51px;font-family:var(--font-main);cursor:pointer;scroll-snap-align:center;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;flex:0 0 58px;align-items:center;gap:2px;padding:3px 3px 4px;display:flex;position:relative}.ui-tab-bar--compact .ui-tab-bar__item{flex:1 1 0}.ui-tab-bar__item--active{border-color:var(--ui-gold-dark);color:var(--ui-gold-light);box-shadow:inset 0 -2px 0 var(--ui-gold);background:#1e2422}.ui-tab-bar__icon-wrap{justify-content:center;align-items:center;width:29px;height:29px;display:flex;position:relative}.ui-tab-bar__icon{object-fit:contain;filter:grayscale(.4)brightness(.8);opacity:.75;width:100%;height:100%;transform:rotate(0)}.ui-tab-bar__icon-wrap--left-tilted .ui-tab-bar__icon{transform:rotate(-33deg)}.ui-tab-bar__icon-wrap>.battle-card--map{filter:grayscale(.4)brightness(.8);opacity:.75;width:auto;height:100%}.ui-tab-bar__item--active .ui-tab-bar__icon{filter:drop-shadow(0 0 4px #d6aa4d9e);opacity:1}.ui-tab-bar__item--active .ui-tab-bar__icon-wrap>.battle-card--map{filter:drop-shadow(0 0 2px #d6aa4d9e);opacity:1}.ui-tab-bar__count{border:1px solid var(--ui-ink);background:var(--ui-gold);color:#20170e;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;line-height:14px;position:absolute;top:-2px;right:-8px}.ui-tab-bar__label{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:9px;font-weight:700;line-height:1.2;overflow:hidden}.ui-tab-bar__item:active{transform:translateY(1px)}.inventory-layout{background:#1b211f;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.inventory-layout>.page{min-height:0}.page--inventory{--inv-gap:clamp(7px, 2.4vw, 11px);background:#1b211f;flex-direction:column;justify-content:flex-start;align-items:stretch}.inventory-content{overscroll-behavior:contain;scrollbar-color:var(--ui-gold-dark) #1b211f;flex:1;width:100%;min-height:0;padding:14px 12px 18px;overflow-y:auto}.inventory-content--empty{justify-content:center;align-items:center;display:flex}.inventory-grid{gap:var(--inv-gap);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;list-style:none;display:grid}.inventory-grid--cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-inline:5px}.inventory-card-cell{min-width:0;list-style:none}.inventory-card-cell .battle-card{cursor:pointer}.inventory-cell{isolation:isolate;aspect-ratio:1;cursor:pointer;background:#202624;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:0;padding:0;display:flex;position:relative;overflow:hidden}.inventory-cell:before{z-index:2;background:var(--ui-inventory-slot-frame) center / 100% 100% no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.inventory-cell:after{z-index:0;content:"";background:0 0;border:2px solid #cfa64d47;border-radius:22%;position:absolute;inset:16%;box-shadow:0 0 4px #cfa64d33}.inventory-cell__icon{z-index:1;object-fit:contain;filter:drop-shadow(0 3px 2px #00000080);width:70%;height:70%;position:relative}.inventory-cell__note-title{z-index:3;color:#eee3c8;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 2px #000;white-space:nowrap;font-size:clamp(8px,2.5vw,10px);font-weight:700;line-height:1.15;position:absolute;bottom:9%;left:13%;right:13%;overflow:hidden}@media (width<=340px){.inventory-content{padding-inline:8px}.inventory-grid--cards{gap:8px;padding-inline:0}}.page--item-view{flex-direction:column;justify-content:space-between;align-items:center;padding:24px 16px}.item-view__content{flex:1;justify-content:center;align-items:center;display:flex}.item-view__icon{object-fit:contain;width:70%;max-width:280px}.item-view__footer{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.item-view__name{font-size:var(--font-size-lg);color:var(--text);font-weight:600}.item-view__close{width:100%;font-size:var(--font-size-md);color:var(--text);background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:12px;font-weight:600}.item-view__content--note{flex-direction:column;width:100%;display:flex}.item-view__note-title{font-size:var(--font-size-lg);color:var(--text);text-align:center;text-shadow:0 1px 4px #000000d9;margin:0 0 12px;font-weight:700}.item-view__note-text{font-size:var(--font-size-md);color:var(--text);white-space:pre-line;text-shadow:0 1px 4px #000000d9;margin:0;line-height:1.6;overflow-y:auto}.item-view__note-images{justify-content:center;gap:8px;margin-top:12px;display:flex}.item-view__note-image{object-fit:contain;border-radius:4px;width:32%}.sync-status{color:#c9bda5;width:min(100%,340px);font:600 12px/1.35 var(--font-main);letter-spacing:.02em;text-align:center;text-shadow:0 2px 2px #000;margin:0}.sync-status--synced{color:#bad7bd}.sync-status--offline{color:#d7c5a5}.page--load{isolation:isolate;color:#f3e7ce;background:#050708;flex:1 1 0;justify-content:stretch;align-items:stretch;width:100%;height:100%;min-height:0;position:relative}.page--load:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(#03060785,#03060738 35%,#030607ad),#04070833;position:absolute;inset:0}.load-backdrop{z-index:-2;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.load-content{min-height:0;padding:max(18px, env(safe-area-inset-top)) 16px 12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0 0 112px}.load-panel{flex-direction:column;align-items:center;width:min(100%,370px);min-height:0;max-height:100%;display:flex}.load-header__title{color:#f0dab0;letter-spacing:.14em;text-align:center;text-shadow:0 3px 2px #000000e6,0 0 14px #8b1f1273;text-transform:uppercase;flex:none;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,8vw,36px);font-weight:700;line-height:1.1}.load-header__title:after{content:"";filter:drop-shadow(0 0 4px #bf301fb3);background:linear-gradient(90deg,#0000,#b79254 18% 45%,#0000 46% 54%,#b79254 55% 82%,#0000) 50%/100% 1px no-repeat,linear-gradient(45deg,#0000 38%,#cf3c28 39% 61%,#0000 62%) 50%/7px 7px no-repeat;width:92px;height:7px;margin:11px auto 0;display:block}.load-list{overscroll-behavior:contain;scrollbar-color:#785327 #0c1010b8;scrollbar-width:thin;flex-direction:column;gap:11px;width:100%;min-height:0;padding:5px;display:flex;overflow-y:auto}.load-list__empty{color:#c9bda5;width:100%;font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-md);letter-spacing:.08em;text-align:center;text-shadow:0 2px 2px #000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#111616db;border:1px solid #846132b8;border-radius:3px;padding:24px 18px;box-shadow:0 6px 14px #0000006b,inset 0 0 20px #00000047}.load-item.ui-btn{--btn-fill:#181e1de8;--btn-hover:#2c312bf0;--btn-ink:#ead8b5;text-align:left;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-color:#171b1a;border-radius:3px;justify-content:stretch;min-height:74px;padding:15px 18px;box-shadow:0 5px #080b0beb,0 9px 18px #0000005c,inset 0 0 18px #0000003d}.load-item.ui-btn:before{opacity:.78;filter:sepia(.22)saturate(.78)}.load-item.ui-btn .ui-btn__label{width:100%;display:block}.load-item__content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;display:flex}.load-item__label{color:#f0dab0;letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(14px,4vw,16px);font-weight:700;display:flex}.load-item__time{color:#b7ad98;font-family:var(--font-main);letter-spacing:.03em;text-align:center;white-space:nowrap;font-size:clamp(11px,3.4vw,13px);font-weight:600}.load-item.ui-btn:disabled{opacity:.58}.load-footer{right:16px;bottom:max(14px, env(safe-area-inset-bottom));z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;left:16px}.load-close.ui-btn{--btn-fill:#1c2221f0;--btn-hover:#30352ef5;--btn-ink:#f0dab0;text-transform:uppercase;letter-spacing:.14em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:min(100%,340px)}@media (height<=700px){.load-content{inset-bottom:96px;padding-top:max(10px, env(safe-area-inset-top));padding-bottom:6px}.load-header__title{margin-bottom:8px;font-size:25px}.load-header__title:after{margin-top:7px}.load-list{gap:7px}.load-item.ui-btn{min-height:60px;padding-block:10px}.load-footer{bottom:max(8px, env(safe-area-inset-bottom));gap:5px}.load-close.ui-btn{min-height:46px;padding-block:9px}}@media (prefers-reduced-motion:reduce){.load-item.ui-btn,.load-close.ui-btn{transition:none}}.interaction-tray{--interaction-grid-gap:clamp(7px, 2.4vw, 11px);background:#1b211f;border-top:1px solid #f2d58b38;flex-direction:column;flex:50%;width:100%;min-height:0;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0a,0 -8px 24px #0000003d}.interaction-tray__header{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.interaction-tray__heading{min-width:0}.interaction-tray__title{color:var(--ui-gold-light);font-family:var(--ui-font-display);font-size:clamp(18px,5.2vw,22px);font-weight:700;line-height:1.1}.interaction-tray__hint{color:var(--ui-muted);margin-top:5px;font-size:12px;line-height:1.35}.interaction-tray__status{color:var(--ui-gold-light);white-space:nowrap;background:#292f2ecc;border:1px solid #c99a486b;border-radius:999px;flex:none;padding:5px 8px;font-size:11px;font-weight:750;line-height:1}.interaction-tray__content{overscroll-behavior:contain;scrollbar-color:var(--ui-gold-dark) #1b211f;flex:auto;min-height:0;padding:4px 12px 12px;overflow-y:auto}.interaction-tray__content--empty{justify-content:center;align-items:center;display:flex}.interaction-tray__grid{gap:var(--interaction-grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;padding:0;list-style:none;display:grid}.interaction-tray__empty{color:var(--ui-muted);font-size:var(--font-size-md);text-align:center}.interaction-tray__actions{background:#1b211f;border-top:1px solid #f2d58b1a;flex:none;padding:8px 12px 12px}.interaction-tray--disabled .interaction-tray__content{pointer-events:none;opacity:.4}@media (width<=340px){.interaction-tray__header{padding-inline:12px}.interaction-tray__content{padding-inline:8px}}@media (height<=640px){.interaction-tray__header{padding-block:10px 7px}.interaction-tray__hint{margin-top:3px}.interaction-tray__actions{padding-block:6px 8px}}.page--locked-door{background:#1b211f;flex-direction:column;min-height:100%;display:flex}.locked-door__scene{box-sizing:border-box;perspective:800px;background:#000;flex:50%;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.locked-door__panel{transform-origin:100%;width:fit-content;height:100%;position:relative}.locked-door__panel>img:first-child{width:auto;height:100%;display:block}.locked-door__decal{pointer-events:none;width:15%;height:auto;position:absolute;top:22%;left:50%;transform:translate(-50%)}.locked-door__fade{z-index:99;opacity:0;pointer-events:none;background:#000;transition:opacity .3s ease-in;position:fixed;inset:0}.locked-door__fade--active{opacity:1;pointer-events:auto}.dust-cloud{pointer-events:none;z-index:20;background:radial-gradient(#323232e6 0%,#323232b3 40%,#0000 65%);border-radius:50%;animation:1s ease-out forwards dust-core;position:absolute}.dust-cloud:before{content:"";background:radial-gradient(at 30% 40%,#555c 0%,#0000 60%);border-radius:50%;width:52%;height:62%;animation:1s ease-out 50ms forwards dust-puff;position:absolute;top:5%;left:5%}.dust-cloud:after{content:"";background:radial-gradient(#4b4b4bbf 0%,#0000 60%);border-radius:50%;width:48%;height:58%;animation:1s ease-out .1s forwards dust-puff;position:absolute;bottom:5%;right:5%}.dust-cloud__particle{pointer-events:none;border-radius:50%;position:absolute}.dust-cloud__particle--1{background:radial-gradient(circle,#5a5a5ad9 0%,#0000 60%);width:35%;height:35%;animation:1s ease-out 60ms forwards dust-particle-b;top:20%;left:16%}.dust-cloud__particle--3{background:radial-gradient(circle,#2d2d2dbf 0%,#0000 60%);width:38%;height:38%;animation:1s ease-out 40ms forwards dust-particle-c;bottom:18%;left:22%}.dust-cloud__particle--4{background:radial-gradient(circle,#282828b3 0%,#0000 55%);width:26%;height:26%;animation:1s ease-out .14s forwards dust-particle-a;top:28%;left:5%}.dust-cloud__particle--5{background:radial-gradient(circle,#282828a6 0%,#0000 55%);width:24%;height:24%;animation:1s ease-out .18s forwards dust-particle-b;top:22%;right:5%}.dust-cloud__particle--6{background:radial-gradient(circle,#282828a6 0%,#0000 55%);width:28%;height:28%;animation:1s ease-out .22s forwards dust-particle-c;bottom:15%;right:14%}@keyframes dust-core{0%{opacity:0;transform:scale(.3)}8%{opacity:.85;transform:scale(.9)}50%{opacity:.3;transform:scale(1.15)}to{opacity:0;transform:scale(1.4)}}@keyframes dust-puff{0%{opacity:0;transform:scale(.3)}12%{opacity:.8;transform:scale(1)}50%{opacity:.25;transform:scale(1.3)}to{opacity:0;transform:scale(1.6)}}@keyframes dust-particle-a{0%{opacity:0;transform:scale(.2)translate(0)}10%{opacity:.8;transform:scale(1)translate(0)}to{opacity:0;transform:scale(1.6)translate(-50%,-60%)}}@keyframes dust-particle-b{0%{opacity:0;transform:scale(.2)translate(0)}10%{opacity:.75;transform:scale(1)translate(0)}to{opacity:0;transform:scale(1.5)translate(55%,-45%)}}@keyframes dust-particle-c{0%{opacity:0;transform:scale(.2)translate(0)}10%{opacity:.7;transform:scale(1)translate(0)}to{opacity:0;transform:scale(1.4)translate(35%,50%)}}.pickup-animation{z-index:1000;pointer-events:none;will-change:transform, opacity;width:40px;height:40px;position:fixed;top:0;left:0}.pickup-animation__img{object-fit:contain;filter:drop-shadow(0 0 1px #1a1a1a)drop-shadow(0 2px 3px #00000059);width:100%;height:100%}.pickup-animation--card{width:60px;height:80px}.pickup-animation--card .battle-card--map{width:auto;height:100%}.speech-bubble{z-index:100;color:#1a1a1a;text-align:center;filter:drop-shadow(0 2px 4px #0000004d);background:#fff;border:3px solid #1a1a1a;border-radius:4px;min-width:280px;max-width:320px;padding:8px 12px;font-size:22px;font-weight:700;line-height:1.4;animation:.3s ease-out bubble-pop-in;position:absolute;transform:translate(-50%,-100%)}.speech-bubble:after{content:"";background:#fff;border-bottom:3px solid #1a1a1a;border-right:3px solid #1a1a1a;width:14px;height:14px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes bubble-pop-in{0%{opacity:0;transform:translate(-50%,-100%)scale(.5)}70%{transform:translate(-50%,-100%)scale(1.05)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.page--map{cursor:pointer;background:#7a9a6a;justify-content:stretch;align-items:stretch;padding:0;position:relative;overflow:hidden}.page--map--shake{animation:.6s camera-shake}.map-world{will-change:transform;position:absolute;top:0;left:0}.map-cell{background-color:#7a9a6a;background-image:url(/assets/grass-BHKHKk1K.webp);background-size:100% 100%;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.map-cell--hidden{pointer-events:none;background:#1a1a1a;box-shadow:0 0 0 1px #1a1a1a}.map-cell--hidden>:not(.map-cell-shadow){opacity:0;visibility:hidden}.map-cell--hidden .map-object{opacity:0;transition:opacity .15s}.map-object-layer--hidden{opacity:0;visibility:hidden}.map-cell>*{z-index:1;position:relative}.map-cell>.map-cell-shadow{pointer-events:none;z-index:1;position:absolute;inset:0}.map-cell>.wall{z-index:2}.map-cell>.map-object:not(.wall){z-index:4}.map-object{border-radius:3px;width:70%;height:70%;transition:opacity .15s}.map-object--destructible{background:#8b4513;border-radius:2px;width:90%;height:90%}.map-object--pickable{background:0 0;width:60%;height:60%}.map-object--enemy{background:#c00;border-radius:4px;width:80%;height:80%}.map-object--interactable{background:#4169e1;border-radius:4px;width:60%;height:60%}.map-cell--floor-wood{background-color:#b99b72;background-image:url(/assets/parquet-herringbone-BWtftl9_.webp);background-size:100% 100%}.map-cell--floor-wood-dark{background-color:#66594f;background-image:url(/assets/parquet-basketweave-C3kqHAS_.webp);background-size:100% 100%}.map-cell--floor-cobblestone-rugged-soft{background-color:#5c5347;background-image:url(/assets/floor-R34kemYe.webp);background-size:100% 100%}.map-pickable{z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.map-savepoint{z-index:14;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.map-enemy{z-index:11;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.map-battlecard{z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.map-pickup-hint{flex-direction:column;align-items:center;gap:14px;display:flex}.map-pickup-hint__icon{isolation:isolate;aspect-ratio:1;justify-content:center;align-items:center;width:112px;display:flex;position:relative}.map-pickup-hint__icon:before{z-index:2;background:var(--ui-inventory-slot-frame) center / 100% 100% no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.map-pickup-hint__icon img{z-index:1;object-fit:contain;filter:drop-shadow(0 3px 2px #00000080);width:58%;height:58%;position:relative}.page--menu-fullscreen{isolation:isolate;color:#f3e7ce;background:#050708;flex:0 0 100dvh;justify-content:stretch;align-items:stretch;width:100%;height:100dvh;min-height:100dvh;position:relative}.page--menu-fullscreen:before,.page--menu-fullscreen:after{z-index:-1;content:"";pointer-events:none;position:absolute;inset-inline:0}.page--menu-fullscreen:before{background:linear-gradient(#010305c2,#01030500);height:34%;top:0}.page--menu-fullscreen:after{background:linear-gradient(#02050500 22%,#020505c7);height:66%;bottom:0}.menu-backdrop{z-index:-2;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.menu-content{width:100%;height:100%;padding:max(18px, env(safe-area-inset-top)) clamp(18px, 6vw, 30px) max(18px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.menu-content__title{filter:drop-shadow(0 3px 2px #000000e6)drop-shadow(0 0 16px #831d1042);width:min(100% - 48px,340px);line-height:0;position:absolute;top:24%;left:50%;transform:translate(-50%)}.menu-content__title img{width:100%;height:auto;display:block}.menu-actions{flex-direction:column;align-items:stretch;gap:4px;width:min(100% - 40px,340px);display:flex;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.menu-action{--menu-action-color:#c9b690;--menu-action-line:#a68049b3;width:100%;min-height:58px;color:var(--menu-action-color);letter-spacing:.11em;text-align:center;text-shadow:0 2px 2px #000000f2,0 0 10px #000000d9;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:0;justify-content:center;align-items:center;padding:12px clamp(58px,18vw,78px);font-family:Georgia,Times New Roman,serif;font-size:clamp(17px,5vw,21px);font-weight:700;line-height:1.1;transition:color .16s,opacity .16s,text-shadow .16s,transform .1s;display:flex;position:relative}.menu-action:before,.menu-action:after{background:linear-gradient(var(--menu-action-line), var(--menu-action-line)) center / 100% 1px no-repeat, linear-gradient(45deg, transparent 42%, var(--menu-action-line) 43% 57%, transparent 58%) right center / 7px 7px no-repeat;content:"";opacity:.72;width:clamp(38px,15vw,64px);height:7px;transition:width .18s,opacity .18s,filter .18s;position:absolute;top:50%}.menu-action:before{left:2px;transform:translateY(-50%)scaleX(-1)}.menu-action:after{right:2px;transform:translateY(-50%)}.menu-action__label{white-space:nowrap;position:relative}.menu-action__label:after{border:1px solid var(--menu-action-line);content:"";opacity:.7;width:5px;height:5px;transition:border-color .16s,box-shadow .16s,opacity .16s;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.menu-action--featured{--menu-action-color:#f3dfb1;--menu-action-line:#d52f1ce6;text-shadow:0 2px 2px #000000f2,0 0 12px #9a1f116b}.menu-action:hover:not(:disabled){--menu-action-color:#fff1cf;--menu-action-line:#e34b32;text-shadow:0 2px 2px #000000f2,0 0 14px #cc321cd1}.menu-action:hover:not(:disabled):before,.menu-action:hover:not(:disabled):after{opacity:1;filter:drop-shadow(0 0 4px #de3923e6);width:clamp(46px,18vw,76px)}.menu-action:hover:not(:disabled) .menu-action__label:after{opacity:1;border-color:#f0b167;box-shadow:0 0 8px #e24023e6}.menu-action:active:not(:disabled){transform:scale(.975)}.menu-action:disabled{opacity:.42;cursor:wait}.menu-loading{color:#d8c8a8;letter-spacing:.22em;text-shadow:0 2px 3px #000;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:14px;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.menu-loading:after{content:"";background:#b63525;width:56px;height:1px;margin:13px auto 0;animation:1.15s ease-in-out infinite alternate menu-loading-pulse;display:block;box-shadow:0 0 8px #b63525b8}@keyframes menu-loading-pulse{0%{opacity:.35;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}@media (height<=700px){.menu-content__title{width:min(100% - 56px,300px);top:24%}.menu-actions,.menu-loading{top:60%}.menu-action{min-height:54px}}@media (prefers-reduced-motion:reduce){.menu-action,.menu-action:before,.menu-action:after,.menu-action__label:after{transition:none}.menu-loading:after{animation:none}}.page.page--minimap{background:#000;flex-direction:column;align-items:stretch;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.minimap-scroll{-webkit-overflow-scrolling:touch;flex:1;width:100%;height:100%;overflow:auto}.minimap-grid{flex-shrink:0;position:relative}.minimap-cell{width:10px;height:10px;position:absolute}.minimap-door-decal-marker{z-index:1;box-sizing:border-box;filter:drop-shadow(0 1px 1px #000c);pointer-events:none;background:#f87171e6;border:1px solid #ffffffb3;border-radius:4px;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.minimap-door-decal{object-fit:contain;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.minimap-floor-buttons{z-index:10;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:4px;right:4px}.page--notes{background:#1b211f;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:0;padding:14px 12px 10px}.notes-page__document{overscroll-behavior:contain;border:1px solid var(--ui-gold-dark);background:var(--ui-paper) var(--ui-parchment) repeat;min-height:0;color:var(--ui-paper-ink);background-size:256px;border-radius:4px;flex:1;padding:24px 20px;animation:.16s ease-out notes-page-show;overflow-y:auto;box-shadow:0 3px 8px #00000059}.notes-page__position{color:#38291da6;text-align:right;margin-bottom:12px;font-size:12px;font-weight:700}.notes-page__title{font-family:var(--ui-font-display);text-align:center;margin-bottom:18px;font-size:22px;line-height:1.25}.notes-page__text{font-size:var(--font-size-md);white-space:pre-line;line-height:1.6}.notes-page__images{justify-content:center;gap:8px;margin-top:20px;display:flex}.notes-page__image{object-fit:contain;width:32%}.notes-page__controls{flex-shrink:0;width:100%;padding-top:12px}.notes-page__controls .ui-btn-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.notes-page__control-slot{min-width:0}.notes-page__arrow-button .ui-btn__label{font-size:24px;line-height:1}@keyframes notes-page-show{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.notes-page__document{animation:none}}.page--pit{background:#1b211f;flex-direction:column;min-height:100%;display:flex}.pit__scene{box-sizing:border-box;background-color:#7a9a6a;background-image:url(/assets/grass-BHKHKk1K.webp);background-size:128px 128px;flex:50%;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.pit__scene--floor-wood{background-color:#b99b72;background-image:url(/assets/parquet-herringbone-BWtftl9_.webp)}.pit__scene--floor-wood-dark{background-color:#66594f;background-image:url(/assets/parquet-basketweave-C3kqHAS_.webp)}.pit__scene--floor-cobblestone-rugged-soft{background-color:#5c5347;background-image:url(/assets/floor-R34kemYe.webp)}.pit__panel{width:60%;height:60%;position:relative}.pit__panel>img{width:100%;height:100%;display:block}.pit__fade{z-index:99;opacity:0;pointer-events:none;background:#000;transition:opacity .3s ease-in;position:fixed;inset:0}.pit__fade--active{opacity:1;pointer-events:auto}.puzzledoor-page{background:#1b211f;flex-direction:column;height:100%;display:flex}.puzzledoor__image-wrap{flex:50%;justify-content:center;min-height:0;display:flex;overflow:hidden}.puzzledoor__image-inner{height:100%;position:relative}.puzzledoor__image-inner--solved{animation:3s linear forwards puzzledoor-solve}.puzzledoor__image{width:auto;height:100%;display:block}@keyframes puzzledoor-solve{0%{transform:translate(0)}5%{transform:translate(-10px,5vh)}10%{transform:translate(10px,10vh)}15%{transform:translate(-9px,15vh)}20%{transform:translate(9px,20vh)}25%{transform:translate(-7px,25vh)}30%{transform:translate(7px,30vh)}35%{transform:translate(-6px,35vh)}40%{transform:translate(6px,40vh)}45%{transform:translate(-5px,45vh)}50%{transform:translate(5px,50vh)}55%{transform:translate(-4px,55vh)}60%{transform:translate(4px,60vh)}65%{transform:translate(-3px,65vh)}70%{transform:translate(3px,70vh)}75%{transform:translate(-2px,75vh)}80%{transform:translate(2px,80vh)}85%{transform:translate(-1px,85vh)}90%{transform:translate(1px,90vh)}95%{transform:translate(-1px,95vh)}to{transform:translateY(100vh)}}.puzzledoor__slots{gap:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.puzzledoor__slot{border:2px dashed var(--border);background:#0009;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.puzzledoor__slot--square{border-radius:0}.puzzledoor__slot--filled{border-style:solid;border-color:var(--accent)}.puzzledoor__slot img{object-fit:contain;width:70%;height:70%}.puzzle-page{background:#1b211f;flex-direction:column;gap:12px;min-height:100%;padding:12px 12px 10px;display:flex;overflow:hidden}.puzzle-page__intro{flex:none;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-height:92px;padding:4px 4px 0;display:grid}.puzzle-page__chest{object-fit:contain;filter:drop-shadow(0 5px 4px #00000073);width:82px;height:82px;display:block}.puzzle-page__heading{min-width:0}.puzzle-page__eyebrow{color:var(--ui-gold);letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800;line-height:1.2;display:block}.puzzle-page__title{color:var(--ui-gold-light);font-family:var(--ui-font-display);font-size:clamp(19px,5.6vw,24px);font-weight:700;line-height:1.1}.puzzle-page__hint{color:var(--ui-muted);margin-top:6px;font-size:12px;line-height:1.35}.puzzle-page__lock{flex:auto;align-items:center;min-height:0;display:flex}.puzzle-page__lock-frame{isolation:isolate;width:100%;box-shadow:inset 0 0 0 2px var(--ui-ink), inset 0 0 0 4px #c99a484d, 0 7px 0 var(--ui-ink), 0 12px 22px #00000052;background:#252c2a;border-radius:10px;padding:clamp(18px,5vw,24px);position:relative}.puzzle-page__lock-frame:before{z-index:-1;background:var(--ui-panel-frame) center / 100% 100% no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.puzzle-page__lock-frame--incorrect{animation:.36s ease-out puzzle-lock-incorrect}.puzzle-page__sliders{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2.8vw,12px);width:100%;display:grid}.puzzle-page__slider{flex-direction:column;align-items:stretch;gap:7px;min-width:0;display:flex}.puzzle-page__step.ui-btn{width:100%;min-width:0;min-height:40px;color:var(--ui-gold-light);padding:7px;font-size:14px}.puzzle-page__reel{border:2px solid var(--ui-ink);background:#101514;border-radius:7px;grid-template-rows:minmax(0,.7fr) minmax(0,1.6fr) minmax(0,.7fr);height:clamp(142px,23vh,182px);min-height:0;display:grid;overflow:hidden;box-shadow:inset 0 0 14px #000000c7,0 0 0 1px #c99a4861}.puzzle-page__current-symbol{background:#f2d58b12;border-block:1px solid #f2d58b57;justify-content:center;align-items:center;min-height:0;display:flex;box-shadow:inset 0 0 12px #c99a481a}.puzzle-page__symbol{object-fit:contain;filter:drop-shadow(0 3px 2px #0000007a);width:80%;height:80%;margin:auto;display:block}.puzzle-page__symbol--neighbor{opacity:.24;filter:grayscale(.45)drop-shadow(0 2px 1px #0000006b);width:54%;height:54%}.puzzle-page__actions{border-top:1px solid #f2d58b1a;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding-top:8px;display:grid}@keyframes puzzle-lock-incorrect{0%,to{box-shadow:inset 0 0 0 2px var(--ui-ink), inset 0 0 0 4px #c99a484d, 0 7px 0 var(--ui-ink), 0 12px 22px #00000052;transform:translate(0)}25%{box-shadow:inset 0 0 0 2px var(--ui-ink), inset 0 0 0 4px #b83f45b8, 0 7px 0 var(--ui-ink), 0 12px 22px #00000052;transform:translate(-5px)}55%{box-shadow:inset 0 0 0 2px var(--ui-ink), inset 0 0 0 4px #b83f45b8, 0 7px 0 var(--ui-ink), 0 12px 22px #00000052;transform:translate(5px)}}@media (width<=340px){.puzzle-page__intro{grid-template-columns:70px minmax(0,1fr)}.puzzle-page__chest{width:70px;height:70px}.puzzle-page__lock-frame{padding-inline:16px}}@media (height<=660px){.puzzle-page{gap:8px;padding-top:8px}.puzzle-page__intro{grid-template-columns:64px minmax(0,1fr);min-height:68px}.puzzle-page__chest{width:64px;height:64px}.puzzle-page__hint{margin-top:3px}.puzzle-page__lock-frame{padding-block:14px}.puzzle-page__reel{height:clamp(116px,21vh,142px)}.puzzle-page__actions{padding-top:5px}}@media (prefers-reduced-motion:reduce){.puzzle-page__lock-frame--incorrect{animation:none}}.page.page--shop{padding:24px 16px 32px;display:block;overflow:auto}.shop{width:100%;max-width:430px}.shop h1{margin:0 0 8px}.shop__coins{color:var(--text-muted);align-items:center;gap:4px;margin:0 0 20px;display:flex}.shop__coins img,.shop__coin-icon{vertical-align:middle;width:18px;height:18px}.shop ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.shop__item{background:#ffffff0f;border:1px solid #444;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:104px;padding:12px;display:grid}.shop__details{gap:4px;min-width:0;display:grid}.shop__details span{color:var(--text-muted);font-size:13px}.shop__preview{justify-content:center;align-items:center;width:76px;height:80px;display:flex}.shop__preview--card,.shop__preview--weaponCards{height:96px;overflow:hidden}.shop__preview--card .battle-card,.shop__preview--weaponCards .battle-card{cursor:default;pointer-events:none;width:56px;height:auto}.shop__image{object-fit:contain;filter:drop-shadow(0 3px 3px #00000073);width:72px;height:72px}.shop__discount-preview{justify-content:center;align-items:center;width:76px;height:80px;display:flex;position:relative}.shop__discount-mark{color:#22c55e;text-shadow:0 2px 3px #000000b3;font-size:38px;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shop__orb{border:2px solid #ffffff59;border-radius:50%;width:58px;height:58px;position:relative;box-shadow:inset -8px -10px 14px #0006,0 4px 7px #0006}.shop__orb:after{filter:blur(1px);content:"";background:#ffffffe6;border-radius:50%;width:17px;height:11px;position:absolute;top:10px;left:13px;transform:rotate(-35deg)}.shop__orb--maxHp{background:radial-gradient(circle at 35% 30%,#ff6b6b 0,#dc2626 42%,#7f1d1d 100%)}.shop__orb--maxAp{background:radial-gradient(circle at 35% 30%,#60a5fa 0,#2563eb 42%,#1e3a8a 100%)}.shop__item .ui-btn{align-items:center;gap:4px;display:inline-flex}.ui-modal__body .shop__coin-icon{display:inline-block}@media (width<=370px){.shop__item{grid-template-columns:64px minmax(0,1fr) auto;gap:8px;padding:10px 8px}.shop__preview{width:64px}}:root{--ui-ink:#191d1d;--ui-metal:#292f2e;--ui-metal-light:#39413d;--ui-gold:#c99a48;--ui-gold-light:#f2d58b;--ui-gold-dark:#785327;--ui-paper:#efdfb5;--ui-paper-ink:#38291d;--ui-muted:#b5b6a5;--ui-danger:#7d3035;--ui-font-display:Georgia, "Times New Roman", serif;--ui-button-frame:url(/assets/button-frame-D4fXJAcs.webp);--ui-inventory-slot-frame:url(/assets/inventory-slot-frame-BPha8D09.webp);--ui-panel-frame:url(/assets/panel-frame-CJ_mSmz4.webp);--ui-parchment:url(/assets/parchment-tile-BJZzcyJA.webp)}.page--storybook{min-height:0;padding:28px 16px max(36px, env(safe-area-inset-bottom));color:#f1e9d5;scrollbar-color:var(--ui-gold-dark) #1b211f;background:#1b211f;flex:1;overflow-y:auto}.sb-header{margin:0 6px 28px}.sb-eyebrow{color:var(--ui-gold);letter-spacing:2.2px;margin-bottom:16px;font-size:10px;font-weight:750}.sb-intro{justify-content:space-between;align-items:center;gap:12px;display:flex}.sb-title{color:var(--ui-gold-light);font-family:var(--ui-font-display);font-size:clamp(27px,7.4vw,32px);font-weight:700;line-height:1.08}.sb-subtitle{color:#ccc3aa;margin-top:12px;font-size:12px;line-height:1.5}.sb-emblem{object-fit:contain;flex-shrink:0;width:76px;height:76px}.sb-divider{color:var(--ui-gold);align-items:center;gap:12px;margin:22px 0 14px;font-size:10px;display:flex}.sb-divider:before,.sb-divider:after{background:var(--ui-gold-dark);content:"";flex:1;height:1px}.sb-description,.sb-note{color:var(--ui-muted);font-size:13px;line-height:1.6}.sb-section{border:2px solid var(--ui-ink);background:var(--ui-metal);border-radius:7px;margin-bottom:20px;padding:24px 22px 26px;position:relative;box-shadow:0 5px #141917}.sb-section:before{border:24px solid #0000;border-image:var(--ui-panel-frame) 22% / 24px stretch;content:"";pointer-events:none;position:absolute;inset:-2px}.sb-section-title{border-bottom:1px solid #555340;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin-bottom:16px;padding-bottom:13px;display:flex}.sb-number{color:var(--ui-gold);font-size:11px;font-weight:700}.sb-heading{color:var(--ui-gold-light);font-family:var(--ui-font-display);font-size:21px;font-weight:700;line-height:1.2}.sb-component{color:#b4b7a7;margin-left:auto;font-size:10px}.sb-note{margin-bottom:18px}.sb-label{color:#c6c7b7;margin:22px 0 12px;font-size:11px;font-weight:600;line-height:1.4}.sb-label--first{margin-top:0}.sb-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sb-stack{gap:14px;display:grid}.sb-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sb-vertical .ui-btn-group{width:100%}.sb-item{border:1px solid var(--ui-gold-dark);background:#202624;align-items:center;gap:14px;margin-bottom:20px;padding:12px;display:flex}.sb-item>img{object-fit:contain;flex-shrink:0;width:52px;height:52px}.sb-item strong{font-size:14px}.sb-item p{color:var(--ui-muted);margin-top:4px;font-size:12px;line-height:1.4}.sb-long-notice{margin-top:14px}.sb-reward-image{object-fit:contain;width:92px;height:92px;margin:0 auto 16px;display:block}.sb-reward-coins{font-family:var(--ui-font-display);justify-content:center;align-items:center;gap:6px;font-size:24px;font-weight:700;display:flex}.sb-reward-coins img{width:26px;height:26px}.sb-footer{color:var(--ui-muted);text-align:center;padding-top:8px;font-size:10px;line-height:1.5}.sb-hud-demo{border:2px solid var(--ui-ink);background:#1b211f;border-radius:7px;margin-inline:-10px;overflow:hidden}.sb-slot-demo{padding:14px 12px}.sb-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;display:grid}.sb-loading-demo{border:2px solid var(--ui-ink);border-radius:7px;height:220px;display:flex;overflow:hidden}@media (width<=360px){.page--storybook{padding-inline:12px}.sb-emblem{width:62px;height:62px}.sb-section{padding-inline:18px}.sb-two-columns{gap:8px}.sb-two-columns .ui-btn{padding-inline:12px}}.page{flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.page__placeholder{font-size:var(--font-size-lg);color:var(--text-muted)}.page-transition-overlay{z-index:1000;background:#000;position:absolute;inset:0}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:focus,:focus-visible{outline:none}:root{--bg:#1a1a2e;--bg-secondary:#16213e;--bg-tertiary:#0f3460;--text:#e0e0e0;--text-muted:#888;--hp-color:#e74c3c;--hp-bg:#3d1111;--ap-color:#3b82f6;--ap-bg:#1a2744;--coin-color:#b45309;--coin-bg:#3d1f08;--accent:#6c63ff;--accent-hover:#5a52d5;--border:#2a2a4a;--nav-active:#6c63ff;--font-main:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-md:15px;--font-size-lg:18px;font-family:var(--font-main);font-size:var(--font-size-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;overflow:hidden}#root{background:var(--bg);flex-direction:column;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:relative}.main-area{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}
