.ui{pointer-events:none;color:#f2ecff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;transition:opacity .4s;position:fixed;inset:0}.ui.hidden{opacity:0}.ui.hidden *{pointer-events:none!important}.brand{top:max(18px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));text-shadow:0 2px 18px #000;position:absolute}.brand h1{letter-spacing:.32em;margin:0;font-size:clamp(34px,6vw,56px);font-weight:300}.brand .tag{color:#d7c8ff;margin:2px 0 0;font-size:clamp(14px,2vw,18px);font-style:italic}.brand .meta{color:#a89cc8;letter-spacing:.04em;margin:10px 0 0;font-size:13px}.dock{left:0;right:0;bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:12px;padding:0 12px;display:flex;position:absolute}.dock button{pointer-events:auto;font:inherit;color:inherit;-webkit-backdrop-filter:blur(12px);cursor:pointer;background:#100b209e;border:1px solid #dccdff47;border-radius:999px;align-items:center;gap:8px;transition:background .2s,transform .15s,border-color .2s;display:inline-flex}.dock button:hover{background:#30205cbf;border-color:#e6d7ff8c}.dock button:active{transform:scale(.97)}.dock button:focus-visible{outline-offset:3px;outline:2px solid #cbb6ff}.dock svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.primary{min-height:52px;padding:0 26px;font-size:17px;font-weight:600;box-shadow:0 8px 40px #8c50ff59;background:linear-gradient(135deg,#7a4cffd9,#d648a0d9)!important;border-color:#ffffff59!important}.chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:720px;display:flex}.chip{min-height:44px;padding:0 14px;font-size:14px}.chip[aria-pressed=true]{background:#7a4cff8c;border-color:#e6d7ffb3}.hint{color:#9d92bd;text-align:center;text-shadow:0 1px 8px #000;margin:0;font-size:12px;line-height:1.5}.toast{opacity:0;background:#140e28d9;border-radius:999px;padding:10px 18px;font-size:14px;transition:opacity .25s,transform .25s;position:absolute;top:24px;left:50%;transform:translate(-50%,-12px)}.toast.on{opacity:1;transform:translate(-50%)}@media (max-width:560px){.chip span{display:none}.chip{justify-content:center;width:44px;padding:0}}@media (prefers-reduced-motion:reduce){.toast,.ui{transition:none}}.battle{z-index:20;pointer-events:none;color:#f2ecff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;transition:opacity .4s,visibility .4s;position:fixed;inset:0}.battle.hidden{opacity:0;visibility:hidden}.battle [hidden]{display:none!important}.battle-top{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;display:grid;position:absolute;top:0;left:0;right:0}.side{-webkit-backdrop-filter:blur(12px);text-shadow:0 1px 8px #000;background:#100b208c;border:1px solid #dccdff2e;border-radius:16px;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;display:flex}.side--foe{text-align:right;align-items:flex-end}.side-head{color:#d7c8ff;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:12px;display:flex}.side--foe .side-head{flex-direction:row-reverse}.side--foe .side-num{transform-origin:100%}.side-dot{background:#cbb6ff;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff73}.side-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.side-iris{text-overflow:ellipsis;white-space:nowrap;color:#a89cc8;min-width:0;overflow:hidden}@media (max-width:559px){.side-iris{display:none}.side-name{flex:0 auto}}.side-ghost{white-space:nowrap;background:#b45cff59;border-radius:999px;flex:none;padding:1px 7px;font-size:11px}.side-num{transform-origin:0;font-variant-numeric:tabular-nums;font-size:clamp(22px,5.5vw,32px);font-weight:300;line-height:1.05;display:block}.bar,.focus-bar{background:#ffffff1f;border-radius:999px;width:100%;display:flex;overflow:hidden}.bar{height:6px}.focus-bar{background:#ffffff14;height:3px}.side--foe .bar,.side--foe .focus-bar{justify-content:flex-end}.bar-fill{border-radius:inherit;background:linear-gradient(90deg,#cbb6ff,#8f6bff);width:0;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.side--foe .bar-fill{background:linear-gradient(270deg,#ff4a3d,#ff8a5c)}.focus-fill{background:#ffe066;width:0;height:100%;transition:width .4s;display:block}.side.is-hit .side-num{animation:.6s ease-out hitNum}.side.is-heal .side-num{animation:.6s ease-out healNum}.side.is-hit .bar{animation:.6s ease-out hitBar}.side.is-heal .bar{animation:.6s ease-out healBar}@keyframes hitNum{0%{color:#ff4a3d;transform:scale(1.15)}to{color:#f2ecff;transform:scale(1)}}@keyframes healNum{0%{color:#5cff9d;transform:scale(1.15)}to{color:#f2ecff;transform:scale(1)}}@keyframes hitBar{0%{box-shadow:0 0 0 3px #ff4a3d}to{box-shadow:0 0 #0000}}@keyframes healBar{0%{box-shadow:0 0 0 3px #5cff9d}to{box-shadow:0 0 #0000}}.legend-wrap{pointer-events:none;align-self:center;position:relative}.legend{-webkit-backdrop-filter:blur(12px);min-height:44px;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#100b2099;border:1px solid #dccdff40;border-radius:999px;align-items:center;gap:3px;padding:0 12px;display:inline-flex}.legend[aria-expanded=true]{background:#30205cbf;border-color:#e6d7ff80}.legend:focus-visible{outline-offset:3px;outline:2px solid #cbb6ff}.legend-dot{background:var(--type);border-radius:50%;width:9px;height:9px}.legend-sep{color:#a89cc8;font-size:11px}.legend-panel{color:#e9e1ff;text-align:center;width:min(86vw,340px);text-shadow:none;background:#100b20eb;border:1px solid #dccdff38;border-radius:14px;margin:0;padding:10px 14px;font-size:13px;line-height:1.45;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.announce{letter-spacing:.03em;text-align:center;text-shadow:0 4px 24px #000;opacity:0;pointer-events:none;width:max-content;max-width:92vw;font-size:clamp(30px,9vw,64px);font-weight:800;line-height:1.1;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.announce.is-on{animation:1.6s ease-out forwards announcePop}.announce.tone-good{color:#5cff9d}.announce.tone-bad{color:#ff7a6e}.announce.tone-crit{color:#ffe066;font-size:clamp(36px,11vw,80px)}@keyframes announcePop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}25%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes announceFade{0%,80%{opacity:1}to{opacity:0}}.reveal{opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:92vw;transition:opacity .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reveal.is-on{opacity:1;animation:.3s ease-out revealIn}.reveal-move{text-align:center;-webkit-backdrop-filter:blur(12px);background:#100b20bf;border:1px solid #dccdff40;border-radius:18px;max-width:44vw;padding:12px 16px;font-size:17px;font-weight:600}.reveal-move--you{box-shadow:inset 3px 0 #cbb6ff}.reveal-move--foe{box-shadow:inset -3px 0 #ff4a3d}.reveal-vs{letter-spacing:.3em;color:#a89cc8;font-size:12px}@keyframes revealIn{0%{transform:translate(-50%,-50%)scale(.85)}to{transform:translate(-50%,-50%)scale(1)}}.picker{max-height:38vh;max-height:38svh;padding:0 max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.picker-grid{overscroll-behavior:contain;pointer-events:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:min-content;gap:6px;min-height:0;padding:4px;display:grid;overflow-y:auto}.card{-webkit-backdrop-filter:blur(12px);min-width:0;min-height:52px;font:inherit;color:inherit;text-align:left;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#100b20a8;border:1px solid #dccdff38;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;transition:transform .15s,background .2s,border-color .2s,opacity .2s;display:flex;position:relative}.card:active:not(:disabled){transform:scale(.97)}.card:hover:not(:disabled){background:#30205cbf;border-color:#e6d7ff80}.card:focus-visible{outline-offset:3px;outline:2px solid #cbb6ff}.card:disabled{opacity:.45;cursor:default}.card-head{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.card-emoji{flex:none;font-size:20px;line-height:1}.card-name{-webkit-line-clamp:2;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;-webkit-box-orient:vertical;min-width:0;font-size:14px;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.card-meta{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;max-width:100%;display:flex}.card-type{background:var(--type);color:#0b0714;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.card-value{color:#d7c8ff;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.card-desc{text-overflow:ellipsis;white-space:nowrap;color:#a89cc8;max-width:100%;font-size:12px;line-height:1.4;display:none;overflow:hidden}.card-key{color:#a89cc8;font-size:10px;display:none;position:absolute;top:6px;right:8px}.card--ultimate{flex-flow:wrap;order:9;grid-column:1/-1;align-items:center;gap:4px 10px}.card--ultimate .card-head{flex:auto}.card-gauge{background:#ffffff1f;border-radius:999px;flex-basis:100%;height:3px;display:block;overflow:hidden}.card-gauge-fill{background:#ffe066;width:0;height:100%;transition:width .4s;display:block}.result{width:min(92vw,400px);padding:26px 22px max(22px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);text-align:center;pointer-events:auto;background:#100b20d6;border:1px solid #dccdff40;border-radius:24px;flex-direction:column;align-items:center;animation:.35s ease-out resultIn;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 80px #0009}.result-title{letter-spacing:.12em;margin:0;font-size:clamp(32px,9vw,46px);font-weight:800}.result-title.is-won{color:#ffe066;text-shadow:0 0 24px #ffe06673}.result-title.is-lost{color:#ff7a6e}.result-farmed{color:#5cff9d;margin:10px 0 2px;font-size:20px;font-weight:600}.result-total{color:#d7c8ff;margin:0;font-size:15px}.result-turns{color:#a89cc8;margin:4px 0 0;font-size:13px}.result-actions{flex-direction:column;gap:10px;width:100%;margin-top:20px;display:flex}.btn{width:100%;min-height:52px;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#100b2099;border:1px solid #dccdff4d;border-radius:999px;padding:0 20px;font-size:16px;font-weight:600}.btn.primary{background:linear-gradient(135deg,#7a4cffe6,#d648a0e6);border-color:#ffffff59;box-shadow:0 8px 40px #8c50ff59}.btn.ghost{color:#a89cc8;background:0 0;border-color:#0000;min-height:48px}.btn:focus-visible{outline-offset:3px;outline:2px solid #cbb6ff}@keyframes resultIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (min-width:560px){.picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));width:min(100%,980px);margin:0 auto}.card--ultimate{flex-flow:column;order:0;grid-column:auto;align-items:flex-start}.card--ultimate .card-head{flex:none}.card--ultimate .card-gauge{flex-basis:auto;width:100%}.card-desc{display:block}}@media (hover:hover) and (pointer:fine){.card-key{display:block}}@media (prefers-reduced-motion:reduce){.battle,.battle *{transition:none!important}.side.is-hit .side-num,.side.is-heal .side-num,.side.is-hit .bar,.side.is-heal .bar,.reveal.is-on,.result{animation:none!important}.announce.is-on{animation:1.6s linear forwards announceFade}}@media (max-width:559px){.card{padding:8px}.card-head{gap:4px}.card-emoji{font-size:17px}.card-name{letter-spacing:-.01em;font-size:13px}}@media (max-width:380px){.card-head{flex-direction:column;align-items:flex-start;gap:2px}.card-name{font-size:12.5px}}
