:root{--ink:#193e37;--paper:#f6f3e6;--muted:#65776b;--line:#d7decb;--orange:#dd744a;--yellow:#f2c75b;--mint:#e8efde;--pixel:ui-monospace,SFMono-Regular,Consolas,monospace;--body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #dc7149;outline-offset:4px}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.topbar,main,body>footer{width:min(1120px,calc(100% - 64px));margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.1em;font-weight:750;text-decoration:none;line-height:1.3}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--ink);color:var(--paper);font:700 23px Georgia,serif;border-radius:6px}.brand-sub{display:block;font:9px var(--pixel);font-weight:400;letter-spacing:.1em;color:var(--muted);margin-top:4px}.topbar nav{display:flex;gap:24px;font-size:12px}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}.intro-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:29px 0 24px}.eyebrow{font:10px/1.5 var(--pixel);font-weight:600;letter-spacing:.13em;margin:0 0 9px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2;letter-spacing:-.045em;font-weight:500;margin-bottom:0}h1 em{font-family:Georgia,serif;font-weight:400}.journal-button{display:flex;align-items:center;gap:12px;background:#e5ecda;border:1px solid #b9c7ab;border-radius:7px;padding:11px 16px;font-size:12px;font-weight:550;color:var(--ink)}.journal-button>span:first-child{font-size:22px;line-height:1}.journal-button>span:last-child{font:11px var(--pixel);background:#d0dfc2;padding:4px 6px;border-radius:3px}.console{border:2px solid var(--ink);border-radius:13px;background:var(--ink);overflow:hidden;box-shadow:0 7px 0 #193e3717,0 20px 60px #193e370d}.world-bar{height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;background:var(--ink);color:var(--paper);font:11px var(--pixel)}.location{display:flex;align-items:center;gap:9px}.location>i{height:7px;width:7px;background:var(--yellow);box-shadow:0 0 0 3px #f2c75b20}.chapter{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.08em;color:#d5e1d0}.scale-dots{display:flex;gap:5px}.scale-dots i{height:7px;width:7px;transform:rotate(45deg);background:#ffffff26}.scale-dots i.found{background:var(--yellow)}.sound-button{border:1px solid #607b6b;border-radius:4px;color:#d8e2d6;background:transparent;padding:5px 8px;font:10px var(--pixel)}.viewport{position:relative;isolation:isolate;background:#5aa5bd;aspect-ratio:5/3;max-height:calc(100svh - 365px);min-height:300px;overflow:hidden}.viewport canvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none;cursor:crosshair}.area-toast{position:absolute;left:20px;top:18px;border:2px solid #406651;background:#fbf7e5ed;padding:8px 13px;font:11px var(--pixel);font-weight:bold;box-shadow:3px 3px 0 #19443330;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;pointer-events:none}.area-toast.show{opacity:1;transform:translateY(0)}.map-key{position:absolute;bottom:14px;left:17px;font:8px var(--pixel);letter-spacing:.07em;background:#fbf7e5eb;color:var(--ink);padding:6px 8px;pointer-events:none}.map-key-fish{color:var(--orange);padding-right:4px}.route-chip{position:absolute;right:15px;top:15px;display:flex;align-items:center;gap:10px;background:#fcf6e5f0;border:1px solid #416953;padding:3px 8px;font:10px var(--pixel)}.route-chip button{border:0;background:none;font-size:20px;line-height:1.4;color:var(--ink)}.nearby{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#fcf8e8;color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:10px 14px;box-shadow:3px 3px 0 #123c3440;text-align:left;min-width:200px;max-width:calc(100% - 26px)}.nearby-key{border:1px solid #a2b19c;border-radius:4px;padding:4px 9px;font:14px var(--pixel);font-weight:bold;background:#e4ebda}.nearby small{display:block;font:8px var(--pixel);letter-spacing:.1em;color:var(--muted);margin-bottom:3px}.nearby strong{font-size:13px;font-weight:650;white-space:nowrap}.nearby>span:last-child{margin-left:auto}.control-deck{display:flex;align-items:center;justify-content:space-between;padding:17px 21px;gap:18px;background:#edf0df;border-top:2px solid var(--ink);min-height:84px}.control-hint{display:grid;gap:5px;color:var(--muted);font-size:11px}.hint-title{font-size:13px;font-weight:650;color:var(--ink)}kbd{font:10px var(--pixel);color:#345847}.hint-separator{padding:0 7px}.deck-actions{display:flex;gap:12px;align-items:center}.deck-actions button{border:0;color:var(--ink);background:transparent;font-size:11px;text-decoration:underline;text-underline-offset:4px}.deck-actions #help{width:29px;height:29px;border:1px solid #adbd9f;border-radius:50%;text-decoration:none;font:13px var(--pixel)}.touch-controls{display:none}.below-world{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0 30px}.below-world p{font-size:11px;margin:0;color:var(--muted);display:flex;align-items:center;gap:10px}.tiny-scale{color:var(--orange);font-size:15px}#tour-toggle{border:0;background:none;font-size:11px;color:var(--muted);text-align:right}#tour-toggle span{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.readable-tour{padding:30px 0 35px;border-top:1px solid var(--line)}.readable-tour h2{font:32px Georgia,serif;letter-spacing:-.02em}.tour-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tour-card{border:1px solid #becdb1;background:#eef1e4;padding:22px;border-radius:7px;text-align:left;color:var(--ink)}.tour-card small{font:10px var(--pixel);color:var(--muted)}.tour-card h3{font-size:17px;line-height:1.3;margin:13px 0 10px}.tour-card p{font-size:12px;color:var(--muted);margin:0 0 15px}.tour-card>span{font-size:12px;color:#295b49}.tour-card:hover{border-color:var(--ink);background:#e3ecd6}body>footer{padding:22px 0 29px;display:flex;justify-content:space-between;gap:35px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}body>footer p{margin:0}body>footer p:last-child{max-width:510px;text-align:right}.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:10}.skip-link:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{color:var(--ink);border:2px solid var(--ink);border-radius:13px;background:var(--paper);box-shadow:0 18px 100px #10251f59;max-height:calc(100dvh - 40px);padding:0}dialog::backdrop{background:#173a3599;backdrop-filter:blur(3px)}.welcome{width:460px;text-align:center;padding:29px 34px 24px;overflow:auto}.welcome-art{height:98px;position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:6px}.welcome-art canvas{width:144px;height:96px;image-rendering:pixelated;z-index:1;animation:float 2.5s ease-in-out infinite}.water-ring{position:absolute;bottom:2px;left:calc(50% - 57px);width:114px;height:18px;border:2px solid #a0c5bd;border-radius:50%;background:#d7e4dc}.spark{position:absolute;color:#dba944;font-size:22px}.spark.one{left:87px;top:14px}.spark.two{right:72px;top:47px;font-size:13px}.welcome h2{font:37px/1.15 Georgia,serif;letter-spacing:-.04em;margin-bottom:18px}.welcome>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8}.welcome p strong{color:var(--ink);font-weight:650}.welcome .welcome-task{font-size:12px!important;color:#3b6253!important}.primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-size:13px;font-weight:550;border-radius:6px;padding:12px 20px}.primary:hover{background:#2c5948}.welcome .primary{width:100%;margin-top:5px}.plain{border:0;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font-size:11px;margin:15px 0 0}.welcome .welcome-controls{font:9px/1.7 var(--pixel);margin:18px 0 0}.story-dialog{width:650px}.story-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;border-bottom:1px solid var(--line)}.story-header .eyebrow{margin:0}.close{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bdc9b4;background:transparent;border-radius:5px;color:var(--ink);font-size:24px;line-height:1;flex:none}.story-content{padding:27px}.story-stamp{font:10px var(--pixel);color:#a65a35;margin-bottom:12px}.story-content h2{font:34px/1.18 Georgia,serif;letter-spacing:-.035em;margin:0 0 16px}.story-intro{font-size:14px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}.chapter-card{margin-top:25px}.chapter-card h3{font-size:17px;margin-bottom:5px}.chapter-card .meta{font:10px/1.7 var(--pixel);color:#6b7d69;margin-bottom:12px}.chapter-card p,.chapter-card li{font-size:13px;line-height:1.75;color:#506653}.chapter-card ul{padding-left:18px}.chapter-card li{margin-bottom:7px}.chapter-links,.story-links{display:flex;flex-wrap:wrap;gap:12px 18px}.chapter-links a,.story-links a{font-size:12px;color:#285d48}.story-links{padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.story-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);background:var(--paper);padding:16px 25px}.story-footer>span{font:10px var(--pixel);color:#55744d}.story-footer .primary{font-size:12px;padding:10px 15px}.journal{width:650px}.journal .story-header h2{font:29px Georgia,serif;margin:5px 0 0}.journal-intro{font-size:12px;color:var(--muted);padding:20px 25px 0}.journal-entry{padding:17px 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.journal-name{display:flex;align-items:center;gap:13px}.journal-scale{color:#b5bfa8;font-size:19px}.journal-scale.found{color:#c58b2f}.journal-name h3{font-size:14px;margin:0}.journal-name p{font-size:10px;color:var(--muted);margin:2px 0 0}.journal-actions{display:flex;gap:7px}.journal-actions button{padding:8px 10px;border:1px solid #b8c8ab;background:transparent;color:var(--ink);font-size:11px;border-radius:4px}.journal-actions button:first-child{background:#e3ecd7}.journal-tip{font:10px/1.8 var(--pixel);color:var(--muted);padding:0 25px 20px;margin:15px 0 0}.noscript{max-width:700px;margin:25px auto;padding:25px}.pointer-held{background:#d4dfc3!important}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(2deg)}}@media(pointer:coarse),(max-width:760px){.touch-controls{display:flex;align-items:center;gap:27px}.control-hint{display:none}.control-deck{padding:13px 20px;justify-content:space-between;min-height:132px}.dpad{display:grid;grid-template-columns:40px 40px 40px;grid-template-rows:35px 35px 35px;gap:1px;touch-action:none}.dpad button{border:1px solid #a5b69a;background:#dfe7d2;color:#345442;font-size:14px;touch-action:none;user-select:none;-webkit-user-select:none}.dpad .up{grid-area:1/2;border-radius:7px 7px 0 0}.dpad .left{grid-area:2/1;border-radius:7px 0 0 7px}.dpad .right{grid-area:2/3;border-radius:0 7px 7px 0}.dpad .down{grid-area:3/2;border-radius:0 0 7px 7px}.dpad-center{grid-area:2/2;display:grid;place-items:center;background:#c5d2b6;color:#93a77f}.action-button{width:56px;height:56px;border:2px solid #b05e3c;border-radius:50%;background:#df8c59;color:#fff3d9;box-shadow:0 4px 0 #b7683f;font:700 22px var(--pixel);position:relative;touch-action:manipulation}.action-button>span{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font:8px var(--pixel);color:#657760;letter-spacing:.08em}.deck-actions{align-items:flex-end;flex-direction:column}.touch-controls .dpad button{min-height:35px}.nearby{bottom:14px}.map-key{display:none}}@media(max-width:760px){.topbar,main,body>footer{width:calc(100% - 28px)}.topbar{padding:17px 0}.topbar nav{gap:14px;font-size:10px}.brand{font-size:10px}.brand-sub{font-size:7px}.brand-mark{width:30px;height:30px;font-size:21px}.intro-row{padding:23px 0 18px;gap:12px;align-items:flex-start}h1{font-size:23px;line-height:1.25}.eyebrow{font-size:8px}.journal-button{padding:8px 10px;gap:6px;font-size:10px;white-space:nowrap;margin-top:10px}.journal-button>span:first-child{display:none}.journal-button>span:last-child{font-size:9px}.world-bar{padding:0 11px;height:39px;font-size:9px}.chapter{font-size:0;gap:0}.scale-dots{gap:4px}.scale-dots i{width:6px;height:6px}.sound-button{font-size:8px;padding:5px 6px}.viewport{aspect-ratio:4/3;max-height:none;min-height:0}.console{border-radius:9px}.area-toast{font-size:9px;left:12px;top:12px;padding:6px 9px}.route-chip{max-width:calc(100% - 25px);top:12px;right:12px;font-size:8px}.nearby{padding:8px 11px;min-width:175px}.nearby strong{font-size:12px}.nearby-key{font-size:12px;padding:3px 8px}.below-world{padding:19px 3px 24px;align-items:flex-start;gap:15px}.below-world p{font-size:10px;max-width:57%}#tour-toggle{font-size:10px;max-width:42%;padding:0}.tour-cards{grid-template-columns:1fr 1fr;gap:10px}.tour-card{padding:17px}.tour-card h3{font-size:15px}body>footer{flex-direction:column;gap:10px;font-size:9px}body>footer p:last-child{text-align:left;max-width:none}dialog{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.welcome{padding:21px 25px}.welcome h2{font-size:33px}.welcome-art{height:83px}.welcome-art canvas{width:120px;height:80px}.spark.one{left:calc(50% - 80px)}.spark.two{right:calc(50% - 80px)}.story-content{padding:22px}.story-header{padding:15px 20px}.story-content h2{font-size:29px}.story-footer{padding:14px 19px;gap:10px}.story-footer>span{font-size:8px}.story-footer .primary{font-size:11px;padding:10px 12px}.journal-intro{padding:17px 20px 0}.journal-entry{padding:15px 18px}.journal-name{gap:9px}.journal-name h3{font-size:12px}.journal-actions{gap:5px}.journal-actions button{font-size:10px;padding:8px}.journal-tip{font-size:9px;padding-inline:20px}}@media(max-width:390px){h1{font-size:20px}.intro-row .eyebrow{font-size:7px}.journal-button{font-size:9px;gap:4px;padding:8px}.topbar nav a:first-child{max-width:67px;line-height:1.4}.journal-name p{font-size:9px}.tour-cards{grid-template-columns:1fr}.control-deck{padding-inline:13px}.touch-controls{gap:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
