:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#10151d;--text:#e4e9ef;--muted:#a2afbe;--accent:#a5e3bc}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.7;overflow-x:hidden}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer;background:var(--accent);color:#10151d;border:0;padding:10px 18px}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header,main,footer{width:min(100% - 40px,960px);margin-inline:auto}.site-header{border-bottom:1px solid #2a3543;flex-wrap:wrap;justify-content:space-between;gap:16px 40px;padding-block:24px;display:flex}.brand,.eyebrow,.game-heading span,.section-number{letter-spacing:.08em;font-family:monospace}.brand{font-weight:700;text-decoration:none}nav{flex-wrap:wrap;gap:8px 20px;font-size:14px;display:flex}nav a{color:var(--muted);text-decoration:none}.intro{padding:64px 0 36px}h1{letter-spacing:-.04em;margin:16px 0;font-size:clamp(30px,5vw,48px);line-height:1.3}h2{margin:0 0 10px;font-size:22px}p{color:var(--muted)}.eyebrow{color:var(--accent);font-size:12px}.intro>a{font-size:14px}.game-section{margin-block:24px 64px}.game-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.game-heading h2{font-size:16px}.game-heading span{color:var(--muted);font-size:11px}.game-frame{background:#17212e;border:1px solid #536174;padding:8px;position:relative}.game-host{aspect-ratio:2;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;overflow:hidden}.game-host canvas{max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.game-status{pointer-events:none;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.controls{font-size:12px}.portfolio-section{border-top:1px solid #2a3543;grid-template-columns:48px 1fr;gap:16px;padding:32px 0;scroll-margin-top:24px;display:grid}.section-number{color:var(--accent);padding-top:4px;font-size:12px}.portfolio-section p{margin:0}footer{color:var(--muted);border-top:1px solid #2a3543;padding-block:24px;font-size:12px}dialog{width:min(480px,100% - 32px);color:var(--text);background:#17212e;border:1px solid #536174;padding:28px}dialog::backdrop{background:#05090dcc}.skip-link{z-index:10;background:#17212e;padding:8px 16px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}@media (max-width:600px){.intro{padding-top:36px}.portfolio-section{grid-template-columns:28px 1fr}}.dialogue-text{white-space:pre-line}.dialogue-choices{flex-wrap:wrap;gap:10px;display:flex}.dialogue-choices a{background:var(--accent);color:#10151d;padding:10px 18px;text-decoration:none}.dialogue-choices button:hover,.dialogue-choices a:hover{filter:brightness(1.12)}.dialogue-choices button[data-selected=true],.dialogue-choices a[data-selected=true]{outline:2px solid var(--accent);outline-offset:4px}.dialogue-choices button:active,.dialogue-choices a:active{filter:brightness(.88)}.game-hud{z-index:5;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.quest-items{pointer-events:none;gap:6px;display:flex}.quest-item{width:40px;height:40px;image-rendering:pixelated;background-repeat:no-repeat;display:block}.quest-item-cat{background:url(/assets/game/items/golden_cat_icon.png) 50%/contain no-repeat}.quest-item-kkokko{background-image:url(/assets/game/npc/npc_chicken.png);background-position:0 0;background-size:300% 400%}.hud-button{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;padding:0;line-height:0;display:grid}.hud-icon{object-fit:contain;width:28px;height:28px;image-rendering:pixelated;filter:drop-shadow(0 1px 2px #05090daa);transition:filter .12s ease-out;display:block}.hud-button:hover .hud-icon{filter:drop-shadow(0 1px 2px #05090daa)brightness(1.18)}.hud-button:active .hud-icon{scale:.92}.hud-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.name-entry{background:0 0;border:0;width:min(560px,100% - 32px);padding:0}.name-entry-inner{image-rendering:pixelated;aspect-ratio:946/598;text-align:center;background-repeat:no-repeat;background-size:100% 100%;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:14% 17% 16%;display:flex}.name-entry-inner h2{color:#4a3122;margin:0;font-size:15px}.name-entry-inner input{width:100%;font:inherit;text-align:center;color:#3a2a1c;background:#f6e6c6;border:2px solid #8b6b45;border-radius:4px;padding:10px 12px;font-size:15px}.name-entry-inner input:focus-visible{outline-offset:2px;outline:2px solid #b98b4f}.name-entry-hint{color:#6b553c;margin:0;font-size:11px}.name-entry-inner button{font:inherit;color:#2a1f14;cursor:pointer;background:#d8a85a;border:2px solid #7a5a33;border-radius:4px;padding:10px 28px;font-size:14px}.name-entry-inner button:disabled{opacity:.5;cursor:not-allowed}.shop-panel{width:min(560px,100% - 32px)}.shop-stock{flex-direction:column;gap:12px;margin:0 0 18px;padding:0;list-style:none;display:flex}.shop-stock li{display:block}.shop-card{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#1d2836;border:1px solid #2f3d4e;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.shop-card:hover{background:#223043;border-color:#6d8299}.shop-card[data-selected=true]{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;background:#223043}.shop-card:active{background:#1a2431}.shop-card[data-special=true]{background:#232a2c;border-color:#6b5a3a}.shop-card[data-special=true][data-selected=true]{border-color:var(--accent);background:#26312f}.shop-reward{letter-spacing:.08em;color:#c8a86b;align-self:center;font-size:10px}.shop-produce{flex:none}.shop-detail{flex:1;min-width:0;display:block}.shop-name{justify-content:space-between;gap:12px;margin:0 0 4px;font-size:14px;display:flex}.shop-price{color:var(--accent)}.shop-stack{color:var(--muted);margin:0;font-size:11px;display:block}.shop-note{color:var(--muted);margin:0 0 16px;font-size:12px}.shop-intro{margin-bottom:20px}.record-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(600px,100% - 32px);max-height:min(84vh,640px);padding:24px 28px;display:grid}.record-head h2{margin:0}.record-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c7b90 #10151d;padding-right:10px;overflow-y:auto}.record-body::-webkit-scrollbar{width:10px}.record-body::-webkit-scrollbar-track{background:#10151d;border:1px solid #2a3543}.record-body::-webkit-scrollbar-thumb{background:#6c7b90;border:1px solid #2a3543}.record-body::-webkit-scrollbar-thumb:hover{background:var(--accent)}.record-scroll-hint{color:var(--muted);margin:10px 0 0;font-size:11px}.record-body>.dialogue-text{margin-top:0}.record-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:12px;display:flex}.record-role{color:var(--accent)}.record-category{color:var(--muted)}.record-status{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;padding:1px 8px;font-size:11px}.record-section{margin-top:16px}.record-section h3{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;display:flex}.record-bullets{gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.record-foot{border-top:1px solid #2a3543;gap:12px;padding-top:14px;display:grid}.record-tech{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.record-tech li{color:var(--muted);border:1px solid #536174;padding:3px 9px;font-size:11px}.contact-list{grid-template-columns:auto 1fr;gap:6px 16px;margin:16px 0 0;font-size:14px;display:grid}.contact-list dt{color:var(--muted);font-size:12px}.contact-list dd{-webkit-user-select:text;user-select:text;margin:0}[data-game-mode=mobile]{--stick-ring:clamp(64px, 19vmin, 92px);--interact-size:clamp(52px, 14.5vmin, 70px);--touch-pad:13px;--control-gutter:calc(var(--stick-ring) + var(--touch-pad) * 2 + 8px)}[data-game-mode=mobile],[data-game-mode=mobile] body{overscroll-behavior:none;height:100%;overflow:hidden}[data-game-mode=mobile] .skip-link,[data-game-mode=mobile] .site-header,[data-game-mode=mobile] .intro,[data-game-mode=mobile] .game-heading,[data-game-mode=mobile] .controls,[data-game-mode=mobile] .portfolio-sections,[data-game-mode=mobile] footer{display:none}[data-game-mode=mobile] main,[data-game-mode=mobile] .game-section{width:100%;margin:0}[data-game-mode=mobile] .game-frame{border:0;padding:0;position:fixed;inset:0}[data-game-mode=mobile] .game-host{aspect-ratio:auto;width:100%;height:100%}[data-game-mode=mobile] .game-host canvas{width:100%;height:100%}.mobile-controls{z-index:6;pointer-events:none;position:fixed;inset:0}.mobile-stick,.mobile-interact{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.mobile-stick{left:calc(max(18px, env(safe-area-inset-left,0px)) - var(--touch-pad));bottom:calc(max(18px, env(safe-area-inset-bottom,0px)) - var(--touch-pad));width:calc(var(--stick-ring) + var(--touch-pad) * 2);height:calc(var(--stick-ring) + var(--touch-pad) * 2)}.mobile-stick-ring{width:var(--stick-ring);height:var(--stick-ring);opacity:.4;background:#0d141d;border:2px solid #8fa3b8;border-radius:50%;place-items:center;transition:opacity .12s ease-out;display:grid}.mobile-stick[data-active=true] .mobile-stick-ring{opacity:.62}.mobile-stick-thumb{background:#a5e3bc;border:2px solid #d8e4ef;border-radius:50%;width:40%;height:40%;translate:0}.mobile-interact{right:calc(max(18px, env(safe-area-inset-right,0px)) - var(--touch-pad));bottom:calc(max(22px, env(safe-area-inset-bottom,0px)) - var(--touch-pad));width:calc(var(--interact-size) + var(--touch-pad) * 2);height:calc(var(--interact-size) + var(--touch-pad) * 2)}.mobile-interact-glyph{width:var(--interact-size);height:var(--interact-size);font-family:monospace;font-size:calc(var(--interact-size) * .4);letter-spacing:.04em;color:#10151d;opacity:.55;background:#a5e3bc;border:3px solid #17212e;border-radius:50%;place-items:center;font-weight:700;transition:opacity .12s ease-out,scale 80ms ease-out;display:grid}.mobile-interact[data-pressed=true] .mobile-interact-glyph{opacity:.85;scale:.94}.orientation-guard{z-index:20;text-align:center;touch-action:none;background:#0a0f16e8;align-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.orientation-icon{margin:0;font-size:34px;line-height:1}.orientation-title{color:var(--text);margin:0;font-size:15px}.orientation-text{margin:0;font-size:12px;line-height:1.6}@media (orientation:landscape){[data-game-mode=mobile] dialog{width:min(560px, calc(100% - var(--control-gutter) * 2 - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-width:none;max-height:calc(100dvh - 16px);padding:clamp(10px,3.2vmin,18px) clamp(12px,3.6vmin,22px);overflow:hidden}[data-game-mode=mobile] dialog .eyebrow{font-size:clamp(9px,2.6vmin,11px)}[data-game-mode=mobile] dialog h2{margin-bottom:6px;font-size:clamp(14px,4vmin,18px)}[data-game-mode=mobile] dialog .dialogue-text,[data-game-mode=mobile] dialog .shop-note{margin:0 0 8px;font-size:clamp(12px,3.3vmin,15px);line-height:1.5}[data-game-mode=mobile] .dialogue-choices{gap:8px}[data-game-mode=mobile] .dialogue-choices button,[data-game-mode=mobile] .dialogue-choices a,[data-game-mode=mobile] dialog>button{align-items:center;min-height:44px;padding:4px clamp(12px,3.4vmin,18px);font-size:clamp(12px,3.2vmin,14px);display:inline-flex}[data-game-mode=mobile] dialog:not(.record-panel):not(.install-panel):not(.name-entry):not(.mobile-start){flex-direction:column;display:flex}[data-game-mode=mobile] dialog>.dialogue-text,[data-game-mode=mobile] dialog>.shop-stock,[data-game-mode=mobile] dialog>.contact-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c7b90 #10151d;flex:auto;min-height:0;overflow-y:auto}[data-game-mode=mobile] dialog>.dialogue-choices,[data-game-mode=mobile] dialog>button{flex:none;align-self:flex-start}[data-game-mode=mobile] .record-panel{gap:10px;max-height:calc(100dvh - 16px);padding:clamp(10px,3.2vmin,18px) clamp(12px,3.6vmin,22px)}[data-game-mode=mobile] .record-section h3,[data-game-mode=mobile] .record-bullets,[data-game-mode=mobile] .record-meta{font-size:clamp(11px,3vmin,13px)}[data-game-mode=mobile] .record-foot{gap:8px;padding-top:10px}[data-game-mode=mobile] .shop-stock{gap:8px;margin-bottom:10px}[data-game-mode=mobile] .shop-card{gap:10px;padding:8px 10px}[data-game-mode=mobile] .shop-name{margin-bottom:2px;font-size:clamp(12px,3.2vmin,14px)}[data-game-mode=mobile] .shop-stack{font-size:clamp(10px,2.8vmin,11px)}[data-game-mode=mobile] .name-entry{width:min(430px,100% - 32px)}[data-game-mode=mobile] .game-hud{top:max(10px, env(safe-area-inset-top,0px));right:max(10px, env(safe-area-inset-right,0px))}[data-game-mode=mobile] .hud-button{width:44px;height:44px}}.mobile-start{width:min(460px,100% - 32px);padding:20px 22px}.mobile-start h2{margin-bottom:8px;font-size:17px}.install-panel{width:min(520px,100% - 32px);max-height:min(100dvh - 24px,560px);padding:16px 20px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));grid-template-rows:auto minmax(0,1fr) auto;gap:12px;display:grid}.install-head h2{margin:0;font-size:17px}.install-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c7b90 #10151d;overflow-y:auto}.install-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{grid-template-columns:26px 1fr;gap:10px;display:grid}.install-step-no{color:#10151d;background:var(--accent);border-radius:50%;place-items:center;width:26px;height:26px;font-family:monospace;font-size:12px;display:grid}.install-step-body h3{margin:3px 0 4px;font-size:14px}.install-step-body p{margin:0;font-size:13px}.install-shot{object-fit:contain;border:1px solid #2a3543;border-radius:6px;width:auto;max-width:min(320px,100%);height:auto;max-height:38vh;margin-top:8px;display:block}.install-foot{border-top:1px solid #2a3543;margin:0;padding-top:12px}.inventory-guide{z-index:7;pointer-events:none;position:fixed;inset:0}.inventory-guide-halo{border:2px solid var(--accent);border-radius:10px;animation:1.4s ease-in-out infinite inventory-guide-pulse;position:fixed}.inventory-guide-note{max-width:min(260px,100vw - 24px);color:var(--text);text-align:right;background:#17212ef2;border:1px solid #c8a86b;flex-direction:column;align-items:flex-end;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex;position:fixed}.inventory-guide-note button{pointer-events:auto;min-height:36px;padding:4px 16px;font-size:12px}@keyframes inventory-guide-pulse{50%{border-color:#fff4cf}}@media (prefers-reduced-motion:reduce){.inventory-guide-halo{animation:none}}.quest-item-button{cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:2px;line-height:0;transition:filter .12s ease-out;display:block}.quest-item-button:hover{filter:brightness(1.15)}.quest-item-button:active{scale:.94}.quest-item-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quest-items{pointer-events:none}.item-detail,.quest-complete{background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}.item-detail-inner,.quest-complete-inner{image-rendering:pixelated;background-repeat:no-repeat;background-size:100% 100%;position:relative;container-type:inline-size}.panel-region{justify-content:center;align-items:center;display:flex;position:absolute}.panel-region>*{color:inherit;text-align:center;white-space:pre-line;margin:0;line-height:1.12}.panel-action{width:100%;height:100%;font:inherit;color:#f6ead2;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.5em;padding:0;transition:filter .14s ease-out,scale .14s ease-out;display:flex}.panel-action-icon{object-fit:contain;flex:none;width:1.5em;height:1.5em}.panel-action:hover,.panel-action:active,.panel-action:focus-visible,.panel-action[data-selected]{filter:brightness(1.16)drop-shadow(0 0 3px #ffd98a66);outline:none;scale:1.02}.panel-action:focus-visible{text-underline-offset:.25em;text-decoration:underline}.item-detail{width:min(360px,100vw - 32px)}.item-detail-inner{aspect-ratio:1024/1536}.item-detail-title-region{color:#5b4228;letter-spacing:.06em;font-size:6.6cqw;inset:9.7% 20% 81.8%}.item-detail-image-region{inset:22.2% 34.2% 59.2%}.item-detail-sprite{image-rendering:pixelated;background-repeat:no-repeat;flex:none;display:block}.item-detail-name-region{color:#4a3122;font-size:7.4cqw;font-weight:700;inset:43% 22% 49.3%}.item-detail-description-region{color:#6b553c;font-size:3.5cqw;line-height:1.55;inset:51.6% 21.5% 26.3%}.item-detail-action-region{font-size:5cqw;inset:75.1% 31% 18%}@media (max-height:560px){.item-detail{width:auto}.item-detail-inner{--panel-h:min(95svh, 470px);height:var(--panel-h);width:calc(var(--panel-h) * 1024 / 1536)}.item-detail-title-region,.item-detail-name-region{font-size:7.6cqw}.item-detail-description-region{font-size:4.5cqw;line-height:1.45}}dialog.quest-complete,[data-game-mode=mobile] dialog.quest-complete{width:auto;max-width:none;height:auto;max-height:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:0 0;border:0;margin:0;position:fixed;inset:0;overflow:visible}dialog.quest-complete[open],[data-game-mode=mobile] dialog.quest-complete[open]{justify-content:center;align-items:center;display:flex}.quest-complete-inner{aspect-ratio:1536/1024;width:min(720px,100dvw - 24px,150dvh - 36px)}.quest-complete-title-region{letter-spacing:.1em;color:#5b4228;font-size:2.9cqw;inset:36.5% 30% 55.5%}.quest-complete-scroll{overscroll-behavior:contain;text-align:left;color:#dcecf4;scrollbar-width:thin;scrollbar-color:#7fb6c8aa transparent;flex-direction:column;gap:1cqw;display:flex;position:absolute;inset:48% 26% 23.5%;overflow-y:auto}.quest-complete-scroll::-webkit-scrollbar{width:4px}.quest-complete-scroll::-webkit-scrollbar-thumb{background:#7fb6c8aa;border-radius:2px}.quest-complete-scroll::-webkit-scrollbar-track{background:0 0}.quest-complete-scroll:focus-visible{outline:none}.quest-complete-scroll p,.quest-complete-scroll li{color:inherit}.quest-complete-lead{text-align:center;color:#f0e4c8;margin:0;font-size:1.95cqw}.quest-complete-guide{flex-direction:column;gap:.7cqw;margin:0;padding:0;list-style:none;display:flex}.quest-complete-guide li,.quest-complete-restart{white-space:pre-line;grid-template-columns:3.2cqw 1fr;align-items:center;column-gap:1.4cqw;margin:0;font-size:1.8cqw;line-height:1.45;display:grid}.quest-complete-restart{color:#b9d4e2;margin-top:1.4cqw;font-size:1.55cqw}.quest-complete-icon{object-fit:contain;width:3.2cqw;height:3.2cqw}.quest-scroll-hint{aspect-ratio:120/172;object-fit:contain;height:13.5%;image-rendering:pixelated;pointer-events:none;opacity:1;transition:opacity .2s ease-out;animation:1.1s ease-in-out infinite scroll-hint-bob;position:absolute;top:52%;right:27%}.quest-scroll-hint[data-spent]{opacity:0}@keyframes scroll-hint-bob{50%{translate:0 3px}}@media (prefers-reduced-motion:reduce){.quest-scroll-hint{animation:none}}.quest-complete-action-region{font-size:2.1cqw;inset:80% 37.5% 11%}.quest-complete::backdrop,.item-detail::backdrop{animation:.36s ease-out both overlay-dim}.quest-complete-inner,.item-detail-inner{animation:.42s cubic-bezier(.22,.68,.36,1) both panel-rise}@keyframes overlay-dim{0%{opacity:0}}@keyframes panel-rise{0%{opacity:0;scale:.94}}@media (prefers-reduced-motion:reduce){.quest-complete::backdrop,.item-detail::backdrop,.quest-complete-inner,.item-detail-inner{animation-duration:1ms}}
