@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&display=swap";html{font-size:clamp(.75rem,calc(.5rem + .23vw),1rem)}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}:root{--breakpoint-xl: 75rem;--breakpoint-lg: 64rem;--breakpoint-md: 48rem;--breakpoint-sm: 30rem;--breakpoint-xs: 24.375rem;--breakpoint-xxs: 23.4375rem;--breakpoint-xxxs: 20rem;--base-font-size: clamp(1rem, 2.5vw, 1.3rem);--base-font-size-lg: clamp(.9rem, 2.2vw, 1.2rem);--base-font-size-md: clamp(.8rem, 2vw, 1.1rem);--base-font-size-sm: clamp(.7rem, 1.8vw, 1rem);--base-font-size-xs: clamp(.65rem, 1.6vw, .975rem);--base-font-size-xxs: clamp(.6rem, 1.4vw, .95rem);--space-xl: clamp(1.5rem, 4vw, 2rem);--space-lg: clamp(1rem, 3vw, 1.5rem);--space-md: clamp(.75rem, 2vw, 1rem);--space-sm: clamp(.5rem, 1.5vw, .75rem);--space-xs: clamp(.25rem, 1vw, .5rem);--space-xxs: clamp(.125rem, .5vw, .25rem);--story-padding: 2.5rem 2rem;--story-padding-lg: 2rem 1.75rem;--story-padding-md: 1.5rem 1.25rem;--story-padding-sm: 1.25rem 1rem;--story-padding-xs: 1rem .875rem;--story-padding-xxs: .75rem .5rem;--story-radius: 1.125rem;--story-radius-lg: 1rem;--story-radius-md: .875rem;--story-radius-sm: .75rem;--story-radius-xs: .625rem;--story-max-width: 43.75rem;--story-max-width-lg: 90%;--story-max-width-md: 95%;--story-max-width-sm: 98%;--choice-padding: .75rem 1.5rem;--choice-padding-lg: .65rem 1.25rem;--choice-padding-md: .6rem 1rem;--choice-padding-sm: .5rem .8rem;--choice-padding-xs: .45rem .7rem;--choice-padding-xxs: .4rem .6rem;--choice-radius: .75rem;--choice-radius-lg: .625rem;--choice-radius-md: .5rem;--choice-radius-sm: .4375rem;--choice-radius-xs: .375rem;--choice-min-height: 2.75rem;--choice-min-height-sm: 2.5rem;--choice-min-height-xs: 2.25rem;--hero-sprite-width: 18.75rem;--hero-sprite-width-lg: 15rem;--hero-sprite-width-md: 12rem;--hero-sprite-width-sm: 10rem;--hero-sprite-width-xs: 9rem;--partner-sprite-width: 17.625rem;--partner-sprite-width-lg: 14.5rem;--partner-sprite-width-md: 12rem;--partner-sprite-width-sm: 11rem;--partner-sprite-width-xs: 10rem;--battle-padding: 1.5rem;--battle-padding-lg: 1.25rem;--battle-padding-md: 1rem;--battle-padding-sm: .75rem;--battle-padding-xs: .5rem;--battle-padding-xxs: .375rem;--battle-gap: 1.5rem;--battle-gap-lg: 1.25rem;--battle-gap-md: 1rem;--battle-gap-sm: .75rem;--battle-gap-xs: .625rem;--battle-gap-xxs: .5rem;--battle-sprite-width: 12.5rem;--battle-sprite-width-lg: 10rem;--battle-sprite-width-md: 8rem;--battle-sprite-width-sm: 6rem;--battle-sprite-width-xs: 5rem;--battle-sprite-width-xxs: 4rem;--battle-hero-sprite-width: 16rem;--battle-partner-sprite-width: 14rem;--battle-enemy-sprite-width: 24rem;--touch-target-min: 2.75rem;--touch-target-comfortable: 3rem;--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s;--z-sprites: 900;--z-info-cards: 1000;--z-actions: 1100;--z-modals: 5000}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden;min-height:100vh;touch-action:manipulation}.story-window{background:#f5ecd6e6;border:.375rem solid #bfa76f;border-radius:var(--story-radius);box-shadow:0 0 1.5rem #0008,0 0 0 .5rem #7c5a2a44;padding:var(--story-padding);margin:2rem auto;max-width:var(--story-max-width);font-size:var(--base-font-size);font-family:Libre Baskerville,serif;line-height:1.6;position:relative;color:#3a2410}@media (prefers-color-scheme: dark){.story-window{background:#f5ecd6f2}}.choice-buttons{display:flex;flex-direction:column;gap:var(--space-md);margin-top:2rem;list-style:none;padding-left:0}.choice-button{font-family:Libre Baskerville,serif;font-weight:500;font-size:.85rem;background:#d4af87;color:#2c1810;border:1px solid #C4A677;border-radius:.5rem;padding:var(--choice-padding);margin:.25rem;cursor:pointer;box-shadow:0 .125rem .375rem #00000026;transition:all .25s ease;min-height:var(--choice-min-height);display:flex;align-items:center;justify-content:center;text-align:center;letter-spacing:.0188rem}.choice-button:hover{background:#c4a677;color:#2c1810;transform:translateY(-1px);border-color:#b49567;box-shadow:0 .25rem .625rem #0003}.hero-sprite-overlay{position:fixed;bottom:-50%;width:calc(var(--hero-sprite-width) * 2.5);height:100vh;z-index:var(--z-sprites);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.4));transform:translate(-1.875rem);transition:width var(--transition-normal) ease;display:flex;align-items:flex-end}.partner-sprite-overlay{position:fixed;right:-10rem;bottom:-50%;width:calc(var(--partner-sprite-width) * 2.5);height:100vh;z-index:var(--z-sprites);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.4));transform:translate(1.875rem);transition:width var(--transition-normal) ease;display:flex;align-items:flex-end}.vivienne-sprite-overlay,.fox-sprite-overlay{position:fixed;right:-10rem;bottom:-50%;width:calc((var(--hero-sprite-width) + 3rem) * 1.95);height:auto;z-index:var(--z-sprites);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(107,70,193,.5));transform:translate(1.875rem);transition:width var(--transition-normal) ease;display:flex;align-items:flex-end}.info-card{background:#fff8;border-radius:.5rem;padding:.75rem;min-width:11.25rem;z-index:1000;box-shadow:0 .125rem .5rem #0002;font-size:.6375rem;color:#3a2410!important}.info-card-left{position:fixed;left:1.5rem;bottom:1.5rem;z-index:var(--z-info-cards);background:#fff8;border-radius:.5rem;padding:.75rem;min-width:11.25rem;box-shadow:0 .125rem .5rem #0002;font-size:.9375rem;color:#3a2410}.info-card-right{position:fixed;right:1.5rem;bottom:1.5rem;z-index:var(--z-info-cards);background:#fff8;border-radius:.5rem;padding:.75rem;min-width:11.25rem;box-shadow:0 .125rem .5rem #0002;font-size:.9375rem;color:#3a2410}.save-load-controls{position:fixed;top:1rem;right:1rem;z-index:2000;display:grid;gap:.3em}.save-btn,.load-btn{font-family:Libre Baskerville,serif;font-weight:500;font-size:.7rem;background:#d4af87;color:#2c1810;border:1px solid #C4A677;border-radius:.375rem;cursor:pointer;box-shadow:0 .125rem .375rem #00000026;transition:all .25s ease;text-shadow:none;letter-spacing:.0188rem;padding:.5rem .7rem;min-width:9rem}.save-btn:hover,.load-btn:hover{background:#c4a677;transform:translateY(-1px);box-shadow:0 .25rem .625rem #0003;border-color:#b49567}.party-config-window{background:#f5ecd6f5;border:.3125rem solid #bfa76f;border-radius:1rem;box-shadow:0 0 1.125rem #0006,0 0 0 .375rem #7c5a2a33;padding:1.75rem 1.5rem 1.5rem;margin:2rem auto;max-width:min(90vw,60rem);width:100%;font-size:1rem;font-family:Libre Baskerville,serif;line-height:1.5;position:relative;color:#3a2410;min-height:auto}.battle-carachter-card{background:#f5ecd6f5;border:.3125rem solid #bfa76f;border-radius:1rem;box-shadow:0 0 1.125rem #0006,0 0 0 .375rem #7c5a2a33;padding:2.2rem 2rem 2rem;margin:2.5rem auto;max-width:33.75rem;font-size:1.08rem;color:#3a2410}.party-config-window h2,.party-config-window h3{font-family:Libre Baskerville,serif;font-weight:600;color:#7c5a2a;margin-bottom:1rem}.party-config-window hr{border:none;border-top:.125rem solid #bfa76f;margin:1.5rem 0}.party-config-window .stat-label{font-weight:700;color:#7c5a2a;margin-right:.5em}.party-config-window .back-btn{font-family:Libre Baskerville,serif;font-weight:600;font-size:1.02rem;background:linear-gradient(90deg,#e7d3a1,#c9a86b);color:#3a2410;border:.1875rem solid #bfa76f;border-radius:.625rem;padding:.6rem 1.2rem;cursor:pointer;box-shadow:0 .125rem .5rem #0002;margin-top:1.5rem;transition:background .3s,transform .1s}.party-config-window .back-btn:hover{background:linear-gradient(90deg,#f5ecd6,#e7d3a1);color:#7c5a2a;border-color:#d4b97a;transform:translateY(-.125rem) scale(1.03)}.party-config-window select{font-family:Libre Baskerville,serif;font-weight:600;font-size:1rem;background:linear-gradient(90deg,#e7d3a1,#c9a86b);color:#3a2410;border:.1875rem solid #bfa76f;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;box-shadow:0 .125rem .5rem #0004;transition:background .3s,transform .1s,box-shadow .3s;text-shadow:0 1px 0 #fff4;min-width:9.375rem;margin-left:.5rem}.party-config-window select:hover{background:linear-gradient(90deg,#f5ecd6,#e7d3a1);color:#7c5a2a;transform:translateY(-1px);border-color:#d4b97a;box-shadow:0 .25rem .75rem #0006}.party-config-window select:focus{outline:none;background:linear-gradient(90deg,#f5ecd6,#e7d3a1);color:#7c5a2a;border-color:#d4b97a;box-shadow:0 0 0 .125rem #bfa76f44}.party-config-window select option{background:#f5ecd6;color:#3a2410;padding:.5rem}.party-config-window label{font-family:Libre Baskerville,serif;font-weight:600;padding:.5rem}.party-cards-container{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin:1.5rem 0}.party-character-card{background:#fff8f0f2;border:.25rem solid #bfa76f;border-radius:.75rem;box-shadow:0 .25rem .75rem #00000026;padding:1rem;flex:1;min-width:15.625rem;max-width:20rem;position:relative;transition:all .3s ease}.party-character-card:hover{transform:translateY(-.125rem);box-shadow:0 .5rem 1rem #0003;border-color:#d4b97a}.party-character-card{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.party-character-stats{display:flex;flex-direction:column;gap:.25rem}.party-character-stats h3{font-family:Libre Baskerville,serif;font-size:1.1rem;color:#7c5a2a;margin-bottom:.75rem;text-align:center;border-bottom:.125rem solid #bfa76f;padding-bottom:.25rem}.party-character-stats>div{font-size:.85rem;line-height:1.3;color:#3a2410}.party-character-stats .stat-label{font-weight:700;color:#7c5a2a;margin-right:.5em;min-width:4.6875rem;display:inline-block}.party-outfit-selector{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #bfa76f}.party-outfit-selector label{display:block;margin-bottom:.25rem;font-weight:600;color:#7c5a2a;font-size:.8rem}.party-outfit-selector select{width:100%;margin-left:0!important;font-size:.8rem;padding:.25rem .5rem}.party-character-sprite{display:flex;align-items:center;justify-content:center;min-width:5rem;max-width:5rem}.party-character-sprite img{width:5rem!important;max-width:5rem;height:auto;filter:drop-shadow(0 .125rem .375rem rgba(0,0,0,.3));transition:all .3s ease}.party-config-back-btn{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:.125rem solid #bfa76f;flex-wrap:wrap}.party-config-inventory-section{display:flex;justify-content:center;margin:1.5rem 0;padding:1rem 0}.party-config-inventory-section .inventory-btn{position:static!important;top:auto!important;left:auto!important;margin:0!important}.battleContainer{position:fixed;left:0;right:0;bottom:0;height:100vh;z-index:1000;transition:background var(--transition-normal);padding:0;overflow:hidden;display:flex;flex-direction:column}.battleOverlayElement{grid-area:battleCharacters;z-index:10;pointer-events:none;display:flex;justify-content:center;align-items:center}.battleFloatingUI{grid-area:1 / 1 / -1 / -1;z-index:5;pointer-events:none}.battleEffectOverlay{grid-area:player;z-index:15;pointer-events:none}.battleDamageNumber{grid-area:enemy;z-index:20;justify-self:center;align-self:center;pointer-events:none;font-size:2rem;font-weight:700;color:#f44;text-shadow:.125rem .125rem .25rem rgba(0,0,0,.8);animation:damageFloat 1s ease-out forwards}.battleHealNumber{grid-area:player;z-index:20;justify-self:center;align-self:center;pointer-events:none;font-size:1.5rem;font-weight:700;color:#4f4;text-shadow:.125rem .125rem .25rem rgba(0,0,0,.8);animation:healFloat 1s ease-out forwards}.battleStatusEffect{grid-area:actions;z-index:8;justify-self:center;align-self:start;pointer-events:none;background:#ffd700e6;padding:.25rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:700;color:#1a1a1a;box-shadow:0 .25rem .75rem #0000004d}@keyframes damageFloat{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-3.125rem) scale(1.2);opacity:0}}@keyframes healFloat{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-1.875rem) scale(1.1);opacity:0}}.battleVictoryOverlay,.battleDefeatOverlay{grid-area:1 / 1 / -1 / -1;z-index:100;display:flex;justify-content:center;align-items:center;background:#000c;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);color:#fff;font-size:3rem;font-weight:700;text-shadow:.125rem .125rem .25rem rgba(0,0,0,.9);opacity:0;transition:opacity .5s ease}.battleVictoryOverlay.show,.battleDefeatOverlay.show{opacity:1}.battleVictoryOverlay{color:gold}.battleDefeatOverlay{color:#f44}.battleFloatingStats{grid-area:player;justify-self:end;margin-right:-3.125rem;z-index:12;background:#ffffffe6;padding:.5rem;border-radius:.5rem;box-shadow:0 .25rem .75rem #0003}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:var(--battle-gap);align-items:flex-end;justify-items:center;padding:2vh;min-height:0;z-index:10}.battlePlayerArea{grid-area:player;display:flex;flex-direction:row;gap:2rem;max-width:31.25rem;align-items:flex-end;justify-self:center}.battleActionButtonsContainer{grid-area:actions;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:30vw;min-height:20vh;z-index:1000;justify-self:center}.battleEnemyArea{grid-area:enemy;display:flex;justify-content:flex-end;align-items:center;max-width:21.875rem;justify-self:end}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:40vh;padding:3vh 2vh 2vh;display:flex;align-items:flex-start;justify-content:center;min-height:0;z-index:0;pointer-events:none}.battleLogContainer .battleLog{width:100%;max-width:50rem;min-height:35vh;max-height:25vh;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;padding:1rem;overflow-y:auto;font-size:.9rem;line-height:1.4;font-weight:600;z-index:0;pointer-events:auto}.battleCharacterContainer{position:relative;transition:all .3s ease;display:flex;flex-direction:column;align-items:center}.battleCharacterContainer.damaged{animation:damageFlash .6s ease}.battleCharacterContainer.attacking{animation:attackSlash .8s ease}.battleHealthBarContainer{width:12.5rem;height:.625rem;background:#e0e0e0;border-radius:.3125rem;overflow:hidden;transition:all .3s ease}.battleHealthBarFill{height:100%;transition:width .5s ease,background .5s ease}.battleHealthBarFill.high-health{background:#4caf50}.battleHealthBarFill.medium-health{background:#ffc107}.battleHealthBarFill.low-health{background:#f44336}.battleSpecialAbilityButton{font-size:.9em;border:.125rem solid;text-shadow:1px 1px .125rem #000;transition:all .3s ease}.battleSpecialAbilityButton.available{background:#8b0000;color:gold;border-color:gold}.battleSpecialAbilityButton.unavailable{background:#666;color:#aaa;border-color:#999;text-shadow:none}.battleActionContainer{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;min-width:16.25rem}.battleActionScrollable{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;min-width:16.25rem;overflow-y:auto}.battleStatsBar{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 1rem;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;font-size:.9rem;margin-top:.5rem;transition:all .3s ease;min-width:11.25rem;max-width:fit-content;text-align:center;font-weight:600}.battleStatsBar.active{background:#ffd70059;border:.125rem solid rgba(255,215,0,.6);box-shadow:0 .75rem 2.5rem #ffd70040,0 0 0 .125rem #ffd70066 inset,0 0 1.875rem #ffd70026,0 .25rem 1.25rem #ffffff1a inset;color:#2a2a2a}.battleStatsGroup{display:flex;flex-direction:column;gap:.3rem}.battleStatsRow{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem}.battleStatsName{font-weight:700;font-size:1rem;color:#1a1a1a;margin-bottom:.2rem}.battleStatsHealth{display:flex;flex-direction:column;gap:.2rem;align-items:center}.battleStatsSecondary{display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.8rem;color:#2a2a2a;font-weight:600}.battleActionMenu{display:flex;flex-direction:column;gap:1rem;align-items:center;min-width:15.625rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:1rem;padding:.8rem 1.5rem;min-height:2.5rem;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;min-width:12.5rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:700;cursor:pointer}.battleActionMenu .choice-button:hover,.battleActionMenu .actionButton:hover{background:#ffffff59;border:.125rem solid rgba(255,255,255,.5);box-shadow:0 1rem 3.125rem #0003,0 0 0 .125rem #ffffff4d inset,0 .375rem 1.5625rem #ffffff26 inset;color:#0a0a0a;transform:translateY(-.125rem) scale(1.02)}@keyframes damageFlash{0%{filter:brightness(1)}50%{filter:brightness(2) hue-rotate(0deg)}to{filter:brightness(1)}}@keyframes attackSlash{0%{transform:translate(0) translateY(0) scale(1)}25%{transform:translate(.625rem) translateY(-.3125rem) scale(1.05)}75%{transform:translate(-.625rem) translateY(.3125rem) scale(1.05)}to{transform:translate(0) translateY(0) scale(1)}}.actionButtonGroup,.scrollableActionGroup{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;min-width:16.25rem}.scrollableActionGroup{overflow-y:auto;max-height:60vh;-webkit-overflow-scrolling:touch}.specialAbilityButton{background:#8b0000;color:gold;font-size:.9em;border:.125rem solid #ffd700;text-shadow:.0625rem .0625rem .125rem #000;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all var(--transition-normal) ease;min-height:var(--touch-target-comfortable);width:100%;text-align:center;box-sizing:border-box}.specialAbilityButtonDisabled{background:#666;color:#aaa;font-size:.9em;border:.125rem solid #999;text-shadow:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:not-allowed;min-height:var(--touch-target-comfortable);width:100%;text-align:center;box-sizing:border-box}@media (max-width: 1024px){:root{--base-font-size: var(--base-font-size-lg);--story-padding: var(--story-padding-lg);--story-radius: var(--story-radius-lg);--story-max-width: var(--story-max-width-lg);--choice-padding: var(--choice-padding-lg);--choice-radius: var(--choice-radius-lg);--hero-sprite-width: var(--hero-sprite-width-lg);--partner-sprite-width: var(--partner-sprite-width-lg);--battle-padding: var(--battle-padding-lg);--battle-gap: var(--battle-gap-lg);--battle-card-width: var(--battle-card-width-lg);--battle-card-height: var(--battle-card-height-lg);--battle-sprite-width: var(--battle-sprite-width-lg);--battle-hero-sprite-width: 7rem;--battle-partner-sprite-width: 6rem;--battle-enemy-sprite-width: 10.5rem}.story-window{max-width:50%;margin:.75rem auto}.choice-button{font-size:.9rem}.save-load-controls{font-size:.65rem;gap:.3em}.save-btn,.load-btn{font-size:.65rem;padding:.4rem;min-width:11.25rem}.party-config-inventory-section{margin:1rem 0;padding:.75rem 0}.party-config-inventory-section .inventory-btn{position:static!important;top:auto!important;left:auto!important;margin:0!important}.hero-sprite-overlay{left:2rem;bottom:1rem;transform:translateY(1rem) translate(-1rem)}.partner-sprite-overlay{right:2rem;bottom:1rem;transform:translateY(1rem) translate(1rem)}.vivienne-sprite-overlay,.fox-sprite-overlay{right:1rem;bottom:1rem;width:calc(var(--hero-sprite-width) + 3rem);transform:translateY(1rem) translate(1rem)}.info-card-left{left:1rem;bottom:1rem;font-size:.9rem}.info-card-right{right:1rem;bottom:1rem;font-size:.9rem}.battleHeader{gap:var(--battle-gap-lg);margin-bottom:var(--battle-gap-lg)}.actionButtonGroup,.scrollableActionGroup{gap:.5rem;min-width:14rem}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.85rem;padding:.6rem 1.2rem;min-height:2.5rem}.party-config-window{max-width:90vw;margin:1.5rem auto;padding:1.5rem 1.25rem;font-size:.95rem}.party-config-window .back-btn{font-size:.9rem;padding:.5rem 1rem}.party-config-window select{font-size:.9rem;padding:.375rem .75rem;min-width:8.125rem}.party-config-window label{font-size:.9rem;padding:.375rem}.party-cards-container{gap:var(--space-md);flex-direction:row}.party-character-card{min-width:14.375rem;max-width:18.75rem;padding:.875rem}.party-character-card{grid-template-columns:1fr auto;gap:.875rem}.party-character-stats h3{font-size:1rem}.party-character-stats>div{font-size:.8rem}.party-character-sprite{min-width:4.375rem;max-width:4.375rem}.party-character-sprite img{width:4.375rem!important;max-width:4.375rem}}@media (max-width: 819px){.battleContainer{position:relative;display:grid;grid-template-rows:1fr;grid-template-areas:"battleCharacters";min-height:100vh}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding-top:1rem}.battleCharacterArea{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:1rem;align-items:flex-end;justify-items:center;padding:1rem;z-index:10}.battlePlayerArea{justify-self:center;max-width:none;flex-direction:row;gap:1rem}.battleActionButtonsContainer{justify-self:center;min-width:auto;max-width:15.625rem}.battleEnemyArea{justify-self:end;max-width:none}.battleActionMenu{display:flex;flex-direction:column;gap:1rem;align-items:center}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.75rem;padding:.8rem 1.5rem;max-width:12.5rem;max-height:2rem;background:#ffffff40;backdrop-filter:blur(.9375rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:1px solid rgba(255,255,255,.4);border-radius:1.5625rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;min-width:12.5rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:700;cursor:pointer}.battleStatsBar{display:flex;flex-direction:column;padding:.8rem 1rem;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;font-size:.75rem;transition:all .3s ease;min-width:8rem;max-width:11rem;text-align:center;font-weight:600}.battleStatsName{font-weight:700;font-size:.8rem;color:#1a1a1a;margin-bottom:.2rem}.battleStatsHp,.battleStatsMp,.battleHealthBarContainer{width:8.5rem;height:.5rem;background:#e0e0e0;border-radius:.3125rem;overflow:hidden}.battleActionContainer,.battleActionScrollable{min-width:11.25rem;gap:.5rem}.battleSpecialAbilityButton{font-size:.75rem;padding:.6rem 1rem}.battleStatsSecondary{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;color:#2a2a2a;font-weight:600}.battleLogContainer .battleLog{width:100%;max-width:50rem;height:20vh;min-height:35vh;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;padding:1rem;overflow-y:auto;font-size:.8rem;line-height:1.4;font-weight:600;z-index:0;pointer-events:auto}.battleLogEntry{margin-bottom:.625rem;font-size:.6rem;line-height:1.5}}@media (max-width: 819px) and (orientation: portrait){.battleCharacterArea{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;grid-template-areas:"enemy" "actions" "player"!important;gap:.75rem!important;padding:.5rem!important}.battlePlayerArea{justify-self:center!important;flex-direction:column!important;gap:.5rem!important}.battleEnemyArea{justify-self:center!important}.battleActionButtonsContainer{max-width:17.5rem!important;width:100%!important}.save-load-modal{min-width:96vw;max-width:96vw;max-height:85vh;margin:1rem 2vw}.save-slot{flex-direction:column;align-items:stretch;gap:.5rem}.slot-info{text-align:center}.slot-actions{flex-direction:row;justify-content:center;gap:.5rem;flex-wrap:wrap}.slot-actions button{flex:1;min-width:4rem;max-width:6rem}}@media (max-width: 768px){:root{--base-font-size: var(--base-font-size-md);--story-padding: var(--story-padding-md);--story-radius: var(--story-radius-md);--story-max-width: 90vw;--choice-padding: var(--choice-padding-md);--choice-radius: var(--choice-radius-md);--hero-sprite-width: var(--hero-sprite-width-md);--partner-sprite-width: var(--partner-sprite-width-md);--battle-padding: var(--battle-padding-md);--battle-gap: var(--battle-gap-md);--battle-sprite-width: var(--battle-sprite-width-md);--battle-hero-sprite-width: 5rem;--battle-partner-sprite-width: 4.5rem;--battle-enemy-sprite-width: 7.5rem}*{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none}.story-window{max-width:50%;margin:.75rem auto;border-width:.25rem;padding:1.5rem}.choice-button{font-size:.9rem;margin:.1rem 0;border-width:.125rem;min-height:2.5rem;padding:.75rem 1rem}.choice-button,.specialAbilityButton,.specialAbilityButtonDisabled{-webkit-tap-highlight-color:rgba(191,167,111,.3);touch-action:manipulation;min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.choice-button:active,.specialAbilityButton:active{transform:scale(.98);transition:transform var(--transition-fast) ease}.save-load-controls{font-size:.65rem;gap:.3em}.save-btn,.load-btn{font-size:.65rem;padding:.35rem;min-width:10rem}.party-config-inventory-section{margin:1rem 0;padding:.75rem 0}.party-config-inventory-section .inventory-btn{position:static!important;top:auto!important;left:auto!important;margin:0!important}.save-load-modal{min-width:95vw;max-width:95vw;max-height:85vh;margin:1rem;border-radius:.5rem}.save-load-header{padding:1rem 1.5rem;border-bottom:.1rem solid #bfa76f}.save-load-header h2{font-size:1.25rem}.close-btn{width:1.75rem;height:1.75rem;font-size:1.5rem}.save-load-content{padding:1rem 1.5rem}.save-slots h3{font-size:1rem;margin-bottom:.75rem}.save-slot{padding:.75rem 1rem;margin-bottom:.5rem;border-width:.125rem;border-radius:.375rem}.slot-name{font-size:.9rem}.save-details{font-size:.8rem}.save-meta span{margin-right:.75rem}.save-timestamp,.play-time{font-size:.7rem}.slot-actions{flex-direction:column;gap:.25rem}.slot-actions button{font-size:.8rem;padding:.375rem .75rem;border-radius:.25rem;min-width:4rem}.custom-save-name{margin-bottom:1.5rem}.custom-save-name label{font-size:.9rem;margin-bottom:.5rem}.custom-save-name input{font-size:.9rem;padding:.5rem;border-radius:.25rem}.import-export{margin-bottom:1rem}.import-export h3{font-size:1rem;margin-bottom:.75rem}.import-section label{font-size:.9rem;margin-bottom:.5rem}.import-btn{font-size:.9rem;padding:.5rem 1rem;border-radius:.25rem}.auto-save-info{margin-top:1rem}.auto-save-info p{font-size:.8rem;line-height:1.4}.hero-sprite-overlay{left:1rem;bottom:.5rem;transform:translateY(.5rem) translate(-.5rem)}.partner-sprite-overlay{right:1rem;bottom:.5rem;transform:translateY(.5rem) translate(.5rem)}.vivienne-sprite-overlay,.fox-sprite-overlay{right:1rem;bottom:.5rem;width:calc(var(--hero-sprite-width) + 3rem);transform:translateY(.5rem) translate(.5rem)}.info-card-left{left:.5rem;bottom:.5rem;font-size:.8rem;padding:.5rem;max-width:40%}.info-card-right{right:.5rem;bottom:.5rem;font-size:.8rem;padding:.5rem;max-width:40%}.battleContainer{height:100vh;position:relative;display:flex;flex-direction:column}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding-top:1rem}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:var(--battle-gap-md);align-items:flex-end;justify-items:center;padding:var(--battle-padding-md);min-height:0;z-index:10}.battlePlayerArea{flex-direction:row;gap:.75rem;align-items:center;justify-self:start;max-width:17.5rem}.battleActionButtonsContainer{min-width:auto;width:auto;max-width:13.75rem;justify-self:center}.battleEnemyArea{justify-content:center;max-width:17.5rem;justify-self:end}.actionButtonGroup,.scrollableActionGroup{gap:.375rem;min-width:100%;align-items:stretch}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.8rem;padding:.5rem 1rem;min-height:2.25rem}img{image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast;max-width:100%;height:auto;will-change:transform}.battleLog::-webkit-scrollbar,.scrollableActionGroup::-webkit-scrollbar{width:.375rem}.battleLog::-webkit-scrollbar-track,.scrollableActionGroup::-webkit-scrollbar-track{background:#f5ecd64d;border-radius:.1875rem}.battleLog::-webkit-scrollbar-thumb,.scrollableActionGroup::-webkit-scrollbar-thumb{background:#bfa76f;border-radius:.1875rem}.story-window,.characterCard,.enemyCard,.battleLog{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}.party-config-window{max-width:95vw;margin:1rem auto;padding:1rem;font-size:.9rem}.party-cards-container{flex-direction:column;gap:var(--space-sm);align-items:center}.party-character-card{min-width:13.75rem;max-width:100%;width:100%;padding:.75rem;grid-template-columns:1fr auto;gap:.75rem}.party-character-stats h3{font-size:1rem}.party-character-stats>div{font-size:.8rem}.party-character-stats .stat-label{min-width:4.0625rem}.party-character-sprite{min-width:3.75rem;max-width:3.75rem}.party-character-sprite img{width:3.75rem!important;max-width:3.75rem}.party-outfit-selector select{font-size:.75rem;padding:.1875rem .375rem}}@media (max-width: 768px) and (orientation: portrait) and (max-height: 500px){.battleCharacterArea{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;grid-template-areas:"enemy" "actions" "player"!important;gap:.5rem!important;padding:.5rem!important}.battlePlayerArea{flex-direction:column!important;justify-self:center!important;max-width:100%!important;gap:.5rem!important}.battleActionButtonsContainer{width:100%!important;max-width:16.25rem!important}.battleEnemyArea{justify-self:center!important;max-width:100%!important}.battleLogContainer{padding:.25rem!important}.battleLogContainer .battleLog{height:2.5rem!important;font-size:.5rem!important;padding:.3rem!important}.party-config-window{max-width:98vw;margin:.5rem auto;padding:.75rem .5rem;font-size:.75rem;border-width:.2rem}.party-config-window h2,.party-config-window h3{font-size:1rem;margin-bottom:.5rem}.party-config-window .back-btn{font-size:.7rem;padding:.3rem .6rem;border-width:.125rem;margin-top:1rem}.party-config-window select{font-size:.7rem;padding:.1875rem .375rem;min-width:5rem;margin-left:.125rem;border-width:.125rem}.party-config-window label{font-size:.7rem;padding:.125rem}.party-config-window .stat-label{font-size:.7rem;margin-right:.25em}.party-config-window hr{margin:.75rem 0;border-top-width:.0625rem}.party-cards-container{flex-direction:column;gap:var(--space-xxs)}.party-character-card{min-width:11.25rem;padding:.5rem;grid-template-columns:1fr;grid-template-rows:auto auto;gap:.5rem;text-align:center}.party-character-stats h3{font-size:.9rem;margin-bottom:.5rem}.party-character-stats>div{font-size:.7rem;line-height:1.2}.party-character-stats .stat-label{min-width:auto;font-size:.7rem;display:inline}.party-character-sprite{min-width:auto;max-width:none;justify-content:center}.party-character-sprite img{width:3.125rem!important;max-width:3.125rem}.party-outfit-selector{margin-top:.5rem;padding-top:.5rem}.party-outfit-selector select{font-size:.7rem;padding:.125rem .25rem}}@media (max-width: 600px){:root{--battle-hero-sprite-width: 3.5rem;--battle-partner-sprite-width: 3rem;--battle-enemy-sprite-width: 5.25rem}.story-window{max-width:50%;margin:.75rem auto;padding:1.25rem;border-width:.2rem;font-size:.95rem}.choice-button{font-size:.9rem;padding:.6rem 1rem;margin:.1rem 0;min-height:2.2rem;border-width:.1rem}.save-load-controls{font-size:.65rem;gap:.3em}.save-btn,.load-btn{font-size:.8rem!important;padding:.25rem .5rem!important;border-radius:.375rem!important}.battleLogContainer{padding:.5rem}.battleLogContainer .battleLog{height:2.1875rem;font-size:.65rem;padding:.5rem;background:#fff3;backdrop-filter:blur(2rem) saturate(190%) brightness(105%);-webkit-backdrop-filter:blur(2rem) saturate(190%) brightness(105%);border-radius:.75rem}.battleStatsBar{font-size:.65rem;padding:.4rem .6rem;min-width:7.5rem;max-width:9.375rem;background:#fff3;backdrop-filter:blur(2rem) saturate(190%) brightness(105%);-webkit-backdrop-filter:blur(2rem) saturate(190%) brightness(105%);border-radius:.75rem;gap:.3rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.65rem;padding:.3rem .6rem;min-height:1.6rem;background:#fff3;backdrop-filter:blur(2rem) saturate(190%) brightness(105%);-webkit-backdrop-filter:blur(2rem) saturate(190%) brightness(105%);border-radius:.75rem}.battleCharacterArea{gap:.6rem;padding:.5rem}.actionButtonGroup,.scrollableActionGroup{gap:.2rem;max-height:40vh}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.65rem;padding:.3rem .6rem;min-height:1.6rem;border-radius:.75rem}.battleStatsSecondary{gap:.4rem;font-size:.6rem}.party-config-window{max-width:98vw;margin:.5rem auto;padding:.5rem .375rem;font-size:.7rem;border-width:.1875rem}.party-config-window h2,.party-config-window h3{font-size:.9rem;margin-bottom:.4rem}.party-config-window .back-btn{font-size:.65rem;padding:.25rem .5rem;border-width:.1rem;margin-top:.75rem}.party-config-window select{font-size:.65rem;padding:.125rem .25rem;min-width:4.375rem;margin-left:1px;border-width:1px}.party-config-window label{font-size:.65rem;padding:1px}.party-config-window .stat-label{font-size:.65rem;margin-right:.2em}.party-config-window hr{margin:.5rem 0}.party-cards-container{flex-direction:column;gap:var(--space-xs)}.party-character-card{min-width:12.5rem;padding:.75rem;grid-template-columns:2fr 1fr;gap:.75rem}.party-character-stats h3{font-size:.95rem}.party-character-stats>div{font-size:.75rem;line-height:1.3}.party-character-stats .stat-label{min-width:3.75rem;font-size:.75rem}.party-character-sprite{min-width:3.4375rem;max-width:3.4375rem}.party-character-sprite img{width:3.4375rem!important;max-width:3.4375rem}.party-outfit-selector select{font-size:.75rem;padding:.1875rem .375rem}}@media (max-width: 480px) and (orientation: landscape){:root{--base-font-size: var(--base-font-size-sm);--story-padding: var(--story-padding-sm);--story-radius: var(--story-radius-sm);--story-max-width: var(--story-max-width-sm);--choice-padding: var(--choice-padding-sm);--choice-radius: var(--choice-radius-sm);--choice-min-height: var(--choice-min-height-sm);--hero-sprite-width: var(--hero-sprite-width-sm);--partner-sprite-width: var(--partner-sprite-width-sm);--battle-padding: var(--battle-padding-sm);--battle-gap: var(--battle-gap-sm);--battle-sprite-width: var(--battle-sprite-width-sm);--battle-hero-sprite-width: 4rem;--battle-partner-sprite-width: 3.5rem;--battle-enemy-sprite-width: 6rem}.story-window{max-width:50%;margin:.75rem auto;border-width:.1875rem;padding:1rem;font-size:.9rem}.choice-button{font-size:.9rem;min-height:2rem;padding:.5rem .8rem;margin:.05rem 0;border-width:.1rem}.save-load-controls{font-size:.65rem;gap:.3em}.save-btn,.load-btn{font-size:.65rem;padding:.25rem;min-width:8rem}.save-load-modal{min-width:98vw;max-width:98vw;max-height:90vh;margin:.5rem;border-radius:.375rem}.save-load-header{padding:.75rem 1rem}.save-load-header h2{font-size:1rem}.close-btn{width:1.5rem;height:1.5rem;font-size:1.25rem}.save-load-content{padding:.75rem 1rem}.save-slots h3{font-size:.9rem;margin-bottom:.5rem}.save-slot{padding:.5rem .75rem;margin-bottom:.375rem;border-radius:.25rem}.slot-name{font-size:.8rem;margin-bottom:.125rem}.save-details{font-size:.7rem}.save-meta span{margin-right:.5rem;display:inline-block;margin-bottom:.125rem}.save-timestamp,.play-time{font-size:.6rem}.slot-actions{flex-direction:column;gap:.125rem;min-width:3rem}.slot-actions button{font-size:.7rem;padding:.25rem .5rem;border-radius:.1875rem;min-width:3rem}.custom-save-name{margin-bottom:1rem}.custom-save-name label{font-size:.8rem;margin-bottom:.25rem}.custom-save-name input{font-size:.8rem;padding:.375rem;border-radius:.1875rem;width:100%}.import-export{margin-bottom:.75rem}.import-export h3{font-size:.9rem;margin-bottom:.5rem}.import-section label{font-size:.8rem;margin-bottom:.25rem}.import-btn{font-size:.8rem;padding:.375rem .75rem;border-radius:.1875rem}.auto-save-info{margin-top:.75rem}.auto-save-info p{font-size:.7rem;line-height:1.3}.hero-sprite-overlay{left:.5rem;bottom:.25rem;transform:translateY(.25rem) translate(-.25rem)}.partner-sprite-overlay{right:.5rem;bottom:.25rem;transform:translateY(.25rem) translate(.25rem)}.info-card-left{left:.25rem;bottom:.25rem;font-size:.7rem;padding:.375rem;max-width:35%}.info-card-right{right:.25rem;bottom:.25rem;font-size:.7rem;padding:.375rem;max-width:35%}.battleHeader{gap:var(--battle-gap-sm);margin-bottom:var(--battle-gap-sm)}.characterCardsColumn{gap:var(--battle-gap-sm)}.battleLog{min-height:12rem;padding:var(--battle-padding-sm);max-height:40vh;font-size:.85rem}.battleActionMenu{padding:.5rem;gap:.375rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{padding:.625rem .875rem;margin:.125rem 0;font-size:.75rem;min-height:2.25rem;border-radius:.375rem}.battleActionButtonsContainer{padding:.375rem;margin:.125rem}.story-window{padding:.875rem .625rem;margin:.375rem}.choice-button{padding:.625rem .875rem;margin:.125rem 0;min-height:2.5rem;font-size:.8rem}.main-menu-content{padding:1.25rem .875rem;margin:.375rem}.save-btn,.load-btn{padding:.625rem .875rem;margin:.25rem 0;min-height:2.25rem}.battleLogTitle{font-size:1rem;margin-bottom:.75rem}.battleLogEntry{font-size:.8rem;margin-bottom:.375rem}.battleContainer{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:100vh!important;z-index:1000!important;transition:background var(--transition-normal);padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important;border:.3125rem solid red!important}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding:1rem .375rem .375rem}.battleLogContainer .battleLog{height:1.875rem;font-size:.55rem;padding:.4rem;background:#ffffff26;backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);border-radius:.625rem}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:.5rem;align-items:flex-end;justify-items:center;padding:var(--battle-padding-sm);min-height:0;z-index:10}.battlePlayerArea{grid-area:player;display:flex;justify-self:start;max-width:none;flex-direction:row;gap:.5rem;align-items:flex-end}.battleActionButtonsContainer{grid-area:actions;justify-self:center;min-width:auto;max-width:12.5rem}.battleEnemyArea{grid-area:enemy;display:flex;justify-content:flex-end;align-items:center;justify-self:end;max-width:none}.battleStatsBar{font-size:.55rem;padding:.3rem .5rem;min-width:6.25rem;max-width:8.125rem;background:#ffffff26;backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);border-radius:.625rem;gap:.2rem}.battleStatsSecondary{gap:.3rem;font-size:.5rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.55rem;padding:.25rem .5rem;min-height:1.4rem;background:#ffffff26;backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.75rem) saturate(180%) brightness(105%);border-radius:.625rem}.actionButtonGroup,.scrollableActionGroup{gap:.15rem;max-height:35vh;overflow-y:auto}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.55rem;padding:.25rem .5rem;min-height:1.4rem;border-radius:.625rem}.characterSprite,.partnerSprite,.enemySprite{width:var(--battle-sprite-width-sm)}.party-config-window{max-width:99vw;margin:.25rem auto;padding:.375rem .25rem;font-size:.6rem;border-width:.125rem}.party-config-window h2,.party-config-window h3{font-size:.8rem;margin-bottom:.3rem}.party-config-window .back-btn{font-size:.55rem;padding:.2rem .4rem;border-width:.0625rem;margin-top:.5rem}.party-config-window select{font-size:.55rem;padding:1px .1875rem;min-width:3.75rem;margin-left:0;border-width:1px}.party-config-window label{font-size:.55rem;padding:0}.party-config-window .stat-label{font-size:.55rem;margin-right:.1em}.party-config-window hr{margin:.3rem 0}.save-load-controls{font-size:.55rem;gap:.2em}.save-btn,.load-btn{font-size:.5rem;padding:.35rem;min-width:6.5rem}}@media (max-width: 390px) and (orientation: landscape){:root{--base-font-size: var(--base-font-size-xs);--story-padding: var(--story-padding-xs);--choice-padding: var(--choice-padding-xs);--hero-sprite-width: var(--hero-sprite-width-xs);--partner-sprite-width: var(--partner-sprite-width-xs);--battle-padding: var(--battle-padding-xs);--battle-gap: var(--battle-gap-xs);--battle-sprite-width: var(--battle-sprite-width-xs);--battle-hero-sprite-width: 3.5rem;--battle-partner-sprite-width: 3rem;--battle-enemy-sprite-width: 5.25rem}.story-window{margin:.625rem auto;border-width:.15625rem}.choice-button{font-size:.85rem;min-height:var(--choice-min-height-xs)}.hero-sprite-overlay{left:.375rem;bottom:.1875rem;transform:translateY(.1875rem) translate(-.1875rem)}.partner-sprite-overlay{right:.375rem;bottom:.1875rem;transform:translateY(.1875rem) translate(.1875rem)}.info-card-left{left:.1875rem;bottom:.1875rem;font-size:.65rem;padding:.3125rem;max-width:32%}.info-card-right{right:.1875rem;bottom:.1875rem;font-size:.65rem;padding:.3125rem;max-width:32%}.battleHeader{gap:var(--battle-gap-xs);margin-bottom:var(--battle-gap-xs)}.characterCardsColumn{gap:var(--battle-gap-xs)}.battleLog{min-height:10rem;padding:var(--battle-padding-xs);max-height:35vh;font-size:.8rem}.battleLogTitle{font-size:.9rem;margin-bottom:.5rem}.battleLogEntry{font-size:.75rem;margin-bottom:.25rem}.battleContainer{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:100vh!important;z-index:1000!important;transition:background var(--transition-normal);padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important;border:.3125rem solid blue!important}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding:1rem .375rem .375rem}.battleLogContainer .battleLog{height:1.5625rem;font-size:.5rem;padding:.3rem;background:#ffffff26;backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);border-radius:.5rem}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:.5rem;align-items:flex-end;justify-items:center;padding:var(--battle-padding-xs);min-height:0;z-index:10}.battlePlayerArea{grid-area:player;display:flex;justify-self:start;max-width:none;flex-direction:row;gap:.4rem;align-items:flex-end}.battleActionButtonsContainer{grid-area:actions;justify-self:center;min-width:auto;max-width:11.25rem}.battleEnemyArea{grid-area:enemy;display:flex;justify-content:flex-end;align-items:center;justify-self:end;max-width:none}.battleStatsBar{font-size:.5rem;padding:.25rem .4rem;min-width:5rem;max-width:6.875rem;background:#ffffff26;backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);border-radius:.5rem;gap:.15rem}.battleStatsSecondary{gap:.5rem;font-size:.6rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.5rem;padding:.2rem .4rem;min-height:1.3rem;background:#ffffff26;backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.5rem) saturate(180%) brightness(105%);border-radius:.5rem}.actionButtonGroup,.scrollableActionGroup{gap:.125rem;max-height:35vh}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.7rem;padding:.3rem .6rem;min-height:1.75rem;border-radius:.1875rem}.characterSprite,.partnerSprite,.enemySprite{width:var(--battle-sprite-width-xs)}.save-load-controls{font-size:.5rem;gap:.15em}.save-btn,.load-btn{font-size:.45rem;padding:.25rem;min-width:5.5rem}}@media (max-width: 320px) and (orientation: landscape){:root{--base-font-size: var(--base-font-size-xxs);--story-padding: var(--story-padding-xxs);--choice-padding: var(--choice-padding-xxs);--choice-min-height: var(--choice-min-height-xs);--battle-padding: var(--battle-padding-xxs);--battle-gap: var(--battle-gap-xxs);--battle-sprite-width: var(--battle-sprite-width-xxs);--battle-hero-sprite-width: 3rem;--battle-partner-sprite-width: 2.5rem;--battle-enemy-sprite-width: 4.5rem}.story-window{margin:.5rem auto;border-width:.125rem}.choice-button{font-size:.8rem;min-height:var(--choice-min-height-xs)}.hero-sprite-overlay,.partner-sprite-overlay,.vivienne-sprite-overlay,.fox-sprite-overlay{display:none}.info-card-left,.info-card-right{position:static;display:inline-block;max-width:100%;margin:.5rem}.battleContainer{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:100vh!important;z-index:1000!important;transition:background var(--transition-normal);padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important;border:.3125rem solid green!important}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding:1rem .25rem .25rem}.battleLogContainer .battleLog{height:1.125rem;font-size:.45rem;padding:.25rem;background:#ffffff26;backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);border-radius:.375rem}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:.25rem;align-items:flex-end;justify-items:center;padding:var(--battle-padding-xxs);min-height:0;z-index:10}.battlePlayerArea{grid-area:player;display:flex;justify-self:start;max-width:none;flex-direction:row;gap:.3rem;align-items:flex-end}.battleActionButtonsContainer{grid-area:actions;justify-self:center;min-width:auto;max-width:10rem}.battleEnemyArea{grid-area:enemy;display:flex;justify-content:flex-end;align-items:center;justify-self:end;max-width:none}.battleStatsBar{font-size:.45rem;padding:.2rem .3rem;min-width:4.375rem;max-width:5.9375rem;background:#ffffff26;backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);border-radius:.375rem;gap:.1rem}.battleStatsSecondary{gap:.4rem;font-size:.55rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.45rem;padding:.15rem .3rem;min-height:1.1rem;background:#ffffff26;backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(1.25rem) saturate(180%) brightness(105%);border-radius:.375rem}.actionButtonGroup,.scrollableActionGroup{gap:.125rem;max-height:30vh}.specialAbilityButton,.specialAbilityButtonDisabled{font-size:.65rem;padding:.25rem .5rem;min-height:1.5rem;border-radius:.125rem}.characterSprite,.partnerSprite,.enemySprite{width:var(--battle-sprite-width-xxs)}.save-load-controls{font-size:.45rem;gap:.1em}.save-btn,.load-btn{font-size:.4rem;padding:.2rem;min-width:5rem}}@media (max-width: 1024px) and (min-width: 768px) and (orientation: landscape){.story-window{max-width:50%;margin:.75rem auto;overflow-y:visible}.choice-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;overflow-y:visible}.choice-button{padding:.5rem 1rem;font-size:.9rem;min-height:2.2rem}.save-load-controls{font-size:.65rem;gap:.25em}.save-btn,.load-btn{font-size:.6rem;padding:.25rem;min-width:8rem}.battleActionMenu{display:flex;flex-direction:column;gap:1rem;align-items:center}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.75rem;padding:.8rem 1.5rem;max-width:12.5rem;max-height:2rem;background:#ffffff40;backdrop-filter:blur(.9375rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:1px solid rgba(255,255,255,.4);border-radius:1.5625rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;min-width:12.5rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:700;cursor:pointer}.battleStatsBar{display:flex;flex-direction:column;padding:.8rem 1rem;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;font-size:.75rem;transition:all .3s ease;min-width:8rem;max-width:11rem;text-align:center;font-weight:600}.battleStatsName{font-weight:700;font-size:.8rem;color:#1a1a1a;margin-bottom:.2rem}.battleStatsHp,.battleStatsMp,.battleHealthBarContainer{width:8.5rem;height:.5rem;background:#e0e0e0;border-radius:.3125rem;overflow:hidden}.battleActionContainer,.battleActionScrollable{min-width:10rem;gap:.375rem}.battleSpecialAbilityButton{font-size:.7rem;padding:.5rem .8rem}.battleStatsSecondary{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;color:#2a2a2a;font-weight:600}.battleLogContainer .battleLog{width:100%;max-width:50rem;height:20vh;min-height:35vh;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;padding:1rem;overflow-y:auto;font-size:.8rem;line-height:1.4;font-weight:600;z-index:0}.battleLogEntry{margin-bottom:.625rem;font-size:.6rem;line-height:1.5}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:var(--battle-gap);align-items:flex-end;justify-items:center;padding:2vh;min-height:0;flex:1;z-index:10}.battlePlayerArea{justify-self:center;max-width:none;flex-direction:row;gap:1rem}.battleActionButtonsContainer{justify-self:center;min-width:auto;max-width:15.625rem}.battleEnemyArea{justify-self:end;max-width:none}}@media (max-height: 428px) and (orientation: landscape),(max-height: 414px) and (orientation: landscape),(max-height: 390px) and (orientation: landscape){.battleActionMenu{display:flex;flex-direction:column;gap:.75rem;align-items:center}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.7rem;padding:.6rem 1.2rem;max-width:11rem;max-height:1.8rem;background:#ffffff40;backdrop-filter:blur(.9375rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:1px solid rgba(255,255,255,.4);border-radius:1.25rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;min-width:11rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:700;cursor:pointer}.battleStatsBar{display:flex;flex-direction:column;padding:.6rem .8rem;background:#ffffff40;backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(2.5rem) saturate(200%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1rem;box-shadow:0 .75rem 2.5rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.25rem #ffffff1a inset;color:#1a1a1a;font-size:.7rem;transition:all .3s ease;min-width:7rem;max-width:10rem;text-align:center;font-weight:600}.battleStatsName{font-weight:700;font-size:.75rem;color:#1a1a1a;margin-bottom:.15rem}.battleStatsHp,.battleStatsMp,.battleHealthBarContainer{width:7.5rem;height:.4rem;background:#e0e0e0;border-radius:.25rem;overflow:hidden}.battleActionContainer,.battleActionScrollable{min-width:8.75rem;gap:.3125rem}.battleSpecialAbilityButton{font-size:.65rem;padding:.4rem .6rem}.battleStatsSecondary{display:flex;justify-content:space-between;align-items:center;font-size:.55rem;color:#2a2a2a;font-weight:600}.battleLogContainer .battleLog{width:100%;max-width:43.75rem;height:15vh;min-height:35vh;background:#ffffff40;backdrop-filter:blur(2.1875rem) saturate(190%) brightness(110%);-webkit-backdrop-filter:blur(2.1875rem) saturate(190%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:1rem;box-shadow:0 .625rem 2.1875rem #00000026,0 0 0 .125rem #fff3 inset,0 .25rem 1.125rem #ffffff1a inset;color:#1a1a1a;padding:.75rem;overflow-y:auto;font-size:.7rem;line-height:1.3;font-weight:600;z-index:0}.battleLogEntry{margin-bottom:.5rem;font-size:.55rem;line-height:1.4}.battleCharacterArea{gap:.75rem;padding:.75rem}.battlePlayerArea{gap:.75rem}.battleActionButtonsContainer{max-width:13.75rem}}@media (max-width: 768px) and (orientation: landscape){.story-window{margin:.5rem auto;overflow-y:visible}.choice-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;overflow-y:visible}.choice-button{padding:.4rem .8rem;font-size:.85rem;min-height:2rem}.save-load-controls{font-size:.6rem;gap:.2em}.save-btn,.load-btn{font-size:.55rem;padding:.2rem;min-width:7rem}.hero-sprite-overlay,.partner-sprite-overlay{width:6rem;bottom:.5rem}.vivienne-sprite-overlay,.fox-sprite-overlay{width:calc(var(--hero-sprite-width) + 3rem);bottom:.5rem;right:1rem}.info-card-left,.info-card-right{font-size:.7rem;padding:.375rem}.battleContainer{height:100vh!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1000!important;transition:background var(--transition-normal);padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;padding:1rem .5rem .5rem;min-height:0;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none}.battleLogContainer .battleLog{height:25vh;max-height:5rem;font-size:.6rem;padding:.5rem;pointer-events:auto}.battleCharacterArea{position:absolute;bottom:0vh;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";gap:.75rem;align-items:flex-end;justify-items:center;padding:.75rem;min-height:0;z-index:10}.battlePlayerArea{justify-self:center;flex-direction:row;gap:.75rem;max-width:18.75rem}.battleActionButtonsContainer{justify-self:center;max-width:15rem;min-width:auto}.battleEnemyArea{justify-self:end;max-width:18.75rem}.battleStatsBar{font-size:.65rem;padding:.4rem .6rem;min-width:6.875rem;max-width:8.125rem}.battleStatsSecondary{gap:.5rem;font-size:.6rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.7rem;padding:.4rem .8rem;min-height:1.8rem;min-width:10rem}.actionButtonGroup,.scrollableActionGroup{display:flex;flex-direction:column;gap:.3rem;max-height:25vh;overflow-y:auto}}@media (max-width: 740px) and (orientation: landscape) and (max-height: 375px){:root{--base-font-size: var(--base-font-size-sm);--story-padding: var(--story-padding-sm);--story-radius: var(--story-radius-sm);--story-max-width: var(--story-max-width-sm);--choice-padding: var(--choice-padding-sm);--choice-radius: var(--choice-radius-sm);--choice-min-height: var(--choice-min-height-sm);--hero-sprite-width: var(--hero-sprite-width-sm);--partner-sprite-width: var(--partner-sprite-width-sm);--battle-padding: var(--battle-padding-sm);--battle-gap: var(--battle-gap-sm);--battle-sprite-width: var(--battle-sprite-width-sm);--battle-hero-sprite-width: 3.5rem;--battle-partner-sprite-width: 3rem;--battle-enemy-sprite-width: 5.25rem}.battleContainer{height:100vh!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1000!important;transition:background var(--transition-normal);padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important}.battleLogContainer{position:absolute;top:0;left:0;right:0;height:50vh;display:flex;align-items:flex-start;justify-content:center;z-index:0;pointer-events:none;padding:1rem .5rem .5rem}.battleLogContainer .battleLog{height:25vh;min-height:3.4375rem;max-height:3.75rem;font-size:.55rem;padding:.4rem;line-height:1.2;pointer-events:auto;background:#ffffff40;backdrop-filter:blur(1.875rem) saturate(190%) brightness(110%);-webkit-backdrop-filter:blur(1.875rem) saturate(190%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:.75rem;box-shadow:0 .5rem 1.875rem #00000026,0 0 0 .125rem #fff3 inset;color:#1a1a1a;font-weight:600;overflow-y:auto}.battleCharacterArea{position:absolute!important;bottom:0vh!important;left:0;right:0;height:auto!important;max-height:none!important;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"player actions enemy";grid-template-rows:min-content!important;gap:.5rem;align-items:flex-end;justify-items:center;padding:.5rem;min-height:0;z-index:10;overflow:visible!important}.battlePlayerArea{grid-area:player;display:flex;justify-self:start;align-self:flex-end!important;max-width:none;flex-direction:row;gap:.5rem;align-items:flex-end;height:auto!important;overflow:visible}.battleActionButtonsContainer{grid-area:actions;justify-self:center;align-self:flex-end!important;min-width:auto;max-width:12.5rem;overflow-y:auto}.battleEnemyArea{grid-area:enemy;display:flex;justify-content:flex-end;align-items:flex-end;justify-self:end;align-self:flex-end!important;max-width:none;overflow:visible}.battleStatsBar{font-size:.6rem;padding:.3rem .5rem;min-width:6.25rem;max-width:7.5rem;background:#ffffff40;backdrop-filter:blur(1.875rem) saturate(190%) brightness(110%);-webkit-backdrop-filter:blur(1.875rem) saturate(190%) brightness(110%);border:.125rem solid rgba(255,255,255,.4);border-radius:.75rem;box-shadow:0 .5rem 1.875rem #00000026,0 0 0 .125rem #fff3 inset;color:#1a1a1a;font-weight:600}.battleStatsHp,.battleStatsMp,.battleHealthBarContainer{width:6.5rem;height:.35rem;background:#e0e0e0;border-radius:.1875rem;overflow:hidden}.battleActionMenu .choice-button,.battleActionMenu .actionButton{font-size:.65rem;padding:.5rem 1rem;max-width:10rem;max-height:1.6rem;background:#ffffff40;backdrop-filter:blur(1.25rem) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(1.25rem) saturate(200%) brightness(110%);border:1px solid rgba(255,255,255,.4);border-radius:.9375rem;box-shadow:0 .5rem 1.5625rem #00000026,0 0 0 .125rem #fff3 inset;color:#1a1a1a;font-weight:700;transition:all .3s ease}.save-load-controls{font-size:.55rem;gap:.15em}.save-btn,.load-btn{font-size:.5rem;padding:.15rem;min-width:6rem}.battlePlayerArea img:not(.live2d-container *),.battleEnemyArea img:not(.live2d-container *){max-height:40vh!important;object-fit:contain!important;object-position:bottom!important}.battleStatsBar{max-height:8rem!important;overflow:hidden!important}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-sprite-overlay,.partner-sprite-overlay,.vivienne-sprite-overlay,.fox-sprite-overlay,.characterCard,.enemyCard,.choice-button,.specialAbilityButton{transition:none!important}.story-window,.battleLog{scroll-behavior:auto}}@media (max-width: 320px){.save-load-modal{min-width:100vw;max-width:100vw;max-height:95vh;margin:0;border-radius:0;position:fixed;top:0;left:0;right:0}.save-load-header{padding:.5rem .75rem}.save-load-header h2{font-size:.9rem}.close-btn{width:1.25rem;height:1.25rem;font-size:1rem}.save-load-content{padding:.5rem .75rem}.save-slot{padding:.375rem .5rem;margin-bottom:.25rem}.slot-name{font-size:.75rem}.save-details{font-size:.65rem}.save-meta span{margin-right:.375rem;font-size:.6rem}.save-timestamp,.play-time{font-size:.55rem}.slot-actions button{font-size:.65rem;padding:.125rem .375rem;min-width:2.5rem}.custom-save-name input{font-size:.75rem;padding:.25rem}.import-export h3{font-size:.8rem}.auto-save-info p{font-size:.65rem}.save-btn,.load-btn{font-size:.6rem;padding:.2rem;min-width:5rem}.party-config-inventory-section{margin:.75rem 0;padding:.5rem 0}.party-config-inventory-section .inventory-btn{position:static!important;top:auto!important;left:auto!important;margin:0!important}.battleActionMenu{padding:.75rem;gap:.5rem}.battleActionMenu .choice-button,.battleActionMenu .actionButton{padding:.75rem 1rem;margin:.25rem 0;font-size:.8rem;min-height:2.5rem;border-radius:.5rem;line-height:1.2}.battleActionButtonsContainer{padding:.5rem;margin:.25rem}.story-window{padding:1rem .75rem;margin:.5rem}.choice-button{padding:.75rem 1rem;margin:.25rem 0;min-height:2.75rem;font-size:.85rem;line-height:1.3}.main-menu-content{padding:1.5rem 1rem;margin:.5rem}.main-menu-title{font-size:1.75rem;margin-bottom:1rem}.main-menu-subtitle{font-size:.9rem;margin-bottom:1.5rem;line-height:1.4}.save-btn,.load-btn{padding:.4rem .5rem;margin:.375rem 0;font-size:.8rem;min-height:2.5rem;border-radius:.5rem}.party-config-window{padding:1rem .75rem;margin:.5rem}.party-config-window .back-btn{padding:.5rem 1rem;margin:.75rem 0 .5rem;min-height:2.25rem}}@media (prefers-color-scheme: dark){.story-window{background:#f5ecd6f2}.characterCard,.enemyCard,.battleLog{background:#f5ecd6fa}.info-card-left,.info-card-right{background:#ffffffe6}}@media (prefers-contrast: high){.characterCard,.enemyCard,.battleLog{border-width:.1875rem;border-color:#000;box-shadow:none}.choice-button,.specialAbilityButton,.specialAbilityButtonDisabled{border-width:.125rem;border-color:#000}.choice-button:hover,.specialAbilityButton:hover{background:#fff;color:#000}.info-card-left,.info-card-right{border:.125rem solid #000;background:#fff}}@media (hover: none){.choice-button:active,.specialAbilityButton:active{transform:scale(.95);transition:transform .1s ease}}@media print{.story-window{box-shadow:none;border:.125rem solid #000;background:#fff;color:#000}.choice-button,.specialAbilityButton,.hero-sprite-overlay,.partner-sprite-overlay,.info-card-left,.info-card-right{display:none}.battleLog{box-shadow:none;border:.125rem solid #000;background:#fff;color:#000}}.responsive-hide-mobile{display:block}.responsive-hide-desktop,.responsive-show-mobile{display:none}@media (max-width: 768px){.responsive-hide-mobile{display:none}.responsive-hide-desktop,.responsive-show-mobile{display:block}}.responsive-center{display:flex;align-items:center;justify-content:center;text-align:center}.responsive-full-width{width:100%!important;max-width:100%!important}.responsive-scroll-area{max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#bfa76f #f5ecd6}@supports (padding: max(0)){@media (max-width: 768px){.battleContainer{height:100vh!important;padding:0!important;position:fixed!important}.battleLogContainer{padding:max(1.25rem,env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-left))}.battleCharacterArea{padding:max(var(--battle-padding),env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left))}}}body{font-family:Libre Baskerville,Georgia,serif;background:#2d1f14;color:#f5ecd6}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes coinLand{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg);opacity:1}}.story-window h1,.story-window h2,.story-window h3{font-family:Libre Baskerville,serif;font-weight:600;color:#7c5a2a;letter-spacing:.0625rem;margin-bottom:1rem}.choice-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;list-style:none;padding-left:0}@media (min-width: 1025px){.choice-button{font-size:1.05rem;padding:.75rem 1.5rem}}.choice-button:hover{background:linear-gradient(90deg,#f5ecd6,#e7d3a1);color:#7c5a2a;transform:translateY(-.125rem) scale(1.03);border-color:#d4b97a}.story-window:before,.story-window:after{content:"";position:absolute;width:3rem;height:3rem;background:url('data:image/svg+xml;utf8,<svg fill="%237c5a2a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M0,0 Q24,0 24,24 Q0,24 0,0 Z"/></svg>') no-repeat;opacity:.18}.story-window:before{top:-.75rem;left:-.75rem}.story-window:after{bottom:-.75rem;right:-.75rem;transform:rotate(180deg)}.story-window,.story-window *{color:#3a2410!important}.story-window--cinematic{background:#f5ecd68c!important;margin-left:auto!important;margin-right:2rem!important;max-width:50%!important;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}@media (max-width: 1024px){.story-window--cinematic{max-width:75%!important}}@media (max-width: 768px){.story-window--cinematic{max-width:95%!important;margin-right:auto!important}}@media (min-width: 1025px){.info-card{font-size:.9375rem}}.info-card *{color:#3a2410!important}.info-card-next-level{font-size:.8125rem;color:#555}.intro-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#2c2336 center/cover no-repeat;color:#fff;padding:2rem;font-family:Libre Baskerville,serif;letter-spacing:.0313rem}.intro-title{font-size:2.25rem;margin-bottom:1.5rem}.intro-text{font-size:1.25rem;max-width:37.5rem;margin-bottom:2rem}.intro-button{font-size:1.375rem;padding:.625rem 1.75rem;border-radius:.5rem;border:none;background:#4caf50;color:#fff;cursor:pointer}.hero-sprite-overlay{position:fixed;bottom:-40%;width:calc(var(--hero-sprite-width) * 2.5);height:auto;left:-2rem;z-index:900;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.4));transition:width .3s ease;display:flex;align-items:flex-end}.partner-sprite-overlay{position:fixed;right:-8rem;bottom:-40%;height:auto;z-index:900;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.4));transform:translate(1.875rem);transition:width .3s ease;display:flex;align-items:flex-end}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.vivienne-sprite-overlay{position:fixed;right:-10rem;bottom:-40%;width:calc((var(--hero-sprite-width) + 3rem) * 2.5);height:auto;z-index:900;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5rem 1.5rem rgba(107,70,193,.5));transform:translate(1.875rem);transition:width .3s ease;display:flex;align-items:flex-end}.info-card-left{position:fixed;left:1.5rem;bottom:1.5rem}.info-card-right{position:fixed;right:1.5rem;bottom:1.5rem}.partner-name-modal{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:beige;color:#222}.partner-name-content h2{font-family:Libre Baskerville,serif;color:#7c5a2a}.partner-name-input{font-size:1.375rem;padding:.5rem;border-radius:.375rem;border:1px solid #aaa;margin-bottom:1rem}.partner-name-submit{font-size:1.25rem;padding:.5rem 1.5rem;border-radius:.5rem;background:#4caf50;color:#fff;border:none;cursor:pointer}.partner-name-submit:disabled{background:#ccc;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000}.reward-summary-modal{background:#fff;border-radius:.75rem;padding:2rem;min-width:20rem;box-shadow:0 .25rem 2rem #0008;text-align:center;color:#3a2410}.reward-summary-modal h2{font-family:Libre Baskerville,serif;color:#7c5a2a}.reward-summary-close-btn{margin-top:1.125rem;font-family:Libre Baskerville,serif;font-weight:600;font-size:1.1rem;background:linear-gradient(90deg,#e7d3a1,#c9a86b);color:#3a2410;border:.1875rem solid #bfa76f;border-radius:.625rem;padding:.75rem 2rem;cursor:pointer;box-shadow:0 .125rem .5rem #0004;transition:background .2s,transform .1s,box-shadow .2s;text-shadow:0 1px 0 #fff4;letter-spacing:.0313rem}.reward-summary-close-btn:hover{background:linear-gradient(90deg,#f5ecd6,#e7d3a1);color:#7c5a2a;transform:translateY(-.125rem) scale(1.05);border-color:#d4b97a;box-shadow:0 .25rem .75rem #0006}.back-btn{position:fixed;top:1.5rem;left:1.5rem;z-index:2000;background:#d4af87;color:#2c1810;border:.125rem solid #C4A677;border-radius:.5rem;padding:.625rem 1.375rem;font-size:1rem;cursor:pointer;font-family:Libre Baskerville,serif;font-weight:600;transition:all .3s ease}.back-btn:hover{background:#c4a677;transform:translateY(-.125rem);box-shadow:0 .25rem .75rem #0003}@media (min-width: 1025px){.save-load-controls{top:1.5rem;right:1.5rem;gap:.625rem}.save-btn,.load-btn{font-size:.95rem;padding:.5rem 1rem}.save-btn:hover,.load-btn:hover{transform:translateY(-.125rem) scale(1.05);box-shadow:0 .25rem .75rem #0006}}.ihs-sl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .35s ease,backdrop-filter .35s ease}.ihs-sl--visible{background:#000000b8;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}.ihs-sl__panel{position:relative;width:min(35rem,92vw);max-height:84vh;display:flex;flex-direction:column;background:linear-gradient(170deg,#160e22f7,#0c0814fa);border:1px solid rgba(191,167,106,.35);border-radius:.875rem;box-shadow:0 0 3.75rem #7850c82e,0 .5rem 2rem #0009;overflow:hidden;opacity:0;transform:translateY(1.125rem) scale(.97);transition:opacity .35s ease,transform .35s ease}.ihs-sl--visible .ihs-sl__panel{opacity:1;transform:translateY(0) scale(1)}.ihs-sl__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(191,167,106,.25);background:#bfa76a0f}.ihs-sl__title{margin:0;font-family:Libre Baskerville,serif;font-size:1.3rem;color:#e8dcc8;letter-spacing:.04em;text-shadow:0 0 .75rem rgba(191,167,106,.25)}.ihs-sl__close{background:none;border:none;font-size:1.6rem;color:#c8b896;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s,background .2s}.ihs-sl__close:hover{color:#e8dcc8;background:#bfa76a1f}.ihs-sl__slots{flex:1;overflow-y:auto;padding:.75rem 1.25rem;scrollbar-width:thin;scrollbar-color:rgba(191,167,106,.3) transparent}.ihs-sl__slots::-webkit-scrollbar{width:.3125rem}.ihs-sl__slots::-webkit-scrollbar-thumb{background:#bfa76a4d;border-radius:.25rem}.ihs-sl__slot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;margin-bottom:.5rem;border:1px solid rgba(191,167,106,.2);border-radius:.5rem;background:#bfa76a0a;transition:border-color .25s,background .25s}.ihs-sl__slot:hover{border-color:#bfa76a73;background:#bfa76a14}.ihs-sl__slot--empty{opacity:.5;border-style:dashed}.ihs-sl__slot--empty:hover{opacity:.7}.ihs-sl__slot-info{flex:1;min-width:0}.ihs-sl__slot-name{font-family:Libre Baskerville,serif;font-weight:600;font-size:.92rem;color:#e8dcc8;margin-bottom:.125rem}.ihs-sl__meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;margin-bottom:.125rem}.ihs-sl__player{color:#bfa76a;font-weight:600}.ihs-sl__level{color:#7cc88a}.ihs-sl__location{color:#8ab4f8}.ihs-sl__time{font-size:.72rem;color:#9a8e7a}.ihs-sl__empty{font-size:.82rem;color:#6a5e4a;font-style:italic}.ihs-sl__actions{display:flex;gap:.4rem;flex-shrink:0}.ihs-sl__btn{font-family:Libre Baskerville,serif;font-size:.78rem;font-weight:600;padding:.35rem .7rem;border-radius:.375rem;border:1px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap}.ihs-sl__btn--save,.ihs-sl__btn--load{background:#bfa76a2e;border-color:#bfa76a66;color:#e8dcc8}.ihs-sl__btn--save:hover,.ihs-sl__btn--load:hover{background:#bfa76a4d;border-color:#bfa76a99;color:#fff}.ihs-sl__btn--export{background:#648cdc26;border-color:#648cdc4d;color:#8ab4f8}.ihs-sl__btn--export:hover{background:#648cdc47;border-color:#648cdc80;color:#b0d0ff}.ihs-sl__btn--delete{background:#c846461f;border-color:#c8464640;color:#e07070}.ihs-sl__btn--delete:hover{background:#c8464640;border-color:#c8464673;color:#ff9090}.ihs-sl__save-name{padding:0 1.25rem .75rem}.ihs-sl__save-name input{width:100%;box-sizing:border-box;padding:.55rem .75rem;background:#bfa76a0f;border:1px solid rgba(191,167,106,.25);border-radius:.375rem;font-family:Libre Baskerville,serif;font-size:.85rem;color:#e8dcc8}.ihs-sl__save-name input::placeholder{color:#6a5e4a}.ihs-sl__save-name input:focus{outline:none;border-color:#bfa76a80;background:#bfa76a1a}.ihs-sl__import{padding:.6rem 1.25rem 1rem;border-top:1px solid rgba(191,167,106,.15)}.ihs-sl__import-label{display:block;font-family:Libre Baskerville,serif;font-size:.82rem;font-weight:600;color:#c8b896;margin-bottom:.4rem}.ihs-sl__import-row{display:flex;align-items:center;gap:.6rem}.ihs-sl__import-row input[type=file]{font-size:.78rem;color:#9a8e7a}.ihs-sl__import-row input[type=file]::file-selector-button{font-family:Libre Baskerville,serif;font-size:.75rem;padding:.3rem .6rem;background:#bfa76a1f;border:1px solid rgba(191,167,106,.3);border-radius:.3125rem;color:#c8b896;cursor:pointer;transition:background .2s}.ihs-sl__import-row input[type=file]::file-selector-button:hover{background:#bfa76a38}.ihs-sl__confirm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#120c1cf7;border:1px solid rgba(191,167,106,.45);border-radius:.625rem;padding:1.5rem 2rem;text-align:center;box-shadow:0 0 2.5rem #00000080;z-index:2;animation:ihs-sl-fadein .2s ease}.ihs-sl__confirm-text{font-family:Libre Baskerville,serif;font-size:1rem;color:#e8dcc8;margin:0 0 1rem}.ihs-sl__confirm-btns{display:flex;gap:.75rem;justify-content:center}.ihs-sl__toast{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);padding:.5rem 1.2rem;border-radius:.375rem;font-family:Libre Baskerville,serif;font-size:.82rem;font-weight:600;animation:ihs-sl-fadein .25s ease;pointer-events:none;z-index:3}.ihs-sl__toast--success{background:#3c8c50d9;color:#d4f0d4;border:1px solid rgba(80,180,100,.4)}.ihs-sl__toast--error{background:#a03232d9;color:#ffd0d0;border:1px solid rgba(200,70,70,.4)}@keyframes ihs-sl-fadein{0%{opacity:0;transform:translate(-50%) translateY(.375rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 600px){.ihs-sl__panel{width:96vw;max-height:90vh;border-radius:.625rem}.ihs-sl__header{padding:.75rem 1rem}.ihs-sl__title{font-size:1.1rem}.ihs-sl__slots{padding:.5rem .75rem}.ihs-sl__slot{flex-direction:column;align-items:stretch;gap:.5rem;padding:.7rem}.ihs-sl__actions{justify-content:flex-end}}.demon-dialogue{color:#c2185b!important;font-weight:700!important;font-size:1.1em!important;text-shadow:0 1px .125rem rgba(0,0,0,.3)}.passage-text{white-space:pre-wrap}@keyframes pulse{0%{box-shadow:0 .125rem .25rem #4caf504d;transform:scale(1)}50%{box-shadow:0 .25rem .5rem #4caf5099;transform:scale(1.02)}to{box-shadow:0 .125rem .25rem #4caf504d;transform:scale(1)}}.game-over-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#1a0a0a,#2d1b1b,#1a0a0a);color:#fff;font-family:Libre Baskerville,serif}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:url(../assets/drained-gameover-creen.avif) center/cover no-repeat;opacity:.3;z-index:1}.game-over-content{position:relative;z-index:2;background:#140a0ae6;border:.125rem solid #8B0000;border-radius:1rem;padding:2.5rem;max-width:37.5rem;margin:1.25rem;box-shadow:0 .5rem 2rem #000c;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);text-align:center;animation:gameOverFadeIn 1s ease-out}.game-over-header{margin-bottom:1.875rem}.game-over-title{font-family:Libre Baskerville,serif;font-size:2.5rem;color:#dc2626;margin-bottom:.625rem;text-shadow:.125rem .125rem .25rem rgba(0,0,0,.8);animation:gameOverPulse 2s ease-in-out infinite}.game-over-subtitle{font-size:1.1rem;color:#d1d5db;font-style:italic;margin-bottom:0}.game-over-body{margin-bottom:2.5rem}.game-over-message{font-size:1.1rem;line-height:1.6;color:#f3f4f6;margin-bottom:1.25rem}.level-drain-details{background:#8b000033;border:1px solid #8B0000;border-radius:.5rem;padding:1.25rem;margin-top:1.25rem}.drain-flavor{font-size:1rem;line-height:1.5;color:#fbbf24;font-style:italic;margin:0}.game-over-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.restart-button,.menu-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Libre Baskerville,serif;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;min-width:11.25rem}.restart-button{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border:.125rem solid #dc2626}.restart-button:hover{background:linear-gradient(135deg,#b91c1c,#7f1d1d);border-color:#b91c1c;transform:translateY(-.125rem);box-shadow:0 .25rem .75rem #dc262666}.menu-button{background:#4b5563cc;color:#f3f4f6;border:.125rem solid #6b7280}.menu-button:hover{background:#374151e6;border-color:#9ca3af;transform:translateY(-.125rem);box-shadow:0 .25rem .75rem #4b556366}@keyframes gameOverFadeIn{0%{opacity:0;transform:translateY(1.875rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gameOverPulse{0%,to{text-shadow:.125rem .125rem .25rem rgba(0,0,0,.8)}50%{text-shadow:.125rem .125rem .75rem rgba(220,38,38,.8)}}.passage-live2d-container{animation:slideInFromRight .5s ease-out}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.passage-live2d-container{display:none}}@media (max-width: 1200px){.passage-live2d-container{right:.625rem;bottom:.625rem;transform:scale(.8)}}.ihs-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;overflow:hidden;font-family:Libre Baskerville,serif;background:#0a0610;z-index:9999}.ihs-menu__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(../assets/main-menu-bg.avif) center/cover no-repeat;filter:brightness(.35) saturate(.6) contrast(1.15);z-index:0}.ihs-menu__atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.ihs-menu__atmosphere:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 90% at 50% 50%,transparent 30%,rgba(5,2,15,.7) 100%)}.ihs-menu__atmosphere:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to left,rgba(80,15,30,.25) 0%,rgba(40,10,40,.15) 35%,transparent 60%)}.ihs-menu__left-panel{position:absolute;left:0;top:0;bottom:0;width:50%;background:linear-gradient(to right,rgba(5,2,15,.85) 0%,rgba(5,2,15,.6) 60%,transparent 100%);z-index:2;pointer-events:none}.ihs-menu__fog{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.08;background:radial-gradient(ellipse at 20% 80%,rgba(160,120,180,.5) 0%,transparent 50%),radial-gradient(ellipse at 70% 30%,rgba(120,60,80,.4) 0%,transparent 50%);animation:ihs-fog-drift 20s ease-in-out infinite alternate}@keyframes ihs-fog-drift{0%{transform:translate(0) scale(1)}to{transform:translate(-2%,1%) scale(1.05)}}.ihs-menu__content{position:relative;z-index:10;display:flex;width:100%;height:100%}.ihs-menu__left{display:flex;flex-direction:column;justify-content:space-between;padding:3.5rem 3rem 2.5rem;width:45%;min-width:20rem;max-width:34rem}.ihs-menu__logo{-webkit-user-select:none;user-select:none}.ihs-menu__title{font-size:clamp(2.2rem,4.5vw,3.8rem);color:#e8dcc8;text-shadow:0 0 1.25rem rgba(191,167,106,.3),0 .125rem .5rem rgba(0,0,0,.6);letter-spacing:.15em;margin:0 0 .4rem;font-weight:400;line-height:1.15}.ihs-menu__title-line{display:block;width:4rem;height:.125rem;background:linear-gradient(to right,#bfa76a,transparent);margin-top:.6rem;opacity:.6}.ihs-menu__tagline{font-size:clamp(.75rem,1.2vw,.95rem);color:#bfa76a80;font-style:italic;margin-top:.75rem;letter-spacing:.05em;max-width:22rem}.ihs-menu__nav{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem}.ihs-menu__btn{position:relative;background:transparent;border:none;color:#c8b896;font-family:Libre Baskerville,serif;font-size:clamp(1rem,1.6vw,1.25rem);padding:.75rem 1.5rem;text-align:left;cursor:pointer;letter-spacing:.08em;transition:all .3s ease;border-left:.125rem solid transparent}.ihs-menu__btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(to right,rgba(191,167,106,.1),transparent);transition:width .3s ease}.ihs-menu__btn:hover{color:#e8dcc8;border-left-color:#bfa76a;text-shadow:0 0 .75rem rgba(191,167,106,.3)}.ihs-menu__btn:hover:before{width:100%}.ihs-menu__btn:active{color:#fff;text-shadow:0 0 1rem rgba(191,167,106,.5)}.ihs-menu__btn--disabled{color:#c8b8964d;cursor:default;pointer-events:none}.ihs-menu__btn-label{position:relative;z-index:1}.ihs-menu__btn-wip{font-size:.6em;color:#bfa76a59;margin-left:.5em;text-transform:uppercase;letter-spacing:.15em}.ihs-menu__footer{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;padding-top:.5rem}.ihs-menu__footer-link{background:none;border:none;color:#bfa76a59;font-family:Libre Baskerville,serif;font-size:.7rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:color .2s ease;padding:0}.ihs-menu__footer-link:hover{color:#bfa76ab3}.ihs-menu__right{flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.ihs-menu__demoness{position:absolute;bottom:-42%;right:0%;width:41.6vw;max-width:58.4rem;height:150%;display:flex;align-items:flex-end;justify-content:center;z-index:5;filter:drop-shadow(-.5rem .25rem 1.25rem rgba(0,0,0,.5));transition:filter .5s ease;pointer-events:auto}.ihs-menu__demoness img{width:100%;height:100%;object-fit:contain;object-position:bottom center}.ihs-menu__demoness .live2d-iframe-wrap{width:100%;height:100%}.ihs-menu__demoness .live2d-iframe-wrap iframe{pointer-events:none}.ihs-menu__demoness-glow{position:absolute;bottom:5%;right:10%;width:40%;height:60%;background:radial-gradient(ellipse at center,rgba(120,30,50,.15) 0%,transparent 70%);z-index:3;pointer-events:none}.ihs-menu__comment{position:absolute;bottom:12%;left:50%;transform:translate(-80%);z-index:15;max-width:17.5rem;pointer-events:none}.ihs-menu__comment-text{background:#0f0819d9;border:1px solid rgba(191,167,106,.2);border-radius:.5rem;padding:.75rem 1.1rem;color:#d4c4a8;font-family:Libre Baskerville,serif;font-size:.85rem;font-style:italic;line-height:1.5;text-shadow:0 1px .1875rem rgba(0,0,0,.5);box-shadow:0 .25rem 1.25rem #0006;animation:ihs-comment-in .4s ease-out}.ihs-menu__comment-text:after{content:"";position:absolute;right:-.375rem;bottom:20%;width:.75rem;height:.75rem;background:#0f0819d9;border-right:1px solid rgba(191,167,106,.2);border-bottom:1px solid rgba(191,167,106,.2);transform:rotate(-45deg)}.ihs-menu__comment--fade-out .ihs-menu__comment-text{animation:ihs-comment-out .5s ease-in forwards}@keyframes ihs-comment-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes ihs-comment-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.375rem)}}.ihs-menu__particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.ihs-menu__particle{position:absolute;width:.125rem;height:.125rem;background:#bfa76a4d;border-radius:50%;animation:ihs-particle-float linear infinite}@keyframes ihs-particle-float{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(1.25rem);opacity:0}}@media (max-width: 1024px){.ihs-menu__left{width:50%;padding:2.5rem 2rem 2rem}.ihs-menu__demoness{width:41.6vw;right:0}.ihs-menu__comment{left:40%}}@media (max-width: 768px){.ihs-menu__content{flex-direction:column}.ihs-menu__left{width:100%;max-width:none;padding:2rem 1.5rem 1rem;justify-content:flex-start;z-index:10}.ihs-menu__right{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}.ihs-menu__demoness{width:52vw;right:-5%;opacity:.35;bottom:0}.ihs-menu__left-panel{width:100%;background:linear-gradient(to top,#05020ff2,#05020fb3,#05020f66)}.ihs-menu__comment{display:none}.ihs-menu__btn{font-size:1rem;padding:.6rem 1rem}.ihs-menu__nav{margin-top:1rem}}@media (max-width: 480px){.ihs-menu__title{font-size:1.8rem}.ihs-menu__tagline{font-size:.7rem}}.ihs-foretold{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s ease}.ihs-foretold--visible{opacity:1;pointer-events:auto}.ihs-foretold__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#05020fa6;-webkit-backdrop-filter:blur(.1875rem);backdrop-filter:blur(.1875rem)}.ihs-foretold__panel{position:relative;z-index:1;width:92%;max-width:48.75rem;background:linear-gradient(180deg,#0f0819eb,#0a0612f7);border:1px solid rgba(191,167,106,.2);border-bottom:none;border-radius:.75rem .75rem 0 0;padding:1.8rem 2.2rem 2rem;margin-bottom:0;box-shadow:0 -.5rem 2.5rem #00000080}.ihs-foretold__speaker{font-family:Libre Baskerville,serif;font-size:.75rem;color:#bfa76a99;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem}.ihs-foretold__text{font-family:Libre Baskerville,serif;font-size:clamp(.85rem,1.4vw,1rem);color:#d4c4a8;line-height:1.75;white-space:pre-line;animation:ihs-foretold-fade-in .5s ease-out}.ihs-foretold__reaction{font-family:Libre Baskerville,serif;font-size:clamp(.85rem,1.3vw,.95rem);color:#c87a8a;font-style:italic;margin-top:1.2rem;padding:.6rem 0;border-top:1px solid rgba(191,167,106,.1);animation:ihs-foretold-fade-in .35s ease-out}.ihs-foretold__choices{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(191,167,106,.1);animation:ihs-foretold-fade-in .5s ease-out .15s both}.ihs-foretold__choice{font-family:Libre Baskerville,serif;font-size:clamp(.8rem,1.2vw,.9rem);color:#c8b896;background:#bfa76a0f;border:1px solid rgba(191,167,106,.15);border-radius:.375rem;padding:.6rem 1.3rem;cursor:pointer;letter-spacing:.04em;transition:all .25s ease}.ihs-foretold__choice:hover{color:#e8dcc8;background:#bfa76a24;border-color:#bfa76a59;text-shadow:0 0 .5rem rgba(191,167,106,.2)}.ihs-foretold__choice:active{transform:scale(.97)}.ihs-foretold__choice--decline{color:#c8b89666;border-color:#78282833;background:#7828280a}.ihs-foretold__choice--decline:hover{color:#c8b89699;border-color:#78282859;background:#7828281a;text-shadow:none}@keyframes ihs-foretold-fade-in{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.ihs-foretold__panel{width:100%;border-radius:.625rem .625rem 0 0;padding:1.4rem 1.2rem 1.5rem}.ihs-foretold__choices{flex-direction:column}}@media (max-width: 480px){.ihs-foretold__panel{padding:1rem .9rem 1.2rem}}.ihs-disclaimer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10000;background:#05020feb;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);font-family:Libre Baskerville,serif}.ihs-disclaimer__box{background:#0f0a19f2;border:1px solid rgba(191,167,106,.25);border-radius:.75rem;padding:2.5rem 3rem;max-width:35rem;width:90%;color:#d4c4a8;text-align:center}.ihs-disclaimer__title{font-size:1.5rem;color:#e8dcc8;margin:0 0 1.5rem;letter-spacing:.1em}.ihs-disclaimer__text{font-size:.9rem;line-height:1.7;color:#d4c4a8cc;margin-bottom:2rem;text-align:left}.ihs-disclaimer__text strong{color:#d4a054}.ihs-disclaimer__buttons{display:flex;flex-direction:column;gap:.75rem;align-items:center}.ihs-disclaimer__btn{font-family:Libre Baskerville,serif;font-size:.9rem;padding:.75rem 2rem;border-radius:.375rem;cursor:pointer;min-width:18.75rem;letter-spacing:.05em;transition:all .25s ease;border:1px solid}.ihs-disclaimer__btn--accept{background:#bfa76a26;border-color:#bfa76a66;color:#e8dcc8}.ihs-disclaimer__btn--accept:hover{background:#bfa76a40;border-color:#bfa76a99}.ihs-disclaimer__btn--decline{background:#78282826;border-color:#7828284d;color:#d4c4a899}.ihs-disclaimer__btn--decline:hover{background:#78282840;border-color:#78282880;color:#d4c4a8cc}.ihs-disclaimer__footnote{margin-top:1.5rem;font-size:.75rem;color:#bfa76a4d;font-style:italic}.gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;font-family:Libre Baskerville,serif;background:#0a0610;overflow:hidden}.gallery__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(../assets/main-menu-bg.avif) center/cover no-repeat;filter:brightness(.2) saturate(.4) contrast(1.1);z-index:0}.gallery__atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 80% 90% at 50% 50%,transparent 30%,rgba(5,2,15,.8) 100%)}.gallery__content{position:relative;z-index:10;display:flex;flex-direction:column;height:100%;overflow:hidden}.gallery__header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem;flex-shrink:0;border-bottom:1px solid rgba(191,167,106,.12)}.gallery__title{font-size:clamp(1.4rem,2.5vw,2rem);color:#e8dcc8;letter-spacing:.15em;margin:0;font-weight:400;text-shadow:0 0 1.25rem rgba(191,167,106,.3)}.gallery__close-btn{background:transparent;border:1px solid rgba(191,167,106,.2);color:#c8b896;font-family:Libre Baskerville,serif;font-size:.85rem;padding:.45rem 1.2rem;cursor:pointer;letter-spacing:.08em;border-radius:.25rem;transition:all .25s ease}.gallery__close-btn:hover{color:#e8dcc8;border-color:#bfa76a73;background:#bfa76a14}.gallery__tabs{display:flex;gap:0;padding:0 2rem;flex-shrink:0;border-bottom:1px solid rgba(191,167,106,.08)}.gallery__tab{background:transparent;border:none;color:#c8b89673;font-family:Libre Baskerville,serif;font-size:clamp(.8rem,1.2vw,.95rem);padding:.85rem 1.6rem;cursor:pointer;letter-spacing:.08em;border-bottom:.125rem solid transparent;transition:all .25s ease;position:relative}.gallery__tab:hover{color:#c8b896b3}.gallery__tab--active{color:#e8dcc8;border-bottom-color:#bfa76a;text-shadow:0 0 .625rem rgba(191,167,106,.2)}.gallery__body{flex:1;overflow-y:auto;padding:1.5rem 2rem 2rem;scrollbar-width:thin;scrollbar-color:rgba(191,167,106,.2) transparent}.gallery__body::-webkit-scrollbar{width:.375rem}.gallery__body::-webkit-scrollbar-thumb{background:#bfa76a33;border-radius:.1875rem}.gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:1.2rem;max-width:68.75rem;margin:0 auto}.gallery__card{background:#0f081999;border:1px solid rgba(191,167,106,.12);border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:center}.gallery__card:hover{border-color:#bfa76a59;background:#0f0819cc;transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #0006}.gallery__card--locked{opacity:.35;cursor:default;pointer-events:none}.gallery__card-portrait{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:.25rem;margin-bottom:.6rem;border:1px solid rgba(191,167,106,.08)}.gallery__card-portrait--locked{filter:brightness(0) saturate(0)}.gallery__card-name{font-size:.9rem;color:#d4c4a8;letter-spacing:.05em;margin:0}.gallery__card-sub{font-size:.7rem;color:#bfa76a73;margin-top:.25rem;font-style:italic}.gallery__detail{max-width:68.75rem;margin:0 auto;animation:gallery-fade-in .35s ease-out}.gallery__detail-back{background:transparent;border:none;color:#bfa76a99;font-family:Libre Baskerville,serif;font-size:.85rem;cursor:pointer;padding:.4rem 0;margin-bottom:1rem;letter-spacing:.06em;transition:color .2s}.gallery__detail-back:hover{color:#bfa76a}.gallery__detail-name{font-size:clamp(1.2rem,2vw,1.6rem);color:#e8dcc8;margin:0 0 .3rem;letter-spacing:.1em;font-weight:400}.gallery__detail-desc{font-size:.8rem;color:#bfa76a80;font-style:italic;margin-bottom:1.2rem}.gallery__stages{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}.gallery__stage-btn{background:#bfa76a0f;border:1px solid rgba(191,167,106,.15);color:#c8b896;font-family:Libre Baskerville,serif;font-size:.75rem;padding:.4rem .9rem;border-radius:.25rem;cursor:pointer;transition:all .25s ease;letter-spacing:.04em}.gallery__stage-btn:hover{border-color:#bfa76a59;background:#bfa76a1f}.gallery__stage-btn--active{color:#e8dcc8;border-color:#bfa76a;background:#bfa76a26;text-shadow:0 0 .375rem rgba(191,167,106,.2)}.gallery__stage-btn--locked{opacity:.3;cursor:default;pointer-events:none}.gallery__sprite-area{display:flex;align-items:center;justify-content:center;min-height:28.125rem;background:#05020f66;border:1px solid rgba(191,167,106,.08);border-radius:.5rem;padding:1rem;position:relative;overflow:hidden}.gallery__sprite-img{max-height:26.25rem;max-width:100%;object-fit:contain;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.6));animation:gallery-fade-in .3s ease-out}.gallery__live2d-wrap{width:100%;height:30rem;position:relative}.gallery__live2d-wrap .live2d-iframe-wrap{width:100%;height:100%}.gallery__live2d-wrap .live2d-iframe-wrap iframe{pointer-events:none}.gallery__char-layout{display:flex;gap:1.5rem;min-height:31.25rem;background:#05020f66;border:1px solid rgba(191,167,106,.08);border-radius:.5rem;padding:1rem;overflow:visible}.gallery__char-sprite{flex:1 1 60%;min-height:30rem;display:flex;align-items:flex-end;justify-content:center;position:relative}.gallery__char-sprite--live2d{align-items:flex-end;overflow:visible}.gallery__char-sprite--live2d .live2d-iframe-wrap{width:100%;height:100%}.gallery__char-sprite--live2d .live2d-iframe-wrap iframe{pointer-events:none}.gallery__char-img{max-height:28.75rem;max-width:100%;object-fit:contain;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.6));animation:gallery-fade-in .3s ease-out;transition:max-height .35s ease}.gallery__char-controls{flex:0 0 auto;display:flex;flex-direction:column;gap:1.2rem;padding:.8rem;min-width:11.25rem;max-width:16.25rem;justify-content:center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(191,167,106,.2) transparent}.gallery__control-group{display:flex;flex-direction:column;gap:.5rem}.gallery__control-label{font-size:.8rem;color:#bfa76ab3;letter-spacing:.1em;text-transform:uppercase;font-family:Libre Baskerville,serif}.gallery__control-btns{display:flex;gap:.35rem;flex-wrap:wrap}.gallery__control-btns--col{flex-direction:column}.gallery__control-btn{background:#bfa76a0f;border:1px solid rgba(191,167,106,.15);color:#c8b896;font-family:Libre Baskerville,serif;font-size:.78rem;padding:.4rem .7rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;cursor:pointer;transition:all .25s ease;white-space:nowrap}.gallery__control-btn:hover{border-color:#bfa76a59;background:#bfa76a1f}.gallery__control-btn--active{color:#e8dcc8;border-color:#bfa76a;background:#bfa76a2e;text-shadow:0 0 .375rem rgba(191,167,106,.25);box-shadow:0 0 .5rem #bfa76a1a}.gallery__control-btn--wide{width:100%;justify-content:flex-start;padding:.45rem .9rem}.gallery__control-btn--locked{opacity:.3;cursor:default;pointer-events:none}.gallery__control-btn--wip{opacity:.3;cursor:default;border-style:dashed}.gallery__wip-badge{display:inline-block;font-size:.6rem;color:#bfa76a;background:#bfa76a1f;border:1px solid rgba(191,167,106,.25);border-radius:.1875rem;padding:.1rem .4rem;margin-left:.4rem;vertical-align:middle;letter-spacing:.08em;text-transform:uppercase;font-style:normal}.gallery__toggle-btn{background:#bfa76a0f;border:1px solid rgba(191,167,106,.15);color:#c8b896;font-family:Libre Baskerville,serif;font-size:.8rem;padding:.5rem 1.2rem;border-radius:.25rem;cursor:pointer;transition:all .25s ease;letter-spacing:.06em;width:fit-content}.gallery__toggle-btn:hover{border-color:#bfa76a59;background:#bfa76a1f}.gallery__toggle-btn--on{color:#e8dcc8;border-color:#bfa76a;background:#bfa76a2e;text-shadow:0 0 .375rem rgba(191,167,106,.25)}.gallery__card--coming-soon{border-style:dashed;border-color:#bfa76a26;cursor:default;opacity:.55}.gallery__card--coming-soon:hover{transform:none;box-shadow:none;border-color:#bfa76a26;background:#0f081999}.gallery__card-placeholder{width:100%;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#bfa76a33;background:#05020f4d;border-radius:.25rem;margin-bottom:.6rem;border:1px solid rgba(191,167,106,.06)}.gallery__screen-card--coming-soon{border-style:dashed;border-color:#bfa76a26;cursor:default;opacity:.55}.gallery__screen-card--coming-soon:hover{transform:none;box-shadow:none;border-color:#bfa76a26}.gallery__screen-placeholder{width:100%;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#bfa76a33;background:#05020f4d;border-bottom:1px solid rgba(191,167,106,.08)}.gallery__stage-label{position:absolute;bottom:.8rem;left:50%;transform:translate(-50%);background:#0a0610d9;border:1px solid rgba(191,167,106,.15);border-radius:.25rem;padding:.35rem 1rem;font-size:.75rem;color:#d4c4a8;letter-spacing:.06em;pointer-events:none}.gallery__screens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.25rem,1fr));gap:1.2rem;max-width:68.75rem;margin:0 auto}.gallery__screen-card{background:#0f081999;border:1px solid rgba(191,167,106,.12);border-radius:.5rem;overflow:hidden;cursor:pointer;transition:all .3s ease}.gallery__screen-card:hover{border-color:#bfa76a59;transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #0006}.gallery__screen-card--locked{opacity:.35;cursor:default;pointer-events:none}.gallery__screen-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:1px solid rgba(191,167,106,.08)}.gallery__screen-thumb--locked{filter:brightness(0) saturate(0)}.gallery__screen-name{padding:.6rem .8rem;font-size:.8rem;color:#d4c4a8;letter-spacing:.04em}.gallery__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10100;display:flex;align-items:center;justify-content:center;background:#05020feb;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem);cursor:pointer;animation:gallery-fade-in .25s ease-out}.gallery__lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border:1px solid rgba(191,167,106,.15);border-radius:.375rem;box-shadow:0 .5rem 2.5rem #0009}.gallery__lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:.85rem;color:#bfa76a99;font-style:italic;letter-spacing:.06em}.gallery__lightbox-nav{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;z-index:10}.gallery__lightbox-btn{background:#1e140acc;border:1px solid rgba(191,167,106,.4);color:#bfa76ae6;padding:.4rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.8rem;letter-spacing:.05em;transition:background .2s,border-color .2s}.gallery__lightbox-btn:hover:not(:disabled){background:#3c2814e6;border-color:#bfa76ab3}.gallery__lightbox-btn:disabled{opacity:.3;cursor:default}.gallery__lightbox-counter{color:#bfa76ab3;font-size:.8rem;min-width:3rem;text-align:center}.gallery__locked-text{font-size:.65rem;color:#bfa76a4d;text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem}.gallery__empty{text-align:center;padding:3rem 1rem;color:#bfa76a59;font-style:italic;font-size:.9rem}@keyframes gallery-fade-in{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.gallery__header{padding:1rem 1.2rem}.gallery__tabs{padding:0 1rem;overflow-x:auto}.gallery__body{padding:1rem 1.2rem}.gallery__grid{grid-template-columns:repeat(auto-fill,minmax(8.75rem,1fr));gap:.8rem}.gallery__sprite-area{min-height:20rem}.gallery__sprite-img{max-height:18.75rem}.gallery__live2d-wrap{height:21.875rem}.gallery__char-layout{flex-direction:column;min-height:auto}.gallery__char-sprite{min-height:20rem}.gallery__char-controls{flex-direction:row;flex-wrap:wrap;gap:.8rem;min-width:0;max-width:none;justify-content:flex-start}.gallery__control-btns--col{flex-direction:row;flex-wrap:wrap}.gallery__control-btn--wide{width:auto}.gallery__screens-grid{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}}@media (max-width: 480px){.gallery__grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.gallery__stages{gap:.3rem}.gallery__stage-btn{font-size:.68rem;padding:.3rem .6rem}}.ihs-settings{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .35s ease,backdrop-filter .35s ease}.ihs-settings--visible{background:#000000b8;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}.ihs-settings__panel{position:relative;width:min(30rem,92vw);max-height:84vh;display:flex;flex-direction:column;background:linear-gradient(170deg,#160e22f7,#0c0814fa);border:1px solid rgba(191,167,106,.35);border-radius:.875rem;box-shadow:0 0 3.75rem #7850c82e,0 .5rem 2rem #0009;overflow:hidden;opacity:0;transform:translateY(1.125rem) scale(.97);transition:opacity .35s ease,transform .35s ease}.ihs-settings--visible .ihs-settings__panel{opacity:1;transform:translateY(0) scale(1)}.ihs-settings__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(191,167,106,.25);background:#bfa76a0f}.ihs-settings__title{margin:0;font-family:Libre Baskerville,serif;font-size:1.3rem;color:#e8dcc8;letter-spacing:.04em;text-shadow:0 0 .75rem rgba(191,167,106,.25)}.ihs-settings__close{background:none;border:none;font-size:1.6rem;color:#c8b896;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s,background .2s}.ihs-settings__close:hover{color:#e8dcc8;background:#bfa76a1f}.ihs-settings__body{padding:1rem 1.5rem 1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(191,167,106,.3) transparent}.ihs-settings__section{margin-bottom:1.25rem}.ihs-settings__section:last-child{margin-bottom:0}.ihs-settings__section-title{font-family:Libre Baskerville,serif;font-size:.85rem;font-weight:600;color:#bfa76a;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid rgba(191,167,106,.15)}.ihs-settings__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.ihs-settings__label{font-family:Libre Baskerville,serif;font-size:.85rem;color:#d4c4a8;display:flex;align-items:center;gap:.4rem}.ihs-settings__muted-badge{font-size:.65rem;color:#e07070;text-transform:uppercase;letter-spacing:.05em}.ihs-settings__toggle{font-family:Libre Baskerville,serif;font-size:.78rem;font-weight:600;padding:.3rem .9rem;border-radius:.375rem;border:1px solid rgba(200,70,70,.35);background:#c846461f;color:#e07070;cursor:pointer;transition:all .2s;min-width:3.5rem;text-align:center}.ihs-settings__toggle--on{border-color:#64b46466;background:#64b46426;color:#7cc88a}.ihs-settings__toggle:hover{filter:brightness(1.15)}.ihs-settings__slider-group{display:flex;align-items:center;gap:.5rem;flex:1;max-width:15rem}.ihs-settings__slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.25rem;background:#bfa76a33;border-radius:.125rem;outline:none;cursor:pointer}.ihs-settings__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.875rem;height:.875rem;border-radius:50%;background:#bfa76a;border:.125rem solid rgba(22,14,34,.8);cursor:pointer;transition:transform .15s}.ihs-settings__slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.ihs-settings__slider::-moz-range-thumb{width:.875rem;height:.875rem;border-radius:50%;background:#bfa76a;border:.125rem solid rgba(22,14,34,.8);cursor:pointer}.ihs-settings__slider:disabled{opacity:.35;cursor:not-allowed}.ihs-settings__value{font-family:Libre Baskerville,serif;font-size:.75rem;color:#9a8e7a;min-width:2.5rem;text-align:right}.ihs-settings__mute-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:.15rem;opacity:.7;transition:opacity .2s}.ihs-settings__mute-btn:hover{opacity:1}.ihs-settings__mute-btn--muted{opacity:.4}.ihs-settings__mute-btn:disabled{opacity:.2;cursor:not-allowed}.ihs-settings__lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem}.ihs-settings__lang-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:.4375rem;border:1px solid rgba(191,167,106,.15);background:#bfa76a0a;cursor:pointer;transition:all .2s}.ihs-settings__lang-btn:hover{border-color:#bfa76a66;background:#bfa76a14}.ihs-settings__lang-btn--active{border-color:#bfa76a80;background:#bfa76a1f}.ihs-settings__lang-flag{font-size:1.15rem;line-height:1}.ihs-settings__lang-name{font-family:Libre Baskerville,serif;font-size:.78rem;color:#d4c4a8}.ihs-settings__lang-btn--active .ihs-settings__lang-name{color:#e8dcc8}@media (max-width: 500px){.ihs-settings__panel{width:96vw;border-radius:.625rem}.ihs-settings__header,.ihs-settings__body{padding:.75rem 1rem}.ihs-settings__row{flex-direction:column;align-items:stretch;gap:.4rem}.ihs-settings__slider-group{max-width:none}.ihs-settings__lang-grid{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr))}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000!important;padding:1.25rem;box-sizing:border-box}.character-switcher{display:flex;gap:.625rem;margin-bottom:.9375rem}.character-switch-btn{flex:1;padding:.5rem .75rem;border:.125rem solid #8b4513;border-radius:.5rem;background:linear-gradient(135deg,#2c1810,#1a0f08);color:#f5ecd6;font-family:Libre Baskerville,serif;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:inset 0 .125rem .25rem #0000004d}.character-switch-btn:hover{background:linear-gradient(135deg,#3d2418,#251510);box-shadow:inset 0 .125rem .25rem #00000080;transform:translateY(-1px)}.character-switch-btn.active{background:linear-gradient(135deg,#8b4513,sienna);border-color:#d2691e;box-shadow:inset 0 .125rem .25rem #fff3,0 .25rem .5rem #8b451366;text-shadow:1px 1px .125rem rgba(0,0,0,.7)}.character-switch-btn:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#1a1a1a,#0f0f0f);border-color:#555;color:#888}.character-switch-btn:disabled:hover{transform:none;box-shadow:inset 0 .125rem .25rem #0000004d}.inventory-modal{background:linear-gradient(135deg,#2c1810,#1a0f08);border:.1875rem solid #8b4513;border-radius:.9375rem;box-shadow:0 .625rem 1.875rem #000c;max-width:95vw;max-height:90vh;width:56.25rem;color:#f5ecd6;overflow:hidden;display:flex;flex-direction:column}.inventory-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5625rem;border-bottom:.125rem solid rgba(139,69,19,.5);background:linear-gradient(90deg,#8b4513,sienna)}.inventory-header h2{font-family:Libre Baskerville,serif;color:#f5ecd6;margin:0;font-size:1.8rem;text-shadow:.125rem .125rem .25rem rgba(0,0,0,.5)}.inventory-content{display:grid;grid-template-columns:17.5rem 1fr;gap:1.25rem;padding:1.25rem;flex:1;min-height:0;overflow:hidden}.equipment-panel{border:.125rem solid rgba(139,69,19,.3);border-radius:.625rem;padding:.9375rem;background:#0000004d;min-height:0;overflow-y:auto}.character-sprite-container{display:flex;flex-direction:column;align-items:center;margin-bottom:1.25rem;padding:.9375rem;background:linear-gradient(135deg,#8b45131a,#a0522d1a);border:1px solid rgba(139,69,19,.3);border-radius:.5rem}.character-sprite{width:7.5rem;height:11.25rem;display:flex;align-items:flex-end;justify-content:center;border:.125rem solid rgba(139,69,19,.5);border-radius:.5rem;background:linear-gradient(135deg,#0003,#0006);box-shadow:inset 0 .125rem .25rem #0000004d,0 .25rem .5rem #0003;overflow:hidden;margin-bottom:.625rem}.hero-sprite,.partner-sprite{height:100%;width:auto;object-fit:contain;object-position:bottom center;transition:transform .3s ease}.character-sprite:hover .hero-sprite,.character-sprite:hover .partner-sprite{transform:scale(1.05)}.character-sprite-name{font-family:Libre Baskerville,serif;color:#f5ecd6;font-size:1rem;font-weight:600;text-shadow:1px 1px .125rem rgba(0,0,0,.7);text-align:center}.equipment-panel h3{font-family:Libre Baskerville,serif;color:#d4af37;margin-top:0;text-align:center;border-bottom:1px solid rgba(139,69,19,.5);padding-bottom:.625rem}.equipment-slots{display:flex;flex-direction:column;gap:.9375rem}.equipment-slot{display:flex;flex-direction:column;gap:.3125rem}.equipment-slot label{font-weight:700;color:#bfa76a;font-size:.9rem}.equipped-item{display:flex;align-items:center;gap:.625rem;padding:.625rem;background:#8b451333;border:.125rem solid;border-radius:.5rem;font-size:.9rem}.equipped-item span:first-child{font-size:1.2rem}.equipped-item button{margin-left:auto;padding:.25rem .5rem;background:#d4af87;color:#2c1810;border:1px solid #C4A677;border-radius:.25rem;cursor:pointer;font-size:.8rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:600}.equipped-item button:hover{background:#c4a677}.empty-equipment-slot{padding:.625rem;background:#0000004d;border:.125rem dashed rgba(139,69,19,.5);border-radius:.5rem;text-align:center;color:#888;font-style:italic}.inventory-panel{display:flex;flex-direction:column;gap:.9375rem;min-height:0;overflow:hidden}.inventory-controls{display:flex;gap:1.25rem;align-items:center;padding:.625rem;background:#0000004d;border-radius:.5rem;border:1px solid rgba(139,69,19,.3)}.filter-controls,.sort-controls{display:flex;align-items:center;gap:.5rem}.filter-controls label,.sort-controls label{font-weight:700;color:#bfa76a;font-size:.9rem}.filter-controls select,.sort-controls select{padding:.3125rem .5rem;background:#2c1810;color:#f5ecd6;border:1px solid #8b4513;border-radius:.25rem;font-size:.9rem}.sort-controls button{padding:.3125rem .75rem;background:#d4af87;color:#2c1810;border:1px solid #C4A677;border-radius:.25rem;cursor:pointer;font-size:.9rem;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:600}.sort-controls button:hover{background:#c4a677}.inventory-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.5rem;padding:.9375rem;background:#0003;border:.125rem solid rgba(139,69,19,.3);border-radius:.625rem;max-height:25rem;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.inventory-grid::-webkit-scrollbar{width:.5rem}.inventory-grid::-webkit-scrollbar-track{background:#0000004d;border-radius:.25rem}.inventory-grid::-webkit-scrollbar-thumb{background:#8b451399;border-radius:.25rem;border:1px solid rgba(139,69,19,.8)}.inventory-grid::-webkit-scrollbar-thumb:hover{background:#8b4513cc}.inventory-slot{aspect-ratio:1;background:#8b451333;border:.125rem solid rgba(139,69,19,.5);border-radius:.5rem;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s}.inventory-slot:hover{background:#8b451366;border-color:#8b4513}.inventory-slot.empty{background:#0000004d;border-style:dashed;cursor:default}.inventory-slot.hidden{display:none}.item-icon{font-size:1.5rem;border:.125rem solid transparent;border-radius:.25rem;padding:.125rem}.item-quantity{position:absolute;bottom:.125rem;right:.125rem;background:#000c;color:#fff;font-size:.7rem;padding:1px .25rem;border-radius:.1875rem;font-weight:700}.item-details-panel{border:.125rem solid rgba(139,69,19,.3);border-radius:.625rem;padding:.9375rem;background:#0000004d;overflow-y:auto;scroll-behavior:smooth}.item-details-panel::-webkit-scrollbar{width:.375rem}.item-details-panel::-webkit-scrollbar-track{background:#0000004d;border-radius:.1875rem}.item-details-panel::-webkit-scrollbar-thumb{background:#8b451380;border-radius:.1875rem}.item-details-panel::-webkit-scrollbar-thumb:hover{background:#8b4513b3}.item-details-panel h3{font-family:Libre Baskerville,serif;margin-top:0;font-size:1.2rem;text-shadow:1px 1px .125rem rgba(0,0,0,.5)}.item-type{color:#bfa76a;font-size:.9rem;text-transform:capitalize;margin-bottom:.625rem}.item-description{color:#e0e0e0;font-size:.9rem;line-height:1.4;margin-bottom:.9375rem}.item-effects{margin-bottom:.9375rem}.item-effects h4{color:#d4af37;font-size:1rem;margin-bottom:.5rem}.item-effects ul{list-style:none;padding:0;margin:0}.item-effects li{color:#90ee90;font-size:.9rem;padding:.125rem 0}.item-effects li:before{content:"• ";color:#d4af37;font-weight:700}.item-value{color:gold;font-weight:700;font-size:.9rem;margin-bottom:.9375rem}.item-actions{display:flex;flex-direction:column;gap:.5rem}.use-item-btn,.equip-item-btn{padding:.625rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-weight:700;transition:all .2s;box-shadow:0 .125rem .3125rem #0000004d}.equip-item-btn{background:linear-gradient(135deg,#2196f3,#1976d2)}.use-item-btn:hover{background:linear-gradient(135deg,#45a049,#4caf50);transform:translateY(-1px);box-shadow:0 .25rem .5rem #0006}.equip-item-btn:hover{background:linear-gradient(135deg,#1976d2,#2196f3);transform:translateY(-1px);box-shadow:0 .25rem .5rem #0006}.inventory-footer{padding:.9375rem 1.5625rem;border-top:.125rem solid rgba(139,69,19,.5);background:#0000004d}.inventory-stats{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:#d4af37}.inventory-stats span{font-size:.9rem}@media (max-width: 1024px){.inventory-modal{width:95vw;max-height:90vh;margin:5vh auto}.inventory-content{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:.9375rem}.equipment-panel{order:1}.inventory-panel{order:2}.item-details-panel{order:3}.character-sprite{width:6.25rem;height:9.375rem}.character-sprite-container{padding:.625rem;margin-bottom:.9375rem}.equipment-slots{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.equipment-slot{min-width:auto}}@media (max-width: 768px){.modal-overlay{padding:0!important;align-items:flex-start!important;justify-content:center!important}.inventory-modal{width:100vw;max-height:100vh;height:100vh;margin:0;border-radius:0;position:relative;max-width:none}.inventory-header{padding:.75rem .9375rem;position:sticky;top:0;z-index:10}.inventory-header h2{font-size:1.4rem}.inventory-content{padding:.9375rem;gap:.75rem;overflow-y:auto;flex:1}.inventory-grid{grid-template-columns:repeat(5,1fr);gap:.375rem;max-height:15.625rem;overflow-y:auto;overflow-x:hidden}.inventory-controls{flex-direction:column;gap:.5rem;align-items:stretch}.filter-controls,.sort-controls{justify-content:space-between;flex-wrap:wrap}.inventory-stats{flex-direction:column;gap:.3125rem;text-align:center}.character-switcher{gap:.375rem;margin-bottom:.625rem}.character-switch-btn{padding:.5rem .375rem;font-size:.75rem;min-height:2.25rem}.equipment-slots{grid-template-columns:1fr;gap:.5rem}.equipped-item{padding:.5rem;font-size:.8rem}.character-sprite{width:5rem;height:7.5rem}.character-sprite-container{padding:.5rem;margin-bottom:.625rem}}@media (max-width: 430px) and (min-width: 415px){.modal-overlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.inventory-modal{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0;border:none;display:flex;flex-direction:column}.inventory-header{padding:.75rem .9375rem;flex-shrink:0}.inventory-header h2{font-size:1.3rem}.close-btn{font-size:1.6rem!important;width:2.25rem!important;height:2.25rem!important;padding:0!important}.inventory-content{padding:.75rem;gap:.625rem;flex:1;overflow-y:auto;display:flex;flex-direction:column}.equipment-panel{flex-shrink:0;padding:.75rem;border-radius:.5rem}.inventory-panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.item-details-panel{flex-shrink:0;max-height:13.75rem;padding:.75rem;border-radius:.5rem}.inventory-grid{grid-template-columns:repeat(5,1fr);gap:.375rem;padding:.625rem;flex:1;min-height:15.625rem;max-height:21.875rem;overflow-y:auto;overflow-x:hidden}.inventory-slot{min-height:3.75rem;border-radius:.375rem}.item-icon{font-size:1.4rem}.character-sprite{width:4.375rem;height:6.5625rem}.character-sprite-container{padding:.5rem;margin-bottom:.625rem}.character-sprite-name{font-size:.85rem}.equipment-slots{grid-template-columns:1fr;gap:.5rem}.equipment-slot label{font-size:.85rem}.equipped-item{padding:.5rem;font-size:.8rem}.equipped-item button{padding:.25rem .375rem;font-size:.75rem}.character-switcher{gap:.375rem;margin-bottom:.625rem}.character-switch-btn{padding:.5rem .375rem;font-size:.75rem;min-height:2.25rem}.inventory-controls{gap:.5rem;padding:.5rem;flex-shrink:0}.filter-controls select,.sort-controls select,.sort-controls button{padding:.3125rem .5rem;font-size:.8rem}.inventory-footer{padding:.625rem .9375rem;flex-shrink:0}.inventory-stats span{font-size:.85rem}}@media (max-width: 480px){.modal-overlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.inventory-modal{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0;border:none;display:flex;flex-direction:column}.inventory-header{padding:.625rem .75rem;flex-shrink:0}.inventory-header h2{font-size:1.2rem}.close-btn{font-size:1.5rem!important;width:2rem!important;height:2rem!important;padding:0!important}.inventory-content{padding:.625rem;gap:.5rem;flex:1;overflow-y:auto;display:flex;flex-direction:column}.equipment-panel{flex-shrink:0;padding:.625rem;border-radius:.375rem}.inventory-panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.item-details-panel{flex-shrink:0;max-height:12.5rem;padding:.625rem;border-radius:.375rem}.inventory-grid{grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.5rem;flex:1;min-height:12.5rem;max-height:18.75rem;overflow-y:auto;overflow-x:hidden}.inventory-slot{min-height:3.125rem;border-radius:.25rem}.item-icon{font-size:1.2rem}.character-sprite{width:3.75rem;height:5.625rem}.character-sprite-container{padding:.375rem;margin-bottom:.5rem}.character-sprite-name{font-size:.8rem}.equipment-slots{grid-template-columns:1fr;gap:.375rem}.equipment-slot label{font-size:.8rem}.equipped-item{padding:.375rem;font-size:.75rem}.equipped-item button{padding:.125rem .25rem;font-size:.7rem}.character-switcher{gap:.25rem;margin-bottom:.5rem}.character-switch-btn{padding:.375rem .25rem;font-size:.7rem;min-height:2rem}.inventory-controls{gap:.375rem;padding:.375rem;flex-shrink:0}.filter-controls select,.sort-controls select,.sort-controls button{padding:.25rem .375rem;font-size:.75rem}.inventory-footer{padding:.5rem .75rem;flex-shrink:0}.inventory-stats span{font-size:.8rem}}@media (max-width: 360px){.inventory-header h2{font-size:1.1rem}.inventory-content{padding:.5rem;gap:.375rem}.inventory-grid{grid-template-columns:repeat(3,1fr);gap:.1875rem;padding:.375rem;max-height:15.625rem;overflow-y:auto;overflow-x:hidden}.character-sprite{width:3.125rem;height:4.6875rem}.character-sprite-container{padding:.25rem;margin-bottom:.375rem}.equipped-item{padding:.25rem;font-size:.7rem}.character-switch-btn{padding:.25rem .125rem;font-size:.65rem;min-height:1.75rem}.item-icon{font-size:1rem}.inventory-slot{min-height:2.5rem}}@media (max-width: 1024px) and (orientation: landscape){.inventory-modal{width:98vw;max-height:95vh;margin:2.5vh auto}.inventory-content{grid-template-columns:13.75rem 1fr 12.5rem;grid-template-rows:1fr;gap:.75rem;padding:.75rem}.equipment-panel{order:1}.inventory-panel{order:2}.item-details-panel{order:3}.character-sprite{width:4.375rem;height:6.5625rem}.character-sprite-container{padding:.5rem;margin-bottom:.5rem}.equipment-slots{display:grid;grid-template-columns:1fr;gap:.375rem}.inventory-grid{max-height:11.25rem;grid-template-columns:repeat(6,1fr);overflow-y:auto;overflow-x:hidden}}@media (max-width: 768px) and (orientation: landscape){.modal-overlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.inventory-modal{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0}.inventory-content{grid-template-columns:11.25rem 1fr 10rem;padding:.5rem;gap:.5rem}.character-sprite{width:3.125rem;height:4.6875rem}.inventory-grid{max-height:8.75rem;grid-template-columns:repeat(5,1fr);gap:.1875rem;overflow-y:auto;overflow-x:hidden}.inventory-header{padding:.375rem .625rem}.inventory-header h2{font-size:1rem}}@media (max-width: 932px) and (min-width: 844px) and (orientation: landscape){.modal-overlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.inventory-modal{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0}.inventory-content{grid-template-columns:12.5rem 1fr 11.25rem;padding:.625rem;gap:.625rem}.character-sprite{width:3.75rem;height:5.625rem}.inventory-grid{max-height:10rem;grid-template-columns:repeat(6,1fr);gap:.25rem;overflow-y:auto;overflow-x:hidden}.inventory-header{padding:.5rem .75rem}.inventory-header h2{font-size:1.1rem}.character-switch-btn{padding:.25rem .375rem;font-size:.65rem;min-height:1.75rem}}@media (max-width: 480px) and (orientation: landscape){.inventory-content{grid-template-columns:8.75rem 1fr 7.5rem;padding:.375rem;gap:.375rem}.character-sprite{width:2.5rem;height:3.75rem}.inventory-grid{max-height:7.5rem;grid-template-columns:repeat(4,1fr);gap:.125rem;overflow-y:auto;overflow-x:hidden}.inventory-header h2{font-size:.9rem}.character-switch-btn{padding:.1875rem;font-size:.6rem;min-height:1.5rem}}.inventory-content{grid-template-columns:17.5rem 1fr!important}.inv-char-tabs{display:flex;gap:.375rem}.inv-char-tab{padding:.375rem 1rem;border:.125rem solid rgba(139,69,19,.5);border-bottom:none;border-radius:.5rem .5rem 0 0;background:#0006;color:#bfa76a;font-family:Libre Baskerville,serif;font-size:.85rem;cursor:pointer;transition:all .25s ease;letter-spacing:.02em}.inv-char-tab:hover{background:#8b451340;color:#f5ecd6}.inv-char-tab--active{background:linear-gradient(135deg,#8b4513,sienna);color:#f5ecd6;border-color:#d2691e;text-shadow:1px 1px .125rem rgba(0,0,0,.6);box-shadow:0 .125rem .375rem #8b451366}.inv-char-tab--demoness.inv-char-tab--active{background:linear-gradient(135deg,#5c1a3a,#7a2050);border-color:#c44a8a;box-shadow:0 .125rem .625rem #c44a8a59}.inv-char-tab--vivienne.inv-char-tab--active{background:linear-gradient(135deg,#1a1a3a,#2a2050);border-color:#6a5acd;box-shadow:0 .125rem .625rem #6a5acd59}.inv-equip-slot{margin-bottom:.625rem}.inv-equip-slot__label{font-weight:700;color:#bfa76a;font-size:.85rem;margin-bottom:.25rem;font-family:Libre Baskerville,serif;text-transform:uppercase;letter-spacing:.06em}.inv-equip-slot__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#8b451326;border:1px solid rgba(139,69,19,.4);border-left:.1875rem solid;border-radius:.375rem;transition:background .2s}.inv-equip-slot__item:hover{background:#8b451340}.inv-equip-slot__icon{font-size:1.15rem;flex-shrink:0}.inv-equip-slot__name{flex:1;font-size:.9rem;font-family:Libre Baskerville,serif}.inv-equip-slot__empty{padding:.5rem .75rem;background:#00000040;border:.125rem dashed rgba(139,69,19,.35);border-radius:.375rem;text-align:center;color:#665;font-style:italic;font-size:.85rem}.inv-btn{padding:.5rem 1rem;border:1px solid;border-radius:.375rem;font-family:Libre Baskerville,serif;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.inv-btn--sm{padding:.1875rem .5rem;font-size:.75rem;border-radius:.25rem}.inv-btn--muted{background:#d4af8726;color:#d4af87;border-color:#d4af874d}.inv-btn--muted:hover{background:#d4af874d;border-color:#d4af87}.inv-btn--use{background:linear-gradient(135deg,#2d5a1e,#3d7a28);color:#d4f0c4;border-color:#4a8a34;box-shadow:0 .125rem .375rem #2d5a1e66}.inv-btn--use:hover{background:linear-gradient(135deg,#3d7a28,#4a8a34);transform:translateY(-1px);box-shadow:0 .25rem .625rem #2d5a1e80}.inv-btn--equip{background:linear-gradient(135deg,#1a3d6b,#264f8a);color:#c4daf0;border-color:#3a6faa;box-shadow:0 .125rem .375rem #1a3d6b66}.inv-btn--equip:hover{background:linear-gradient(135deg,#264f8a,#3a6faa);transform:translateY(-1px);box-shadow:0 .25rem .625rem #1a3d6b80}.inv-btn--close{background:#0000004d;color:#bfa76a;border-color:#8b451366}.inv-btn--close:hover{background:#8b451333;border-color:#8b4513}.inventory-list{display:flex;flex-direction:column;gap:.375rem;flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;background:#00000026;border:.125rem solid rgba(139,69,19,.25);border-radius:.625rem;scroll-behavior:smooth}.inventory-list::-webkit-scrollbar{width:.5rem}.inventory-list::-webkit-scrollbar-track{background:#0000004d;border-radius:.25rem}.inventory-list::-webkit-scrollbar-thumb{background:#8b451380;border-radius:.25rem}.inventory-list::-webkit-scrollbar-thumb:hover{background:#8b4513b3}.inv-item-card{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:#00000040;border:1px solid rgba(139,69,19,.3);border-left:.1875rem solid #665;border-radius:.375rem;cursor:pointer;transition:all .2s ease;position:relative}.inv-item-card:hover{background:#8b451326;border-color:#8b451380;transform:translate(.125rem)}.inv-item-card--common{border-left-color:#c8c0b0}.inv-item-card--uncommon{border-left-color:#4ade80}.inv-item-card--rare{border-left-color:#60a5fa}.inv-item-card--epic{border-left-color:#c084fc}.inv-item-card--legendary{border-left-color:#fb923c;box-shadow:inset 0 0 .75rem #fb923c14}.inv-item-card__icon{font-size:1.4rem;flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:.375rem;border:1px solid rgba(139,69,19,.25);position:relative}.inv-item-card__qty{position:absolute;bottom:-.25rem;right:-.25rem;background:#000000d9;color:#f5ecd6;font-size:.65rem;font-weight:700;padding:1px .3125rem;border-radius:.5rem;border:1px solid rgba(139,69,19,.4);line-height:1.2}.inv-item-card__info{flex:1;min-width:0}.inv-item-card__name{font-family:Libre Baskerville,serif;font-size:.9rem;font-weight:600;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-item-card__desc{color:#a09880;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-item-card__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.inv-item-card__type{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#8a7a60}.inv-item-card__value{font-size:.75rem;color:#d4af37;font-weight:600}.inv-context-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50}.inv-context-menu{position:absolute;z-index:51;transform:translate(-50%,-50%);width:17.5rem;background:linear-gradient(145deg,#2c1810,#1a0f08);border:.125rem solid #8b4513;border-radius:.625rem;padding:1rem;box-shadow:0 .5rem 2rem #000000b3,0 0 1.25rem #8b451326;color:#f5ecd6}.inv-context-menu__name{font-family:Libre Baskerville,serif;font-size:1.1rem;font-weight:700;margin-bottom:.25rem;text-shadow:1px 1px .125rem rgba(0,0,0,.5)}.inv-context-menu__meta{font-size:.8rem;color:#bfa76a;text-transform:capitalize;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(139,69,19,.3)}.inv-context-menu__desc{font-size:.85rem;color:#d0c8b0;line-height:1.4;margin-bottom:.625rem}.inv-context-menu__effects{margin-bottom:.625rem;padding:.5rem;background:#0003;border-radius:.375rem;border:1px solid rgba(139,69,19,.2)}.inv-context-menu__effect{color:#90ee90;font-size:.85rem;padding:.125rem 0}.inv-context-menu__effect:before{content:"✦ ";color:#d4af37}.inv-context-menu__gold{font-size:.85rem;color:#d4af37;font-weight:600;margin-bottom:.75rem}.inv-context-menu__actions{display:flex;gap:.5rem;flex-wrap:wrap}.inv-context-menu__actions .inv-btn{flex:1;text-align:center}.inv-target-group{display:flex;flex-direction:column;gap:.375rem;width:100%}.inv-target-group__label{font-size:.75rem;color:#bfa76a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.125rem;font-family:Libre Baskerville,serif}.inv-btn--target{width:100%;padding:.375rem .75rem;font-size:.8rem}.inv-btn--target-demoness{background:linear-gradient(135deg,#5c1a3a,#7a2050);border-color:#c44a8a;color:#f0c4da}.inv-btn--target-demoness:hover{background:linear-gradient(135deg,#7a2050,#9a3070);box-shadow:0 .25rem .625rem #c44a8a66}.inv-btn--target-vivienne{background:linear-gradient(135deg,#1a1a3a,#2a2050);border-color:#6a5acd;color:#c4c4f0}.inv-btn--target-vivienne:hover{background:linear-gradient(135deg,#2a2050,#3a3070);box-shadow:0 .25rem .625rem #6a5acd66}.inv-empty-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:10rem;color:#665;font-style:italic;font-size:.95rem;text-align:center;white-space:pre-line;line-height:1.6}.inv-filter-chips{display:flex;flex-wrap:wrap;gap:.25rem;padding:0 0 .625rem;border-bottom:1px solid rgba(139,69,19,.2);margin-bottom:.5rem}.inv-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:1rem;border:1px solid rgba(139,69,19,.25);background:#0003;color:#a09880;font-size:.72rem;cursor:pointer;transition:all .2s ease;font-family:Libre Baskerville,serif}.inv-filter-chip:hover{background:#8b451326;color:#f5ecd6;border-color:#8b451366}.inv-filter-chip--active{background:linear-gradient(135deg,#8b451366,#a0522d66);color:#f5ecd6;border-color:#8b4513;font-weight:600}.inv-filter-chip__count{background:#0006;color:#d4af37;font-size:.65rem;padding:0 .3125rem;border-radius:.5rem;font-weight:700;margin-left:.125rem}.inv-sort-select{background:#0000004d;border:1px solid rgba(139,69,19,.3);color:#f5ecd6;padding:.25rem .5rem;border-radius:.375rem;font-size:.78rem;font-family:Libre Baskerville,serif}.inv-sort-btn{background:#0000004d;border:1px solid rgba(139,69,19,.3);color:#bfa76a;padding:.25rem .625rem;border-radius:.375rem;font-size:.78rem;cursor:pointer;transition:all .2s ease}.inv-sort-btn:hover{background:#8b451333;color:#f5ecd6}.inv-item-card__effects{display:flex;flex-wrap:wrap;gap:.1875rem;margin-top:.125rem}.inv-effect-tag{display:inline-block;font-size:.65rem;color:#90ee90;background:#00000040;padding:1px .375rem;border-radius:.25rem;border:1px solid rgba(144,238,144,.15)}.inv-rarity-dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;margin-bottom:.125rem}.inv-header-gold{display:flex;align-items:center;gap:.25rem}.inv-footer__gold{color:#d4af37;font-weight:700}.inv-footer__count{color:#bfa76a}@media (max-width: 1024px){.inventory-content{grid-template-columns:1fr!important}.inv-char-tabs{flex-wrap:wrap}}@media (max-width: 768px){.inv-char-tab{padding:.3125rem .625rem;font-size:.75rem}.inv-item-card{padding:.5rem .625rem}.inv-context-menu{width:13.75rem;padding:.75rem}}.inv-char-tab--fox{border-color:#f6ad55}.inv-char-tab--fox.inv-char-tab--active{background:linear-gradient(135deg,#f6ad5540,#ed893626);border-color:#ed8936;color:#fbd38d}.inv-btn--discard{background:linear-gradient(135deg,#742a2a,#9b2c2c);color:#feb2b2;border:1px solid #e53e3e44;border-radius:.375rem;padding:.375rem .875rem;font-size:.82rem;cursor:pointer;transition:background .2s,transform .1s}.inv-btn--discard:hover{background:linear-gradient(135deg,#9b2c2c,#c53030);transform:translateY(-1px)}.inv-toast{position:absolute;bottom:3.5rem;left:50%;transform:translate(-50%);background:#1a202cf2;border:1px solid #4a556880;color:#e2e8f0;padding:.5rem 1.25rem;border-radius:.5rem;font-size:.85rem;z-index:200;pointer-events:none;animation:inv-toast-in .25s ease-out,inv-toast-out .3s 2.2s ease-in forwards;box-shadow:0 .25rem 1rem #0006}@keyframes inv-toast-in{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes inv-toast-out{0%{opacity:1}to{opacity:0}}.inv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300}.inv-modal{background:linear-gradient(135deg,#1a202c,#2d3748);border:1px solid #4a556880;border-radius:.75rem;padding:1.5rem 1.75rem;max-width:23.75rem;width:90%;color:#e2e8f0;box-shadow:0 .5rem 2rem #00000080}.inv-btn--target-fox{border-color:#ed8936!important;color:#fbd38d!important}.inv-btn--target-fox:hover{background:#ed893633!important}.dream-battle{--dream-bg-deep: #060810;--dream-bg-mid: #0c0e1a;--dream-silver: #c0cfe0;--dream-silver-dim: #7a8ba0;--dream-blue: #5b8cc9;--dream-blue-glow: rgba(91, 140, 201, .45);--dream-lavender: #9a8fca;--dream-ice: #a8d8ea;--dream-border: rgba(140, 170, 210, .25);--dream-border-glow: rgba(91, 140, 201, .35)}.dream-battle-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:url(./dream-battle-bg-Dt1oIWQY.avif) center center / cover no-repeat;transform-origin:center bottom;transition:transform 2.5s ease-in-out;z-index:0;pointer-events:none}.dream-battle .gothic-command-rail{--gothic-gold: var(--dream-silver);--gothic-gold-dim: var(--dream-silver-dim);--gothic-gold-glow: var(--dream-blue-glow);--gothic-gold-bright: #dce6f0;--gothic-border: rgba(100, 130, 170, .4);--gothic-border-light: var(--dream-border);border-top-color:#648cc859}.dream-battle .gothic-command-rail:after{background:linear-gradient(90deg,transparent 0%,var(--dream-silver-dim) 20%,var(--dream-silver) 40%,#dce6f0 50%,var(--dream-silver) 60%,var(--dream-silver-dim) 80%,transparent 100%)}.dream-battle .gothic-info-panel__name{color:var(--dream-silver)}.dream-battle .gothic-info-panel__level{color:var(--dream-blue)}.dream-battle .gothic-info-panel__stat{color:#b0c4deb3}.dream-battle .gothic-nameplate{color:var(--dream-silver);text-shadow:0 0 .5rem rgba(91,140,201,.4)}.dream-battle .gothic-hp-bar-fill--healthy{background:linear-gradient(180deg,#5b8cc9,#3a6da8)}.dream-battle .gothic-hp-bar-fill--wounded{background:linear-gradient(180deg,#8a6fbf,#634f9a)}.dream-battle .gothic-hp-bar-fill--critical{background:linear-gradient(180deg,#7a5599,#4a2a6a)}.dream-battle .gothic-hp-bar-track{background:#141928b3;border-color:#648cc840}.dream-fog-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0}.dream-fog-layer--1{background:radial-gradient(ellipse at 20% 80%,rgba(91,140,201,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 30%,rgba(154,143,202,.05) 0%,transparent 50%);animation:dreamFogDrift 22s ease-in-out infinite;opacity:.7}.dream-fog-layer--2{background:radial-gradient(ellipse at 60% 70%,rgba(168,216,234,.05) 0%,transparent 45%),radial-gradient(ellipse at 30% 20%,rgba(91,140,201,.04) 0%,transparent 50%);animation:dreamFogDrift 30s ease-in-out infinite reverse;opacity:.5}.dream-fog-layer--3{background:radial-gradient(ellipse at 50% 50%,rgba(192,207,224,.04) 0%,transparent 60%);animation:dreamFogPulse 15s ease-in-out infinite;opacity:.4}@keyframes dreamFogDrift{0%,to{transform:translate(0) translateY(0);opacity:.5}25%{transform:translate(3%) translateY(-2%);opacity:.7}50%{transform:translate(-2%) translateY(1%);opacity:.6}75%{transform:translate(1%) translateY(2%);opacity:.4}}@keyframes dreamFogPulse{0%,to{opacity:.3}50%{opacity:.6}}.dream-wisps{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.dream-wisp{position:absolute;width:.375rem;height:.375rem;border-radius:50%;animation:wispFloat linear infinite;opacity:0;filter:blur(1px)}.dream-wisp--silver{background:radial-gradient(circle,rgba(192,207,224,.9),rgba(192,207,224,.1),transparent);box-shadow:0 0 .375rem #c0cfe066}.dream-wisp--blue{background:radial-gradient(circle,rgba(91,140,201,.85),rgba(91,140,201,.1),transparent);box-shadow:0 0 .5rem #5b8cc959}.dream-wisp--lavender{background:radial-gradient(circle,rgba(154,143,202,.85),rgba(154,143,202,.1),transparent);box-shadow:0 0 .375rem #9a8fca4d}@keyframes wispFloat{0%{transform:translateY(110vh) translate(0) scale(.4);opacity:0}8%{opacity:.6}30%{transform:translateY(60vh) translate(1.875rem) scale(.9);opacity:.5}60%{transform:translateY(25vh) translate(-1.25rem) scale(1);opacity:.35}90%{opacity:.1}to{transform:translateY(-10vh) translate(.625rem) scale(.5);opacity:0}}.dream-battle-stage{flex:1;position:relative;min-height:0;z-index:10;overflow:clip}.dream-hero-column{position:absolute;top:0;left:0;width:clamp(10rem,22vw,18rem);height:100%}.dream-hero-anchor{position:absolute;bottom:5%;left:15%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.dream-hero-sprite-box{width:clamp(7rem,18vw,11.25rem);height:clamp(10rem,25vh,17.5rem);display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:visible;transform-origin:bottom center;transition:transform 2s ease-in-out}.dream-hero-sprite-box img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 .25rem .5rem rgba(0,0,0,.6));transition:filter .5s ease}.dream-hero-sprite-box--draining img{filter:drop-shadow(0 0 1.25rem rgba(91,140,201,.7)) brightness(.7) saturate(.3)}.dream-hero-sprite-shake{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.dream-hero-sprite-shake--active{animation:damageShakeV2 .6s ease}.dream-drain-particle{position:absolute;top:50%;right:-1.25rem;width:2.5rem;height:2.5rem;background:radial-gradient(circle,rgba(91,140,201,.8) 0%,transparent 70%);border-radius:50%;animation:drainParticle .8s ease-out forwards}.dream-hero-hp{width:100%;padding:0 .25rem}.dream-center-column{position:absolute;top:0;left:clamp(10rem,22vw,18rem);right:clamp(10rem,22vw,18rem);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:clamp(2rem,6vh,5rem);z-index:20}.dream-battle-log{width:100%;max-width:36rem;max-height:clamp(10rem,24vh,18rem);background:#080c18cc;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:1px solid rgba(91,140,201,.2);border-radius:.5rem;padding:clamp(.4rem,1vw,.75rem);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 .25rem 1.5rem #0009,inset 0 1px #5b8cc914}.dream-battle-log__scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.dream-log-entry{padding:clamp(.125rem,.4vw,.3125rem) clamp(.3125rem,.8vw,.5rem);border-radius:.25rem;font-size:clamp(.6rem,1.2vw,.8rem);line-height:1.4}.dream-log-entry--narration{color:#c8d6e5}.dream-log-entry--dialogue{color:#a8c8f0;font-weight:600;font-style:italic}.dream-log-entry--drain{color:#8ab4d8;background:#5b8cc90f}.dream-log-entry--breakthrough{color:#a8d8ea}.dream-log-entry--system{color:#7a8ba0}.dream-demoness-column{position:absolute;top:0;right:0;width:clamp(10rem,22vw,18rem);height:100%}.dream-demoness-anchor{position:absolute;bottom:5%;left:0;width:100%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.dream-demoness-sprite-box{width:clamp(7rem,18vw,11.25rem);height:clamp(10rem,25vh,17.5rem);display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:visible;margin-left:-3rem;margin-top:-3.5rem}.dream-demoness-live2d-wrap{position:absolute;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 .25rem .5rem rgba(0,0,0,.6));overflow:visible;pointer-events:none;transform-origin:bottom center;transition:filter .5s ease,transform 2s ease-in-out}.dream-demoness-live2d-wrap--growing{filter:drop-shadow(0 0 1.875rem rgba(154,143,202,.7))}.dream-demoness-live2d-wrap--draining{filter:drop-shadow(0 0 1.25rem rgba(91,140,201,.6))}.dream-demoness-hp{width:100%;padding:0 .25rem}.dream-demoness-hp .gothic-hp-bar-fill{background:linear-gradient(180deg,#5b8cc9,#3a6da8)}.dream-drain-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 50%,rgba(91,140,201,.25) 0%,transparent 60%);z-index:5;pointer-events:none;animation:dreamPulse .8s ease-out forwards}.dream-growth-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 60%,rgba(154,143,202,.2) 0%,transparent 50%);animation:dreamPulse 1.5s ease-out forwards;z-index:5;pointer-events:none}.dream-action-btn{padding:clamp(.5rem,1.5vw,.75rem) clamp(1.25rem,3.5vw,2.5rem);font-size:clamp(.8rem,1.6vw,1rem);font-weight:700;font-family:var(--gothic-font);letter-spacing:.08em;cursor:pointer;transition:all .2s ease;text-shadow:0 .125rem .25rem rgba(0,0,0,.7);clip-path:polygon(.3rem 0%,calc(100% - .3rem) 0%,100% .3rem,100% calc(100% - .3rem),calc(100% - .3rem) 100%,.3rem 100%,0% calc(100% - .3rem),0% .3rem)}.dream-action-btn--resist{background:linear-gradient(180deg,#322614e6,#1e160cf2);border:.0625rem solid var(--gothic-gold-dim, #8b6720);color:var(--gothic-gold, #c9a84c);box-shadow:0 0 .5rem #c9a84c26,inset 0 1px #ffffff0d}.dream-action-btn--resist:hover{background:linear-gradient(180deg,#46371ef2,#322614f2);box-shadow:0 0 1rem #c9a84c66;border-color:var(--gothic-gold, #c9a84c);color:var(--gothic-gold-bright, #e8d48b);transform:translateY(-1px)}.dream-action-btn--talk{background:linear-gradient(180deg,#322614e6,#1e160cf2);border:.0625rem solid var(--gothic-gold-dim, #8b6720);color:var(--gothic-gold, #c9a84c);box-shadow:0 0 .5rem #c9a84c26,inset 0 1px #ffffff0d}.dream-action-btn--talk:hover{background:linear-gradient(180deg,#46371ef2,#322614f2);box-shadow:0 0 1rem #c9a84c66;border-color:var(--gothic-gold, #c9a84c);color:var(--gothic-gold-bright, #e8d48b);transform:translateY(-1px)}.dream-action-btn--items{background:linear-gradient(180deg,#322614e6,#1e160cf2);border:.0625rem solid var(--gothic-gold-dim, #8b6720);color:var(--gothic-gold, #c9a84c);box-shadow:0 0 .5rem #c9a84c26,inset 0 1px #ffffff0d}.dream-action-btn--items:hover{background:linear-gradient(180deg,#46371ef2,#322614f2);box-shadow:0 0 1rem #c9a84c66;border-color:var(--gothic-gold, #c9a84c);color:var(--gothic-gold-bright, #e8d48b);transform:translateY(-1px)}.dream-item-panel{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:clamp(17.5rem,45vw,26.25rem);max-height:16.25rem;background:linear-gradient(180deg,#0c0e1af7,#060810fc);border:1px solid var(--dream-border, rgba(140, 170, 210, .25));border-radius:.375rem;padding:0;z-index:20;box-shadow:0 -.25rem 1.5rem #0009,0 0 .75rem var(--dream-blue-glow, rgba(91, 140, 201, .2));overflow:hidden;animation:dreamItemSlideUp .25s ease-out}@keyframes dreamItemSlideUp{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dream-item-panel__header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;border-bottom:1px solid var(--dream-border, rgba(140, 170, 210, .25));background:#5b8cc914}.dream-item-panel__title{font-family:var(--gothic-font);font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--dream-silver, #c0cfe0)}.dream-item-panel__close{background:none;border:none;color:var(--dream-silver-dim, #7a8ba0);font-size:1.1rem;cursor:pointer;padding:0 .25rem;line-height:1}.dream-item-panel__close:hover{color:#fff}.dream-item-panel__list{overflow-y:auto;max-height:13.125rem;padding:.35rem;display:flex;flex-direction:column;gap:.25rem}.dream-item-panel__empty{padding:1.5rem;text-align:center;color:var(--dream-silver-dim, #7a8ba0);font-style:italic;font-size:.8rem}.dream-item-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:.25rem;background:#5b8cc90a;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.dream-item-row:hover{background:#5b8cc91f;border-color:var(--dream-border, rgba(140, 170, 210, .25))}.dream-item-row__name{flex:1;font-family:var(--gothic-font);font-size:.78rem;font-weight:600;color:var(--dream-silver, #c0cfe0)}.dream-item-row__qty{font-size:.7rem;color:var(--dream-silver-dim, #7a8ba0);min-width:1.8rem;text-align:right}.dream-item-row__use{font-family:var(--gothic-font);font-size:.7rem;font-weight:700;padding:.2rem .6rem;background:linear-gradient(180deg,#8c6414b3,#503c0ad9);border:1px solid rgba(218,165,32,.4);border-radius:.1875rem;color:#fde68a;cursor:pointer;transition:all .15s ease}.dream-item-row__use:hover{border-color:#daa520b3;box-shadow:0 0 .5rem #daa5204d}.dream-item-row--uncommon .dream-item-row__name{color:#86efac}.dream-item-row--rare .dream-item-row__name{color:#93c5fd}.dream-item-row--epic .dream-item-row__name{color:#c4b5fd}.dream-item-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#060810f2;border:1px solid var(--dream-blue, #5b8cc9);border-radius:.375rem;padding:.75rem 1.25rem;color:var(--dream-ice, #a8d8ea);font-family:var(--gothic-font);font-size:.85rem;text-align:center;z-index:25;box-shadow:0 0 1.25rem var(--dream-blue-glow, rgba(91, 140, 201, .4));animation:dreamToastFade 2s ease forwards;pointer-events:none}@keyframes dreamToastFade{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)}}.dream-status-msg{text-align:center;padding:clamp(.4rem,1.5vw,.75rem);font-family:var(--gothic-font);font-style:italic}.dream-status-msg--complete{color:var(--dream-lavender, #9a8fca);font-size:clamp(.75rem,1.5vw,.95rem);letter-spacing:.05em}.dream-status-msg--draining{color:var(--dream-blue, #5b8cc9);font-size:clamp(.7rem,1.4vw,.9rem);animation:drainPulseText 1.5s ease infinite}.dream-command-rail{height:clamp(5.5rem,16vh,7.5rem);display:flex;align-items:center;padding:clamp(.5rem,1.5vw,.75rem) clamp(1rem,3vw,1.5rem);gap:clamp(.5rem,2vw,1rem);flex-shrink:0}@keyframes damageShakeV2{0%,to{transform:translate(0)}10%{transform:translate(-.5rem) translateY(-.125rem)}20%{transform:translate(.5rem) translateY(.125rem)}30%{transform:translate(-.375rem)}40%{transform:translate(.375rem)}50%{transform:translate(-.25rem)}60%{transform:translate(.25rem)}70%{transform:translate(-.125rem)}80%{transform:translate(.125rem)}}@keyframes drainParticle{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(12.5rem) scale(.3)}}@keyframes dreamPulse{0%{opacity:.8}to{opacity:0}}@keyframes drainPulseText{0%,to{opacity:.5}50%{opacity:1}}.attribute-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:.625rem;overflow:auto;-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}.attribute-allocation-container{display:flex;align-items:flex-start;gap:1.25rem;max-width:62.5rem;margin:0 auto;padding:1.25rem;flex-direction:column;width:100%;max-height:95vh;overflow:auto}.partner-sprite-section{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#2c1810,#1a0f08);border:.1875rem solid #8b4513;border-radius:.9375rem;padding:.9375rem;width:100%;max-width:21.875rem;margin:0 auto;box-shadow:0 .625rem 1.875rem #000c,inset 0 1px #d4af8714;color:#f5ecd6;font-family:Libre Baskerville,serif}.partner-sprite-section h3{color:#f5ecd6;margin:0 0 .625rem;text-align:center;font-size:1.1rem;font-family:Libre Baskerville,serif;text-shadow:1px 1px .1875rem rgba(0,0,0,.5);letter-spacing:.03em}.sprite-container{position:relative;display:flex;justify-content:center;align-items:center;min-height:18.75rem;height:auto;width:100%;overflow:hidden}.attr-change-indicators{position:absolute;top:.625rem;right:.625rem;display:flex;flex-direction:column;gap:.25rem}.attr-change-indicator{font-size:.75rem;font-weight:700;text-shadow:0 1px .125rem rgba(0,0,0,.8)}.partner-info-bar{margin-top:.625rem;text-align:center;color:#d4c4a8;font-size:.78rem}.partner-comment-box{margin-top:.625rem;padding:.5rem .75rem;background:#8b451326;border:1px solid rgba(139,69,19,.4);border-radius:.5rem;text-align:center;width:100%;box-sizing:border-box}.partner-comment-text{color:#bfa76a;font-weight:600;font-size:.78rem;font-style:italic;font-family:Libre Baskerville,serif;text-shadow:0 1px .125rem rgba(0,0,0,.3)}.attribute-allocation-modal{background:linear-gradient(135deg,#2c1810,#1a0f08);border:.1875rem solid #8b4513;border-radius:.9375rem;padding:.9375rem;width:100%;max-width:31.25rem;margin:0 auto;color:#f5ecd6;font-family:Libre Baskerville,serif;box-shadow:0 .625rem 1.875rem #000c,inset 0 1px #d4af8714}.attribute-header{margin-bottom:.9375rem;text-align:center;padding-bottom:.75rem;border-bottom:1px solid rgba(139,69,19,.4)}.attribute-header h2{color:#f5ecd6;margin:0 0 .3125rem;font-size:1.15rem;font-family:Libre Baskerville,serif;text-shadow:1px 1px .1875rem rgba(0,0,0,.5);letter-spacing:.03em}.attribute-header p{margin:0;color:#bfa76a;font-size:.8rem}.attribute-stats{margin-bottom:.9375rem}.attribute-row{display:flex;align-items:center;margin-bottom:.5rem;padding:.5rem .625rem;background:#0000004d;border:1px solid rgba(139,69,19,.2);border-radius:.5rem;transition:border-color .2s}.attribute-row:hover{border-color:#8b451373}.attr-name-block{flex:1;min-width:5rem}.attr-label{font-weight:700;text-transform:capitalize;margin-bottom:.125rem;font-size:.85rem;color:#f5ecd6}.attr-desc{font-size:.68rem;color:#d4c4a8;line-height:1.2}.attr-controls{display:flex;gap:.375rem;align-items:center}.attr-btn{background:linear-gradient(135deg,#2c1810,#1a0f08);color:#f5ecd6;border:.125rem solid #8b4513;border-radius:.375rem;width:1.75rem;height:1.75rem;cursor:pointer;font-size:.875rem;font-weight:700;font-family:Libre Baskerville,serif;transition:all .2s;display:flex;align-items:center;justify-content:center}.attr-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b4513,sienna);box-shadow:0 .125rem .375rem #8b451366}.attr-btn:disabled{opacity:.35;cursor:not-allowed;border-color:#555}.attr-value{min-width:1.5625rem;text-align:center;font-weight:700;font-size:.9rem;color:#f5ecd6}.stat-preview{background:#0000004d;border:1px solid rgba(139,69,19,.3);padding:.75rem;border-radius:.625rem;margin-bottom:.9375rem}.stat-preview h3{margin:0 0 .5rem;color:#bfa76a;font-size:.82rem;font-family:Libre Baskerville,serif;text-transform:uppercase;letter-spacing:.06em}.stat-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;font-size:.78rem;color:#d4c4a8}.attribute-controls{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding-top:.625rem;border-top:1px solid rgba(139,69,19,.3)}.attr-action-btn{font-family:Libre Baskerville,serif;color:#f5ecd6;border:.125rem solid #8b4513;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.78rem;font-weight:600;min-width:4.375rem;transition:all .2s;letter-spacing:.02em}.attr-action-btn--reset{background:linear-gradient(135deg,#3d2418,#251510)}.attr-action-btn--reset:hover{background:linear-gradient(135deg,#4e3020,#3d2418);box-shadow:0 .125rem .5rem #8b45134d}.attr-action-btn--cancel{background:linear-gradient(135deg,#4a1a1a,#301010);border-color:#8b3030}.attr-action-btn--cancel:hover{background:linear-gradient(135deg,#602020,#4a1a1a);box-shadow:0 .125rem .5rem #8b303066}.attr-action-btn--confirm{background:linear-gradient(135deg,#8b4513,sienna);box-shadow:inset 0 1px #ffffff1a}.attr-action-btn--confirm:hover{background:linear-gradient(135deg,sienna,peru);box-shadow:0 .1875rem .625rem #8b451380;transform:translateY(-1px)}@media (max-width: 360px){.attribute-allocation-container{padding:.5rem!important;gap:.625rem!important}.partner-sprite-section{padding:.5rem!important}.sprite-container{min-height:11.25rem!important}.attribute-allocation-modal{padding:.5rem!important;font-size:.75rem!important}.attribute-row{padding:.25rem!important;margin-bottom:.375rem!important}.attr-btn{width:1.375rem!important;height:1.375rem!important;font-size:.75rem!important}.attribute-controls{gap:.375rem!important}.attr-action-btn{padding:.375rem .75rem!important;font-size:.6875rem!important;min-width:3.75rem!important}}@media (min-width: 361px) and (max-width: 414px){.sprite-container{min-height:13.75rem!important}.attribute-allocation-modal{font-size:.8125rem!important}.attr-btn{width:1.5rem!important;height:1.5rem!important;font-size:.8125rem!important}.attr-action-btn{padding:.4375rem .875rem!important;font-size:.75rem!important;min-width:4.0625rem!important}}@media (min-width: 415px) and (max-width: 767px){.sprite-container{min-height:15.625rem!important}.attr-btn{width:1.625rem!important;height:1.625rem!important}}@media (min-width: 768px){.attribute-allocation-container{flex-direction:row!important;padding:1.25rem!important;gap:1.25rem!important}.partner-sprite-section{width:18.75rem!important;min-width:18.75rem!important;max-width:21.875rem!important;flex-shrink:0!important;margin:0!important}.sprite-container{min-height:21.875rem!important}.attribute-allocation-modal{flex:1!important;margin:0!important;padding:1.25rem!important;max-width:none!important}}@media (max-height: 600px) and (orientation: landscape){.attribute-allocation-container{flex-direction:row!important;padding:.625rem!important;gap:.9375rem!important;max-height:90vh!important}.partner-sprite-section{width:15.625rem!important;min-width:15.625rem!important;max-width:18.75rem!important;flex-shrink:0!important;margin:0!important}.sprite-container{min-height:12.5rem!important}.attribute-allocation-modal{flex:1!important;margin:0!important;max-height:none!important}}.partner-comment-modal{width:100%;max-width:31.25rem;margin:.625rem;padding:1.2rem}@media (max-width: 360px){.partner-comment-modal{padding:.8rem!important;margin:.3125rem!important}.partner-comment-modal h2{font-size:1rem!important;margin-bottom:.8rem!important}.partner-comment-modal p{font-size:.8rem!important;padding:.5rem!important}.partner-comment-modal button{padding:.5rem 1.2rem!important;font-size:.8rem!important}}@media (min-width: 361px) and (max-width: 414px){.partner-comment-modal{padding:1rem!important}.partner-comment-modal h2{font-size:1.1rem!important}.partner-comment-modal p{font-size:.85rem!important}.partner-comment-modal button{padding:.55rem 1.3rem!important;font-size:.85rem!important}}.attribute-overlay{overflow:auto!important;padding:.625rem!important}@media (pointer: coarse){.attribute-row button{min-width:2.75rem!important;min-height:2.75rem!important}.attribute-controls button{min-height:2.75rem!important;padding:.75rem 1.25rem!important}}.growth-modal{background:linear-gradient(135deg,#2c1810,#1a0f08);border:.1875rem solid #8b4513;border-radius:.9375rem;padding:1.875rem;max-width:56.25rem;width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 .75rem 3rem #000000b3,inset 0 1px #d4af8714,0 0 1.875rem #8b451326;position:relative;color:#f5ecd6;font-family:Libre Baskerville,serif}.growth-content{display:flex;gap:1.875rem;align-items:flex-start}.growth-sprite-section{flex:0 0 18.75rem;display:flex;justify-content:center;align-items:center}.vivienne-sprite{position:relative;transition:transform .3s ease}.vivienne-sprite.pulsing{animation:pulse 2s ease-in-out infinite}.vivienne-sprite.growing{animation:growth-animation 2s ease-out}@keyframes pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.2) drop-shadow(0 0 1.25rem rgba(191,167,106,.5))}}@keyframes growth-animation{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.02);filter:brightness(1.3) drop-shadow(0 0 1.875rem rgba(191,167,106,.7))}50%{transform:scale(.98);filter:brightness(.7) drop-shadow(0 0 2.5rem rgba(139,69,19,.8))}75%{transform:scale(1.1);filter:brightness(1.5) drop-shadow(0 0 3.125rem rgba(191,167,106,.9))}to{transform:scale(1.15);filter:brightness(1) drop-shadow(0 0 1.25rem rgba(191,167,106,.4))}}.growth-sprite-image{width:100%;height:auto;display:block;border-radius:.5rem;border:.125rem solid rgba(139,69,19,.4);background:linear-gradient(135deg,#2c18104d,#1a0f084d)}.growth-text-section{flex:1;display:flex;flex-direction:column;gap:1.25rem}.growth-title{color:#f5ecd6;font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:.625rem;font-family:Libre Baskerville,serif;text-shadow:1px 1px .1875rem rgba(0,0,0,.5);letter-spacing:.03em}.current-stats{background:#0000004d;border:1px solid rgba(139,69,19,.3);border-radius:.5rem;padding:.9375rem;margin-bottom:.9375rem}.current-stats p{margin:.3125rem 0;color:#d4c4a8}.current-stats strong{color:#bfa76a}.stage-description{background:#8b451314;border:1px solid rgba(139,69,19,.25);border-radius:.5rem;padding:.9375rem;margin-bottom:.9375rem}.stage-description p{color:#d4c4a8;line-height:1.6;font-style:italic}.growth-ready{background:linear-gradient(135deg,#8b451326,#bfa76a1a);border:.125rem solid rgba(191,167,106,.5);border-radius:.5rem;padding:.9375rem;margin-bottom:1.25rem;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 .625rem #bfa76a33}to{box-shadow:0 0 1.25rem #bfa76a80}}.growth-ready-text{color:#bfa76a;font-weight:700;text-align:center}.growth-buttons{display:flex;gap:.9375rem;justify-content:center;margin-top:1.25rem}.choice-button{padding:.75rem 1.5rem;border:.125rem solid #8b4513;border-radius:.5rem;font-size:1rem;font-weight:700;font-family:Libre Baskerville,serif;cursor:pointer;transition:all .3s ease;min-width:10rem;color:#f5ecd6;letter-spacing:.02em}.growth-proceed{background:linear-gradient(135deg,#8b4513,sienna);border-color:#8b4513;color:#f5ecd6;font-family:Libre Baskerville,serif}.growth-proceed:hover{transform:translateY(-.125rem);background:linear-gradient(135deg,sienna,peru);box-shadow:0 .3125rem .9375rem #8b451380}.growth-not-ready{background:linear-gradient(135deg,#1a1a1a,#0f0f0f);border-color:#555;color:#888;cursor:not-allowed}.growth-cancel,.growth-complete{background:linear-gradient(135deg,#3d2418,#251510);border-color:#8b4513;color:#f5ecd6;font-family:Libre Baskerville,serif}.growth-cancel:hover,.growth-complete:hover{background:linear-gradient(135deg,#4e3020,#3d2418);transform:translateY(-.125rem);box-shadow:0 .1875rem .625rem #8b451366}.growing-content{text-align:center}.growth-process h3{color:#f5ecd6;font-size:1.3rem;margin-bottom:.9375rem;font-family:Libre Baskerville,serif;text-shadow:1px 1px .1875rem rgba(0,0,0,.5)}.growth-process p{color:#d4c4a8;line-height:1.6;font-style:italic;margin-bottom:1.25rem}.growth-progress-bar{width:100%;height:.5rem;background:#8b451333;border-radius:.25rem;overflow:hidden;margin-top:1.25rem}.growth-progress-fill{height:100%;background:linear-gradient(90deg,#8b4513,#bfa76a);animation:progress 2s ease-out}@keyframes progress{0%{width:0%}to{width:100%}}.post-growth-content{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.new-stats{background:linear-gradient(135deg,#8b451326,#bfa76a1a);border:.125rem solid rgba(191,167,106,.4);border-radius:.5rem;padding:.9375rem;margin-bottom:.9375rem;text-align:center}.new-stats p{margin:.3125rem 0;color:#d4c4a8;font-size:1.1rem}.new-stats strong{color:#bfa76a}.transformation-description{background:#0000004d;border:1px solid rgba(139,69,19,.3);border-radius:.5rem;padding:.9375rem;margin-bottom:.9375rem}.transformation-description p{color:#d4c4a8;line-height:1.6}.new-stage-description{background:#8b451314;border:1px solid rgba(139,69,19,.25);border-radius:.5rem;padding:.9375rem;margin-bottom:1.25rem}.new-stage-description p{color:#d4c4a8;line-height:1.6;font-style:italic}@media (max-width: 768px){.growth-content{flex-direction:column;align-items:center;text-align:center}.growth-sprite-section{flex:none;margin-bottom:1.25rem}.growth-sprite-image{width:12.5rem;height:20rem}.growth-buttons{flex-direction:column;align-items:center}.choice-button{width:100%;max-width:15.625rem}}.rest-scene{position:relative;width:100%;min-height:100vh;overflow:hidden;background:#0d0907;font-family:Libre Baskerville,serif;display:flex;flex-direction:column}.rest-scene__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center bottom;filter:none;z-index:0}.rest-scene__vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,transparent 50%,rgba(10,6,4,.75) 100%),linear-gradient(to top,rgba(10,6,4,.5) 0%,transparent 30%)}.rest-scene__grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:12.5rem 12.5rem}.rest-scene__firelight{position:absolute;bottom:0;left:30%;width:40%;height:60%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,rgba(200,140,50,.12) 0%,rgba(180,100,30,.06) 40%,transparent 70%);animation:firelightPulse 4s ease-in-out infinite alternate}@keyframes firelightPulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}.rest-scene__top-bar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem .8rem}.rest-scene__title{color:#d4af87;font-size:1.5rem;font-weight:700;letter-spacing:.0938rem;text-shadow:0 .125rem .5rem rgba(0,0,0,.7);margin:0}.rest-scene__controls{display:flex;gap:.75rem}.rest-scene__codex-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;display:flex;align-items:center;justify-content:center}.rest-btn{background:linear-gradient(180deg,#3c2d1ee6,#281c12f2);color:#d4af87;border:1px solid rgba(191,167,111,.35);border-radius:.375rem;padding:.5rem 1.1rem;font-family:Libre Baskerville,serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-shadow:0 1px .1875rem rgba(0,0,0,.5)}.rest-btn:hover{background:linear-gradient(180deg,#503c23f2,#372616fa);border-color:#c9a84c;box-shadow:0 0 .75rem #c9a84c33;transform:translateY(-1px)}.rest-btn:active{transform:translateY(0)}.rest-btn--back{background:linear-gradient(180deg,#5a1e19d9,#3c120eeb);border-color:#b4503c66}.rest-btn--back:hover{border-color:#d2644699;box-shadow:0 0 .625rem #b4503c33}.rest-scene__stage{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:calc(100vh - 8rem);padding:0 2rem 1.5rem}.rest-stage__back-row{display:flex;align-items:flex-end;justify-content:center;gap:6rem;position:relative;z-index:1;margin-bottom:-2.5rem}.rest-stage__front-row{display:flex;align-items:flex-end;justify-content:center;gap:7rem;position:relative;z-index:2}.rest-slot{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:filter .3s ease,transform .3s ease;flex:0 0 auto}.rest-slot:hover{filter:brightness(1.15) drop-shadow(0 0 1.25rem rgba(212,175,135,.25))}.rest-slot--hero{z-index:5}.rest-slot--demoness{z-index:4}.rest-slot--vivienne{z-index:3}.rest-slot--back{z-index:1;filter:brightness(.65) saturate(.75);transform:scale(.78);transform-origin:bottom center}.rest-slot--back:hover{filter:brightness(.9) saturate(.85) drop-shadow(0 0 1rem rgba(212,175,135,.2));transform:scale(.82)}.rest-slot--back .rest-slot__name{font-size:.75rem;opacity:.85}.rest-slot__sprite{position:relative;display:flex;align-items:flex-end;justify-content:center}.rest-slot__sprite img{display:block;filter:drop-shadow(0 .25rem 1rem rgba(0,0,0,.5));transition:all .35s ease}.rest-slot:hover .rest-slot__sprite img{filter:drop-shadow(0 .25rem 1.25rem rgba(212,175,135,.35))}.rest-slot__name{margin-top:.5rem;padding:.3rem 1rem;background:linear-gradient(180deg,#322316eb,#1e120af5);border:1px solid rgba(191,167,111,.3);border-radius:.25rem;color:#d4af87;font-size:.85rem;font-weight:600;text-align:center;letter-spacing:.0313rem;text-shadow:0 1px .1875rem rgba(0,0,0,.5);white-space:nowrap;transition:all .25s ease}.rest-slot:hover .rest-slot__name{border-color:#c9a84c;box-shadow:0 0 .5rem #c9a84c33}.rest-slot__name--demoness{color:#e8b89a}.rest-slot__name--vivienne{color:#c4a5e8}.rest-slot__badge{position:absolute;top:-.5rem;right:-.5rem;background:linear-gradient(135deg,#c0392b,#962d22);color:#fff;padding:.1875rem .625rem;border-radius:.75rem;font-size:.75rem;font-weight:700;z-index:10;box-shadow:0 .125rem .375rem #0006;text-transform:uppercase;letter-spacing:.0313rem}.rest-slot__hint{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10}.rest-slot:hover .rest-slot__hint{opacity:1}.rest-slot__hint-text{background:#140c08e6;color:#d4af87;font-size:.85rem;font-weight:600;padding:.35rem .9rem;border-radius:.25rem;border:1px solid rgba(191,167,111,.3);white-space:nowrap;text-shadow:0 1px .125rem rgba(0,0,0,.5)}.rest-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#08050399;animation:panelOverlayIn .25s ease forwards}@keyframes panelOverlayIn{0%{opacity:0}to{opacity:1}}.rest-panel{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(42.5rem,95vw);max-height:80vh;overflow-y:auto;z-index:110;background:linear-gradient(180deg,#2d2014f7,#1e140cfc);border:1px solid rgba(191,167,111,.25);border-bottom:none;border-radius:.875rem .875rem 0 0;box-shadow:0 -.5rem 2.5rem #0009;animation:panelSlideUp .35s cubic-bezier(.2,0,.2,1) forwards}@keyframes panelSlideUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.rest-panel__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem .5rem;border-bottom:1px solid rgba(191,167,111,.15)}.rest-panel__char-name{color:#d4af87;font-size:1.2rem;font-weight:700;letter-spacing:1px;text-shadow:0 1px .25rem rgba(0,0,0,.5)}.rest-panel__close{background:none;border:1px solid rgba(191,167,111,.2);border-radius:50%;width:2rem;height:2rem;color:#d4af87;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.rest-panel__close:hover{background:#bfa76f1a;border-color:#c9a84c}.rest-panel__body{padding:1rem 1.5rem 1.5rem}.rest-panel__actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.rest-action-btn{flex:1;min-width:7.5rem;padding:.65rem 1rem;background:linear-gradient(180deg,#3c2d1ee6,#281c12f2);color:#d4af87;border:1px solid rgba(191,167,111,.3);border-radius:.375rem;font-family:Libre Baskerville,serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-align:center;text-shadow:0 1px .1875rem rgba(0,0,0,.5)}.rest-action-btn:hover{background:linear-gradient(180deg,#503c23f2,#372616fa);border-color:#c9a84c;box-shadow:0 0 .625rem #c9a84c33;transform:translateY(-1px)}.rest-action-btn:active{transform:translateY(0)}.rest-action-btn--highlight{border-color:#4caf5080;color:#8eda92}.rest-action-btn--highlight:hover{border-color:#4caf50;box-shadow:0 0 .625rem #4caf5033}.rest-action-btn--pink{border-color:#d6338466;color:#ff8ec4}.rest-action-btn--pink:hover{border-color:#d63384;box-shadow:0 0 .625rem #d6338433}.rest-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.5rem}.rest-stat-row{display:flex;justify-content:space-between;padding:.2rem 0;font-size:.95rem;color:#c4b08a;border-bottom:1px solid rgba(191,167,111,.08)}.rest-stat-label{color:#8a7a5e;font-weight:600}.rest-stat-value{color:#d4af87;font-weight:700}.rest-stat-bonus--attr{color:#c47fff;font-weight:700}.rest-stat-bonus--equip{color:#6dd677;font-weight:700}.rest-stat-bonus--growth{color:#ff6be6;font-weight:700}.rest-stance-picker{margin-bottom:.8rem;padding:.6rem .75rem;background:#1e160e99;border:1px solid rgba(191,167,111,.15);border-radius:.375rem}.rest-stance-picker__label{display:block;font-size:.85rem;font-weight:700;color:#8a7a5e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem}.rest-stance-picker__options{display:flex;gap:.4rem}.rest-stance-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .3rem;background:#281e12cc;border:1px solid rgba(191,167,111,.15);border-radius:.3125rem;cursor:pointer;transition:all .2s ease;color:#9a8a6e}.rest-stance-btn:hover{border-color:#c9a84c66;background:#372819e6;color:#d4af87}.rest-stance-btn--active{border-color:#c9a84c;background:#46341cf2;color:gold;box-shadow:0 0 .5rem #c9a84c40,inset 0 0 .375rem #c9a84c1a}.rest-stance-btn__icon{font-size:1rem;line-height:1}.rest-stance-btn__name{font-size:.75rem;font-weight:600;font-family:Libre Baskerville,serif;white-space:nowrap}.rest-banter{position:absolute;bottom:100%;left:50%;transform:translate(-50%);z-index:20;pointer-events:none;margin-bottom:.5rem;animation:banterIn .4s cubic-bezier(.2,0,.2,1) forwards}@keyframes banterIn{0%{opacity:0;transform:translate(-50%) scale(.85) translateY(.625rem)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.rest-banter__bubble{max-width:17.5rem;min-width:10rem;padding:.65rem 1rem;border-radius:.625rem;font-size:.95rem;font-style:italic;line-height:1.45;box-shadow:0 .25rem 1rem #0006;position:relative;white-space:normal;text-align:center}.rest-banter__bubble:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:0;height:0;border-left:.5rem solid transparent;border-right:.5rem solid transparent}.rest-banter__bubble--demoness{background:linear-gradient(135deg,#783228f2,#501e19f7);color:#f0d4c4;border:1px solid rgba(200,120,80,.3)}.rest-banter__bubble--demoness:after{border-top:.5rem solid rgba(80,30,25,.95)}.rest-banter__bubble--vivienne{background:linear-gradient(135deg,#3c2864f2,#281946f7);color:#e0d0f0;border:1px solid rgba(140,100,200,.3)}.rest-banter__bubble--vivienne:after{border-top:.5rem solid rgba(40,25,70,.95)}.rest-banter__speaker{font-weight:700;font-style:normal;font-size:.85rem;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.05rem}.rest-banter__speaker--demoness{color:#e8a888}.rest-banter__speaker--vivienne{color:#b8a0e0}.rest-banter__speaker--fox{color:#ed8936}.rest-banter__speaker--slime{color:#7dd3fc}.rest-banter__bubble--fox{background:linear-gradient(135deg,#785014f2,#50370af7);color:#f5e6c8;border:1px solid rgba(237,137,54,.3)}.rest-banter__bubble--fox:after{border-top:.5rem solid rgba(80,55,10,.95)}.rest-banter__bubble--slime{background:linear-gradient(135deg,#1e5078f2,#14375af7);color:#d0eeff;border:1px solid rgba(125,211,252,.3)}.rest-banter__bubble--slime:after{border-top:.5rem solid rgba(20,55,90,.95)}.rest-scene__embers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.rest-ember{position:absolute;width:.1875rem;height:.1875rem;background:radial-gradient(circle,rgba(220,160,60,.9) 0%,rgba(180,100,30,.3) 60%,transparent 100%);border-radius:50%;animation:restEmberFloat linear infinite;opacity:0}@keyframes restEmberFloat{0%{transform:translateY(100vh) translate(0) scale(.4);opacity:0}10%{opacity:.7}50%{transform:translateY(50vh) translate(.9375rem) scale(.9);opacity:.5}90%{opacity:.15}to{transform:translateY(-5vh) translate(-.625rem) scale(.3);opacity:0}}.rest-scene__dust{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.rest-dust-mote{position:absolute;background:radial-gradient(circle,rgba(212,190,150,.6) 0%,rgba(212,190,150,.1) 70%,transparent 100%);border-radius:50%;animation:dustDrift ease-in-out infinite;opacity:0}@keyframes dustDrift{0%{opacity:0;transform:translate(0) scale(.6)}15%{opacity:.35}50%{opacity:.5;transform:translate(1.875rem,-1.25rem) scale(1)}85%{opacity:.2}to{opacity:0;transform:translate(-.9375rem,.9375rem) scale(.5)}}.rest-scene__light-shafts{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.rest-scene__light-shafts:before,.rest-scene__light-shafts:after{content:"";position:absolute;top:-10%;width:18%;height:110%;background:linear-gradient(180deg,rgba(220,180,100,.06) 0%,rgba(200,160,80,.03) 40%,transparent 100%);transform:rotate(12deg);animation:lightShaftPulse 8s ease-in-out infinite alternate}.rest-scene__light-shafts:before{left:22%;animation-delay:0s}.rest-scene__light-shafts:after{left:58%;transform:rotate(-8deg);animation-delay:3s;opacity:.7}@keyframes lightShaftPulse{0%{opacity:.3}50%{opacity:.8}to{opacity:.4}}.rest-scene__fog{position:absolute;bottom:0;left:-20%;width:140%;height:25%;z-index:3;pointer-events:none;background:radial-gradient(ellipse at 30% 80%,rgba(180,160,130,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 70%,rgba(160,140,110,.06) 0%,transparent 55%);animation:fogDrift 16s ease-in-out infinite alternate;filter:blur(1.25rem)}@keyframes fogDrift{0%{transform:translate(0) scaleY(1);opacity:.7}50%{transform:translate(3%) scaleY(1.1);opacity:1}to{transform:translate(-2%) scaleY(.95);opacity:.6}}@media (max-width: 768px){.rest-carousel{padding:0 .5rem;gap:.5rem}.rest-carousel__arrow{width:2.25rem;height:2.25rem;font-size:1.4rem}.rest-carousel__sprite{min-height:12.5rem}.rest-scene__top-bar{padding:.8rem 1rem .5rem;flex-wrap:wrap;gap:.5rem}.rest-scene__title{font-size:1.1rem}.rest-panel{width:100vw;border-radius:.75rem .75rem 0 0}.rest-stats-grid{grid-template-columns:1fr}.rest-bubbles{max-width:17.5rem;top:3.5rem;left:.8rem}.rest-bubble{padding:.6rem .8rem}.rest-bubble__portrait{width:2.125rem;height:2.125rem}.rest-bubble__text{font-size:.85rem}.rest-portraits{gap:.5rem;padding:.4rem 1rem .2rem}.rest-portrait{min-width:3.25rem;padding:.3rem}.rest-portrait__img{width:2.25rem;height:2.25rem}.rest-portrait__label{font-size:.65rem}}.rest-bubbles{position:absolute;top:4rem;left:1.5rem;z-index:15;display:flex;flex-direction:column-reverse;gap:.6rem;max-width:26.25rem;pointer-events:none}.rest-bubble{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1.1rem;border-radius:.75rem;box-shadow:0 .25rem 1.25rem #0000008c;animation:bubbleSlideIn .4s cubic-bezier(.2,0,.2,1) forwards;transition:opacity 1s ease,transform .6s ease;opacity:1;transform:translateY(0)}.rest-bubble--fading{opacity:0;transform:translateY(-.5rem)}@keyframes bubbleSlideIn{0%{opacity:0;transform:translateY(1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.rest-bubble__portrait{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;object-position:top center;border:.125rem solid rgba(191,167,111,.35);flex-shrink:0}.rest-bubble__content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.rest-bubble__speaker{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05rem}.rest-bubble__speaker--demoness{color:#e8a888}.rest-bubble__speaker--vivienne{color:#b8a0e0}.rest-bubble__speaker--fox{color:#ed8936}.rest-bubble__speaker--slime{color:#7dd3fc}.rest-bubble__text{font-size:.95rem;font-style:italic;line-height:1.5}.rest-bubble--demoness{background:linear-gradient(135deg,#783228eb,#501e19f2);color:#f0d4c4;border:1px solid rgba(200,120,80,.3)}.rest-bubble--vivienne{background:linear-gradient(135deg,#3c2864eb,#281946f2);color:#e0d0f0;border:1px solid rgba(140,100,200,.3)}.rest-bubble--fox{background:linear-gradient(135deg,#785014eb,#50370af2);color:#f5e6c8;border:1px solid rgba(237,137,54,.3)}.rest-bubble--slime{background:linear-gradient(135deg,#1e5078eb,#14375af2);color:#d0eeff;border:1px solid rgba(125,211,252,.3)}.rest-carousel{position:relative;z-index:5;display:flex;align-items:flex-end;justify-content:center;flex:1;min-height:0;padding:0 2rem 2rem;gap:1rem}.rest-carousel__arrow{background:linear-gradient(180deg,#3c2d1ed9,#281c12e6);color:#d4af87;border:1px solid rgba(191,167,111,.3);border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:1;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:10;text-shadow:0 1px .1875rem rgba(0,0,0,.5)}.rest-carousel__arrow:hover{background:linear-gradient(180deg,#503c23f2,#372616fa);border-color:#c9a84c;box-shadow:0 0 .875rem #c9a84c40;transform:scale(1.1)}.rest-carousel__arrow:active{transform:scale(.95)}.rest-carousel__character{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;transition:filter .3s ease,opacity .25s ease,transform .25s ease;opacity:1;transform:translate(0)}.rest-carousel__character--exit-right{opacity:0;transform:translate(-5rem)}.rest-carousel__character--exit-left{opacity:0;transform:translate(5rem)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(5rem)}to{opacity:1;transform:translate(0)}}.rest-carousel__character--enter-right{animation:slideInFromRight .25s ease forwards}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-5rem)}to{opacity:1;transform:translate(0)}}.rest-carousel__character--enter-left{animation:slideInFromLeft .25s ease forwards}.rest-carousel__character:hover{filter:brightness(1.1) drop-shadow(0 0 1.25rem rgba(212,175,135,.2))}.rest-carousel__sprite{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:18.75rem}.rest-carousel__sprite img{display:block;filter:drop-shadow(0 .25rem 1rem rgba(0,0,0,.5));transition:all .35s ease}.rest-carousel__name{margin-top:.6rem;color:#d4af87;font-size:1.4rem;font-weight:700;letter-spacing:1px;text-shadow:0 .125rem .375rem rgba(0,0,0,.6);text-align:center}.rest-carousel__name--demoness{color:#e8b89a}.rest-carousel__name--vivienne{color:#c4a5e8}.rest-carousel__role{color:#8a7a5e;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.0938rem;margin-top:.15rem}.rest-carousel__hint{margin-top:.5rem;opacity:0;transition:opacity .3s ease;pointer-events:none}.rest-carousel__character:hover .rest-carousel__hint{opacity:1}.rest-portraits{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 2rem .3rem}.rest-portrait{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:linear-gradient(180deg,#322316d9,#1e120ae6);border:.125rem solid rgba(191,167,111,.2);border-radius:.625rem;padding:.45rem;cursor:pointer;transition:all .25s ease;min-width:4rem}.rest-portrait:hover{border-color:#c9a84c80;box-shadow:0 0 .75rem #c9a84c26;transform:translateY(-.125rem)}.rest-portrait--active{border-color:#c9a84c;box-shadow:0 0 1rem #c9a84c4d,0 0 .25rem #c9a84c26 inset;background:linear-gradient(180deg,#46321ee6,#2d1e12f2)}.rest-portrait__img{width:3rem;height:3rem;border-radius:50%;object-fit:cover;object-position:top center;border:.125rem solid rgba(191,167,111,.15);transition:border-color .2s ease}.rest-portrait--active .rest-portrait__img{border-color:#c9a84c}.rest-portrait__label{font-size:.75rem;color:#8a7a5e;font-weight:600;letter-spacing:.0188rem;text-align:center;white-space:nowrap;transition:color .2s ease}.rest-portrait--active .rest-portrait__label{color:#d4af87}.fox-herb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#000000a6;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);animation:foxHerbFadeIn .25s ease-out}.fox-herb-modal{background:linear-gradient(145deg,#1a1510,#241e16);border:1px solid rgba(212,175,55,.35);border-radius:.875rem;padding:2rem 2.2rem;max-width:23.75rem;width:90%;text-align:center;box-shadow:0 0 2.5rem #0009,0 0 1.25rem #4caf501a inset;animation:foxHerbSlideUp .3s ease-out}.fox-herb-modal__icon{font-size:2.8rem;margin-bottom:.5rem;filter:drop-shadow(0 0 .5rem rgba(76,175,80,.5))}.fox-herb-modal__title{font-family:Libre Baskerville,serif;color:#e8dcc8;font-size:1.1rem;margin:0 0 1rem;line-height:1.4;text-shadow:0 1px .1875rem rgba(0,0,0,.5)}.fox-herb-modal__stats{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.fox-herb-modal__points{color:#8bc34a;font-size:.95rem;font-weight:600;text-shadow:0 0 .375rem rgba(76,175,80,.3)}.fox-herb-modal__remaining{color:#a09080;font-size:.85rem}.fox-herb-modal__narrative{color:#c8b898;font-size:.85rem;font-style:italic;line-height:1.5;margin:.5rem 0 1.2rem;padding:.6rem .8rem;background:#4caf500f;border-left:.125rem solid rgba(76,175,80,.3);border-radius:0 .375rem .375rem 0;text-align:left}.fox-herb-modal__btn{display:inline-block;padding:.55rem 2.2rem;background:linear-gradient(135deg,#4a6741,#3d5636);color:#e8dcc8;border:1px solid rgba(76,175,80,.3);border-radius:.5rem;font-family:Libre Baskerville,serif;font-size:.95rem;cursor:pointer;transition:all .2s ease}.fox-herb-modal__btn:hover{background:linear-gradient(135deg,#5a7a50,#4a6741);border-color:#4caf5080;box-shadow:0 0 .75rem #4caf5033}@keyframes foxHerbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes foxHerbSlideUp{0%{opacity:0;transform:translateY(1.25rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.rest-carousel--shifted{justify-content:flex-start;padding-left:4vw}.rest-carousel--shifted .rest-carousel__character{transform:none}.rest-side-panel{position:fixed;top:0;right:0;bottom:0;width:min(30rem,48vw);z-index:50;background:linear-gradient(180deg,#23190ff2,#19120af7);border-left:1px solid rgba(191,167,111,.2);box-shadow:-.5rem 0 2.5rem #00000080;display:flex;flex-direction:column;animation:sidePanelSlideIn .3s cubic-bezier(.2,0,.2,1) forwards;overflow:hidden}@keyframes sidePanelSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.rest-side-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;border-bottom:1px solid rgba(191,167,111,.15);flex-shrink:0}.rest-side-panel__title{color:#d4af87;font-size:1.1rem;font-weight:700;letter-spacing:.0313rem;text-shadow:0 1px .25rem rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rest-side-panel__header-controls{display:flex;align-items:center;gap:.5rem}.rest-side-panel__close{background:none;border:1px solid rgba(191,167,111,.2);border-radius:50%;width:1.875rem;height:1.875rem;color:#d4af87;font-size:.9375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.rest-side-panel__close:hover{background:#bfa76f1a;border-color:#c9a84c}.rest-side-panel__tabs{display:flex;gap:.125rem;flex-shrink:0;border-bottom:1px solid rgba(191,167,111,.1);padding:0 1.2rem}.rest-side-tab{flex:1;padding:.55rem 0;background:transparent;border:none;border-bottom:.125rem solid transparent;color:#8a7a5e;font-family:Libre Baskerville,serif;font-size:.82rem;font-weight:600;letter-spacing:.0313rem;cursor:pointer;transition:all .25s ease;text-align:center}.rest-side-tab:hover{color:#d4af87}.rest-side-tab--active{color:#d4af87;border-bottom-color:#c9a84c}.rest-side-panel__body{flex:1;overflow-y:auto;padding:1rem 1.2rem 1.5rem;scrollbar-width:thin;scrollbar-color:rgba(191,167,111,.3) transparent}.rest-side-panel__body::-webkit-scrollbar{width:.375rem}.rest-side-panel__body::-webkit-scrollbar-track{background:transparent}.rest-side-panel__body::-webkit-scrollbar-thumb{background:#bfa76f4d;border-radius:.1875rem}.chat-inline-content{color:#f0e6d3}.chat-inline-content p{color:#ccc!important}.chat-inline-content div{color:#f0e6d3!important}.chat-inline-content button{color:#2c1810!important}.chat-inline-content button:not(:hover){box-shadow:0 .125rem .5rem #0000004d}@media (max-width: 768px){.rest-side-panel{width:100vw;border-left:none;border-top:1px solid rgba(191,167,111,.2)}.rest-carousel--shifted{justify-content:center;padding-left:0}}.rest-bond-panel{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 0}.rest-bond-status{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;background:#1e142880;border:1px solid rgba(191,167,111,.15);border-radius:.375rem}.rest-bond-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.rest-bond-scene{padding:.6rem .75rem;background:#281e3299;border-left:.1875rem solid rgba(201,168,76,.5);border-radius:.25rem;font-size:.85rem;line-height:1.55;color:#e8d5b7;font-style:italic}.rest-bond-interactions{display:flex;flex-direction:column;gap:.4rem}.rest-bond-section-label{font-size:.85rem;color:#a08c6a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}.rest-action-btn--bond{border-color:#b482dc59;color:#d6bcfa}.rest-action-btn--bond:hover{border-color:#b482dc99;box-shadow:0 0 .625rem #b482dc26}.rest-bond-used{padding:.5rem .75rem;font-size:.85rem;color:#a0aec0;text-align:center;font-style:italic}.rest-bond-empty{padding:1rem;font-size:.85rem;color:#718096;text-align:center}.passage-ambient-motes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.passage-mote{position:absolute;border-radius:50%;opacity:0;animation:moteFloat linear infinite}.passage-mote--gold{width:.1875rem;height:.1875rem;background:radial-gradient(circle,rgba(212,175,135,.9) 0%,rgba(201,168,76,.3) 60%,transparent 100%);box-shadow:0 0 .25rem #d4af874d}.passage-mote--silver{width:.125rem;height:.125rem;background:radial-gradient(circle,rgba(200,210,225,.8) 0%,rgba(180,190,210,.2) 60%,transparent 100%);box-shadow:0 0 .1875rem #c8d2e133}.passage-mote--ember{width:.1563rem;height:.1563rem;background:radial-gradient(circle,rgba(180,120,60,.85) 0%,rgba(139,69,19,.2) 60%,transparent 100%);box-shadow:0 0 .3125rem #b4783c33}@keyframes moteFloat{0%{transform:translateY(105vh) translate(0) scale(.3);opacity:0}8%{opacity:.5}25%{transform:translateY(70vh) translate(.9375rem) scale(.7);opacity:.4}50%{transform:translateY(45vh) translate(-.625rem) scale(1);opacity:.3}75%{transform:translateY(20vh) translate(.5rem) scale(.8);opacity:.2}95%{opacity:.05}to{transform:translateY(-5vh) translate(-.3125rem) scale(.4);opacity:0}}.companion-switch-btn{position:fixed;top:50%;right:1rem;transform:translateY(-50%);z-index:10000;width:3.25rem;height:3.25rem;border-radius:50%;border:.125rem solid #8B6914;background:radial-gradient(circle at 40% 35%,#3a2a18,#2c1810 60%,#1a0f08);box-shadow:0 0 0 1px #8b69144d,0 .25rem .875rem #0009,inset 0 1px #d4af8726;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.companion-switch-btn:before{content:"";position:absolute;top:.1875rem;right:.1875rem;bottom:.1875rem;left:.1875rem;border-radius:50%;border:1px solid rgba(212,175,135,.12);pointer-events:none}.companion-switch-btn:hover{transform:translateY(-50%) scale(1.12);border-color:#c9a84c;box-shadow:0 0 0 1px #c9a84c80,0 0 1.25rem #d4af8740,0 .375rem 1.25rem #000000b3,inset 0 1px #d4af8740}.companion-switch-btn:active{transform:translateY(-50%) scale(.95)}.companion-switch-icon{color:#d4af87;font-size:1.125rem;font-weight:700;font-family:Libre Baskerville,serif;text-shadow:0 1px .1875rem rgba(0,0,0,.5);transition:color .3s ease,transform .3s ease;line-height:1}.companion-switch-btn:hover .companion-switch-icon{color:#f5e6d3;transform:translate(.125rem)}.companion-switch-btn .switch-tooltip{position:absolute;right:3.875rem;top:50%;transform:translateY(-50%);background:#1e120af2;color:#d4af87;font-family:Libre Baskerville,serif;font-size:.6875rem;font-weight:600;padding:.375rem .75rem;border-radius:.375rem;border:1px solid rgba(139,105,20,.3);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease;box-shadow:0 .1875rem .625rem #00000080}.companion-switch-btn:hover .switch-tooltip{opacity:1}@keyframes vnSpriteSlideOut{0%{translate:0 0;opacity:1}to{translate:40vw 0;opacity:0}}@keyframes vnSpriteSlideIn{0%{translate:40vw 0;opacity:0}to{translate:0 0;opacity:1}}@keyframes vnInfoSlideOut{0%{translate:0 0;opacity:1}to{translate:8rem 0;opacity:0}}@keyframes vnInfoSlideIn{0%{translate:8rem 0;opacity:0}to{translate:0 0;opacity:1}}.companion-slide-out .partner-sprite-overlay,.companion-slide-out .vivienne-sprite-overlay,.companion-slide-out .fox-sprite-overlay,.companion-slide-out .character-card-live2d{animation:vnSpriteSlideOut .4s cubic-bezier(.4,0,.6,1) forwards!important}.companion-slide-out .info-card-right{animation:vnInfoSlideOut .3s cubic-bezier(.4,0,.6,1) forwards!important}.companion-slide-in .partner-sprite-overlay,.companion-slide-in .vivienne-sprite-overlay,.companion-slide-in .fox-sprite-overlay,.companion-slide-in .character-card-live2d{animation:vnSpriteSlideIn .45s cubic-bezier(.2,0,.2,1) forwards!important}.companion-slide-in .info-card-right{animation:vnInfoSlideIn .4s cubic-bezier(.2,0,.2,1) .1s forwards!important;opacity:0}.shop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2500;-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}.shop-window{position:relative;width:min(60rem,95vw);max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#2c1810,#1a0f08);border:.1875rem solid #8b4513;border-radius:.9375rem;box-shadow:0 .75rem 3rem #000000b3,inset 0 1px #d4af8714,0 0 1.875rem #8b451326;color:#f5ecd6;font-family:Libre Baskerville,serif;overflow:hidden}.shop-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:linear-gradient(90deg,#8b4513,sienna);border-bottom:.125rem solid rgba(139,69,19,.6)}.shop-header h2{flex:1;margin:0;font-size:1.2rem;font-family:Libre Baskerville,serif;color:#f5ecd6;text-shadow:1px 1px .1875rem rgba(0,0,0,.5);letter-spacing:.03em}.shop-header__gold{display:flex;align-items:center;color:#d4af37;font-weight:700;text-shadow:0 1px .125rem rgba(0,0,0,.4)}.shop-close-btn{background:none;border:none;color:#f5ecd6;font-size:1.5rem;cursor:pointer;padding:0 .25rem;transition:color .2s;opacity:.7}.shop-close-btn:hover{color:#e07a5f;opacity:1}.shop-tabs{display:flex;gap:0;border-bottom:.125rem solid rgba(139,69,19,.4)}.shop-tab{flex:1;padding:.625rem 0;background:transparent;border:none;color:#bfa76a;font-family:Libre Baskerville,serif;font-size:.92rem;font-weight:600;cursor:pointer;transition:color .2s,background .2s;border-bottom:.125rem solid transparent;letter-spacing:.03em}.shop-tab:hover{color:#f5ecd6;background:#8b45131f}.shop-tab--active{color:#f5ecd6;border-bottom-color:#d4af37;background:#8b45132e;text-shadow:0 1px .125rem rgba(0,0,0,.3)}.shop-body{flex:1;overflow-y:auto;padding:.75rem 1rem}.shop-body::-webkit-scrollbar{width:.5rem}.shop-body::-webkit-scrollbar-track{background:#0000004d;border-radius:.25rem}.shop-body::-webkit-scrollbar-thumb{background:#8b451380;border-radius:.25rem}.shop-body::-webkit-scrollbar-thumb:hover{background:#8b4513b3}.shop-categories{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.shop-cat-chip{padding:.3125rem .875rem;background:#0000004d;border:1px solid rgba(139,69,19,.35);border-radius:1rem;color:#bfa76a;font-family:Libre Baskerville,serif;font-size:.78rem;cursor:pointer;transition:all .2s;letter-spacing:.02em}.shop-cat-chip:hover{background:#8b451333;border-color:#8b451380;color:#f5ecd6}.shop-cat-chip--active{background:linear-gradient(135deg,#8b4513,sienna);border-color:#d2691e;color:#f5ecd6;text-shadow:0 1px .125rem rgba(0,0,0,.4);box-shadow:0 .125rem .375rem #8b451359}.shop-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:20rem}.shop-item-list{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;max-height:25rem;padding:.5rem;background:#00000026;border:.125rem solid rgba(139,69,19,.25);border-radius:.625rem}.shop-item-list::-webkit-scrollbar{width:.5rem}.shop-item-list::-webkit-scrollbar-track{background:#0000004d;border-radius:.25rem}.shop-item-list::-webkit-scrollbar-thumb{background:#8b451380;border-radius:.25rem}.shop-item-list::-webkit-scrollbar-thumb:hover{background:#8b4513b3}.shop-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:#00000040;border:1px solid rgba(139,69,19,.2);border-left:.1875rem solid #665;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.shop-item:hover{background:#8b451326;border-color:#8b451366;transform:translate(.125rem)}.shop-item--selected{background:#8b451333;border-color:#8b451399;border-left-color:#d4af37;box-shadow:inset 0 0 .5rem #d4af3714}.shop-item--disabled{opacity:.45}.shop-item--owned{opacity:.55;border-left-color:#4ade80}.shop-item__icon{font-size:1.2rem;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:.375rem;border:1px solid rgba(139,69,19,.25)}.shop-item__info{flex:1;min-width:0}.shop-item__name{font-family:Libre Baskerville,serif;font-size:.88rem;font-weight:600;color:#f5ecd6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-item__qty{color:#bfa76a;font-weight:400}.shop-item__type{font-size:.72rem;color:#8a7a60;text-transform:capitalize;letter-spacing:.03em}.shop-item__price{font-size:.88rem;font-weight:700;white-space:nowrap;color:#d4af37}.shop-detail{padding:.875rem 1rem;background:#0000004d;border:.125rem solid rgba(139,69,19,.3);border-radius:.625rem;display:flex;flex-direction:column}.shop-detail__rarity{font-size:.78rem;font-family:Libre Baskerville,serif;text-transform:capitalize;margin-bottom:.5rem;letter-spacing:.04em}.shop-detail__desc{font-size:.85rem;color:#c8b898;line-height:1.5;margin:0 0 .75rem}.shop-detail__effects{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.shop-effect-tag{padding:.1875rem .625rem;background:#d4af371a;border:1px solid rgba(212,175,55,.25);border-radius:.75rem;font-size:.76rem;color:#d4af37}.shop-detail__placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:#8a7a60;font-size:.88rem;font-style:italic;font-family:Libre Baskerville,serif}.shop-buy-area{margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(139,69,19,.25)}.shop-price-line{font-size:.88rem;margin-bottom:.625rem;color:#c8b898}.shop-qty-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.625rem}.shop-qty-btn{width:2rem;height:2rem;border-radius:.375rem;border:1px solid rgba(139,69,19,.5);background:#8b451333;color:#f5ecd6;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.shop-qty-btn:hover:not(:disabled){background:#8b451366}.shop-qty-btn:disabled{opacity:.3;cursor:default}.shop-qty-display{min-width:2.25rem;text-align:center;font-size:1rem;font-weight:700;color:#f5ecd6}.shop-qty-max{padding:.25rem .625rem;border-radius:.375rem;border:1px solid rgba(139,69,19,.4);background:#00000040;color:#bfa76a;font-family:Libre Baskerville,serif;font-size:.78rem;cursor:pointer;transition:all .15s}.shop-qty-max:hover{background:#8b451340;border-color:#8b451399;color:#f5ecd6}.shop-total-line{font-size:.95rem;margin-bottom:.75rem;color:#f5ecd6;font-weight:600}.shop-buy-btn{width:100%;padding:.625rem 0;border:1px solid #c4a677;border-radius:.5rem;background:linear-gradient(135deg,#8b4513,sienna);color:#f5ecd6;font-family:Libre Baskerville,serif;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.03em;text-shadow:0 1px .125rem rgba(0,0,0,.4);transition:all .2s ease;box-shadow:0 .125rem .5rem #8b45134d}.shop-buy-btn:hover:not(:disabled){background:linear-gradient(135deg,sienna,#b8602e);transform:translateY(-1px);box-shadow:0 .25rem .75rem #8b451373}.shop-buy-btn:disabled{opacity:.35;cursor:default}.shop-buy-btn--sell{background:linear-gradient(135deg,#2d5a1e,#3d7a28);border-color:#4a8a34;color:#d4f0c4;box-shadow:0 .125rem .5rem #2d5a1e4d}.shop-buy-btn--sell:hover:not(:disabled){background:linear-gradient(135deg,#3d7a28,#4a8a34);box-shadow:0 .25rem .75rem #2d5a1e73}.shop-footer{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1.25rem;border-top:.125rem solid rgba(139,69,19,.35);font-size:.8rem;color:#8a7a60;background:#00000026}.shop-footer__slots{color:#bfa76a;font-weight:600}.shop-toast{position:absolute;bottom:3.125rem;left:50%;transform:translate(-50%);background:#2c1810f2;border:1px solid rgba(139,69,19,.6);color:#f5ecd6;padding:.5rem 1.25rem;border-radius:.5rem;font-family:Libre Baskerville,serif;font-size:.85rem;z-index:200;pointer-events:none;animation:shop-toast-in .25s ease-out,shop-toast-out .3s 2.2s ease-in forwards;box-shadow:0 .25rem 1rem #00000080}@keyframes shop-toast-in{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes shop-toast-out{0%{opacity:1}to{opacity:0}}.shop-empty{display:flex;align-items:center;justify-content:center;height:7.5rem;color:#8a7a60;font-style:italic;font-family:Libre Baskerville,serif}@media (max-width: 768px){.shop-window{width:98vw;max-height:95vh;border-radius:.625rem}.shop-split{grid-template-columns:1fr}.shop-item-list{max-height:12.5rem}.shop-header{padding:.625rem .875rem}.shop-header h2{font-size:1.05rem}}@media (max-width: 480px){.shop-overlay{padding:0;align-items:stretch;justify-content:stretch}.shop-window{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0;border:none}.shop-header{padding:.625rem .75rem}.shop-header h2{font-size:1rem}.shop-body{padding:.5rem .625rem}.shop-tab{font-size:.82rem;padding:.5rem 0}.shop-cat-chip{font-size:.72rem;padding:.25rem .625rem}.shop-footer{padding:.5rem .75rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}.patreon-auth-modal{background:linear-gradient(135deg,#2c1810,#1a0f08);border:.125rem solid #8b4513;border-radius:.9375rem;box-shadow:0 .625rem 1.875rem #00000080;max-width:31.25rem;width:90%;max-height:80vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5625rem 0;border-bottom:.0625rem solid rgba(139,69,19,.3);margin-bottom:1.25rem}.modal-header h3{color:#ff6b35;margin:0;font-size:1.4em;text-shadow:0 .125rem .25rem rgba(0,0,0,.5)}.close-button{background:none;border:none;color:#ccc;font-size:1.5rem;cursor:pointer;padding:.3125rem;border-radius:50%;width:2.1875rem;height:2.1875rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#ffffff1a;color:#fff}.modal-content{padding:0 1.5625rem 1.5625rem}.auth-info{text-align:center;margin-bottom:1.5625rem}.auth-info p{color:#e0e0e0;font-size:1.1em;margin-bottom:1.25rem;line-height:1.6}.benefits-list{background:#ff6b351a;border:1px solid rgba(255,107,53,.3);border-radius:.625rem;padding:1.25rem;margin:1.25rem 0}.benefits-list h4{color:#ff6b35;margin:0 0 .9375rem;font-size:1.2em}.benefits-list ul{list-style:none;padding:0;margin:0}.benefits-list li{color:#e0e0e0;padding:.5rem 0;border-bottom:1px solid rgba(255,107,53,.2);font-size:1em}.benefits-list li:last-child{border-bottom:none}.auth-buttons{display:flex;flex-direction:column;gap:.9375rem;margin:1.5625rem 0}.patreon-login-btn{background:#d4af87;color:#2c1810;border:1px solid #C4A677;padding:.9375rem 1.5625rem;border-radius:.625rem;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 .25rem .9375rem #d4af874d;text-shadow:none;font-family:Libre Baskerville,serif}.patreon-login-btn:hover:not(:disabled){background:#c4a677;transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #d4af8766}.patreon-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.dev-access-btn{background:#d4af87;color:#2c1810;border:1px solid #C4A677;padding:.75rem 1.25rem;border-radius:.5rem;font-size:.95em;cursor:pointer;transition:all .3s ease;font-family:Libre Baskerville,serif;font-weight:600}.dev-access-btn:hover{background:#c4a677;transform:translateY(-1px)}.auth-footer{text-align:center;padding-top:1.25rem;border-top:1px solid rgba(139,69,19,.3)}.auth-footer p{margin:0;color:#a0a0a0}.auth-footer a{color:#ff6b35;text-decoration:none;font-weight:700}.auth-footer a:hover{text-decoration:underline}.test-code-section{margin:1.25rem 0 0;padding-top:1.125rem;border-top:1px solid rgba(139,69,19,.3)}.test-code-label{display:block;color:#a0a0a0;font-size:.85em;margin-bottom:.5rem}.test-code-row{display:flex;gap:.5rem}.test-code-input{flex:1;padding:.625rem .75rem;border-radius:.5rem;border:1px solid rgba(139,69,19,.4);background:#0000004d;color:#e0e0e0;font-size:.95em;font-family:Libre Baskerville,serif;outline:none;transition:border-color .2s}.test-code-input::placeholder{color:#666}.test-code-input:focus{border-color:#ff6b35}.test-code-btn{padding:.625rem 1.125rem;border-radius:.5rem;border:1px solid #C4A677;background:#d4af87;color:#2c1810;font-weight:600;font-family:Libre Baskerville,serif;cursor:pointer;transition:all .2s;white-space:nowrap}.test-code-btn:hover:not(:disabled){background:#c4a677}.test-code-btn:disabled{opacity:.5;cursor:not-allowed}.test-code-error{display:block;color:#f44;font-size:.8em;margin-top:.375rem}.auth-loading{text-align:center;padding:2.5rem 1.25rem}.auth-loading h4{color:#ff6b35;margin:1.25rem 0 .625rem}.auth-loading p{color:#e0e0e0;margin-bottom:1.875rem;line-height:1.6}.spinner{width:2.5rem;height:2.5rem;border:.25rem solid rgba(255,107,53,.3);border-left:.25rem solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-success{text-align:center;padding:1.25rem}.success-icon{font-size:3em;margin-bottom:.9375rem;animation:bounce .6s ease-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-.625rem)}60%{transform:translateY(-.3125rem)}}.auth-success h4{color:#ff6b35;margin:0 0 .625rem;font-size:1.3em}.auth-success p{color:#ccc;margin:0 0 1.25rem}.member-info{background:#8b45131a;border:1px solid rgba(139,69,19,.3);border-radius:.625rem;padding:.9375rem;margin:1.25rem 0;text-align:left}.tier-badge{text-align:center;margin-bottom:.9375rem}.tier-badge span{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:.5rem .9375rem;border-radius:1.25rem;font-weight:700;display:inline-block;box-shadow:0 .125rem .625rem #ff6b354d}.features-list{color:#e0e0e0}.features-list p{margin:0 0 .625rem;font-weight:700;color:#ff6b35}.features-list ul{margin:0;padding-left:1.25rem;list-style:none}.features-list li{margin:.3125rem 0;color:#ccc}.success-actions{display:flex;gap:.9375rem;justify-content:center;margin-top:1.5625rem}.activate-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:.75rem 1.5625rem;border-radius:.5rem;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease;flex:1;max-width:12.5rem}.activate-btn:hover{background:linear-gradient(135deg,#e55a2b,#cc4d21);transform:translateY(-.125rem);box-shadow:0 .3125rem .9375rem #ff6b3566}.close-btn{background:#8b451333;color:#ccc;border:1px solid rgba(139,69,19,.5);padding:.75rem 1.5625rem;border-radius:.5rem;font-size:1em;cursor:pointer;transition:all .3s ease;flex:1;max-width:12.5rem}.close-btn:hover{background:#8b45134d;color:#fff;transform:translateY(-1px)}@media (max-width: 600px){.patreon-auth-modal{margin:1.25rem;width:calc(100% - 2.5rem)}.modal-header{padding:.9375rem 1.25rem 0}.modal-content{padding:0 1.25rem 1.25rem}.benefits-list{padding:.9375rem}.patreon-login-btn,.dev-access-btn{padding:.75rem 1.25rem;font-size:1em}}.patreon-unlock-btn{background:linear-gradient(135deg,#ff6b35,#e55a2b);color:#fff;border:.125rem solid #ff6b35;padding:.625rem 1.25rem;border-radius:.5rem;font-size:.9em;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 .125rem .625rem #ff6b354d;display:inline-flex;align-items:center;gap:.5rem}.patreon-unlock-btn:hover{background:linear-gradient(135deg,#e55a2b,#cc4d21);transform:translateY(-1px);box-shadow:0 .25rem .9375rem #ff6b3566}.patreon-unlock-btn:active{transform:translateY(0)}.patreon-status{background:#48bb781a;border:1px solid rgba(72,187,120,.3);color:#68d391;padding:.5rem .9375rem;border-radius:.5rem;font-size:.9em;display:inline-flex;align-items:center;gap:.5rem}.patreon-status:before{content:"✓";font-weight:700}
