:root{--bg:#15121f;--surface:#211c31;--surface-raised:#2b2540;--border:#3a3354;--text:#f1ecff;--text-muted:#a49cc0;--primary:#8b5cf6;--primary-text:#fff;--accent:#f59e0b;--success:#22c55e;--danger:#ef4444;--xp:#a78bfa;--hp:#ef4444;--rarity-common:#9ca3af;--rarity-uncommon:#22c55e;--rarity-rare:#3b82f6;--rarity-epic:#a855f7;--rarity-legendary:#f59e0b;--rarity-mythic:#ef4444;--radius:14px;--gap:12px;--tabbar-height:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);overscroll-behavior:none;margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}h2,h3{margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app__content{padding:var(--gap) 16px calc(var(--tabbar-height) + var(--gap) + env(safe-area-inset-bottom));flex:1}.screen{gap:var(--gap);flex-direction:column;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:8px;font-size:13px;font-weight:600}.muted{color:var(--text-muted)}.small{font-size:12px}.center{text-align:center;margin:0}.empty{text-align:center;color:var(--text-muted);padding:24px 12px}.hud{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 16px;position:sticky;top:0}.hud--loading{height:78px}.hud__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.hud__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.hud__level{color:var(--xp);font-weight:600}.hud__resources{flex:none;gap:12px;font-weight:600;display:flex}.hud__hint{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:11px;display:flex}.hud__hint .help-hint{width:18px;height:18px;font-size:11px}.tabbar{z-index:10;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.tabbar__item{color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.tabbar__item--active{color:var(--text)}.tabbar__title{font-size:11px}.button{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;min-height:40px;padding:0 16px;font-weight:600}.button--primary{background:var(--primary);color:var(--primary-text);border-color:#0000}.button--accent{background:var(--accent);color:#1c1300;border-color:#0000}.button--danger{background:var(--danger);color:#fff;border-color:#0000}.button--small{min-height:32px;padding:0 10px;font-size:13px}.button--wide{width:100%;min-height:52px;font-size:17px}.input{border:1px solid var(--border);background:var(--bg);min-width:0;height:44px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:0 12px;font-size:16px}.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.chips{gap:8px;display:flex}.chip{border:1px solid var(--border);background:0 0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;height:36px;font-size:13px;display:inline-flex}.chip--active.chip--easy{background:color-mix(in srgb, var(--success) 25%, transparent);border-color:var(--success)}.chip--active.chip--medium{background:color-mix(in srgb, var(--accent) 25%, transparent);border-color:var(--accent)}.chip--active.chip--hard{background:color-mix(in srgb, var(--danger) 25%, transparent);border-color:var(--danger)}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px;display:flex}.segmented button{height:36px;color:var(--text-muted);background:0 0;border:none;border-radius:9px;flex:1;font-weight:600}.segmented button.segmented--active{background:var(--surface-raised);color:var(--text)}.progress{background:var(--bg);border-radius:999px;width:100%;height:16px;position:relative;overflow:hidden}.progress__fill{height:100%;transition:width .35s}.progress--xp .progress__fill{background:var(--xp)}.progress--hp .progress__fill{background:var(--hp)}.progress--energy .progress__fill{background:var(--accent)}.progress__label{text-shadow:0 1px 2px #000000b3;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.new-task{flex-direction:column;gap:10px;display:flex}.new-task__row{gap:8px;display:flex}.new-task__row .button{justify-content:center;align-items:center;width:44px;padding:0;display:flex}.task-list,.item-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task-days{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.task-days__button{min-width:0;min-height:44px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:12px;font-weight:600;display:flex}.task-days__button[aria-pressed=true]{border-color:color-mix(in srgb, var(--primary) 65%, var(--border));background:color-mix(in srgb, var(--primary) 22%, var(--surface));color:var(--text)}.task-days__count{color:var(--xp);font-variant-numeric:tabular-nums;font-size:10px}.task-groups{flex-direction:column;gap:18px;display:flex}.task-group__title{color:var(--text-muted);align-items:center;gap:8px;margin:0 4px 8px;font-size:12px;font-weight:600;display:flex}.task-group__title span{opacity:.7;font-size:10px}.task-group__title--overdue{color:var(--accent)}.quest-slot{position:relative;overflow-x:clip}.quest-slot>.quest{touch-action:pan-y;transition:transform .2s ease-out}.quest-slot>.quest--dragging{-webkit-user-select:none;user-select:none;transition:none}.quest-slot__hint{background:color-mix(in srgb, var(--hint) 18%, var(--bg));color:var(--hint);border-radius:16px;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex;position:absolute;inset:0}.quest-slot__hint--complete{--hint:var(--success)}.quest-slot__hint--delete{--hint:var(--danger);flex-direction:row-reverse}.quest-slot__hint--armed{background:var(--hint);color:var(--bg)}.quest__tile--easy,.day__slot--easy{--difficulty:var(--success)}.quest__tile--medium,.day__slot--medium,.day__pip--medium{--difficulty:var(--accent)}.quest__tile--hard,.day__slot--hard,.day__pip--hard{--difficulty:var(--danger)}.quest{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex;position:relative}.quest__tile{background:color-mix(in srgb, var(--difficulty) 14%, transparent);width:44px;height:44px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--difficulty) 38%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quest__body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.quest__title{overflow-wrap:anywhere;font-weight:500}.quest__reward{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;font-weight:600;display:flex}.quest__xp{color:var(--xp)}.quest__bonus{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success);border-radius:6px;margin-left:-6px;padding:1px 5px;font-size:10px}.quest__note{color:var(--accent);align-items:center;gap:5px;font-size:11px;display:flex}.quest__note--muted{color:var(--text-muted)}.quest__check{background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.quest__check-box{border:2px solid color-mix(in srgb, var(--primary) 60%, var(--border));background:var(--bg);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:border-color .15s,background .15s;display:flex}.quest__check:not(:disabled):hover .quest__check-box{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 15%, var(--bg))}.quest__delete{width:28px;height:44px;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;display:flex}.quest--done{background:color-mix(in srgb, var(--surface) 60%, var(--bg));padding:10px 12px}.quest--done .quest__tile{opacity:.75;border-radius:10px;width:36px;height:36px}.quest--done .quest__title{color:var(--text-muted);text-decoration:line-through}.quest__check-box--done{border-color:var(--success);background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.quest--fresh{animation:.5s ease-out quest-enter}.quest--pending{--quest-feedback:var(--primary)}.quest--hit{--quest-feedback:var(--success)}.quest--pending,.quest--hit{border-color:var(--quest-feedback);background:color-mix(in srgb, var(--quest-feedback) 10%, var(--surface));box-shadow:0 0 24px color-mix(in srgb, var(--quest-feedback) 35%, transparent);animation:.9s ease-out quest-hit}.quest--hit .quest__body{opacity:.5}.quest--pending .quest__check-box,.quest--hit .quest__check-box{border-color:var(--quest-feedback);background:var(--quest-feedback);color:var(--bg);animation:.35s ease-out quest-pop}.quest--pending .quest__check,.quest--hit .quest__check{opacity:1}.quest__stamp{border:3px solid var(--success);background:color-mix(in srgb, var(--bg) 80%, transparent);color:var(--success);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;border-radius:8px;margin-top:-18px;padding:6px 12px;font-size:15px;font-weight:800;animation:.4s cubic-bezier(.2,1.6,.4,1) both quest-stamp;position:absolute;top:50%;left:64px;transform:rotate(-7deg)}.quest__flyset{pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;top:-6px;right:24px}.quest__fly{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;animation:1.1s ease-out both quest-fly;display:flex}.quest__fly--xp{color:var(--xp)}.quest__fly--gold{color:#fcd34d;animation-delay:80ms}.quest__fly--energy{color:var(--accent);animation-delay:.16s}@keyframes quest-hit{18%{transform:scale(1.03)}40%{transform:scale(.99)}}@keyframes quest-pop{0%{transform:scale(.6)}70%{transform:scale(1.18)}}@keyframes quest-stamp{0%{opacity:0;transform:rotate(-7deg)scale(2.6)}}@keyframes quest-fly{0%{opacity:0;transform:translateY(8px)scale(.8)}25%{opacity:1;transform:translateY(-18px)scale(1.08)}80%{opacity:1;transform:translateY(-34px)}to{opacity:0;transform:translateY(-48px)}}@keyframes quest-enter{0%{opacity:0;transform:translateY(-14px)}}.done-today__toggle{width:100%;min-height:44px;color:var(--text-muted);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.done-today__toggle .section-title{margin:0}.done-today__chevron{transition:transform .2s;display:flex}.done-today__chevron--open{transform:rotate(180deg)}.empty-house{flex-direction:column;align-items:center;gap:10px;padding-top:4px;display:flex}.empty-house__text{text-align:center;max-width:320px;color:var(--text-muted);margin:0}.house{isolation:isolate;border:1px solid var(--border);background:var(--house-floor) 0 0 / 32px 32px;width:100%;height:212px;image-rendering:pixelated;border-radius:16px;position:relative;overflow:hidden}.house__wall{background:linear-gradient(transparent 70%, #00000073), var(--house-wall-top) 0 0 / 32px 32px repeat-x, var(--house-wall) 0 16px / 32px 32px;height:80px;position:absolute;inset:0 0 auto}.house__prop{pointer-events:none;position:absolute;transform:translate(-50%)}.house__resident{background:0 0;border:none;padding:0;transition-property:left,bottom;transition-timing-function:linear;position:absolute;transform:translate(-50%)}.house__mirror{display:block;transform:scaleX(-1)}.house__slash{position:absolute;bottom:6px;left:22px}.house__bubble{color:#1b1726;white-space:nowrap;background:#f1ecff;border:2px solid #1b1726;border-radius:8px;padding:3px 7px;font-size:11px;font-weight:700;animation:.2s ease-out house-bubble;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.house__bubble--start{left:-4px;transform:none}.house__bubble--end{left:auto;right:-4px;transform:none}.house__bubble:after{content:"";border:4px solid #0000;border-top-color:#1b1726;margin-left:-4px;position:absolute;top:100%;left:50%}@keyframes house-bubble{0%{opacity:0;transform:translate(-50%,6px)scale(.8)}}@media (prefers-reduced-motion:reduce){.house__resident{transition:none}}.day{flex-direction:column;gap:12px;display:flex}.day--balanced{border-color:color-mix(in srgb, var(--success) 55%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--success) 12%, transparent)}.day__head{align-items:center;gap:8px;display:flex}.day__title{margin:0;font-size:15px}.day__count{text-align:right;color:var(--text-muted);flex:1;font-size:12px}.day__row{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.day__label{flex-shrink:0;font-size:13px;font-weight:600}.day__caption{text-align:right;color:var(--text-muted);font-size:12px}.day--balanced .day__caption--balance{color:var(--success);font-weight:600}.day__slots{gap:8px;margin-top:-8px;display:flex}.day__slot{border:1.5px dashed var(--border);height:62px;color:var(--text-muted);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex;position:relative}.day__slot .sprite{opacity:.4;filter:grayscale()}.day__slot--on{border-style:solid;border-color:var(--difficulty);background:color-mix(in srgb, var(--difficulty) 13%, transparent);color:var(--text)}.day__slot--on .sprite{opacity:1;filter:none}.day__slot--pop{animation:.6s cubic-bezier(.2,1.6,.4,1) day-slot-pop}.day__slot-mark{background:var(--success);width:16px;height:16px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:5px;right:6px}.day__segments{gap:3px;display:grid}.day__segment{background:var(--surface-raised);border-radius:3px;height:10px}.day__segment--on{background:var(--xp)}.day__segment--tired{background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised))}.day__segment--tired.day__segment--on{background:var(--accent)}.day__scale{color:var(--text-muted);gap:3px;margin-top:6px;font-size:11px;display:grid}.day__limits{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:10px;font-size:12px;display:flex}.day__pips{align-items:center;gap:4px;display:flex}.day__pip{border:1.5px solid var(--border);border-radius:50%;width:9px;height:9px}.day__pip--on{border-color:var(--difficulty);background:var(--difficulty)}@keyframes day-slot-pop{0%{transform:scale(.85)}60%{transform:scale(1.1)}}.level-up{z-index:50;background:#0a0810c7;justify-content:center;align-items:center;padding:24px;animation:.3s ease-out level-up-fade;display:flex;position:fixed;inset:0}.level-up__card{border:1px solid color-mix(in srgb, var(--primary) 50%, var(--border));background:var(--surface);width:100%;max-width:360px;box-shadow:0 0 60px color-mix(in srgb, var(--primary) 35%, transparent);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:28px 22px 22px;animation:.45s cubic-bezier(.2,1.4,.4,1) level-up-rise;display:flex}.level-up__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--xp);font-size:13px;font-weight:800}.level-up__level{font-size:48px;font-weight:700;line-height:1}.level-up__chest{margin:8px 0;position:relative}.level-up__rays{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 45%, transparent), transparent 65%);border-radius:50%;animation:1.6s ease-in-out infinite level-up-pulse;position:absolute;inset:-28px}.level-up__chest .sprite{position:relative}.level-up__rewards{color:#fcd34d;flex-direction:column;gap:2px;min-height:24px;font-size:17px;font-weight:700;display:flex}@keyframes level-up-fade{0%{opacity:0}}@keyframes level-up-rise{0%{opacity:0;transform:translateY(30px)scale(.9)}}@keyframes level-up-pulse{50%{opacity:.7;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.quest,.quest *,.day__slot,.level-up,.level-up *{animation-duration:.01ms!important}}.sprite{flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.sprite__image{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.hero-card{flex-direction:column;align-items:center;gap:12px;display:flex}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.stat{background:var(--surface-raised);border-radius:10px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.stat__value{font-size:17px;font-weight:700}.stat__label{color:var(--text-muted);font-size:12px}.equipment-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.slot{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.slot--empty{border-style:dashed}.slot__empty{color:var(--text-muted);height:40px;font-size:28px}.slot__label{font-size:13px}.rarity--common{border-color:color-mix(in srgb, var(--rarity-common) 45%, var(--border))}.rarity--uncommon{border-color:var(--rarity-uncommon)}.rarity--rare{border-color:var(--rarity-rare)}.rarity--epic{border-color:var(--rarity-epic)}.rarity--legendary{border-color:var(--rarity-legendary);box-shadow:0 0 12px color-mix(in srgb, var(--rarity-legendary) 35%, transparent)}.rarity--mythic{border-color:var(--rarity-mythic);box-shadow:0 0 16px color-mix(in srgb, var(--rarity-mythic) 45%, transparent)}.rarity-text--common{color:var(--rarity-common)}.rarity-text--uncommon{color:var(--rarity-uncommon)}.rarity-text--rare{color:var(--rarity-rare)}.rarity-text--epic{color:var(--rarity-epic)}.rarity-text--legendary{color:var(--rarity-legendary)}.rarity-text--mythic{color:var(--rarity-mythic)}.item{align-items:center;gap:12px;display:flex}.item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.item__name{font-weight:600}.item__plus{color:var(--accent)}.item__rarity{font-size:12px;font-weight:600}.item__stats,.item__level{color:var(--text-muted);font-size:12px}.item__level--locked{color:var(--danger);font-weight:600}.item--sold{opacity:.45}.shop-header{text-align:center;flex-direction:column;align-items:stretch;gap:10px;display:flex}.item__actions{flex-direction:column;align-items:stretch;gap:6px;display:flex}.arena{background-color:var(--surface);image-rendering:pixelated;background-size:48px 48px;flex-direction:column;gap:20px;padding:0 16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 999px #0a061473}.arena__wall{height:56px;image-rendering:pixelated;background-position:bottom;background-repeat:repeat-x;background-size:48px 48px;justify-content:space-between;align-items:flex-end;margin:0 -16px;padding:0 24px;display:flex}.arena__banner{width:32px;height:32px;image-rendering:pixelated}.arena__name{text-align:center;font-size:18px}.damage{pointer-events:none;font-size:22px;font-weight:800;animation:.45s ease-out forwards float-up;position:absolute;top:0}.damage--boss{color:var(--accent);right:20%}.damage--hero{color:var(--danger);left:10%}.shake{animation:.3s ease-in-out shake}.battle-summary{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.battle-summary p{margin:0}.battle-summary--victory{border-color:var(--accent)}.loot{background:var(--surface-raised);border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:8px 14px;display:flex}.rarity-chances{flex-direction:column;align-items:center;gap:6px;display:flex}.rarity-chances__list{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.rarity-chances__item{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.sheet-backdrop{z-index:50;padding:max(12px, env(safe-area-inset-top)) 8px 0;overscroll-behavior:contain;background:#080511c7;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;min-width:0;max-width:520px;max-height:88vh;max-height:calc(100dvh - 24px - env(safe-area-inset-top));overscroll-behavior:contain;padding:16px 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--surface-raised), var(--surface) 120px);border:1px solid var(--primary);border-bottom:0;border-radius:20px 20px 0 0;outline:none;flex-direction:column;gap:16px;display:flex;overflow-y:auto;box-shadow:inset 0 3px #a78bfa38,0 -12px 48px #00000059}.sheet__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.sheet__header h3{overflow-wrap:anywhere}.sheet__header h3:before{content:"";background:var(--accent);width:8px;height:8px;margin:0 10px 2px 2px;display:inline-block;transform:rotate(45deg);box-shadow:0 0 10px #f59e0b40}.sheet__close{border:1px solid var(--border);background:var(--bg);height:44px;color:var(--text);border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.sheet button:focus-visible,.reminder-toggle:focus-visible,.schedule-field:focus-visible,.task-days__button:focus-visible,.quest__check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quest__check:not(:disabled):active .quest__check-box{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg))}.transfer-targets{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.transfer-target{text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;width:100%;display:grid}.transfer-target .sprite{grid-row:span 2}.transfer-target__name{font-weight:600}.transfer-target--selected{outline:2px solid var(--accent);outline-offset:-1px}.transfer-error{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger);text-align:center;border-radius:10px;margin:0;padding:10px 12px}.toasts{z-index:100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:76px;left:16px;right:16px}.toast{background:var(--surface-raised);border:1px solid var(--border);white-space:pre-line;border-radius:12px;padding:12px 14px;font-weight:600;animation:.2s ease-out toast-in;box-shadow:0 8px 24px #0006}.toast--success{border-color:var(--success)}.toast--error{border-color:var(--danger)}.toast:has(.toast__action){align-items:center;gap:12px;display:flex}.toast__text{flex:1;min-width:0}.toast__action{pointer-events:auto;background:var(--primary);height:32px;color:var(--primary-text);border:none;border-radius:8px;flex-shrink:0;padding:0 12px;font-weight:700}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.celebration{z-index:90;pointer-events:none;position:fixed;inset:0;overflow:hidden}.celebration__particle{font-size:26px;animation:linear forwards coin-fall;position:absolute;top:-40px}@keyframes coin-fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(110vh)rotate(540deg)}}.stone-toggle,.stone-offer{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;display:grid}.stone-toggle--on{outline:2px solid var(--accent);outline-offset:-1px}.stone-toggle__icon{font-size:24px}.stone-toggle__text{flex-direction:column;gap:2px;display:flex}.stone-toggle__name{font-weight:600}.stone-shop{flex-direction:column;gap:10px;display:flex}.stone-shop__title{font-weight:700}.stone-shop__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.enhance-item{align-items:center;gap:12px;display:flex}.enhance-result{text-align:center;border-radius:10px;margin:0;padding:10px 12px;font-weight:600}.enhance-result--success{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.enhance-result--fail{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.invite,.gift-inbox{flex-direction:column;gap:10px;display:flex}.invite__own{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:10px;display:grid}.invite__own .button{grid-area:1/2/span 2}.invite__row{gap:8px;display:flex}.invite__row .input{flex:1;min-width:0}.invite__code{letter-spacing:.15em;color:var(--accent);font-size:24px;font-weight:700}.invite__input{text-transform:uppercase}.gift-inbox{border-color:var(--accent)}.gift-inbox__title{font-weight:700}.friend{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;display:grid}.friend__info{flex-direction:column;min-width:0;display:flex}.friend__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.help-hint{border:1px solid var(--border);background:var(--surface-raised);width:22px;height:22px;color:var(--text-muted);vertical-align:middle;border-radius:50%;flex:none;padding:0;font-size:13px;font-weight:700;line-height:1}.help-hint__body{color:var(--text-muted);flex-direction:column;gap:10px;line-height:1.45;display:flex}.help-hint__body p,.help-hint__body ul{margin:0}.help-hint__body ul{padding-left:20px}.help-hint__body strong{color:var(--text)}.title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.boss-reward{text-align:center;justify-content:center;align-items:center;gap:8px;display:flex}.enhance-item .item__name{flex:1}.potion-actions{gap:6px;display:flex}.potion-active{background:color-mix(in srgb, var(--xp) 15%, transparent);color:var(--xp);text-align:center;border-radius:10px;padding:8px 10px;font-weight:600}.premium-card{flex-direction:column;gap:8px;display:flex}.premium-card--active{border-color:var(--accent)}.premium-card__title{font-weight:700}.premium-benefits{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding:0;line-height:1.4;list-style:none;display:flex}.plans{grid-template-columns:1fr 1fr;gap:8px;display:grid}.plan{flex-direction:column;align-items:center;gap:2px;display:flex}.plan--selected{outline:2px solid var(--accent);outline-offset:-1px}.plan__days{font-size:17px;font-weight:700}.game-icon{vertical-align:-2px;margin:0 2px}.arena__level{color:var(--accent);font-size:13px;font-weight:600}.stat__split{color:var(--text-muted);font-size:11px}.hero-card__legend{width:100%}.dungeon-header{flex-direction:column;gap:10px;display:flex}.dungeon-header__name{font-size:17px}.dungeon-map{justify-content:space-between;margin:0;padding:0;list-style:none;display:flex}.dungeon-map__boss{border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;display:flex}.dungeon-map__boss--defeated{opacity:.4}.dungeon-map__boss--current{background:var(--surface-raised);outline:2px solid var(--accent);outline-offset:-2px}.dungeon-map__label{color:var(--text-muted);font-size:11px}.treasury{flex-direction:column;gap:8px;display:flex}.treasury__title{font-weight:700}.battle-summary__dungeon{color:var(--accent);font-weight:600}.conquered{flex-direction:column;gap:10px;display:flex}.conquered__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conquered__actions .button{flex:130px}.raid-summary__detail{margin-top:4px;display:block}.conquered__info{flex-direction:column;min-width:0;display:flex}.conquered__name{font-weight:600}.conquered__gain{font-size:11px;font-weight:500;display:block}.arena__info{flex-direction:column;align-items:center;gap:6px;display:flex}.arena__hero-hp{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.stage{height:196px;position:relative}.stage__member,.stage__boss{position:absolute;bottom:0}.stage__member{transition:left .65s linear}.stage__member--engaged-warrior{left:calc(96% - 176px)}.stage__member--engaged-spearman{left:calc(96% - 194px)}.stage__member--retreat .sprite{transform:scaleX(-1)}.stage__member--down{filter:grayscale()brightness(.6);transform:rotate(-90deg)translate(-14px)}.stage__member--lunge{animation:.42s ease-out lunge-right}.stage__member--shoot{animation:.3s ease-out recoil}.stage__weapon{transform-origin:50% 90%;position:absolute;bottom:12px;right:-12px;transform:rotate(35deg)}.stage__weapon--swing{animation:.42s ease-out weapon-swing}.stage__boss{right:4%}.stage__mirror{transform:scaleX(-1)}.stage__boss--hit{animation:.38s ease-out hit-flash}.stage__blast{visibility:hidden;margin:-36px 0 0 -36px;animation:.3s .3s blast;position:absolute;top:50%;left:50%}@keyframes blast{0%,to{visibility:visible}}.stage__boss--strike{animation:.38s ease-out lunge-left}.stage__boss--dead{animation:1.1s ease-in forwards fall-and-fade}.stage__skull{animation:.4s ease-out .7s both appear;position:absolute;bottom:0;right:calc(4% + 40px)}.stage .damage{top:-12px}@keyframes weapon-swing{0%{transform:rotate(-60deg)}60%{transform:rotate(120deg)}to{transform:rotate(35deg)}}@keyframes recoil{40%{transform:translate(-6px)}}.projectile{animation:.3s linear forwards fly;position:absolute}.projectile__arrow{transform:rotate(90deg)}.projectile__bolt{background:radial-gradient(circle,#fff 0 25%,#7dd3fc 45%,#38bdf800 70%);border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 12px 4px #7dd3fcb3}.projectile--bomb{animation-timing-function:ease-out}.projectile--bomb .projectile__bomb{animation:.3s ease-in-out forwards bomb-arc}@keyframes fly{0%{left:calc(var(--from) + 40px)}to{opacity:1;left:calc(96% - 100px)}}@keyframes bomb-arc{50%{transform:translateY(-64px)rotate(200deg)}99%{opacity:1}to{opacity:0;transform:rotate(400deg)}}.stage__boss--dying{animation:1.1s ease-in forwards fade-late}@keyframes fade-late{80%{opacity:1}to{opacity:.85}}@keyframes lunge-right{50%{transform:translate(16px)}}@keyframes lunge-left{50%{transform:translate(-16px)}}@keyframes hit-flash{0%{filter:brightness(2.5)sepia()hue-rotate(-50deg)saturate(5);transform:translate(6px)}to{filter:none;transform:none}}@keyframes fall-and-fade{30%{filter:grayscale(0);transform:rotate(0)}70%{opacity:1}to{filter:grayscale()brightness(.6);opacity:0;transform:rotate(80deg)translateY(-30px)}}@keyframes appear{0%{opacity:0;transform:scale(.4)}}.party-member{flex-direction:column;gap:10px;display:flex}.party-member--locked{opacity:.7;flex-direction:row;align-items:center}.party-member__head{align-items:center;gap:10px;display:flex}.party-member__info{flex-direction:column;display:flex}.party-member__name{font-weight:700}.party-member__silhouette{filter:brightness(0)opacity(.5)}.equip-choice{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.equip-choice__text{flex-direction:column;display:flex}.equip-choice__name{font-weight:600}.task-schedule-link{min-height:32px;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:12px;display:inline-flex}.task-schedule-link:hover{color:var(--text)}.task-schedule-link--overdue{color:#f8b878}.task-schedule-fields,.task-schedule-editor{flex-direction:column;gap:12px;min-width:0;display:flex}.task-schedule-fields{border:0;margin:0;padding:0}.task-schedule-editor__title{overflow-wrap:anywhere;margin:0}.checkout-email{flex-direction:column;gap:8px;font-size:13px;display:flex}.checkout-email .input{flex:none}.checkout-email__error{color:var(--danger);font-size:12px}.schedule-fields{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;display:grid}.schedule-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.schedule-caption .task-schedule-link{color:var(--xp)}.schedule-field{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:12px;align-items:center;gap:9px;min-width:0;min-height:76px;padding:12px 10px;display:flex;box-shadow:inset 0 -3px #00000029}.schedule-field>svg{color:var(--xp);flex-shrink:0}.schedule-field>span{flex-direction:column;gap:5px;min-width:0;display:flex}.schedule-field__label{color:var(--text-muted);font-size:11px}.schedule-field strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.schedule-field:active{border-color:var(--primary);background:var(--surface-raised)}.reminder-toggle{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-width:0;min-height:76px;padding:12px;transition:background .15s,border-color .15s;display:flex}.reminder-toggle:disabled{opacity:.65}.reminder-toggle[aria-checked=true]{border-color:var(--primary);background:#8b5cf624}.reminder-toggle__box{border:2px solid var(--text-muted);background:var(--surface);border-radius:7px;flex:0 0 28px;place-items:center;height:28px;display:grid}.reminder-toggle[aria-checked=true] .reminder-toggle__box{border-color:var(--xp);background:var(--primary);color:var(--primary-text);box-shadow:0 0 12px #8b5cf63d}.reminder-toggle__copy{flex-direction:column;gap:5px;min-width:0;display:flex}.reminder-toggle__copy strong{font-size:13px;font-weight:600}.reminder-toggle__copy>span{color:var(--text-muted);font-size:11px}.reminder-toggle[aria-checked=true] .reminder-toggle__copy>span{color:var(--xp)}.calendar,.time-picker{flex-direction:column;gap:16px;display:flex}.calendar__month{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar__month strong{text-transform:capitalize;text-align:center;font-size:16px}.picker-arrow{border:1px solid var(--border);background:var(--bg);width:44px;height:44px;color:var(--xp);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.picker-arrow--back svg{transform:rotate(90deg)}.picker-arrow--next svg{transform:rotate(-90deg)}.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar__weekday{text-align:center;color:var(--text-muted);padding:6px 0 10px;font-size:12px}.calendar__day{background:var(--bg);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:10px;min-width:0;min-height:42px;padding:0;position:relative}.calendar__day:disabled{opacity:.28;background:0 0}.calendar__day[aria-current=date]{border-color:var(--accent)}.calendar__day[aria-pressed=true]{background:var(--primary);border-color:var(--xp);color:var(--primary-text);box-shadow:inset 0 -3px #0000002e,0 0 12px #8b5cf63d}.picker-shortcuts{gap:8px;display:flex}.picker-shortcuts>.button{flex:1;min-width:0;padding:0 8px}.picker-shortcuts>[aria-pressed=true]{border-color:var(--primary);color:var(--xp);background:var(--surface-raised)}.picker-selection{text-align:center;color:var(--xp);margin:0;font-size:14px}.time-picker>p{margin:0;font-size:13px}.time-picker__clock{justify-content:center;align-items:center;gap:14px;display:flex}.time-picker__separator{color:var(--accent);margin-top:20px;font-size:36px}.time-part{flex-direction:column;align-items:center;gap:6px;width:116px;min-width:0;display:flex}.time-part__label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.time-part__step{border:1px solid var(--border);background:var(--surface-raised);width:100%;min-height:44px;color:var(--xp);border-radius:10px;place-items:center;display:grid}.time-part__step--up svg{transform:rotate(180deg)}.time-part input{appearance:none;border:1px solid var(--primary);background:var(--bg);width:100%;min-width:0;height:82px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center;border-radius:14px;padding:0;font-size:40px;font-weight:600;display:block;box-shadow:inset 0 -4px #8b5cf61a}.time-part input:focus{outline:2px solid var(--accent);outline-offset:2px}
