:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f7fb;background:#07131e;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-width:320px;margin:0;overflow:hidden}body{min-height:100dvh;background:#07131e}button{font:inherit}button:focus-visible{outline:3px solid #ffe3a3;outline-offset:4px}.app-root{position:relative;width:100dvw;height:100dvh;min-height:100dvh;overflow:hidden;isolation:isolate;background:#07131e}.app-content{position:relative;width:100%;height:100%;overflow:hidden}.live-runtime{position:relative;width:100%;height:100%}.runtime-screen{display:grid;width:100dvw;height:100dvh;min-height:100dvh;place-items:center;overflow:auto;padding:calc(1.25rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));background:radial-gradient(circle at 50% 32%,rgb(31 104 132 / 38%),transparent 44%),linear-gradient(160deg,#0e2332,#07131e 62%,#110d25)}.runtime-card{display:grid;width:min(100%,26rem);gap:.85rem;padding:clamp(1.2rem,5vw,2rem);border:1px solid rgb(217 255 250 / 20%);border-radius:1.25rem;background:#07131ec7;box-shadow:0 1rem 3rem #0000003d}.runtime-card h1{margin:0;color:#fff;font-size:clamp(1.6rem,7vw,2.35rem);letter-spacing:-.05em;line-height:1}.runtime-intro{margin:0;color:#b8d2de;font-size:.86rem;line-height:1.5}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.25rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.8rem}.auth-mode-switch button,.runtime-secondary-button{min-height:2.4rem;padding:.45rem .65rem;border:1px solid transparent;border-radius:.65rem;color:#b8d2de;background:transparent;cursor:pointer;font-size:.66rem;font-weight:780;letter-spacing:.06em;text-transform:uppercase}.auth-mode-switch button.active,.auth-mode-switch button:hover,.runtime-secondary-button:hover{border-color:#71d7ce6b;color:#fff;background:#1c4955ad}.runtime-form{display:grid;gap:.48rem}.runtime-form label{color:#b8d2de;font-size:.68rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.runtime-form input{min-height:2.7rem;padding:.55rem .7rem;border:1px solid rgb(217 255 250 / 22%);border-radius:.7rem;color:#fff;background:#07131ead;font:inherit}.runtime-form input:focus{border-color:#71d7ce;outline:2px solid rgb(113 215 206 / 22%);outline-offset:1px}.runtime-primary-button{min-height:2.8rem;padding:.55rem .75rem;border:1px solid rgb(255 227 163 / 72%);border-radius:999px;color:#1a1a1c;background:#ffe3a3;cursor:pointer;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.runtime-primary-button:hover:not(:disabled){background:#fff0c9}.runtime-primary-button:disabled,.runtime-secondary-button:disabled{cursor:wait;opacity:.55}.runtime-form-actions{display:grid;gap:.55rem}.starting-location-results{display:grid;gap:.45rem}.starting-location-section-label{margin:0;color:#b8d2de;font-size:.68rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.starting-location-result{display:grid;gap:.18rem;padding:.65rem .75rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.7rem;color:#fff;background:#1c49556b;cursor:pointer;font:inherit;text-align:left}.starting-location-result:hover,.starting-location-result.selected{border-color:#71d7ce9e;background:#1c4955c7}.starting-location-result:disabled{cursor:wait;opacity:.6}.starting-location-result small{overflow:hidden;color:#b8d2de;font-size:.68rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.starting-location-candidate-summary{display:grid;gap:.35rem;padding:.7rem .75rem;border:1px solid rgb(113 215 206 / 28%);border-radius:.7rem;color:#d9fffa;background:#1c495561;font-size:.76rem;line-height:1.4}.starting-location-candidate-summary p:last-child{margin:0}.starting-location-attribution{margin:0;color:#86a9b8;font-size:.65rem;line-height:1.4}.runtime-error,.runtime-notice{margin:0;padding:.55rem .65rem;border-radius:.65rem;font-size:.72rem;line-height:1.35}.runtime-error{color:#ffd0c2;background:#842f2d59}.runtime-notice{color:#d9fffa;background:#1c49558f}.runtime-connection-banner{position:absolute;z-index:10;top:calc(5.3rem + env(safe-area-inset-top));left:50%;max-width:min(22rem,calc(100vw - 2rem));padding:.55rem .8rem;border:1px solid rgb(255 227 163 / 42%);border-radius:999px;color:#ffe3a3;background:#07131ed1;box-shadow:0 .5rem 1.5rem #00000038;font-size:.67rem;letter-spacing:.04em;text-align:center;transform:translate(-50%)}.runtime-connection-banner-error{display:flex;align-items:center;gap:.55rem;border-color:#ffa08f7f;color:#ffd0c2}.runtime-connection-banner-error button{padding:.25rem .45rem;border:1px solid currentcolor;border-radius:999px;color:inherit;background:transparent;cursor:pointer;font-size:.6rem}.battle-live-encounter{display:grid;justify-self:center;gap:.15rem;max-width:min(18rem,82vw);margin-top:.8rem;padding:.55rem .8rem;border:1px solid rgb(255 227 163 / 40%);border-radius:.85rem;color:#ffe3a3;background:#07131ebd;font-size:.62rem;letter-spacing:.04em;text-align:center}.battle-live-encounter strong{color:#fff;font-size:.84rem;text-transform:uppercase}.battle-live-encounter small{overflow:hidden;color:#b8d2deb3;font-size:.52rem;text-overflow:ellipsis}.intro-screen{position:relative;display:grid;width:100dvw;height:100dvh;min-height:100dvh;place-items:center;overflow:hidden;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.25rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left));background:radial-gradient(circle at 50% 36%,rgb(31 104 132 / 40%),transparent 42%),linear-gradient(160deg,#0e2332,#07131e 57%,#110d25)}.intro-atmosphere{position:absolute;inset:0;opacity:.8;background:linear-gradient(115deg,transparent 0 45%,rgb(106 206 196 / 12%) 45.2% 45.5%,transparent 45.7%),linear-gradient(30deg,transparent 0 62%,rgb(242 122 75 / 13%) 62.2% 62.5%,transparent 62.7%);pointer-events:none}.intro-content{position:relative;z-index:1;display:grid;justify-items:center;gap:1.3rem;text-align:center}.brand-lockup{display:grid;justify-items:center;gap:1.1rem}.brand-mark{position:relative;display:grid;width:4.75rem;height:4.75rem;place-items:center;border:1px solid rgb(113 215 206 / 46%);border-radius:1.35rem;background:linear-gradient(145deg,#71d7ce3d,#6e83ff38);box-shadow:0 1rem 3rem #00000040;transform:rotate(-8deg)}.brand-mark:before,.brand-mark:after{position:absolute;width:1.25rem;height:.3rem;border-radius:999px;background:#d9fffa;content:""}.brand-mark:before{transform:translate(-.36rem,.18rem) rotate(45deg)}.brand-mark:after{transform:translate(.36rem,-.18rem) rotate(45deg)}.brand-mark-core{width:.65rem;height:.65rem;border:2px solid #ffe3a3;border-radius:50%;background:#0b1a27}.brand-lockup h1{margin:0;color:#fff;font-size:clamp(3.9rem,18vw,6.3rem);font-weight:850;letter-spacing:-.09em;line-height:.85}.intro-tagline{margin:0;color:#b8d2de;font-size:clamp(1rem,4.4vw,1.2rem);letter-spacing:.08em}.start-button{display:inline-flex;min-width:12.5rem;min-height:3.75rem;align-items:center;justify-content:center;gap:.65rem;margin-top:1.35rem;padding:.75rem 1.35rem;border:1px solid rgb(255 227 163 / 72%);border-radius:999px;color:#1a1a1c;background:#ffe3a3;box-shadow:0 .75rem 2rem #00000042,0 0 0 .35rem #ffe3a31a;cursor:pointer;font-size:.95rem;font-weight:850;letter-spacing:.06em;transition:transform .15s ease,background .15s ease}.start-button:hover{background:#fff0c9;transform:translateY(-2px)}.start-button:active{transform:translateY(1px) scale(.98)}.start-button-glyph{display:inline-grid;width:1.35rem;height:1.35rem;place-items:center;border:1px solid currentcolor;border-radius:50%;font-size:.9rem;line-height:1}.intro-hint{position:absolute;right:calc(1rem + env(safe-area-inset-right));bottom:calc(.8rem + env(safe-area-inset-bottom));left:calc(1rem + env(safe-area-inset-left));margin:0;color:#b8d2de94;font-size:.68rem;letter-spacing:.18em;text-align:center;text-transform:uppercase}.game-shell{position:relative;width:100dvw;height:100dvh;min-height:100dvh;overflow:hidden;background:#0d2434}.presentation-controls-hidden{visibility:hidden;pointer-events:none}.world-canvas{position:absolute;z-index:0;inset:0;width:100dvw;height:100dvh;overflow:hidden;background:#0d2434}.world-canvas canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}.world-canvas[data-world-render-mode=low-resolution] canvas{image-rendering:pixelated}.transport-surface-ownership-legend{position:absolute;z-index:5;right:.75rem;bottom:5.75rem;max-width:min(19rem,calc(100vw - 1.5rem));padding:.55rem .65rem;border:1px solid rgb(215 231 226 / .28);border-radius:.65rem;background:#0c1b24f0;color:#eff6f1;font:600 .6rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.transport-surface-ownership-legend>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem .55rem;margin-top:.4rem}.transport-surface-ownership-legend span{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.transport-surface-ownership-legend i{width:.62rem;height:.62rem;flex:0 0 auto;border:1px solid rgb(255 255 255 / .45);border-radius:.16rem}.game-shell{--exploration-minimap-size: clamp(7.5rem, 33vw, 15rem)}.exploration-minimap{position:absolute;z-index:4;right:calc(.75rem + env(safe-area-inset-right));bottom:calc(.75rem + env(safe-area-inset-bottom));width:var(--exploration-minimap-size);aspect-ratio:1;overflow:hidden;border:2px solid rgb(245 247 251 / 78%);border-radius:.9rem;background:#dce7df;box-shadow:0 .5rem 1.6rem #00000042,0 0 0 1px #07131e99;pointer-events:none}.exploration-minimap canvas{display:block;width:100%;height:100%}.exploration-minimap-north{position:absolute;top:.35rem;left:50%;color:#07131eb3;font-size:.52rem;font-weight:900;line-height:1;text-shadow:0 1px rgb(255 255 255 / 55%);transform:translate(-50%)}.minimap-visible .trainer-discovery,.minimap-visible .battle-trigger{right:calc(var(--exploration-minimap-size) + 1.5rem + env(safe-area-inset-right))}.minimap-visible .trainer-discovery{width:min(13rem,calc(100vw - var(--exploration-minimap-size) - 2.75rem - env(safe-area-inset-right)))}.exploration-hud{position:absolute;z-index:5;inset:0;pointer-events:none}.world-status{position:absolute;top:calc(1rem + env(safe-area-inset-top));left:calc(1rem + env(safe-area-inset-left));display:grid;gap:.22rem;max-width:min(15rem,calc(100vw - 2rem));padding:.65rem .78rem;border:1px solid rgb(217 255 250 / 20%);border-radius:.9rem;background:#07131e91;box-shadow:0 .5rem 1.5rem #0000002e;pointer-events:none}.world-status-label{color:#71d7ce;font-size:.58rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.world-status-value{display:block;min-width:0;max-width:100%;overflow:hidden;color:#fff;font-size:.76rem;font-weight:720;letter-spacing:.03em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.world-status-source{color:#b8d2debd;font-size:.58rem;letter-spacing:.04em;line-height:1.2}.world-attribution{color:#b8d2dead;font-size:.52rem;letter-spacing:.02em;line-height:1.25}.world-attribution a{color:inherit;text-decoration:underline;text-decoration-color:#b8d2de6b}.world-status-coordinate{color:#b8d2deb8;font-size:.58rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.world-debug{color:#ffe3a3d1;font-size:.58rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1.35}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.battle-trigger{position:absolute;right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));min-height:2.25rem;padding:.45rem .72rem;border:1px solid rgb(255 227 163 / 58%);border-radius:999px;color:#1a1a1c;background:#ffe3a3eb;box-shadow:0 .5rem 1.5rem #00000038;cursor:pointer;font-size:.65rem;font-weight:850;letter-spacing:.08em;pointer-events:auto;text-transform:uppercase;transition:transform .15s ease,background .15s ease}.battle-trigger:hover{background:#fff0c9;transform:translateY(-2px)}.battle-trigger:active{transform:translateY(1px) scale(.98)}.battle-hud{position:absolute;z-index:8;inset:0;display:block;padding:0;pointer-events:none}.battle-monster-card{display:grid;min-width:8.7rem;gap:.28rem;padding:.58rem .68rem;border:1px solid rgb(217 255 250 / 28%);border-radius:.82rem;background:#07131eb5;box-shadow:0 .5rem 1.5rem #0003}.battle-monster-card.player{justify-self:end;align-self:end}.battle-monster-name{color:#fff;font-size:.7rem;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.battle-monster-meta{display:flex;justify-content:space-between;gap:.5rem;color:#b8d2de;font-size:.6rem;letter-spacing:.04em}.battle-hp-bar{width:100%;height:.34rem;overflow:hidden;border-radius:999px;background:#d9fffa29}.battle-hp-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71d7ce,#ffe3a3);transition:none}.battle-feedback{align-self:end;justify-self:center;max-width:min(17rem,82vw);margin-bottom:.7rem;padding:.52rem .8rem;border:1px solid rgb(217 255 250 / 24%);border-radius:999px;color:#fff;background:#07131ebf;font-size:.66rem;font-weight:680;letter-spacing:.04em;text-align:center}.battle-actions{display:grid;gap:.5rem;align-self:end;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,23rem);justify-self:center;pointer-events:auto}.battle-action-button{min-height:2.65rem;padding:.48rem .65rem;border:1px solid rgb(217 255 250 / 25%);border-radius:.8rem;color:#f5f7fb;background:#07131ec2;cursor:pointer;font-size:.66rem;font-weight:780;letter-spacing:.06em;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,transform .15s ease}.battle-action-button:hover:not(:disabled){border-color:#ffe3a3cc;background:#1c4955db;transform:translateY(-1px)}.battle-action-button:disabled{cursor:wait;opacity:.5}.battle-exit-button{position:absolute;top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));min-height:2.25rem;padding:.38rem .65rem;border:1px solid rgb(217 255 250 / 25%);border-radius:999px;color:#b8d2de;background:#07131e94;cursor:pointer;font-size:.62rem;font-weight:780;letter-spacing:.08em;pointer-events:auto;text-transform:uppercase}.battle-top-left{position:absolute;top:calc(.75rem + env(safe-area-inset-top));left:calc(.75rem + env(safe-area-inset-left));display:grid;gap:.3rem;width:min(44vw,11.5rem);pointer-events:none}.battle-monster-card.opponent{position:absolute;top:calc(.75rem + env(safe-area-inset-top));right:calc(.75rem + env(safe-area-inset-right));width:min(44vw,11.5rem);min-width:0}.battle-monster-card{width:min(11rem,43vw);min-width:0;gap:.22rem;padding:.48rem .58rem;border-radius:.72rem;background:linear-gradient(145deg,#07131edb,#102d3db8);box-shadow:0 .65rem 1.5rem #0003;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}.battle-monster-card.player{position:absolute;right:calc(.75rem + env(safe-area-inset-right));bottom:calc(10.3rem + env(safe-area-inset-bottom));align-self:initial;justify-self:initial}.battle-monster-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.battle-monster-name{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.battle-monster-level{color:#d8f5ef;font-size:.54rem;font-weight:740;letter-spacing:.05em}.battle-monster-meta{font-size:.52rem;white-space:nowrap}.battle-hp-bar{height:.3rem}.battle-hp-fill{background:linear-gradient(90deg,#a9f36c,#71d7ce)}.battle-hp-fill.opponent{background:linear-gradient(90deg,#72d9ff,#d79bff)}.battle-status-text{color:#ffe3a3;font-size:.49rem;font-weight:720;letter-spacing:.05em;text-transform:uppercase}.battle-top-left .battle-live-encounter{display:grid;gap:.08rem;min-width:0;margin-top:0;padding:.34rem .58rem;border-radius:.65rem;font-size:.54rem;letter-spacing:.06em;text-align:left;text-transform:uppercase}.battle-top-left .battle-live-encounter strong{font-size:.68rem}.battle-authoritative-meta{display:grid;justify-items:start;gap:.22rem;width:100%;padding:.34rem .58rem;border:1px solid rgb(217 255 250 / 18%);border-radius:.65rem;color:#d8f5ef;background:#07131ea3;font-size:.5rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.battle-authoritative-heading{display:flex;flex-wrap:wrap;gap:.25rem .45rem}.battle-top-left [data-testid=wild-intent]{max-width:100%;overflow-wrap:anywhere}.battle-feedback{position:absolute;bottom:calc(7.8rem + env(safe-area-inset-bottom));left:50%;max-width:min(17rem,82vw);margin-bottom:0;padding:.34rem .68rem;border-color:#d9fffa33;background:#07131ea3;font-size:.55rem;transform:translate(-50%);pointer-events:none}.event-message-panel{position:absolute;right:calc(.75rem + env(safe-area-inset-right));bottom:calc(7.65rem + env(safe-area-inset-bottom));left:calc(.75rem + env(safe-area-inset-left));display:flex;min-height:3.05rem;align-items:center;justify-content:space-between;gap:.8rem;width:min(100%,25rem);margin:0 auto;padding:.72rem .86rem;border:1px solid rgb(217 255 250 / 36%);border-radius:.82rem;color:#fff;background:linear-gradient(145deg,#091c2af0,#0f323deb);box-shadow:0 .65rem 1.6rem #0000003d;cursor:default;font-size:.7rem;font-weight:760;letter-spacing:.035em;line-height:1.35;pointer-events:auto;text-align:left}.presentation-dialogue-overlay{position:absolute;z-index:12;inset:0;pointer-events:none}.presentation-dialogue-overlay .event-message-panel,.presentation-dialogue-overlay .battle-presentation-waiting{pointer-events:auto}.event-message-panel:not(:disabled){border-color:#ffe3a3ad;cursor:pointer}.event-message-panel:not(:disabled):hover,.event-message-panel:not(:disabled):focus-visible{background:linear-gradient(145deg,#143d48f5,#1b5152f0);outline:none}.event-message-panel:disabled{opacity:.94}.event-message-advance{flex:0 0 auto;color:#ffe3a3;font-size:1.55rem;font-weight:520;line-height:1}.battle-presentation-waiting{position:absolute;bottom:calc(7.85rem + env(safe-area-inset-bottom));left:50%;padding:.4rem .72rem;border:1px solid rgb(217 255 250 / 22%);border-radius:999px;color:#ffffffd6;background:#07131ead;font-size:.58rem;letter-spacing:.05em;pointer-events:none;transform:translate(-50%)}.battle-actions{position:absolute;right:calc(.75rem + env(safe-area-inset-right));bottom:calc(.75rem + env(safe-area-inset-bottom));left:calc(.75rem + env(safe-area-inset-left));display:grid;justify-items:center;gap:.35rem;width:auto;pointer-events:auto}.battle-primary-actions,.battle-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem;width:min(100%,23rem)}.battle-action-button{min-height:2.85rem;padding:.42rem .62rem;border:1px solid rgb(255 255 255 / 28%);border-radius:.72rem;background:#07131ec7;box-shadow:0 .55rem 1.1rem #0000002e;font-size:.68rem;letter-spacing:.09em}.battle-action-button span,.battle-action-button small{display:block}.battle-action-button small{margin-top:.14rem;color:#ffffffbf;font-size:.48rem;font-weight:700;letter-spacing:.07em}.battle-command.fight{background:linear-gradient(145deg,#f27a4b,#c95161)}.battle-command.switch{background:linear-gradient(145deg,#71d7ce,#2f8c9b)}.battle-command.capture{background:linear-gradient(145deg,#d79bff,#835db4)}.battle-command.run{color:#1a1a1c;background:linear-gradient(145deg,#ffe3a3,#d79b62)}.battle-command.run small{color:#1a1a1cad}.battle-action-button:hover:not(:disabled){border-color:#fff;background-color:#1c4955db;transform:translateY(-1px)}.battle-action-button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.46}.battle-subcommand{background:linear-gradient(145deg,#193f4ef0,#0f2837f0);font-size:.6rem}.battle-back-button{border-color:#ffe3a385;color:#ffe3a3;background:#07131eeb}.battle-capture-note{color:#ffe3a3;font-size:.51rem;font-weight:650;letter-spacing:.03em;text-align:center}.battle-exit-button{top:0;right:0;min-height:2rem;padding:.32rem .54rem;border-radius:.6rem}.battle-action-status{position:absolute;right:50%;bottom:calc(.2rem + env(safe-area-inset-bottom));padding:.22rem .45rem;border-radius:999px;color:#d8f5ef;background:#07131ed1;font-size:.5rem;font-weight:720;letter-spacing:.05em;pointer-events:none;transform:translate(50%)}.joystick-control{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom));left:calc(1rem + env(safe-area-inset-left));width:7.25rem;height:7.25rem;pointer-events:none}.joystick-button{position:relative;display:grid;width:100%;height:100%;place-items:center;padding:0;border:0;border-radius:50%;color:inherit;background:#07131e4d;box-shadow:inset 0 0 0 1px #d9fffa38,0 .75rem 2rem #0003;cursor:pointer;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.joystick-button:after{position:absolute;inset:.55rem;border:1px solid rgb(217 255 250 / 15%);border-radius:50%;content:""}.joystick-ring{position:relative;display:grid;width:4.3rem;height:4.3rem;place-items:center;border:1px solid rgb(217 255 250 / 32%);border-radius:50%;background:#193f4eb3;box-shadow:inset 0 .3rem .75rem #0000002e}.joystick-thumb{display:block;width:2rem;height:2rem;border:1px solid rgb(255 227 163 / 76%);border-radius:50%;background:linear-gradient(145deg,#ffe3a3,#f27a4b);box-shadow:0 .35rem .8rem #00000040;transition:transform 90ms ease-out}.joystick-active .joystick-thumb{transition:none}.menu-button{position:absolute;top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));display:grid;width:3.5rem;height:3.5rem;align-content:center;justify-items:center;gap:.3rem;padding:0;border:1px solid rgb(217 255 250 / 28%);border-radius:1.1rem;color:#f5f7fb;background:#07131e94;box-shadow:0 .5rem 1.5rem #0000002e;cursor:pointer;pointer-events:auto}.menu-button:hover{background:#1c4955c2}.menu-button-line{display:block;width:1.2rem;height:.12rem;border-radius:999px;background:currentcolor}.orientation-overlay{position:fixed;z-index:20;inset:0;display:grid;width:100dvw;height:100dvh;min-height:100dvh;margin:0;border:0;place-items:center;overflow:hidden;padding:calc(2rem + env(safe-area-inset-top)) calc(2rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(2rem + env(safe-area-inset-left));background:radial-gradient(circle at 50% 38%,rgb(31 104 132 / 42%),transparent 45%),#07131e;text-align:center}.orientation-content{display:grid;max-width:20rem;justify-items:center;gap:.7rem}.rotate-glyph{position:relative;display:grid;width:5rem;height:5rem;margin-bottom:.6rem;place-items:center;color:#ffe3a3}.rotate-glyph-screen{display:block;width:2.05rem;height:3.25rem;border:2px solid currentcolor;border-radius:.45rem;transform:rotate(90deg)}.rotate-glyph-arrow{position:absolute;right:-.15rem;bottom:-.05rem;font-size:2.2rem;line-height:1}.orientation-brand{margin:0;color:#71d7ce;font-size:.72rem;font-weight:850;letter-spacing:.22em;text-transform:uppercase}.orientation-content h2{margin:0;color:#fff;font-size:clamp(1.65rem,6vw,2.2rem);letter-spacing:-.04em}.orientation-content p:last-child{margin:0;color:#b8d2de;line-height:1.5}.trainer-discovery{position:absolute;right:calc(1rem + env(safe-area-inset-right));bottom:calc(8.3rem + env(safe-area-inset-bottom));display:grid;gap:.25rem;width:min(13rem,calc(100vw - 2rem));padding:.7rem .8rem;border:1px solid rgb(255 227 163 / 48%);border-radius:.9rem;background:#07131edb;box-shadow:0 .7rem 1.7rem #0000003d;pointer-events:auto}.trainer-discovery-eyebrow,.panel-eyebrow,.journey-eyebrow{color:#71d7ce;font-size:.54rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.trainer-discovery strong{color:#fff;font-size:.8rem}.trainer-discovery-error{color:#ffb8a9;font-size:.58rem;line-height:1.35}.trainer-discovery-button,.danger-button{min-height:2rem;padding:.35rem .55rem;border:1px solid rgb(255 227 163 / 65%);border-radius:.6rem;color:#1a1a1c;background:#ffe3a3;cursor:pointer;font-size:.6rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.danger-button{border-color:#ffa08f99;color:#ffd0c2;background:#842f2d7f}.danger-button:disabled,.trainer-discovery-button:disabled{cursor:wait;opacity:.5}.menu-layer{position:fixed;z-index:30;inset:0;display:flex;justify-content:flex-end;pointer-events:auto}.menu-backdrop{position:absolute;inset:0;border:0;background:#0000007a;cursor:pointer}.menu-drawer{position:relative;display:flex;width:min(100%,31rem);height:100%;flex-direction:column;gap:.75rem;overflow:auto;padding:calc(1.1rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1.1rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));border-left:1px solid rgb(217 255 250 / 18%);background:linear-gradient(160deg,#0e2332,#07131e 70%,#110d25);box-shadow:-1rem 0 3rem #0000003d}.menu-drawer-header,.panel-heading,.journey-header,.collection-detail-title,.training-card-heading,.quest-card-heading,.travel-node-heading,.travel-route-row,.journey-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.menu-drawer-header h2,.panel-heading h2,.journey-header h2{margin:.15rem 0 0;color:#fff;font-size:1.35rem;letter-spacing:-.04em}.menu-close-button,.menu-back-button{border:1px solid rgb(217 255 250 / 20%);border-radius:.65rem;color:#b8d2de;background:#07131e8c;cursor:pointer}.menu-close-button{width:2.25rem;height:2.25rem;font-size:1.4rem;line-height:1}.menu-back-button{align-self:flex-start;padding:.45rem .65rem;font-size:.62rem;font-weight:780;letter-spacing:.04em}.menu-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.menu-summary>div,.active-journey-note{display:grid;gap:.2rem;padding:.65rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.8rem;background:#07131e8a}.menu-summary span,.menu-summary strong,.panel-count,.coins-pill,.marks-pill,.rarity-pill{font-size:.59rem;letter-spacing:.04em}.menu-summary span,.panel-count{color:#b8d2de}.menu-summary strong,.coins-pill,.marks-pill{color:#ffe3a3;font-weight:850}.menu-nav{display:grid;gap:.45rem}.menu-nav button{display:grid;gap:.2rem;padding:.75rem .8rem;border:1px solid rgb(217 255 250 / 17%);border-radius:.8rem;color:#fff;background:#07131e8c;cursor:pointer;text-align:left}.menu-nav button:hover,.menu-nav button:focus-visible{border-color:#71d7ce85;background:#1c49559e}.menu-nav span{font-size:.76rem;font-weight:820}.menu-nav small,.menu-copy,.menu-footer,.menu-empty,.active-journey-note span{margin:0;color:#b8d2de;font-size:.64rem;line-height:1.4}.menu-footer{margin-top:auto;color:#b8d2de99;text-align:center}.menu-panel{display:grid;gap:.75rem}.presentation-preference{display:grid;gap:.55rem;padding:.7rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.8rem;background:#07131e7a}.presentation-preference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.presentation-preference-options button{display:grid;gap:.2rem;min-height:3.25rem;padding:.55rem;border:1px solid rgb(217 255 250 / 18%);border-radius:.68rem;color:#fff;background:#07131e8c;cursor:pointer;text-align:left}.presentation-preference-options button.active,.presentation-preference-options button:focus-visible{border-color:#71d7cead;background:#1c4955b8;outline:none}.presentation-preference-options strong{font-size:.66rem}.presentation-preference-options small{color:#b8d2de;font-size:.54rem;line-height:1.25}.panel-count,.coins-pill,.marks-pill,.rarity-pill{flex:0 0 auto;padding:.3rem .45rem;border:1px solid rgb(255 227 163 / 30%);border-radius:999px}.collection-layout{display:grid;grid-template-columns:minmax(7rem,.8fr) minmax(0,1.35fr);gap:.55rem}.collection-list,.collection-detail,.training-list,.quest-list,.travel-node-list{display:grid;align-content:start;gap:.45rem}.collection-list{max-height:31rem;overflow:auto}.collection-list-item{display:grid;gap:.18rem;padding:.55rem;border:1px solid rgb(217 255 250 / 15%);border-radius:.7rem;color:#fff;background:#07131e7a;cursor:pointer;text-align:left}.collection-list-item.selected,.move-preference-button.active{border-color:#71d7ce99;background:#1c4955b8}.collection-list-name,.collection-list-meta,.collection-detail h3,.training-card strong,.quest-card strong,.travel-node-card strong,.travel-route-row strong{overflow:hidden;text-overflow:ellipsis}.collection-list-name,.collection-detail h3{color:#fff;font-size:.72rem;font-weight:820}.collection-list-meta,.training-card small,.quest-card small,.travel-node-card small,.travel-route-row small,.subsection-heading small{color:#b8d2de;font-size:.57rem}.collection-detail{min-width:0;padding:.7rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.85rem;background:#07131e7f}.collection-detail h3{margin:.18rem 0 0;font-size:1rem}.rarity-pill{color:#ffe3a3;text-transform:uppercase}.monster-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.monster-stat-grid span{display:grid;gap:.1rem;padding:.38rem;border-radius:.55rem;background:#1c495566}.monster-stat-grid small{color:#b8d2de;font-size:.5rem}.monster-stat-grid strong{color:#fff;font-size:.68rem}.menu-label{color:#b8d2de;font-size:.58rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.inline-form,.party-actions{display:flex;gap:.35rem}.inline-form input{min-width:0;flex:1;min-height:2.2rem;padding:.4rem .55rem;border:1px solid rgb(217 255 250 / 20%);border-radius:.55rem;color:#fff;background:#07131ead}.runtime-secondary-button{min-height:2.2rem;padding:.36rem .52rem;border-color:#d9fffa33;background:#07131e8c}.panel-subsection{display:grid;gap:.4rem}.subsection-heading{display:flex;justify-content:space-between;color:#fff;font-size:.63rem;font-weight:800}.move-preference-list,.training-discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.move-preference-button,.training-button{display:grid;gap:.15rem;padding:.45rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.55rem;color:#fff;background:#07131e73;cursor:pointer;text-align:left}.move-preference-button span,.training-button span{overflow:hidden;font-size:.59rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.move-preference-button small,.training-button small{color:#b8d2de;font-size:.5rem;text-transform:uppercase}.release-confirmation,.menu-error{display:grid;gap:.45rem;margin:0;padding:.55rem;border:1px solid rgb(255 160 143 / 32%);border-radius:.65rem;color:#ffd0c2;background:#842f2d40;font-size:.62rem;line-height:1.35}.training-card,.quest-card,.travel-node-card{display:grid;gap:.55rem;padding:.7rem;border:1px solid rgb(217 255 250 / 16%);border-radius:.8rem;background:#07131e7f}.training-card-heading strong,.quest-card-heading strong,.travel-node-heading strong{display:block;color:#fff;font-size:.73rem}.training-card-heading small,.quest-card-heading small,.travel-node-heading small{display:block;margin-top:.15rem}.training-button:disabled,.travel-start-button:disabled{cursor:wait;opacity:.45}.quest-card.complete{border-color:#71d7ce73}.quest-card-heading>span,.travel-node-heading>span{color:#ffe3a3;font-size:.55rem;font-weight:760;text-align:right}.quest-progress,.journey-progress{height:.32rem;overflow:hidden;border-radius:999px;background:#d9fffa24}.quest-progress span,.journey-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71d7ce,#ffe3a3)}.travel-node-heading>span{max-width:8rem;overflow:hidden;text-overflow:ellipsis}.travel-route-list{display:grid;gap:.35rem}.travel-route-row{align-items:center;padding-top:.45rem;border-top:1px solid rgb(217 255 250 / 12%)}.travel-start-button{min-height:2.1rem;padding-inline:.5rem;font-size:.55rem;white-space:nowrap}.active-journey-note{color:#fff}.active-journey-note strong{font-size:.73rem}.journey-hud{position:absolute;z-index:6;inset:0;display:grid;align-content:center;gap:.8rem;width:min(22rem,calc(100% - 2rem));height:fit-content;margin:auto;padding:1rem;border:1px solid rgb(217 255 250 / 22%);border-radius:1rem;background:#07131ed6;box-shadow:0 1rem 3rem #00000047;pointer-events:auto}.journey-header{align-items:center}.journey-header .menu-button{position:static;width:2.7rem;height:2.7rem}.journey-route{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.65rem;font-weight:720}.journey-route-line{flex:1;height:1px;background:linear-gradient(90deg,#71d7ce,#ffe3a3)}.journey-meta{color:#b8d2de;font-size:.61rem}.journey-arrive-button{width:100%}@media(prefers-reduced-motion:reduce){.start-button,.joystick-thumb,.battle-trigger,.battle-action-button,.battle-hp-fill{transition:none}}
