:root{color:#f2edd8;background:#0f1d2b;font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif}*{box-sizing:border-box;scrollbar-width:thin}:root{scrollbar-color:rgb(132 170 180 / 45%) rgb(8 17 26 / 90%)}body{margin:0;overscroll-behavior:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{font:inherit;-webkit-tap-highlight-color:transparent}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.app-shell{display:grid;min-height:100vh;min-height:100dvh;place-items:center;overflow:hidden}.phaser-backdrop{position:fixed;inset:0;pointer-events:none}.phaser-backdrop canvas{display:block}.title-screen{z-index:1;width:min(520px,calc(100vw - 32px));text-align:center}.logo-subtitle{margin:0;color:#f2edd8;font-size:13px;font-weight:700;letter-spacing:.18em}h1{margin:8px 0 12px;font-size:30px}.primary-button,.secondary-button,.country-button{color:inherit;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.primary-button{margin-top:24px;border:1px solid rgb(232 209 117 / 55%);border-radius:3px;background:#40769ebf;padding:12px 32px;font-weight:700}.primary-button:hover:not(:disabled),.primary-button:focus-visible:not(:disabled),.primary-button.selected:not(:disabled){border-color:#ffe36e;background:#548fb8d9}.primary-button:disabled{border-color:#84aab459;background:#14283ab3;color:#8b9aa0;cursor:default}.mode-select{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px}.mode-select .primary-button{min-width:200px;margin-top:0}.country-screen{z-index:1;width:min(560px,calc(100vw - 32px))}.country-screen .logo-subtitle{margin-bottom:16px}.country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid rgb(132 170 180 / 45%);border-radius:3px;background:#84aab42e;overflow:hidden}.country-button{display:flex;align-items:baseline;justify-content:space-between;min-height:44px;border:0;background:#0c1a28e0;padding:8px 12px;text-align:left}.country-button small{color:#a9b8ba}.country-button:hover:not(:disabled),.country-button:focus-visible:not(:disabled),.country-button.selected:not(:disabled){background:#40769ebf}.country-button:disabled{background:#14283ab3;color:#8b9aa0;cursor:default}.slot-list{display:grid;grid-template-columns:1fr;gap:1px;border:1px solid rgb(132 170 180 / 45%);border-radius:3px;background:#84aab42e;overflow:hidden}.screen-control-bar{position:fixed;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;height:calc(48px + var(--safe-bottom));border-top:1px solid rgb(232 209 117 / 45%);background:#0c1a28eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:0 calc(16px + var(--safe-right)) var(--safe-bottom) calc(16px + var(--safe-left));color:#d2dbd2;font-size:13px}.screen-control-bar .secondary-button{padding:8px 28px}.secondary-button{border:1px solid rgb(132 170 180 / 55%);border-radius:3px;background:#14283ae5;padding:8px 16px}.secondary-button:hover,.secondary-button:focus-visible{border-color:#e8d175b3;background:#40769ebf}.park-screen{position:fixed;z-index:1;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#15232e;--status-bar-height: 32px;--pad-size: 116px;--face-button-size: 44px}.park-view{position:relative;min-height:0}.park-map,.map-loading{min-height:0;width:100%;height:100%}.park-map canvas{display:block;touch-action:none}.map-loading{display:grid;place-items:center;color:#d2dbd2}.park-blackout{position:absolute;z-index:4;inset:0;display:grid;place-items:center;background:#0a1520;opacity:0;pointer-events:none;transition-property:opacity;transition-timing-function:ease}.park-blackout[data-visible]{opacity:1;pointer-events:auto}.park-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:0 16px;color:#e9e4cf;font-size:14px;text-align:center}.park-loading p{margin:0}.park-loading-spinner{width:28px;height:28px;border:2px solid rgb(132 170 180 / 30%);border-top-color:#ffe36e;border-radius:50%;animation:park-spin .9s linear infinite}@keyframes park-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.park-blackout{transition:none}.park-loading-spinner{animation:none}}.park-menu-backdrop{position:absolute;z-index:3;inset:0;background:#040a1285;pointer-events:none}.park-hud-top{position:absolute;z-index:4;top:0;right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:0;pointer-events:none}.park-hud-top>*{pointer-events:auto}.park-status-overlay{order:-1;border:0 solid rgb(132 170 180 / 45%);border-bottom-width:1px;background:#0c1a28;padding:calc(8px + var(--safe-top)) calc(16px + var(--safe-right)) 8px calc(16px + var(--safe-left));color:#fff;font-size:14px;font-variant-numeric:tabular-nums}.park-bar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;width:100%;max-width:800px;margin:0 auto}.park-status-overlay .park-time-actions{margin-left:auto}.park-mode-label{border:0 solid rgb(232 209 117 / 45%);border-bottom-width:1px;background:#0c1a28;padding:8px calc(16px + var(--safe-right)) 8px calc(16px + var(--safe-left));color:#f2edd8;font-size:14px}.park-time-actions{display:flex;height:32px;border:1px solid rgb(132 170 180 / 55%);border-radius:3px;overflow:hidden}.park-time-float .park-time-actions{border-color:#96bec873;box-shadow:0 3px 12px #0006;opacity:.5;transition:opacity .12s ease}.park-time-float .park-time-actions:has(:active){opacity:.9}.park-time-float .park-icon{width:auto;height:10px}.park-time-actions .park-action-button{border:0;border-radius:0}.park-time-actions .park-action-button+.park-action-button{border-left:1px solid rgb(132 170 180 / 55%)}.park-action-button{display:inline-flex;width:80px;align-items:center;justify-content:center;border:1px solid rgb(132 170 180 / 55%);border-radius:3px;background:#14283ae5;padding:8px 12px;color:#f2edd8;cursor:pointer;font-size:13px;line-height:1}.park-action-button.selected{border-color:#e8d175b3;background:#40769ebf;color:#fff}.park-time-actions .park-action-button{width:38px;padding:8px 4px}.park-icon{display:block}.park-status-overlay .park-action-button{width:44px;padding:4px 8px;font-size:12px}.park-pad{position:absolute;bottom:8px;left:calc(8px + var(--safe-left));width:var(--pad-size);height:var(--pad-size);border:1px solid rgb(150 190 200 / 45%);border-radius:50%;background:radial-gradient(circle at 50% 30%,#26405aeb,#0a1420eb);box-shadow:0 3px 12px #0006,inset 0 1px #ffffff24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;touch-action:none}.park-pad:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(45deg,transparent calc(50% - .5px),rgb(6 14 24 / 65%) calc(50% - .5px),rgb(6 14 24 / 65%) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(-45deg,transparent calc(50% - .5px),rgb(6 14 24 / 65%) calc(50% - .5px),rgb(6 14 24 / 65%) calc(50% + .5px),transparent calc(50% + .5px))}.park-pad:after{content:"";position:absolute;top:50%;left:50%;z-index:2;width:26%;height:26%;border:1px solid rgb(150 190 200 / 40%);border-radius:50%;background:radial-gradient(circle at 50% 35%,#1e344af5,#0c1826f5);pointer-events:none;transform:translate(-50%,-50%)}.park-pad-button{position:absolute;display:flex;inset:0;border:0;background:transparent;color:#cfe0e6;cursor:pointer;pointer-events:none}.park-pad-button[data-pressed]{background:#609cc4;color:#fff}.park-pad-up{align-items:flex-start;justify-content:center;padding-top:16px;clip-path:polygon(50% 50%,0 0,100% 0)}.park-pad-right{align-items:center;justify-content:flex-end;padding-right:16px;clip-path:polygon(50% 50%,100% 0,100% 100%)}.park-pad-down{align-items:flex-end;justify-content:center;padding-bottom:16px;clip-path:polygon(50% 50%,100% 100%,0 100%)}.park-pad-left{align-items:center;justify-content:flex-start;padding-left:16px;clip-path:polygon(50% 50%,0 100%,0 0)}.park-pad-up .pad-arrow{transform:rotate(-90deg)}.park-pad-down .pad-arrow{transform:rotate(90deg)}.park-pad-left .pad-arrow{transform:rotate(180deg)}.park-face{position:absolute;right:calc(8px + var(--safe-right));bottom:8px;width:var(--pad-size);height:var(--pad-size)}.park-face-button{position:absolute;display:flex;width:var(--face-button-size);height:var(--face-button-size);align-items:center;justify-content:center;border:1px solid rgb(150 190 200 / 45%);border-radius:50%;background:radial-gradient(circle at 50% 30%,#26405aeb,#0a1420eb);box-shadow:0 3px 12px #0006,inset 0 1px #ffffff24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;touch-action:none}.park-face-button[data-pressed]{background:#609cc4}.park-face-up{top:0;left:50%;transform:translate(-50%)}.park-face-right{top:50%;right:0;transform:translateY(-50%)}.park-face-down{bottom:0;left:50%;transform:translate(-50%)}.park-face-left{top:50%;left:0;transform:translateY(-50%)}.park-face[data-style=playstation] .park-face-up{color:#7fd6a0}.park-face[data-style=playstation] .park-face-right{color:#e88a92}.park-face[data-style=playstation] .park-face-down{color:#8fb6e8}.park-face[data-style=playstation] .park-face-left{color:#e7a0cd}.park-face[data-style=xbox] .park-face-up{color:#e6c65e}.park-face[data-style=xbox] .park-face-right{color:#e88a92}.park-face[data-style=xbox] .park-face-down{color:#7fd6a0}.park-face[data-style=xbox] .park-face-left{color:#8fb6e8}.park-time-float{position:absolute;bottom:8px;left:50%;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%)}.park-action-button.park-debug-button{width:auto;height:32px;border-style:dashed;border-color:#e2454f99;padding:4px 8px;color:#e2454f;font-size:14px}.park-time-float .park-debug-button{opacity:.5}.park-time-float .park-debug-button:active{opacity:.9}.park-menu{position:absolute;z-index:4;bottom:12px;left:calc(12px + var(--safe-left));display:flex;max-height:calc(100% - 24px);flex-direction:column;width:min(224px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)));border:1px solid rgb(132 170 180 / 45%);border-radius:3px;background:#0c1a28e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 18px #00000059;color:#fff;overflow:hidden}.menu-list{display:flex;min-height:0;flex-direction:column;overflow:hidden auto}.menu-list-header{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:3px;background:#84aab429;color:#cfe0e6;font-size:12px}.menu-row{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:8px 12px 8px 8px;color:#f2edd8;cursor:pointer;font:inherit;font-size:13px;line-height:1.25;text-align:left}.menu-row+.menu-row{border-top:1px solid rgb(132 170 180 / 18%)}.menu-row.selected{background:#40769ebf;color:#fff}.menu-row[aria-disabled=true]{opacity:.5}.menu-list-debug .menu-row,.menu-row-debug{color:#e2454f}.menu-list-debug .menu-row.selected,.menu-row-debug.selected{color:#ff8f96}.menu-row-icon{flex-shrink:0;width:32px;height:32px;image-rendering:pixelated}.menu-row-label{flex:1;min-width:0}.menu-row-end{margin-left:auto;padding-left:8px;white-space:nowrap;font-variant-numeric:tabular-nums}.park-menu-value{display:flex;align-items:center;gap:1px;margin-left:auto;padding-left:8px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.park-menu-value>.park-caret{margin:0 3px}.park-menu-value.toggle-on{color:#8fdc8f}.park-menu-value.toggle-off{color:#e58f8f}.park-menu-number{line-height:1}.park-menu-digit{display:flex;flex-direction:column;align-items:center;gap:1px}.park-caret{flex-shrink:0;color:#e8d175}.park-status-panel{position:absolute;right:calc(12px + var(--safe-right));bottom:12px;display:flex;max-height:calc(100% - 24px);flex-direction:column;gap:8px;width:min(280px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)));border:1px solid rgb(132 170 180 / 45%);border-radius:3px;background:#0c1a28e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:12px;box-shadow:0 6px 18px #00000059;overflow:hidden auto}.park-status-row{display:flex;align-items:center;gap:8px;color:#f2edd8;font-size:12px;line-height:1.25}.park-status-icon{flex-shrink:0;width:16px;height:16px;image-rendering:pixelated}.park-status-value{margin-left:auto;padding-left:8px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.park-bottom{display:flex;flex-direction:column;padding-bottom:var(--safe-bottom);background:#0c1a28}.park-status-bar{display:flex;flex-shrink:0;align-items:center;height:var(--status-bar-height);border-top:1px solid rgb(232 209 117 / 45%);padding:0 calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left));color:#e9e4cf;font-size:12.5px}.park-confirm{position:fixed;top:50%;left:50%;z-index:5;width:min(360px,calc(100vw - 32px));border:1px solid rgb(232 209 117 / 45%);border-radius:3px;background:#0c1a28f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #00000073;padding:20px 24px;color:#f2edd8;font-size:14px;text-align:center;transform:translate(-50%,-50%)}.park-confirm-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.park-confirm-buttons .primary-button{margin-top:0;padding:8px 20px}.park-notice-image{display:block;width:100%;max-width:240px;margin:0 auto 12px;border-radius:3px;image-rendering:pixelated}.park-notice-title{margin:0 0 8px;font-size:16px;font-weight:700}.park-notice-message{margin:0;white-space:pre-line}.mode-select .primary-button{display:flex;flex-direction:column;gap:4px}.mode-select .primary-button small{font-weight:400;font-size:12px;color:#cfe0e6}.panel-overlay{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:center;padding:16px}.panel-box{display:flex;max-height:100%;flex-direction:column;gap:12px;padding:16px;border-radius:3px;background:#0c1a28e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 18px #00000059;color:#f2edd8}.panel-head{display:flex;align-items:baseline;justify-content:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgb(132 170 180 / 18%)}.panel-title{font-weight:700;font-size:15px;color:#fff}.panel-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgb(132 170 180 / 18%);font-size:14px}.menu-group{border-radius:3px;background:#060e1873;padding:10px 12px}.rd-grid{display:grid;gap:8px}.rd-grid-2{grid-template-columns:1fr 1fr}.rd-grid-3{grid-template-columns:1fr 1fr 1fr}.rd-cell{display:flex;height:170px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 10px;border:1px solid rgb(132 170 180 / 45%);border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.rd-grid-3 .rd-cell{gap:8px;height:130px}.rd-cell:hover{border-color:#84aab4b3}.rd-cell.dim{opacity:.5}.rd-cell.selected{border-color:#84aab473;background:#40769ebf}.rd-cell-name{font-weight:700;font-size:13px}.rd-emblem-box{display:flex;height:56px;margin-top:12px;align-items:center;justify-content:center}.rd-cell-bar{width:100%;height:6px}.rd-lamps{display:flex;height:15px;flex-shrink:0;flex-wrap:wrap;align-content:center;justify-content:center;gap:3px}.rd-lamp{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#5a707e}.rd-lamp.on{background:#8fdc8f}.rd-emblem{width:auto;max-width:100%;max-height:56px;object-fit:contain;image-rendering:pixelated}.rd-slot{display:flex;flex-shrink:0;align-items:center;justify-content:center}.rd-slot-lg{width:52px;height:52px}.rd-slot-sm{width:36px;height:36px}.rd-thumb{flex-shrink:0;object-fit:contain;image-rendering:pixelated}.bus-sprite{display:inline-flex;max-width:100%;flex-shrink:0;align-items:flex-end}.bus-sprite img{display:block;width:auto;image-rendering:pixelated}.rd-bar{height:6px;border-radius:3px;background:#84aab440;overflow:hidden}.rd-bar-fill{height:100%;background:#8fdc8f}.rd-detail{display:flex;flex-direction:column;gap:12px}.rd-detail-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rd-detail-name{font-size:16px;font-weight:700}.rd-detail-pct{font-size:13px;color:#fff;font-variant-numeric:tabular-nums}.rd-detail-main{display:flex;align-items:center;gap:12px}.rd-detail-thumb{display:flex;width:88px;height:88px;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:3px;background:#060e1873}.rd-detail-fields{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.rd-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.rd-field-label{color:#a9bcc4}.rd-field-value{font-variant-numeric:tabular-nums}.rd-money{display:inline-flex;align-items:center;gap:1px}.rd-money-digit{display:inline-flex;flex-direction:column;align-items:center}.rd-caret{display:flex;width:18px;height:10px;align-items:center;justify-content:center;padding:0;border:none;background:none;color:#ffe36e;cursor:pointer}.rd-money-num{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.rd-money-unit{margin-left:4px;align-self:center;font-size:22px}.rd-note{font-size:12px;color:#9fb4bc;text-align:center}.ad-col-name{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px}.ad-row-type{font-size:11px;color:#a9bcc4;font-style:normal}.menu-row.selected .ad-row-type{color:#fffc}.ad-col-req{flex:0 0 5em;display:flex;justify-content:center;color:#a9bcc4;font-variant-numeric:tabular-nums;white-space:nowrap}.menu-row.selected .ad-col-req{color:#ffffffd9}.ad-stars{display:inline-flex;gap:1px}.ad-star{fill:#84aab44d}.ad-star.on{fill:#ffe36e}.ad-col-fee{flex:0 0 6em;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ad-contracts{display:flex;flex-direction:column;gap:4px}.ad-contracts-head{font-size:12px;color:#fff}.ad-contract-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.ad-contract-row.empty{color:#9fb4bc73}.ad-contract-exp{color:#a9bcc4;font-variant-numeric:tabular-nums;white-space:nowrap}.ad-foot-label{color:#a9bcc4}.ad-foot-value{font-variant-numeric:tabular-nums}@media(max-width:640px){h1{font-size:24px}.primary-button{padding:12px 24px}.country-button{flex-direction:column;align-items:flex-start;gap:4px}.park-status-overlay{padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) 8px calc(8px + var(--safe-left));font-size:12px}.park-status-overlay .park-bar-inner{justify-content:space-between;gap:4px 12px}.park-mode-label{padding:8px calc(8px + var(--safe-right)) 8px calc(8px + var(--safe-left));font-size:12px}.park-menu{right:calc(8px + var(--safe-right));bottom:calc(var(--pad-size) + 16px);left:auto;max-height:calc(100% - var(--pad-size) - 24px);width:min(224px,calc(100vw - 16px - var(--safe-left) - var(--safe-right)))}.park-status-panel{position:static;width:auto;max-height:none;border-width:0 0 1px;border-radius:0;padding:8px calc(8px + var(--safe-right)) 8px calc(8px + var(--safe-left))}}
