:root{font:18px/1.35 Nunito,system-ui,sans-serif;color:#263f49;background:#eef5e9;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) max(7px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(7px,env(safe-area-inset-left))}button,select{font:inherit;line-height:1.2;min-width:44px;min-height:44px;padding:7px 9px;color:inherit;border:2px solid #5c8c88;border-radius:10px;background:#fff9e9;touch-action:none;cursor:pointer;overflow-wrap:anywhere}button:hover:not(:disabled){border-color:#bb8b50}button:focus-visible,#stage:focus-visible{outline:3px solid #d28c65;outline-offset:2px}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true]{background:#cee4da;border-color:#386f73}h1,h2,p{margin:0}#app{height:100%;max-width:1100px;margin:auto;display:flex;flex-direction:column;min-height:0}.mast{display:flex;gap:6px;align-items:center;padding:5px 0;flex:none;border-bottom:1px solid #95b6a7}.mast h1{font-size:1.05rem;line-height:1.1;flex:1;min-width:0}.mast button{flex:none}#home{flex:1;overflow:auto;padding:8px 3px}#home p{margin:8px 0}.intro{font-weight:800;font-size:1.15em}#progress{font-weight:800}.row{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.row button{flex:1 1 auto}#exhibits{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}#exhibits button{text-align:left;padding:12px}#run{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px}.runTop{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.runTop strong{font-size:.88rem;flex:1 1 160px;text-wrap:balance}.runTop button{font-size:.83rem;padding:6px 9px}#playArea{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px}#stage{position:relative;flex:1;min-height:180px;overflow:hidden;border:2px solid #709c98;border-radius:13px;background:#dceee7;touch-action:none}#phaser,#fallback{position:absolute;inset:0;width:100%;height:100%}#phaser canvas{display:block!important;width:100%!important;height:100%!important}#pauseVeil{position:absolute;bottom:9px;left:8px;right:8px;text-align:center;background:#fff9e9e8;border-radius:8px;padding:5px;pointer-events:none;font-size:.85rem}#workbench{flex:none;min-height:0}.hud{display:flex;justify-content:space-between;gap:8px;font-weight:800;font-size:.85rem;font-variant-numeric:tabular-nums}#goal{font-size:.8rem;min-height:1.35em;max-height:2.7em;overflow:auto}.fishList{display:flex;gap:4px;overflow:auto;padding:3px 0}.fishList button{min-width:44px;min-height:44px;flex:1;padding:5px;font-size:.76rem}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.actions button{font-size:.81rem}.resultActions{margin:5px 0 0}.resultActions button{font-size:.82rem}#status{font-size:.82rem;min-height:1.35em;max-height:2.7em;overflow:auto;text-align:center;font-weight:800}#notice{flex:none;font-size:.8rem;color:#80523f;max-height:3em;overflow:auto;padding:3px 0}#notice:empty{display:none}dialog{width:min(680px,calc(100% - 16px));max-height:calc(100dvh - 16px);padding:0;border:2px solid #5c8c88;border-radius:13px;background:#eef5e9;color:#263f49;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#263f4988}dialog>header{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border-bottom:1px solid #95b6a7;flex:none}dialog h2{font-size:1.1rem;line-height:1.2;flex:1 1 160px;min-width:0;overflow-wrap:anywhere}#sheetBody,.sheetBody{overflow:auto;overscroll-behavior:contain;padding:12px;min-height:0}#sheetBody p,.sheetBody p{margin:9px 0}#sheetBody button{margin:4px}#loading{padding:20px;max-width:420px}#loading p{margin-bottom:14px}.recipe,.decorChoice{display:block;width:calc(100% - 8px);text-align:left}.motionOff *{animation:none!important;transition:none!important}@media(max-width:450px){:root{font-size:17px}.runTop strong{flex-basis:100%}.runTop button{flex:1}#exhibits{grid-template-columns:1fr}.fishList button{font-size:.72rem}}@media(orientation:landscape) and (max-height:550px){.mast{padding:2px 0}.mast h1{font-size:.9rem}#playArea{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,32%)}#stage{min-height:160px}#workbench{overflow:auto;padding-right:3px}.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.hud{flex-wrap:wrap}.fishList{flex-wrap:wrap}.fishList button{flex:0 1 44px}#goal{max-height:none}.runTop strong{flex:1 1 auto}#status{max-height:none}}
:root{font-family:Nunito,system-ui,sans-serif;background:#f3eddf;color:#294c52}body{background:radial-gradient(ellipse at top,#fff9ecaa,transparent 65%),#ede8db}.mast{border-bottom-color:#a8bcb0}.mast h1{font-family:Georgia,serif;font-weight:700;color:#315b59;font-size:1.25rem}.mast button{border-radius:50%;background:#fff8e8}.hero{height:clamp(200px,34dvh,360px);position:relative;overflow:hidden;border-radius:16px;background:#d7e8df;margin:5px 0 12px;border:1px solid #a9ba9c}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 63%;display:block}.heroCopy{position:absolute;inset:auto 0 0;padding:30px 16px 12px;background:linear-gradient(transparent,#faf2dff5 40%);color:#294c52}.heroCopy .intro{font-family:Georgia,serif;font-size:1.4rem}.heroCopy p{margin:5px 0!important}.heroCopy p:last-child{font-size:.83rem;max-width:45em}#progress{color:#3b6460;font-size:.92rem}#modeNote{font-size:.84rem;max-width:50em}button,select{background:#fff9e9;border-color:#9cb3a3;border-width:1.5px;box-shadow:0 2px 0 #47776a15;border-radius:12px}button:hover:not(:disabled){background:#f9edd2}button:disabled{opacity:.48}button[aria-pressed=true]{border-color:#487f77;background:#dcecdf;box-shadow:inset 0 0 0 1px #487f77}#exhibits{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#exhibits button{font-size:.85rem;background:#fff7e6}#continue{background:#326f69;color:#fff8e9;border-color:#326f69;font-weight:800}#stage{border:3px solid #b2ac83;border-radius:18px;box-shadow:0 4px 12px #527b7130}#workbench{padding:5px 2px}.hud{color:#315957;padding-bottom:4px;border-bottom:1px solid #b5c4b5}#goal{padding:3px 0;color:#4d6054}.actions{grid-template-columns:repeat(3,minmax(0,1fr))}.actions button{font-weight:800}#feed,#nursery,#decor{background:#deeadc}#open{background:#f3dfb5;border-color:#be9b5c}.fishList button{max-width:100px;min-width:44px;flex:1;height:48px;padding:0;overflow:hidden;background:#fff8e999}.fishPicture{display:block;position:relative;overflow:hidden;width:64px;height:64px;flex:none}.fishPicture img{display:block;width:200%;max-width:none;height:100%;object-fit:fill}.fishList .fishPicture{width:48px;height:48px;margin:auto}.artPicture{display:block;position:relative}.artPicture img{display:block;width:100%;height:auto}.recipe,.decorChoice{display:flex;align-items:center;gap:12px;padding:10px;font-size:.92rem}.recipe>.fishPicture,.decorChoice>.artPicture{width:72px;height:72px;flex:none}.recipe>.fishPicture img{height:72px}.decorChoice>.artPicture img{height:72px;object-fit:contain}.albumGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr));gap:6px}.albumGrid figure{margin:0;padding:4px;text-align:center;background:#fff9ea;border:1px solid #becaba;border-radius:10px;min-width:0}.albumGrid .fishPicture{width:100%;height:auto;aspect-ratio:1}.albumGrid figcaption{font-size:.73rem;overflow-wrap:anywhere}.lockedFish{opacity:.55;min-height:70px;display:flex;align-items:center;justify-content:center}.postcard{margin:16px 0;border:8px solid #fff8e7;box-shadow:0 2px 7px #526d5c33;background:#fff8e7}.postcard figcaption{font-size:.85rem;padding:7px 0}.postcard .artPicture{width:100%}#sheetBody h3{font:700 1.05rem Georgia,serif;margin:22px 0 9px}#sheetBody label{display:block;margin:4px}select{max-width:100%;touch-action:auto}.bootRecovery:has(button:not([hidden])){flex:none}.bootRecovery:has(button:not([hidden]))~*{display:none}.bootRecovery:not(:has(button:not([hidden]))){display:none}#notice{color:#805b3f}dialog{background:#f3eddf;border-color:#91aa97}dialog>header{background:#faf4e5}@media(max-width:600px){#exhibits{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{height:clamp(210px,32dvh,310px)}.heroCopy .intro{font-size:1.2rem}.albumGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr))}}@media(orientation:landscape) and (max-height:550px){.hero{height:220px;float:left;width:38%;margin-right:14px}#exhibits{grid-template-columns:repeat(2,minmax(0,1fr))}#playArea{grid-template-columns:minmax(0,1fr) minmax(205px,33%)}.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.fishList{flex-wrap:nowrap}.fishList button{min-width:44px;flex:1}.fishList .fishPicture{width:44px;height:44px}.mast h1{font-size:1rem}}@media(max-width:360px){.mast h1{font-size:1.05rem}.actions button{padding:7px 5px}.recipe,.decorChoice{gap:7px}.recipe>.fishPicture,.decorChoice>.artPicture{width:55px;height:55px}.recipe>.fishPicture img{height:55px}}
.actions:has(#net[hidden]):has(#buy[hidden]) #open{grid-column:1/-1}

.recipe:disabled,.decorChoice:disabled{opacity:1;color:#53685f;background:#eeeadd;border-color:#adbca9;cursor:default}.recipe:disabled .fishPicture{opacity:.8}
/* Keep the intended eight-pixel safe margin at large text as well. */
dialog{max-width:calc(100% - 16px)}

/* Native scroll gestures cancel release-owned buttons instead of activating them. */
button,select{touch-action:manipulation}
@media(max-width:450px){.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.actions:has(#net[hidden]):has(#buy[hidden]) #open{grid-column:auto}}
@media(orientation:portrait){#workbench{max-height:calc(100% - 185px);overflow:auto;overscroll-behavior:contain}}
