*{box-sizing:border-box}.island-page{max-width:1180px;margin:auto;padding:20px;color:#273d43}.breadcrumb{font-size:.85rem}.island-hero{padding:20px 0}.series-label{font-size:.75rem;letter-spacing:.15em;color:#42786a}.island-hero h1{font-size:clamp(1.5rem,4vw,2.2rem);margin:.4em 0}.island-hero p{line-height:1.8}.game-shell{border:1px solid #ccdcd6;border-radius:16px;overflow:hidden;background:#d8ece8;box-shadow:0 8px 28px #29493912}#game-frame{position:relative;height:700px;height: min(760px,90svh);min-height:530px;overflow:hidden;background:#8ebac2;color:#18332e}#scene{display:block;width:100%;height:100%;outline-offset:-4px}#game-frame button{font:inherit;min-width:44px;min-height:44px;border:1px solid #a6bdb4;border-radius:9px;padding:9px 14px;background:#fffef5;color:#213f38;cursor:pointer;line-height:1.3}#game-frame button:focus-visible{outline:3px solid #eeaf3c;outline-offset:2px}#game-frame button:disabled{opacity:.5;cursor:default}#game-frame .primary{background:#2d6654;color:#fff;border-color:#2d6654}.topbar{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:2}.hud{position:absolute;top:68px;left:12px;right:12px;pointer-events:none;font-size:.85rem}.hud>div,.hud>p{width:fit-content;max-width:100%;padding:7px 10px;background:#fffef0ed;border-radius:8px;margin:0 0 5px;box-shadow:0 1px 5px #18332e22}.vitals{display:flex;gap:12px;flex-wrap:wrap}.hud p{line-height:1.5}.message{position:absolute;left:12px;right:220px;bottom:170px;background:#fffef2ed;border-radius:8px;padding:9px 12px;margin:0;font-size:.9rem;pointer-events:none}.message:empty{display:none}.save-status{position:absolute;bottom:4px;left:12px;right:12px;margin:0;min-height:20px;font-size:.75rem;text-align:center;pointer-events:none;background:#fffef0db;border-radius:5px}.touch-controls{position:absolute;bottom:30px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;opacity:.95}.dpad{display:grid;grid-template-columns:48px 48px 48px;grid-template-rows:44px 44px 44px;gap:3px;text-align:center;align-items:center}.dpad button{padding:0!important;height:44px}.dpad button:first-child{grid-column:2}.dpad button:last-child{grid-column:2}.dpad span{font-size:.75rem}.action-pad{display:flex;flex-direction:column;gap:8px;align-items:end}.action-pad #interact{max-width:190px;min-width:110px;min-height:52px}.overlay{position:absolute;inset:0;background:#153c3c66;display:flex;justify-content:center;align-items:center;padding:12px;z-index:5}.dialog{background:#fffdf3;border:1px solid #d1d9c7;border-radius:14px;width:min(610px,100%);max-height:100%;display:flex;flex-direction:column;padding:20px;box-shadow:0 10px 40px #1235}.dialog h2{margin:0 0 12px;font-size:1.3rem}.dialog #dialog-body{overflow:auto;overscroll-behavior:contain;min-height:0;line-height:1.65}.dialog p{margin:0 0 12px}.actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px}.inventory-row,.recipe{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #dce1d3}.inventory-row>div,.recipe>div{display:flex;gap:6px;flex-wrap:wrap}.recipe{align-items:start}.recipe p{font-size:.85rem;margin:3px 0}.place-list{padding-left:22px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.guide-grid article{border:1px solid #dce4dc;border-radius:12px;background:#fff;padding:8px 16px}.guide-grid h2{font-size:1.1rem;margin:0 0 10px}.guide-grid p,.stage-note{line-height:1.85;font-size:.93rem;margin:0}.stage-note{padding-bottom:20px;color:#53665f}#game-frame.expanded{position:fixed;inset:0;z-index:10000;height:100svh;min-height:0;border-radius:0}body.island-expanded{overflow:hidden}[hidden]{display:none!important}
@media(max-width:600px){.island-page{padding:12px}.island-hero{padding:12px 0}.island-hero p{font-size:.9rem}.guide-grid{grid-template-columns:1fr;gap:12px}.guide-grid article{padding:8px 16px}#game-frame{height:84svh;min-height:540px}.topbar{top:8px;right:8px;left:8px;justify-content:end;gap:4px}#game-frame button{padding:8px 10px;font-size:.88rem}.hud{top:62px;left:8px;right:8px;font-size:.76rem}.vitals{gap:8px}.hud>div,.hud>p{padding:6px 8px}.touch-controls{left:8px;right:8px}.message{left:8px;right:8px;bottom:230px;font-size:.8rem}.dialog{padding:16px}.dialog h2{font-size:1.15rem}.inventory-row,.recipe{gap:6px}.recipe{flex-wrap:wrap}}
@media(max-height:500px) and (orientation:landscape){#game-frame{height:95svh;min-height:300px}.hud{top:8px;right:260px;font-size:.72rem}.hud>div,.hud>p{padding:4px 7px;margin-bottom:3px}.vitals{gap:8px}.message{left:170px;right:160px;bottom:32px;font-size:.75rem}.touch-controls{bottom:28px}.dialog{width:min(680px,100%);padding:12px}.dialog h2{margin-bottom:6px}.actions{padding-top:6px}}
body{margin:0;color:#253331;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif;font-size:16px;line-height:1.8;background:radial-gradient(circle at 50% 12%,rgba(142,223,193,.14),transparent 25%),linear-gradient(180deg,#fff 0%,#fbfffd 48%,#f6fbf8 100%);color-scheme:light}
#scene{touch-action:none}
#game-frame button{touch-action:manipulation}
#game-frame .touch-controls button{touch-action:none}
.dpad [data-hold="up"]{grid-row:1;grid-column:2}.dpad [data-hold="left"]{grid-row:2;grid-column:1}.dpad span{grid-row:2;grid-column:2}.dpad [data-hold="right"]{grid-row:2;grid-column:3}.dpad [data-hold="down"]{grid-row:3;grid-column:2}
.topbar{z-index:auto}#fullscreen{position:relative;z-index:6}
.material-shortage{color:#9a3425;font-weight:700}
#light-status{font-size:.75rem}
.topbar{flex-wrap:wrap;max-width:calc(100% - 24px)}
@media(max-width:600px){.topbar{max-width:calc(100% - 16px)}#game-frame .topbar button{padding:8px 7px;font-size:.8rem}}
@media(max-width:359px){.hud{top:108px}}
.vitals>span{min-width:64px}.vitals progress{display:block;width:72px;height:7px;margin-top:3px;accent-color:#2d6654}.quick-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.quick-guide article{padding:16px;border:1px solid #dce4dc;border-radius:12px;background:#fff}.quick-guide h2{font-size:1.1rem;margin:0 0 8px}.quick-guide p{margin:0}.guide-grid summary,.dialog summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.dialog details{width:100%}.dialog details p{margin-bottom:8px}.dialog article{border-bottom:1px solid #dce1d3}.recipe>div{min-width:0;flex:1}.inventory-row{flex-wrap:wrap}.inventory-row>details{flex-basis:100%}.recipe:has(>details){align-items:center}.recipe>details{flex:1}.recipe>p:empty{display:none}
@media(max-width:600px){.quick-guide{grid-template-columns:1fr;gap:12px}.vitals progress{width:64px}.hud{font-size:.85rem}.recipe p{font-size:.9rem}}
#attack-controls{display:flex;flex-direction:column;align-items:end;gap:3px;max-width:190px}#attack-help{font-size:.7rem;line-height:1.4;max-width:190px;padding:3px 6px;border-radius:5px;background:#fffef0ed;text-align:right}#combat-status{font-weight:700}
@media(max-height:500px) and (orientation:landscape){.action-pad{gap:4px}#attack-controls{gap:1px}#attack-help{font-size:.65rem}.action-pad #interact{min-height:44px}}
#game-frame.has-combat-controls .message{right:220px}
#throw-stone{font-size:.85rem}.inside-shelter #throw-stone{display:none}
.inside-shelter.has-visitor #interact{display:block}
#shelter-controls{display:flex;flex-direction:column;gap:6px;align-items:end}.inside-shelter #run,.inside-shelter #interact{display:none}.inside-shelter .message{right:220px}#shelter-status{font-weight:700}
@media(max-width:600px){.inside-shelter .message{right:8px;bottom:240px}}
@media(max-width:600px){#game-frame.has-combat-controls .message{right:8px;bottom:290px}}
@media(max-height:500px) and (orientation:landscape){.hud{top:64px;left:174px;right:170px}}
#game-frame .objective-brief{display:block;max-width:min(100%,36rem);min-height:44px;margin:0 0 5px;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;text-align:left;font-size:inherit;font-weight:400;background:#fffef0c9;border-color:#a6bdb480;box-shadow:none}
.message{width:fit-content;max-width:calc(100% - 232px);background:#fffef2d6;box-shadow:none;overflow-wrap:anywhere;max-height:140px;overflow:auto;pointer-events:auto}
@media(max-width:600px){.message{max-width:calc(100% - 16px);max-height:112px}}
@media(max-height:500px) and (orientation:landscape){.message{max-width:calc(100% - 330px);max-height:80px}}
.hud{width:fit-content;max-width:calc(100% - 24px)}
.hud>.hud-panel{width:fit-content;max-width:100%;padding:4px 10px 7px;margin:0;background:#122d28e8;color:#f6fff9;border:1px solid #b3d3bf66;border-radius:8px;box-shadow:none}
.hud-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.hud-heading #environment{line-height:1.4;min-width:0}
.hud .vitals{gap:10px;align-items:center}.hud .vitals>span{min-width:0;white-space:nowrap}.hud .vitals progress{width:58px;accent-color:#b4dfb8}
.hud-panel>p{padding:0;margin:4px 0 0;background:none;border:0;box-shadow:none;max-width:100%;overflow-wrap:anywhere}
#game-frame .objective-brief{display:inline-block;flex:none;width:auto;max-width:none;margin:0;background:#294a40;color:#f6fff9;border-color:#9bbcaa80}
#game-frame .topbar button,#game-frame .touch-controls button{background:#17372eeb;color:#f6fff9;border-color:#aac5b8aa;box-shadow:none}
#game-frame.startup-background .overlay{background:linear-gradient(#153c3c20,#153c3c45),url('./assets/menu-background.webp') center/cover no-repeat;background-color:#8ebac2}
#game-frame.is-placing .overlay{align-items:end;justify-content:center;background:none;pointer-events:none}
#game-frame.is-placing .dialog{pointer-events:auto;max-height:44%;padding:12px;width:min(610px,100%)}
#game-frame.is-placing .dialog h2{font-size:1rem;margin-bottom:6px}
#game-frame.is-placing .dialog p{font-size:.85rem;margin-bottom:5px}
#game-frame.is-placing .dialog .actions{padding-top:4px;gap:6px}
#game-frame.is-placing .hud,#game-frame.is-placing .touch-controls,#game-frame.is-placing .message{display:none}
#game-frame.is-placing #scene{touch-action:none;cursor:crosshair}
#game-frame .touch-controls .primary{background:#305f4ff5;color:#fff;border-color:#c0ddcd}
#attack-help,.save-status,.message{background:#122d28eb;color:#f6fff9}
.dpad>span{color:#f6fff9;text-shadow:0 1px 2px #122d28}
.save-status:empty{display:none}
.save-status{width:fit-content;max-width:calc(100% - 24px);margin:0 auto;padding:0 7px;overflow-wrap:anywhere}
@media(max-width:600px){.hud{max-width:calc(100% - 16px)}.hud>.hud-panel{padding:3px 8px 6px}.hud .vitals{gap:8px}.hud .vitals progress{width:53px}}
@media(max-height:500px) and (orientation:landscape){.hud{width:calc(100% - 344px);max-width:500px}.hud>.hud-panel{width:100%}.hud .vitals{gap:10px}}

.island-map{position:relative;margin:0;width:100%}.island-map canvas{display:block;width:100%;height:auto;border:1px solid #8ca9a0;border-radius:8px}.island-map figcaption{position:absolute;right:6px;bottom:6px;padding:2px 6px;background:#fffdf3ed;border-radius:4px;font-size:.8rem;color:#18332e}
@media(max-width:600px){#game-frame:has(#map-open:not([hidden])) .hud{top:108px}}
