@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--text: #e8e5d6;--bg: #080f1a;--stage-bg: #101e32;--muted: #b2c5c6;--muted-2: #cfdfcd;--muted-3: #d0e0ca;--muted-4: #b5c9c7;--heading: #eadfbe;--accent: #96d8bf;--accent-strong: #a6dfc8;--accent-contrast: #132f2d;--accent-border: #c7eed5;--button-bg: #172b36;--button-border: #627b7b;--button-shadow: #0a1a25;--disabled-bg: #2c4441;--disabled-border: #72887c;--disabled-text: #bdcfc5;--focus: #f2d296;--panel-bg: #162735;--panel-border: #78958d;--panel-shadow: #071922;--backdrop: rgb(7 16 25 / 78%);--divider: #40585d;--skills-bg: #233c44;--shadow-text: #17332e;font-family:IBM Plex Mono,monospace;color:var(--text);background:var(--bg);color-scheme:dark;font-synthesis:none}:root[data-theme=light]{--text: #1f2d27;--bg: #dcefe3;--stage-bg: #8fd3ec;--muted: #3d5a50;--muted-2: #2f4a40;--muted-3: #2b443b;--muted-4: #3a5b50;--heading: #22463a;--accent: #178f67;--accent-strong: #11795a;--accent-contrast: #f3fff9;--accent-border: #0f5c40;--button-bg: #ffffff;--button-border: #9ec2b2;--button-shadow: #b6d3c4;--disabled-bg: #e1ece5;--disabled-border: #bcd1c4;--disabled-text: #76948a;--focus: #c3621a;--panel-bg: #ffffff;--panel-border: #9ec2b2;--panel-shadow: #b6d3c4;--backdrop: rgb(185 215 200 / 65%);--divider: #cce3d8;--skills-bg: #e6f3eb;--shadow-text: transparent;color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}#root{height:100vh;height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button,a.primary{font:inherit;font-size:13px;color:var(--text);border:2px solid var(--button-border);background:var(--button-bg);padding:12px 18px;cursor:pointer;text-decoration:none;box-shadow:3px 3px 0 var(--button-shadow);min-height:44px}button:active,a.primary:active{transform:translate(2px,2px);box-shadow:none}button:disabled{cursor:default;color:var(--disabled-text);background:var(--disabled-bg);border-color:var(--disabled-border);box-shadow:none}a{color:var(--accent-strong);text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h2:focus{outline:none}.game-stage{position:relative;width:100%;height:100%;overflow:hidden;background:var(--stage-bg);container-type:size}.world-surface{position:absolute;top:0;right:0;bottom:0;left:0}.world-canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated;pointer-events:none}.identity{position:absolute;top:4%;left:3%;pointer-events:none}.identity>p{font-size:clamp(8px,.7vw,12px);color:var(--muted);letter-spacing:.13em;margin:0}.identity h1{font-family:"Press Start 2P",monospace;font-size:clamp(18px,2.3vw,42px);line-height:1.6;margin:15px 0 12px;letter-spacing:-.04em;color:var(--heading)}.identity h1 span{color:var(--accent)}.identity p.subtitle{font-size:clamp(10px,.8vw,14px);letter-spacing:0}.game-menu{position:absolute;right:3%;top:4%;display:flex;gap:10px}.game-menu button{display:flex;gap:18px;align-items:center}.theme-toggle{font-size:17px!important;gap:0!important}.location{position:absolute;left:3%;bottom:12%;pointer-events:none;text-shadow:2px 2px var(--shadow-text)}.location small{font-size:11px;color:var(--muted-2);letter-spacing:.12em}.location p{font-family:"Press Start 2P",monospace;font-size:clamp(10px,1vw,17px);line-height:1.7;margin:10px 0 0}.movement{position:absolute;left:3%;bottom:4%;display:flex;gap:8px}.movement button{width:54px;height:54px;padding:0;font-size:23px;touch-action:none;-webkit-user-select:none;user-select:none}.instructions{position:absolute;bottom:5%;left:50%;transform:translate(-50%);font-size:clamp(9px,.72vw,13px);color:var(--muted-3);margin:0;white-space:nowrap}.instructions b{margin:0 10px;font-weight:400}.touch{display:none}.interact{position:absolute;right:3%;bottom:4%;background:var(--accent);color:var(--accent-contrast);border-color:var(--accent-border);display:flex;align-items:center;gap:13px;min-height:54px;font-weight:600}kbd{font-family:inherit;border:1px solid currentColor;padding:3px 6px;font-size:11px}.notice,.load-error{position:absolute;top:25%;left:15%;right:15%;background:var(--panel-bg);padding:20px;border:2px solid var(--button-border)}.notice{font-size:12px}.game-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(1152px,100vw - 24px);height:fit-content;max-width:none;max-height:calc(100dvh - 20px);padding:0 5px 5px;border:0;box-shadow:none;background:transparent;color:#ecdfbd;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b79862 transparent}.game-dialog::backdrop{background:#061018ad}.game-dialog :focus-visible{outline:3px solid #eebb65;outline-offset:3px}.game-dialog h2:focus{outline:none}.game-dialog button,.game-dialog a{touch-action:manipulation}.panel-top{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 auto 4px;width:94%}.section-nav{display:flex;flex-wrap:wrap;gap:3px;margin-right:auto}.section-nav button{font-size:12px;padding:8px 13px}.section-nav button[aria-current=page]{color:#ffdfa0;text-decoration:underline;text-underline-offset:5px}.game-dialog .close-panel{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:3px 10px}.close-panel>span:first-child{font-size:27px;line-height:1}.close-label{font-size:10px}.png-frame,.game-menu button,.movement button,.interact,.game-dialog button:not(.art-region):not(.journal-entry),.letter-action{border:12px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 12px / 0 stretch;background-color:#19323b;background-clip:padding-box;color:#ecdfbd;box-shadow:none}.game-menu button,.movement button,.interact{border-width:8px;border-image-width:8px}.game-menu button{padding:7px 13px}.movement button{padding:0}.interact{padding:7px 15px}.game-dialog button:active{transform:translateY(1px)}.game-dialog button:disabled{opacity:.45;cursor:default}.game-dialog .section-nav button,.game-dialog .close-panel{border-width:7px;border-image-width:7px}.game-dialog button[aria-pressed=true]{outline:2px solid #e7c574;outline-offset:2px}.game-dialog a{color:#a5dac3}.game-dialog p,.game-dialog li{line-height:1.65}.game-dialog h2{font:600 25px/1.25 Georgia,serif}.game-dialog h3{font-size:20px;line-height:1.3;margin:10px 0}.portfolio-content{width:100%}.art-panel{width:min(100%,calc((100dvh - 100px)*1.5));aspect-ratio:384 / 256;position:relative;margin:0 auto;container-type:inline-size;background-size:100% 100%;background-repeat:no-repeat;image-rendering:pixelated}.section-skills .art-panel,.section-achievements .art-panel{width:min(100%,calc((100dvh - 325px)*1.5))}.section-contact .art-panel{width:min(100%,calc((100dvh - 160px)*1.5))}.art-region{position:absolute;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#9f8454 transparent}.game-dialog .art-region{font-size:clamp(12px,1.65cqw,18px)}.game-dialog h2.art-region{font:700 clamp(14px,2.7cqw,30px)/1.1 Georgia,serif;margin:0;overflow:hidden;display:flex;align-items:center}.game-dialog .art-region p{margin:0 0 .8em}.game-dialog .art-region h3{font:700 clamp(17px,2.45cqw,28px)/1.15 Georgia,serif;margin:.4em 0 .6em}.game-dialog .art-region small{font-size:.85em;display:block}.paper-content,.poster-body,.poster-title,.journal-title{color:#29403b}.paper-content{overflow-wrap:anywhere}.poster{background-image:url(/assets/ui/about.png)}.poster-title{left:18.75%;top:15.625%;width:61.979%;height:7.813%}.poster-photo{left:14.063%;top:30.859%;width:25.781%;height:43.359%;overflow:hidden}.poster-photo img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}.poster-body{left:45.573%;top:31.25%;width:40.104%;height:41.797%;padding-right:8px}.game-dialog .poster-link{left:46.354%;top:78.5%;width:35.417%;height:6.5%;display:grid;place-items:center;color:#203e37;font-weight:600;text-decoration:none;font-size:clamp(11px,1.6cqw,18px)}.inventory{background-image:url(/assets/ui/tools.png)}.inventory-title{left:14.85%;top:15.7%;width:69.5%;height:7%;color:#ebd6a1}.game-dialog .inventory-slot{top:32.8%;left:11.72%;width:11.2%;height:15.63%;min-height:0;border:0;background:transparent;padding:0;box-shadow:none;display:grid;grid-template-rows:minmax(0,1fr) 2.6em;gap:2px;overflow:visible;color:#c9e6d4;font-size:clamp(9px,1.1cqw,12px)}.inventory-slot-1,.inventory-slot-4{left:28.91%!important}.inventory-slot-2,.inventory-slot-5{left:46.09%!important}.inventory-slot-3,.inventory-slot-4,.inventory-slot-5{top:56.64%!important}.inventory-slot-art{width:100%;height:100%;min-height:0;display:grid;place-items:center;container-type:size}.inventory-slot-label{width:100%;min-width:0;align-self:center;font-size:inherit;line-height:1.3;text-align:center;overflow-wrap:anywhere;text-wrap:balance}.png-icon{display:block;width:64px;height:64px;max-width:80%;aspect-ratio:1;background-image:url(/assets/ui/tech-stack-v2.png);background-size:400% 400%;background-repeat:no-repeat;image-rendering:pixelated;flex-shrink:0}.inventory-slot .png-icon{width:min(64px,95cqw,95cqh);height:min(64px,95cqw,95cqh);max-width:none}.tool-monogram{font:600 clamp(15px,3cqw,30px)/1.2 "IBM Plex Mono",monospace;color:#a6d7c6}.inventory-detail{left:65.1%;top:31%;width:24.4%;height:45.9%;padding:5px}.inventory-detail .png-icon{margin-bottom:8px}.inventory-detail .tool-monogram{color:#365c4f;display:block;margin-bottom:8px}.inventory-note{left:11.72%;top:81.64%;width:46.36%;height:4.2%;font-size:clamp(9px,1.25cqw,13px)!important;margin:0;color:#b5d9c6}.journal{background-image:url(/assets/ui/experience.png)}.journal-title{left:12.24%;top:16%;width:31%;height:7%}.journal-entries{left:12%;top:29.3%;width:32%;height:43.36%}.game-dialog .journal-entry{width:100%;display:flex;flex-direction:column;gap:5px;text-align:left;color:#29403b;border:0;background:transparent;box-shadow:none;padding:10px 12px;font-size:inherit}.journal-entry[aria-pressed=true]{outline:none!important;background:#839d7133;box-shadow:inset 3px 0 #426654}.journal-entry span{font-size:.8em}.journal-detail{left:56.25%;top:18%;width:31.77%;height:56.64%;padding:8px}.game-dialog .journal-prev,.game-dialog .journal-next{top:81.64%;left:4.43%;width:6.77%;height:8.6%;border:0;background:transparent;box-shadow:none;padding:0;min-height:0}.game-dialog .journal-next{left:88.54%}.achievement-board{background-image:url(/assets/ui/achievements.png)}.achievement-title{left:12%;top:16.4%;width:45%;height:6.7%;color:#efd7a1;font-size:clamp(14px,2.4cqw,27px)!important}.game-dialog .achievement-pick{top:30.86%;left:12%;width:12.3%;height:34%;padding:0;border:0;background:transparent;box-shadow:none;min-height:0;color:#f8e8bc;overflow:visible;display:flex;align-items:end;justify-content:center}.game-dialog .achievement-pick-1{left:27.6%}.game-dialog .achievement-pick-2{left:43.5%}.achievement-pick strong{font-size:clamp(9px,1.15cqw,13px);line-height:1.25;width:125%;flex-shrink:0;padding:2px 0;background:#684a2f}.achievement-pick .medal-icon{display:none}.achievement-caption{left:13%;top:69%;width:18%;height:10%;color:#344839}.achievement-page{left:38%;top:69%;width:17%;height:10%;color:#344839}.achievement-caption span,.achievement-page span{font-size:.8em}.achievement-detail{left:65.6%;top:34%;width:23.5%;height:43%;padding:4px}.achievement-logo{width:min(100%,110px);max-height:80px;object-fit:contain;margin-top:12px;image-rendering:auto}.collection-toolbar,.collection-pagination,.services,.contact-links{width:92%;margin:8px auto}.collection-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:8px 12px}.collection-toolbar label{display:grid;gap:4px;font-size:11px}.collection-search{flex:1;min-width:160px}.game-dialog input,.game-dialog textarea,.game-dialog select{font:inherit;font-size:16px;color:#e8debe;background:#142930;border:1px solid #927e58;border-radius:0;width:100%;min-width:0;padding:7px 10px}.collection-toolbar select{max-width:200px}.collection-count{font-size:12px;padding-bottom:10px}.collection-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;font-size:12px}.game-dialog .collection-pagination button{border:0;background:transparent;padding:8px;font-size:12px}.services{padding:8px 16px;font-size:13px}.services summary{cursor:pointer;padding:3px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.services h3{font-size:16px}.project-collection{margin:12px auto;width:94%;padding:16px 24px;border-width:24px;border-image-width:24px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.game-dialog .project-card{display:flex;flex-direction:column;text-align:left;padding:0;width:100%;min-width:0}.project-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.project-card>span{display:grid;gap:10px;padding:14px}.project-card strong{font-size:15px;line-height:1.5}.project-card small{color:#b9d2c0;font-size:11px}.project-card span span{font-size:12px;line-height:1.5}.project-image{display:block;width:100%;margin:20px 0}.project-meta,.links{display:flex;flex-wrap:wrap;gap:12px 20px;margin:16px 0;font-size:13px}.skills{color:#b9d2c0}.contact-desk{background-image:url(/assets/ui/contact.png)}.contact-letter{left:11.46%;top:18.75%;width:41.93%;height:62.1%;padding:5px;display:flex;flex-direction:column;gap:9px}.game-dialog .contact-letter h2{font-size:clamp(18px,2.8cqw,30px);margin:0 0 3px}.game-dialog .contact-letter p{font-size:.85em;margin:0}.contact-letter label{display:grid;gap:3px;font-size:.85em}.game-dialog .contact-letter input,.game-dialog .contact-letter textarea{background:#fff6d63b;color:#29403b;padding:5px 7px}.contact-letter textarea{resize:vertical;min-height:65px}.game-dialog .letter-action{text-decoration:none;align-self:flex-start;padding:3px 8px;font-size:.85em;color:#f4e4b9}.contact-address{left:65.1%;top:70.3%;width:24.7%;height:10.2%;color:#29403b;overflow-wrap:anywhere;display:flex;flex-direction:column;justify-content:center}.game-dialog .contact-address a{color:#29403b;font-size:clamp(9px,1.1cqw,13px)}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;padding:9px 15px;font-size:13px}.utility-dialog{width:min(880px,100vw - 24px)}.utility-paper{padding:20px 30px;border-width:28px;border-image-width:28px}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-dialog .destinations button{display:grid;text-align:left;gap:8px;padding:12px}.destinations button>span{font-size:11px;color:#bed6c4}.help{display:grid;grid-template-columns:180px 1fr;gap:18px;font-size:14px;line-height:1.6}.help dd{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-reduced-motion: no-preference){.game-dialog[open] .art-panel{animation:inspect-object .16s ease-out}@keyframes inspect-object{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}}@media (hover: none){.desktop{display:none}.touch{display:inline}}@container (max-width: 900px){.identity h1{font-size:22px;margin:8px 0}.identity>p{font-size:8px}.identity .subtitle{display:none}.game-menu{gap:6px}.game-menu button{min-height:38px;padding:3px 7px;font-size:10px;gap:8px}.location{bottom:20%}.location small{font-size:8px}.location p{font-size:10px;margin-top:6px}.movement button{width:42px;height:42px}.interact{min-height:42px;font-size:10px;padding:3px 8px}.instructions{font-size:8px;bottom:6%}.instructions b{margin:0 4px}}@container (max-width: 600px){.identity h1{font-size:12px;margin:3px 0}.identity>p{display:none}.game-menu button{font-size:9px;min-height:32px;padding:2px 4px}.fullscreen{display:none!important}.location{bottom:28%}.location p{font-size:8px;margin-top:3px}.location small{font-size:6px}.movement button{width:36px;height:36px;min-height:36px;font-size:18px}.interact{min-height:36px;padding:2px 5px;font-size:9px}.interact kbd,.instructions{display:none}}@media (max-width: 700px),(max-height: 520px){.game-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.panel-top{width:100%;align-items:start}.section-nav{flex-wrap:nowrap;overflow-x:auto;padding:3px}.section-nav button{padding:5px 8px;font-size:11px;white-space:nowrap}.close-label{display:none}.game-dialog .art-panel{width:100%;aspect-ratio:auto;min-height:0;padding:16px;border:24px solid transparent;border-image:url(/assets/ui/about.png) 32 / 24px / 0 stretch;background-image:none;background-color:#ead9ad;background-clip:padding-box;display:grid;gap:18px;color:#29403b}.game-dialog .art-region{position:static;width:auto;height:auto;min-height:0;overflow:visible;font-size:14px}.game-dialog h2.art-region{font-size:25px!important;margin:0;color:#29403b}.game-dialog .art-region h3{font-size:23px}.game-dialog .poster-photo{width:160px;justify-self:center;border:5px solid #375c51}.poster-body{padding:0}.game-dialog .poster-link{min-height:44px;background:#a3c8ab;padding:12px;font-size:14px}.tool-monogram{font-size:22px}.game-dialog .journal{grid-template-columns:1fr 1fr;border-image-source:url(/assets/ui/experience.png)}.journal-title,.journal-entries,.journal-detail{grid-column:1 / -1}.game-dialog .journal-detail{padding:10px}.game-dialog .journal-prev,.game-dialog .journal-next{height:44px;width:44px;background-image:url(/assets/ui/experience.png);background-size:640px auto;background-position:-28px -348px}.game-dialog .journal-next{justify-self:end;background-position:-566px -348px}.game-dialog .achievement-board{border-image-source:url(/assets/ui/achievements.png);background-color:#8e6a45;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.game-dialog .achievement-title{grid-column:1 / -1;color:#fff1c7!important}.game-dialog .achievement-pick{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:start}.achievement-pick strong{width:100%;font-size:10px;background:transparent}.achievement-pick .medal-icon{display:block;width:36px;height:48px;flex-shrink:0;background-image:url(/assets/ui/medals.png);background-size:300% 100%;image-rendering:pixelated}.medal-icon--silver{background-position:50% 0}.medal-icon--gold{background-position:100% 0}.achievement-caption,.achievement-page{display:none}.game-dialog .achievement-detail{grid-column:1 / -1;background:#ead9ad;padding:18px}.game-dialog .contact-desk{border-image-source:url(/assets/ui/contact.png)}.game-dialog .contact-letter{padding:0;gap:12px}.game-dialog .contact-letter h2{font-size:25px}.game-dialog .contact-letter input,.game-dialog .contact-letter textarea{padding:10px}.game-dialog .contact-address{gap:8px}.game-dialog .contact-address a{font-size:12px}.collection-toolbar,.collection-pagination,.contact-links,.services{width:100%}.collection-toolbar{gap:8px}.collection-search{flex-basis:100%}.collection-toolbar select{max-width:100%}.collection-count{margin-left:auto}.game-dialog .collection-pagination button{font-size:11px;padding:5px}.collection-pagination{font-size:11px}.project-collection{width:100%;padding:12px;border-width:18px;border-image-width:18px}.project-grid,.service-grid,.destinations{grid-template-columns:1fr}.utility-paper{padding:15px;border-width:18px;border-image-width:18px}.help{display:block}.help dt{margin:18px 0 4px}}.game-stage:has(.game-dialog[open])>:is(.identity,.game-menu,.location,.movement,.instructions,.interact){visibility:hidden}@media (min-width: 701px) and (min-height: 521px){.game-dialog .poster-body{font-size:clamp(12px,1.25cqw,15px)}.game-dialog .poster-body p{line-height:1.55}.game-dialog .poster-body h3{font-size:clamp(19px,2.25cqw,26px)}}html{-webkit-text-size-adjust:100%}.touch-controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;color:#e8d8af}.touch-controls.controls-disabled{visibility:hidden}.joystick-wrap{position:absolute;left:max(18px,env(safe-area-inset-left,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));display:grid;justify-items:center;gap:7px}.touch-controls button,.portrait-continue{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:12px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 12px / 0 stretch;background:#19323b;background-clip:padding-box;color:#e8d8af;box-shadow:none}.touch-controls button{pointer-events:auto}.touch-controls .joystick{--pad-size: clamp(100px, 26dvh, 132px);position:relative;width:var(--pad-size);height:var(--pad-size);display:grid;place-items:center;padding:0;touch-action:none}.joystick:focus-visible{outline:3px solid #eebb65;outline-offset:4px}.touch-controls .joystick:active{transform:none}.joystick-axis{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:2px;color:#b6c7b6;font-size:17px;pointer-events:none}.joystick-thumb{width:46px;height:46px;display:grid;place-items:center;border:8px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 8px / 0 stretch;background:#56766b;background-clip:padding-box;color:#f1d594;font-size:22px;pointer-events:none;will-change:transform}.joystick.is-dragging .joystick-thumb{background-color:#729987}.touch-control-label{font-size:11px;color:#f2e4c5;text-shadow:1px 1px #13282b}.touch-actions{position:absolute;right:max(18px,env(safe-area-inset-right,0px));bottom:max(22px,calc(env(safe-area-inset-bottom,0px) + 10px));display:flex;align-items:end;gap:12px}.touch-actions button{display:grid;place-items:center;gap:3px;padding:5px 8px;font-size:11px;touch-action:manipulation;min-height:72px;min-width:72px}.touch-actions button>span:first-child{font-size:25px;line-height:1}.touch-actions .touch-explore{min-width:92px}.touch-actions button:disabled{color:#b4beb0;opacity:.55}.touch-actions button:active{transform:translateY(2px);background-color:#3f6357}.touch-game .instructions{display:none}.touch-game .game-menu{top:max(12px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}.touch-game .game-menu button{min-width:44px;min-height:44px;padding:4px 8px}.touch-game .sound-label{display:none}.touch-game .identity{top:max(12px,env(safe-area-inset-top,0px));left:max(14px,env(safe-area-inset-left,0px))}.touch-game .identity h1{font-size:clamp(12px,2vw,22px);margin:3px 0}.touch-game .identity>p{display:none}.touch-game .location{left:50%;bottom:14px;transform:translate(-50%);text-align:center}.touch-game .location small{font-size:8px}.touch-game .location p{font-size:9px;margin-top:5px}.touch-game .fullscreen{display:none}.touch-game.inspection-open>:is(.identity,.game-menu,.location){visibility:hidden}.rotation-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);padding:20px 16px 16px;border:24px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 24px / 0 stretch;background:#19323b;background-clip:padding-box;color:#ebd9ae;text-align:center;overflow-y:auto;overscroll-behavior:contain}.rotation-dialog::backdrop{background:#061018eb}.rotation-art{width:115px;height:96px;margin:0 auto 12px;color:#a8d5bc}.rotation-art svg{display:block;width:100%;height:100%}.rotation-dialog h2{font:700 25px/1.2 Georgia,serif;margin:0 0 16px}.rotation-dialog p{font-size:14px;line-height:1.6}.rotation-dialog .rotation-hint{font-size:12px;color:#b5cbbf}.portrait-continue{min-height:48px;padding:8px;margin-top:8px;font-size:12px}@media (any-pointer: coarse){.game-dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 12px);width:min(1152px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 16px))}.game-dialog .section-nav button,.game-dialog .close-panel{min-height:44px;min-width:44px}.game-dialog input,.game-dialog select,.game-dialog textarea{font-size:16px}}@media (orientation: portrait){.touch-game .location{bottom:8px}.touch-controls .joystick{--pad-size: 116px}.touch-actions{gap:8px}}@media (max-height: 380px) and (orientation: landscape){.touch-controls .joystick{--pad-size: 94px}.touch-control-label{display:none}.touch-actions button{min-height:64px;min-width:64px}.touch-game .location{display:none}}.game-menu .sound-toggle{gap:6px}.sound-toggle svg{flex:0 0 20px}.audio-settings{border:1px solid #827657;padding:16px;margin:22px 0 0;display:grid;gap:12px}.audio-settings legend{padding:0 8px;color:#f4d694}.audio-settings label{display:flex;align-items:center;gap:10px;min-height:44px}.audio-settings input{accent-color:#ddb873}.audio-settings input[type=checkbox]{width:22px;height:22px}.audio-settings input[type=range]{width:100%;min-height:44px;padding:0}.audio-settings output{margin-left:auto}.audio-settings p{font-size:12px;line-height:1.7;margin:0}@media (max-width: 1000px){.sound-label{display:none}}@media (max-width: 600px){.game-menu{top:max(64px,calc(env(safe-area-inset-top,0px) + 54px));right:max(14px,env(safe-area-inset-right,0px))}.touch-game .game-menu{top:max(50px,calc(env(safe-area-inset-top,0px) + 42px))}.game-menu .fullscreen,.sound-label{display:none}}@media (max-width: 700px),(max-height: 800px){.game-dialog .inventory{width:100%;aspect-ratio:auto;min-height:0;padding:16px;border:24px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 24px / 0 stretch;background-image:none;background-color:#19323b;background-clip:padding-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.game-dialog .inventory-title,.game-dialog .inventory-detail,.game-dialog .inventory-note{position:static;grid-column:1 / -1;width:auto;height:auto}.game-dialog h2.inventory-title{color:#efdcae;font-size:25px}.game-dialog .inventory-slot{position:static;width:100%;height:auto;aspect-ratio:auto;border:0;background:transparent;padding:0;min-height:0;grid-template-rows:auto minmax(2.6em,auto);gap:8px;font-size:12px;align-self:start}.inventory-slot-art{height:auto;aspect-ratio:1;border:8px solid transparent;border-image:url(/assets/ui/tools.png) 32 / 8px / 0 stretch;background:#142930;background-clip:padding-box}.inventory-slot-label{align-self:start}.inventory-slot .png-icon{width:min(64px,90cqw,90cqh);height:min(64px,90cqw,90cqh)}.game-dialog .inventory-detail{padding:16px;background:#ead9ad;font-size:14px}.game-dialog .inventory-note{font-size:12px!important;margin:0}}@media (max-width: 420px){.game-dialog .inventory{grid-template-columns:repeat(2,minmax(0,1fr))}}
