@layer properties{@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial}}}@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--text-xs: .75rem;--text-xs--line-height: calc(1/.75);--text-sm: .875rem;--text-sm--line-height: calc(1.25/.875);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2/1.5);--font-weight-semibold: 600;--font-weight-bold: 700;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm: 8px;--blur-md: 12px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var( --default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" );font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace );font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px){::placeholder{color:currentColor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-5{top:calc(var(--spacing) * 5)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-5{left:calc(var(--spacing) * 5)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.h-2{height:calc(var(--spacing) * 2)}.h-screen{height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-32{width:calc(var(--spacing) * 32)}.w-\[min\(96vw\,860px\)\]{width:min(96vw,860px)}.w-screen{width:100vw}.max-w-xs{max-width:var(--container-xs)}.-translate-x-1\/2{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[\#5a3b2a\]\/15{border-color:#5a3b2a26}.border-\[\#5a3b2a\]\/20{border-color:#5a3b2a33}.bg-\[\#3f7d5a\]{background-color:#3f7d5a}.bg-\[\#5aa843\]{background-color:#5aa843}.bg-\[\#c8453a\]{background-color:#c8453a}.bg-\[\#cfe6f4\]{background-color:#cfe6f4}.bg-\[\#fbf4e2\]\/85{background-color:#fbf4e2d9}.bg-white\/55{background-color:#ffffff8c}@supports (color: color-mix(in lab,red,red)){.bg-white\/55{background-color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color: color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color: color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-gradient-to-b{--tw-gradient-position: to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#4f8fde\]{--tw-gradient-from: #4f8fde;--tw-gradient-stops: var( --tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position) )}.to-\[\#cfe6f4\]{--tw-gradient-to: #cfe6f4;--tw-gradient-stops: var( --tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position) )}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking: .2em;letter-spacing:.2em}.text-\[\#3f2a1f\]{color:#3f2a1f}.text-\[\#3f2a1f\]\/40{color:#3f2a1f66}.text-\[\#4a3a30\]{color:#4a3a30}.text-\[\#5a3b2a\]{color:#5a3b2a}.text-\[\#6b4a33\]{color:#6b4a33}.text-\[\#c8453a\]{color:#c8453a}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color: color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.uppercase{text-transform:uppercase}.accent-\[\#c8453a\]{accent-color:#c8453a}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow{--tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));--tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y: calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@keyframes pulse{50%{opacity:.5}}[hidden]{display:none!important}#loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 34%,#345b70,#173747 55%,#102832);color:#fff0cf;opacity:1;transition:opacity .42s ease}:root{--radius-xl: .25rem;--radius-2xl: calc(1rem / 3);--radius-3xl: .5rem;--ui-active: #ca4e36}#hud-controls{z-index:30;width:min(96vw,520px);bottom:max(16px,env(safe-area-inset-bottom));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));transition:background-color .6s ease,border-color .6s ease}#app{height:100dvh}#hud-top{z-index:30}#panel-content{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px}#panel-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;border-radius:6px;background:#ffffff80;color:#5a3b2a;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}#hud-controls.is-collapsed{width:auto;min-width:52px;padding:4px;gap:0}.is-collapsed #panel-toggle svg{transform:rotate(180deg)}body.panel-collapsed #shortcut-toast{bottom:calc(88px + env(safe-area-inset-bottom))}body[data-time-of-day=night] #panel-toggle{background:#30425e;color:#e0e7f2}@media(pointer:coarse){#panel-content button,#panel-content select,#panel-content input[type=range]{min-height:44px}}#hud-controls button[aria-pressed=true]{background:var(--ui-active);color:#fff}#hud-controls button:focus-visible{outline:2px solid var(--ui-active);outline-offset:2px}#hud-controls .rounded-full{border-radius:calc(14px / 3)}#help{width:min(360px,calc(100vw - 40px));max-height:calc(100dvh - 110px);overflow-y:auto}.shortcut-list{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:18px;row-gap:6px;margin-top:10px}.shortcut-list kbd{font-family:inherit;font-weight:700;white-space:nowrap}.shortcut-list dd{margin:0}.slider-control{display:grid;grid-template-columns:66px 128px;align-items:center;gap:8px;flex:none;white-space:nowrap;color:#5a3b2a;font-size:12px;font-weight:600}.slider-control input{width:128px;min-width:0;margin:0;accent-color:var(--ui-active)}#time-scale-control{grid-template-columns:46px 128px 36px}#time-scale-value{text-align:left;font-variant-numeric:tabular-nums}#time-of-day{display:flex;align-self:center;gap:3px;padding:3px;border:1px solid #5a3b2a26;border-radius:6px;background:#5a3b2a0c}#time-of-day button{min-width:90px;padding:5px 14px;border-radius:5px;color:#5a3b2a;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s}#time-of-day button[aria-pressed=false]:hover{background:#fff9}#time-of-day button[aria-pressed=true]{box-shadow:0 2px 5px #3f2a1f20}#loading.is-gone{opacity:0;pointer-events:none}.load-card{width:min(86vw,540px);text-align:center}.load-logo{width:min(100%,430px);height:auto;margin-inline:auto}.load-sub{margin:16px 0 40px;color:#c6d7d8;font-size:17px;letter-spacing:.08em}.load-bar{height:8px;overflow:hidden;background:#0b2029;border:1px solid #ae9360}.load-fill{width:0;height:100%;background:linear-gradient(90deg,#b9784d,#e4b56b,#fff0cf);transition:width .22s ease}#loading.is-working .load-fill{animation:load-breathe 1.4s ease-in-out infinite alternate}.load-row{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.11em;text-align:left}.load-hint{margin-top:31px;min-height:2.5em;color:#c2d2d2;font-size:16px}@keyframes load-breathe{to{opacity:.4}}@media(prefers-reduced-motion:reduce){#loading,.load-fill{transition:none}#loading.is-working .load-fill{animation:none}}#shortcut-toast{position:absolute;z-index:20;left:50%;bottom:14rem;max-width:min(90vw,560px);padding:.65rem 1rem;border:1px solid #5a3b2a33;border-radius:7px;background:#fbf4e2ed;color:#3f2a1f;font-size:.875rem;font-weight:600;text-align:center;white-space:nowrap;box-shadow:0 8px 24px #3f2a1f26;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,bottom .18s ease}#shortcut-toast.is-visible{opacity:1;transform:translate(-50%)}#shortcut-toast.is-visible.is-action{pointer-events:auto;cursor:pointer;touch-action:manipulation;border-color:#ca4e3680}#shortcut-toast.is-action:active{transform:translate(-50%,1px) scale(.98)}#shortcut-toast.hud-hidden{bottom:1.5rem}@media(max-width:600px){#shortcut-toast{bottom:18rem;white-space:normal}}.pixel-select-label{display:flex;align-items:center;gap:.4rem;color:#5a3b2a;font-size:.75rem;font-weight:600}.pixel-select-label select{appearance:auto;min-width:5.5rem;padding:.35rem .5rem;border:1px solid #5a3b2a33;border-radius:5px;background:#ffffffb3;color:#3f2a1f;cursor:pointer}#debug-menu{position:fixed;top:16px;right:16px;z-index:50;color:#f4ead2;font:13px system-ui,sans-serif}#debug-menu summary{list-style:none;cursor:pointer;margin-left:auto;width:32px;text-align:center;border-radius:calc(8px / 3);background:#29382d99;font-size:22px}body.hud-hidden #debug-menu{display:none}#debug-menu summary::-webkit-details-marker{display:none}#debug-menu[open] summary{background:#29382d}#debug-menu .debug-content{margin-top:6px;padding:16px;border:1px solid #ffffff30;border-radius:4px;background:#203028ed;box-shadow:0 6px 22px #0004}#debug-layers label{display:flex;gap:8px;align-items:center;margin-top:10px;cursor:pointer}#debug-menu pre{margin:14px 0 0;font-size:11px;line-height:1.7}body[data-time-of-day=night] #hud-controls{--ui-active: #ef704c;color-scheme:dark;background:#192943eb;border-color:#7189ab66}body[data-time-of-day=night] #hud-controls button[aria-pressed=false]{background:#30425e;color:#e0e7f2}body[data-time-of-day=night] #hud-controls button[aria-pressed=false]:hover{background:#415778}body[data-time-of-day=night] #camera-modes button[aria-pressed=false] span{color:#aebed4}body[data-time-of-day=night] #hud-controls button[aria-pressed=true]{color:#251a15}body[data-time-of-day=night] #camera-modes button[aria-pressed=true] span{color:#563025}body[data-time-of-day=night] #time-of-day{background:#101e3233;border-color:#7189ab66}body[data-time-of-day=night] .slider-control,body[data-time-of-day=night] .pixel-select-label{color:#dce5f2}body[data-time-of-day=night] .pixel-select-label select{background:#30425e;border-color:#7189ab66;color:#edf2fa}#weather-audio-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px}#weather-audio-controls select{border:1px solid #5a3b2a30;border-radius:12px;background:#fffa;color:#5a3b2a;padding:7px 9px;font:inherit}#sound-toggle{border:1px solid #5a3b2a30;border-radius:50%;min-width:36px;min-height:36px;background:#fffa;color:#5a3b2a;cursor:pointer}#volume{width:90px}#volume-value{min-width:32px;font-size:11px;font-variant-numeric:tabular-nums}body[data-time-of-day=night] #weather-audio-controls select{color:#e4e7f1;background:#293349}#overlay-settings{display:flex;justify-content:center;gap:20px;font-size:12px}#overlay-settings label{display:flex;align-items:center;gap:7px;min-height:32px;cursor:pointer}#overlay-settings input{width:16px;height:16px;accent-color:var(--ui-active)}#boat-joystick{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));z-index:45;width:132px;height:132px;border-radius:50%;border:2px solid #ffffffa8;background:radial-gradient(circle,#fbf4e25e 0 44%,#fbf4e2ad 45% 100%);box-shadow:0 5px 20px #16343c35,inset 0 0 0 7px #ffffff25;backdrop-filter:blur(6px);color:#5a3b2a9c;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.boat-stick-thumb{position:absolute;width:48px;height:48px;left:40px;top:40px;border-radius:50%;background:#fbf4e2;border:2px solid #ffffff;box-shadow:0 3px 10px #16343c40;pointer-events:none}.boat-stick-arrow{position:absolute;font-size:12px;pointer-events:none}.boat-stick-arrow.up{top:8px;left:58px}.boat-stick-arrow.down{bottom:8px;left:58px}.boat-stick-arrow.left{left:9px;top:55px}.boat-stick-arrow.right{right:9px;top:55px}#boat-joystick.is-held{border-color:#fff}body[data-time-of-day=night] #boat-joystick{background:#253952b8;color:#e7efff9e}body[data-time-of-day=night] .boat-stick-thumb{background:#8da5c0}#audio-unlock{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:46;min-height:44px;padding:10px 18px;border-radius:24px;border:1px solid #5a3b2a30;background:#fbf4e2ed;color:#5a3b2a;box-shadow:0 3px 14px #16343c25;font:inherit;cursor:pointer;touch-action:manipulation}#audio-unlock[hidden]{display:none}body[data-time-of-day=night] #audio-unlock{background:#293349;color:#e4e7f1}#map-settings{margin:4px 0;font-size:12px;color:#5a3b2a}#map-settings summary{cursor:pointer;text-align:center;padding:5px;font-weight:600}.map-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 0}#map-settings button{border:1px solid #bd98755c;border-radius:6px;padding:6px 10px;background:#ffffffb3;color:inherit;cursor:pointer}#map-settings button:disabled{opacity:.5;cursor:default}#map-settings button[data-active=true]{background:#ca4e36;color:#fff}#map-list{display:grid;gap:6px;max-height:220px;overflow-y:auto}.map-row{display:grid;grid-template-columns:72px minmax(0,1fr) 58px;gap:6px;align-items:center}.map-row input{min-width:0;width:100%;border:1px solid #bd987577;border-radius:6px;padding:6px;background:#fff9;color:inherit;font:inherit}.map-row span{text-align:center;font-size:11px}#map-status{padding:6px 0;margin:0;text-align:center;font-size:11px}body[data-time-of-day=night] #map-settings{color:#e0e7f2}body[data-time-of-day=night] #map-settings button,body[data-time-of-day=night] #map-settings input{background:#30425e;border-color:#7189ab}body[data-time-of-day=night] #map-settings button[data-active=true]{background:#ca4e36}#music-settings{margin:4px 0;font-size:12px;color:#5a3b2a}#music-settings summary{cursor:pointer;text-align:center;padding:5px;font-weight:600}.music-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px}.music-controls label{display:flex;align-items:center;gap:5px}.music-controls button{border:1px solid #bd98755c;border-radius:16px;padding:5px 12px;background:#ffffffb3;color:#5a3b2a;cursor:pointer}#music-minutes{width:58px;border:1px solid #bd987577;border-radius:6px;padding:3px;background:#fff9;color:#5a3b2a}#music-track{width:100%;text-align:center;font-size:11px}body[data-time-of-day=night] #music-settings,body[data-time-of-day=night] #overlay-settings{color:#e0e7f2}body[data-time-of-day=night] #music-settings summary,body[data-time-of-day=night] #music-track{color:#ffad87}body[data-time-of-day=night] #music-settings .music-controls button{background:#30425e;border-color:#ef704c;color:#edf2fa}body[data-time-of-day=night] #music-settings .music-controls button:hover{background:#415778}body[data-time-of-day=night] #music-minutes{background:#30425e;border-color:#7189ab;color:#edf2fa}body[data-time-of-day=night] #music-settings input[type=checkbox],body[data-time-of-day=night] #overlay-settings input[type=checkbox]{accent-color:#ef704c}.music-world-overlay{position:fixed;inset:0;z-index:9;pointer-events:none;overflow:hidden;contain:layout style}.boat-world-overlay{z-index:10}.music-speech,.music-notes{position:absolute;top:0;left:0}.music-speech{width:max-content;max-width:min(250px,76vw);padding:9px 13px;border:1.5px solid #604b39;border-radius:14px;background:#fffdf2f5;color:#38291f;font:600 14px/1.4 Fredoka,sans-serif;text-align:center;box-shadow:0 2px 6px #0003}.music-speech:after{content:"";position:absolute;left:calc(50% - 6px);top:100%;border:6px solid transparent;border-top-color:#604b39}.music-notes{width:53px;height:72px}.music-notes svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 1px #342511)}.music-notes .music-note{opacity:0;animation:music-note-rise 1.9s ease-out infinite;animation-delay:calc(var(--music-phase) + var(--note-offset))}.music-notes[hidden],.music-speech[hidden]{display:none!important}@keyframes music-note-rise{0%{transform:translate(-7px,13px);opacity:0}18%{opacity:1}62%{opacity:1}to{transform:translate(7px,-12px);opacity:0}}@media(prefers-reduced-motion:reduce){.music-notes .music-note{animation:none;opacity:1}}#scene>canvas{position:absolute;inset:0}#scene>.map-transition-snapshot{width:100%;height:100%;z-index:20;pointer-events:none}#map-transition{position:fixed;inset:0;z-index:90;display:flex;justify-content:center;align-items:flex-start;padding:max(24px,env(safe-area-inset-top)) 18px 18px;cursor:progress}#map-error{position:fixed;top:max(24px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:91;display:flex;align-items:center;gap:12px;width:min(520px,90vw);padding:14px 18px;border-radius:12px;background:#fff1e9;border:1px solid #c8453a;color:#6e281e;box-shadow:0 8px 35px #172d3930;font-size:13px}#map-error button{flex-shrink:0;border:1px solid currentColor;border-radius:6px;padding:5px 8px;cursor:pointer}.map-transition-card{width:min(420px,90vw);display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:16px 20px;border:1px solid #bd987577;border-radius:14px;background:#fbf4e2ee;color:#5a3b2a;box-shadow:0 8px 35px #172d3930;backdrop-filter:blur(12px);font-size:13px}.map-transition-card strong{grid-column:1 / -1;font-size:12px}.map-transition-bar{align-self:center;height:7px;overflow:hidden;background:#bd98753b;border-radius:8px}.map-transition-bar span{display:block;height:100%;width:0;background:#ca4e36;border-radius:inherit;transition:width .18s ease-out}.map-transition-card output{min-width:36px;text-align:right;font-variant-numeric:tabular-nums}body[data-time-of-day=night] .map-transition-card{background:#293349ee;color:#edf2fa;border-color:#7189ab}
