html,body{margin:0;height:100%;background:#1b1925;color:#e9dfc7;font:600 16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{height:100dvh}.debug-overlay{position:fixed;top:max(8px,env(safe-area-inset-top));left:8px;z-index:10;max-width:calc(100vw - 16px);padding:8px;background:#000000bf;color:#9fe870;font:16px/1.4 monospace;pointer-events:none;word-break:break-word}.loot-preview{position:relative;width:100%;height:100%;overflow:hidden}.loot-preview canvas{position:absolute;inset:0;width:100%;height:100%}.loot-label{position:absolute;transform:translate(-50%,-50%);font:16px/1.2 Georgia,serif;white-space:nowrap;text-shadow:0 1px 3px #000;pointer-events:none}.debug-intents{position:fixed;left:8px;bottom:max(48px,env(safe-area-inset-bottom));z-index:10;max-width:calc(100vw - 16px);padding:8px;background:#000000bf;color:#ffd98a;font:16px/1.4 monospace;pointer-events:none}.stroke-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.menu-button{box-sizing:border-box;width:100%;min-height:56px;padding:8px 16px;border:2px solid #c9a24b;border-radius:8px;background:#2a2436;color:#e9dfc7;font:20px/1.2 Georgia,serif;cursor:pointer;touch-action:manipulation}.menu-button:active{background:#3a3250}.menu-button:focus-visible,.settings__toggle:focus-visible,.settings__link:focus-visible{outline:3px solid #ffd98a;outline-offset:2px}.menu-button--danger{border-color:#c2362b}.menu-overlay{box-sizing:border-box;position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow-y:auto;background:#0e0c14f0;color:#e9dfc7;text-align:center}.menu-overlay>*{width:min(100%,320px)}.menu-title{margin:0;font:700 32px/1.1 Georgia,serif;letter-spacing:2px;text-transform:uppercase;text-wrap:balance}.king-bars{box-sizing:border-box;position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:8px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));color:#e9dfc7;font:16px/1.2 Georgia,serif;pointer-events:none}.king-bars[hidden]{display:none}.king-bars__pause{flex:none;box-sizing:border-box;width:48px;height:48px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0;border:2px solid #6b6178;border-radius:8px;background:#1b1925cc;cursor:pointer;pointer-events:auto;touch-action:manipulation}.king-bars__pause:active{background:#3a3250}.king-bars__pause:focus-visible{outline:3px solid #ffd98a;outline-offset:2px}.king-bars__pause-bar{width:6px;height:20px;border-radius:2px;background:#e9dfc7}[data-hand=left] .king-bars{flex-direction:row-reverse}[data-hand=left] .king-bars__side{align-items:flex-start}.king-bars__rows{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.king-bars__row{display:flex;align-items:center;gap:6px}.king-bars__label{flex:none;width:2.2em;font-size:16px;font-weight:700}.king-bars__track{flex:1;min-width:0;height:14px;border-radius:7px;background:#0a0810bf;border:1px solid #4a4357;overflow:hidden}.king-bars__fill{height:100%;border-radius:6px;transition:width .15s ease-out}.king-bars__fill--hp{background:#c2362b}.king-bars__fill--mana{background:#3f74d9}.king-bars__track--hit{animation:king-bars-hit .25s ease-out}@keyframes king-bars-hit{0%{background:#ff3b30;box-shadow:0 0 10px 2px #ff3b30}to{background:#0a0810bf;box-shadow:none}}.king-bars__number{flex:none;min-width:3.2em;text-align:right;font-size:16px;font-variant-numeric:tabular-nums}.king-bars__crack[hidden]{display:none}.king-bars__side{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:16px;font-weight:700}.king-bars__levelbox{display:flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.king-bars__fill{transition:none}.king-bars__track--hit{animation:none}}.fatal-screen{box-sizing:border-box;position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:#1b1925;color:#e9dfc7;text-align:center}.fatal-screen__title{margin:0;font-size:28px;letter-spacing:2px;text-transform:uppercase}.fatal-screen__body{margin:0;max-width:28em;font-size:20px;line-height:1.5}.cooldowns{position:fixed;z-index:6;top:calc(max(12px,env(safe-area-inset-top)) + 112px);left:max(12px,env(safe-area-inset-left));display:flex;gap:8px;pointer-events:none}.cooldown-ring{--left: 0;box-sizing:border-box;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid #8e8499;border-radius:50%;background:conic-gradient(#100c16eb calc(var(--left) * 1turn),#3f8cf08c 0);color:#e6dcc4;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.cooldown-ring--ready{border-color:#ffd98a;color:#ffd98a}.cooldown-ring[hidden]{display:none}.cooldown-ring__glyph{text-shadow:0 1px 2px #000}.arena-bars,.arena-souls,.arena-moment,.arena-banner,.arena-guide{position:fixed;z-index:6;box-sizing:border-box;color:#e6dcc4;font:600 16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;pointer-events:none;user-select:none;-webkit-user-select:none}.arena-bars,.arena-souls{border:1px solid #8e8499;border-radius:10px;background:#100c16c7}.arena-bars{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:min(54vw,214px);padding:6px 10px;display:flex;flex-direction:column;gap:4px}.arena-bars__row{display:flex;align-items:center;gap:8px}.arena-bars__label{flex:none;width:2.1em}.arena-bars__track{position:relative;flex:1;min-width:0;height:8px;border-radius:4px;background:#ffffff24;overflow:hidden}.arena-bars__fill{position:relative;height:100%;border-radius:4px;transition:width .15s ease-out}.arena-bars__ghost{position:absolute;inset:0 auto 0 0;border-radius:4px;background:#ffffffb3;transition:width .6s ease-in .25s}.arena-bars__row--spent .arena-bars__track{animation:bars-spent .3s ease-out}.arena-bars__row--denied{animation:bars-denied .32s ease-out}.arena-bars__row--denied .arena-bars__fill--mp{background:#e24a4a}@keyframes bars-spent{0%{box-shadow:0 0 0 2px #78b4fff2}to{box-shadow:0 0 #78b4ff00}}@keyframes bars-denied{20%{transform:translate(-4px)}50%{transform:translate(4px)}80%{transform:translate(-2px)}}.arena-bars__fill--hp{background:#e24a4a}.arena-bars__fill--mp{background:#3f8cf0}.arena-bars__number{flex:none;min-width:5.6em;text-align:right;font-variant-numeric:tabular-nums}.arena-souls{top:max(12px,env(safe-area-inset-top));right:calc(max(12px,env(safe-area-inset-right)) + 56px);height:44px;display:flex;align-items:center;padding:0 12px;font-size:16px}.arena-pause{position:fixed;z-index:7;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));box-sizing:border-box;width:44px;height:44px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid #8e8499;border-radius:50%;background:#100c16c7;cursor:pointer;touch-action:manipulation}.arena-pause:focus-visible{outline:3px solid #ffd98a;outline-offset:2px}.arena-pause__bar{width:5px;height:18px;border-radius:2px;background:#e6dcc4}.arena-pause--on .arena-pause__bar:first-child{width:0;height:0;border-radius:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #ffd98a;background:none}.arena-pause--on .arena-pause__bar:last-child{display:none}.arena-moment{top:calc(max(12px,env(safe-area-inset-top)) + 68px);left:50%;transform:translate(-50%);padding:3px 16px;border:1px solid #c9a24a;border-radius:999px;background:#100c16cc;color:#ffd98a;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 3px #000}.arena-moment[hidden]{display:none}.arena-moment--fade{animation:arena-moment-fade 1.2s ease-out forwards}@keyframes arena-moment-fade{0%{opacity:0}10%{opacity:1}65%{opacity:1}to{opacity:0}}.arena-banner{top:calc(max(12px,env(safe-area-inset-top)) + 104px);left:50%;transform:translate(-50%);padding:8px 22px;border:1px solid #c9a24a;border-radius:999px;background:#100c16cc;color:#ffd98a;font-size:18px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.arena-banner[hidden],.arena-guide[hidden]{display:none}.arena-guide{left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100vw - 24px);padding:3px 12px;border-radius:999px;background:#100c166b;text-align:center;white-space:nowrap;color:#d8cbb0;letter-spacing:.02em}#app.arena-rage{box-shadow:inset 0 0 60px #ff280a8c}@media(prefers-reduced-motion:reduce){.arena-bars__fill,.arena-bars__ghost{transition:none}.arena-bars__row--spent .arena-bars__track,.arena-bars__row--denied{animation:none}}.message-callout{position:fixed;left:0;right:0;top:34%;z-index:20;padding:0 16px;text-align:center;font:700 36px/1.1 Georgia,serif;color:#f3e7c4;text-shadow:0 3px 0 #000,0 0 14px #000;text-wrap:balance;pointer-events:none}.message-callout--normal{animation:callout-pop var(--callout-seconds, .75s) ease-out both}.message-callout--special{font-size:44px;color:#ffd166;animation:callout-pop var(--callout-seconds, 1.3s) ease-out both}.message-callout[hidden],.souls-note[hidden]{display:none}.souls-note{position:fixed;top:calc(max(12px,env(safe-area-inset-top)) + 76px);right:max(12px,env(safe-area-inset-right));z-index:20;font:700 18px/1.2 Georgia,serif;color:#ffd98a;text-shadow:0 1px 4px #000,0 0 8px #000;pointer-events:none}[data-hand=left] .souls-note{right:auto;left:max(12px,env(safe-area-inset-left))}@keyframes callout-pop{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.12)}30%{transform:scale(1)}80%{opacity:1}to{opacity:0}}.unlock-banner{position:fixed;left:50%;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 64px);z-index:58;box-sizing:border-box;max-width:calc(100vw - 24px);transform:translate(-50%);padding:10px 20px;border:1px solid #c9a24a;border-radius:16px;background:#100c16e0;text-align:center;pointer-events:none;user-select:none;-webkit-user-select:none;animation:unlock-pop .35s ease-out both}.unlock-banner[hidden],.unlock-banner__hint[hidden]{display:none}.unlock-banner__title{font:700 20px/1.2 Georgia,serif;color:#ffd166;text-shadow:0 2px 0 #000}.unlock-banner__hint{margin-top:4px;font:600 16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#e6dcc4}@keyframes unlock-pop{0%{opacity:0;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.unlock-banner{animation:none}}.boon-pick{z-index:55;background:#0e0c14e0;backdrop-filter:blur(4px)}.boon-pick>*{width:min(100%,350px)}.boon-pick__prompt{margin:0;font:18px/1.3 Georgia,serif;color:#c9bfa6}.boon-card{box-sizing:border-box;display:flex;align-items:center;gap:14px;min-height:96px;padding:12px 16px;border:3px solid var(--tag-color, #c9a24b);border-radius:12px;background:#2a2436;color:#e9dfc7;text-align:left;cursor:pointer;touch-action:manipulation}.boon-card:active{background:#3a3250}.boon-card:focus-visible{outline:3px solid #ffd98a;outline-offset:3px}.boon-card svg{flex:none}.boon-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.boon-card__name{font:700 20px/1.2 Georgia,serif}.boon-card__tag{font:700 16px/1.2 system-ui,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--tag-color, #c9a24b)}.boon-card__effect{font:16px/1.3 Georgia,serif;color:#d8cfb8}.frame{position:fixed;inset:0;z-index:9;overflow:hidden;font:600 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#f3e7c4;pointer-events:none}.slot{position:absolute;box-sizing:border-box;margin:0;padding:0;border:1.5px solid rgba(240,232,208,.7);border-radius:10px;background:#120e1eb3;color:inherit;font:inherit;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:border-color .12s,box-shadow .12s,opacity .12s}.slot--filled{border-color:#f0e8d0b3;background:#141022c7;box-shadow:inset 0 0 9px #f2c24b73,inset 0 -2px #f2c24bbf}.slot--source{opacity:.4}.slot--target{border-color:#f2c24b;box-shadow:0 0 10px 2px #f2c24b99,inset 0 0 8px #f2c24b59}.slot--over{border-color:#ffe9a0;box-shadow:0 0 16px 5px #ffe9a0e6,inset 0 0 10px #ffe9a080;background:#3c3018d9}.slot--shake{animation:slot-shake .32s}.slot--pulse{animation:slot-pulse .36s}@keyframes slot-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes slot-pulse{0%{transform:scale(1)}45%{transform:scale(1.18);box-shadow:0 0 14px 4px #ffd86acc}to{transform:scale(1)}}.slot__icon{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain;pointer-events:none}.slot__icon[hidden]{display:none}.slot__count{position:absolute;right:4px;bottom:2px;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#f2c24b;text-shadow:0 1px 3px #000,0 0 4px #000;pointer-events:none}.slot__glyphs{position:absolute;left:3px;top:3px;display:flex;gap:1px;pointer-events:none}.slot__glyph svg{display:block;width:18px;height:18px;filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 1px #000)}.slot__pips{position:absolute;left:4px;bottom:4px;display:flex;gap:3px;pointer-events:none}.slot__pips i{display:block;width:8px;height:8px;border-radius:50%;background:#ffd86a;box-shadow:0 0 3px #000}[data-element=fire]{color:#ff7a3a}[data-element=water]{color:#4f9bff}[data-element=earth]{color:#c99a5a}[data-element=wind]{color:#cdf7ff}[data-element=lightning]{color:#ffe23a}[data-element=ice]{color:#9aeaff}[data-element=nature]{color:#5fe070}[data-element=shadow]{color:#b27aff}[data-element=light]{color:#fff6c0}[data-element=poison]{color:#a8e83a}[data-element=arcane]{color:#f05ae8}.item-card{position:absolute;box-sizing:border-box;width:220px;padding:8px 10px;border:1.5px solid rgba(240,232,208,.9);border-radius:9px;background:#0e0a18f0;pointer-events:none}.item-card[hidden]{display:none}.item-card__name{font:700 16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff3cf}.item-card__element{display:flex;align-items:center;gap:6px;font-size:16px}.item-card__glyphs svg{display:inline-block;width:18px;height:18px;vertical-align:middle}.item-card__tier,.item-card__detail{font-size:16px;font-weight:500;line-height:1.3}.drag-layer{position:absolute;inset:0;pointer-events:none}.drag-ghost{position:absolute;left:0;top:0;width:67px;height:67px;opacity:.85;filter:drop-shadow(0 4px 6px rgba(0,0,0,.7));pointer-events:none}.drag-ghost[hidden]{display:none}.drag-ghost img{width:100%;height:100%;object-fit:contain}.drop-ring{position:absolute;left:0;top:0;box-sizing:border-box;border:3px solid rgba(242,194,75,.85);border-radius:50%;box-shadow:0 0 12px 2px #f2c24b73;pointer-events:none}.drop-ring[hidden]{display:none}.drop-ring--active{border-color:#ffe9a0;box-shadow:0 0 18px 5px #ffe9a0cc}.drop-label{position:absolute;left:0;top:0;box-sizing:border-box;padding:6px 12px;border:1.5px solid rgba(240,232,208,.85);border-radius:9px;background:#0e0a18e6;color:#f3e7c4;font:600 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;white-space:nowrap;pointer-events:none}.drop-label[hidden]{display:none}.drop-label[data-tone=feed]{border-color:#f2c24b;color:#ffe9a0}.drop-label[data-tone=risk]{border-color:#ff5a4a;color:#ffb4a8}.pip{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;box-sizing:border-box;border:1.5px solid rgba(240,232,208,.9);border-radius:50%;background:#0e0a18d9;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;pointer-events:none}.reveal{position:absolute;left:0;top:0;max-width:260px;padding:6px 10px;border:1.5px solid #f2c24b;border-radius:9px;background:#0e0a18eb;color:#f3e7c4;font:600 16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center;pointer-events:none}.reveal__title{color:#f2c24b;font-weight:700}.callouts{position:absolute;inset:0;pointer-events:none}.callout{position:absolute;left:0;top:0;font:700 28px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#ffd86a;text-shadow:0 2px 4px #000,0 0 8px #000;white-space:nowrap;pointer-events:none}@media(prefers-reduced-motion:reduce){.slot--shake,.slot--pulse{animation:none}}.pips{position:absolute;inset:0;pointer-events:none}.pip svg{display:block;width:16px;height:16px}.flights{position:absolute;inset:0;pointer-events:none}.flight{position:absolute;left:0;top:0;width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,233,160,.9));pointer-events:none}
