@font-face{font-family:Fusion Pixel;src:url(/fonts/fusion-pixel-subset.woff2)format("woff2");font-display:swap}:root{--night:#0b1030;--panel:#141d52;--panel-2:#1b2560;--frame:#f3ecd8;--frame-dark:#6b5a3a;--text:#f3ecd8;--dim:#a9b0d6;--amber:#ffc75a;--aurora:#5fe39a;--px:"Fusion Pixel", "PingFang SC", monospace;--sans:"PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--night);height:100%;margin:0;overflow:hidden}body{color:var(--text);font-family:var(--px);place-items:center;display:grid}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}#stage{aspect-ratio:1672/941;width:min(100vw,177.683vh);image-rendering:pixelated;position:relative;overflow:hidden;container-type:inline-size}#stage>img.bg{width:100%;height:100%;display:block;position:absolute;inset:0}#stage>canvas{pointer-events:none;width:100%;height:100%;image-rendering:pixelated;display:block;position:absolute;inset:0}.me{image-rendering:pixelated;background:0 0;border:0;padding:0;position:absolute}.me img{width:100%;image-rendering:pixelated;display:block}#stage>img.fg{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.me .hint,.spot .hint{background:var(--panel);border:.15cqw solid var(--amber);color:var(--amber);font-family:var(--px);padding:.2cqw .45cqw;font-size:.9cqw;line-height:1;position:absolute;bottom:calc(100% + .5cqw);left:50%;transform:translate(-50%);box-shadow:.15cqw .15cqw #000}@media (prefers-reduced-motion:no-preference){.me .hint,.spot .hint{animation:1.4s step-end infinite blink}}.me .hint[hidden]{display:none}@keyframes blink{50%{opacity:0}}.hd{text-shadow:0 .2cqw #000;flex-direction:column;gap:.55cqw;display:flex;position:absolute;top:2.6cqw;left:3cqw}.hd h1{letter-spacing:.25cqw;margin:0;font-size:3.3cqw;font-weight:400;line-height:1}.hd .line{font-size:1.1cqw;font-family:var(--sans);font-weight:500}.menu{text-shadow:0 .15cqw #000;align-items:center;gap:1.4cqw;font-size:1.05cqw;display:flex;position:absolute;top:3.65cqw;right:14cqw}.menu button{color:var(--text);opacity:.82;cursor:pointer;background:0 0;border:0;padding:0}.menu button:hover,.menu button:focus-visible{color:var(--amber);opacity:1}.talk{border:.4cqw solid var(--frame);background:var(--panel);grid-template-columns:1fr auto;gap:0;width:41cqw;display:grid;position:absolute;bottom:4cqw;left:3cqw;box-shadow:0 0 0 .25cqw #000,.5cqw .5cqw #000}.talk[hidden]{display:none}.talk .txt{font-family:var(--sans);border-right:.3cqw solid var(--frame);min-height:12cqw;padding:1.4cqw 1.6cqw;font-size:1.15cqw;line-height:1.7;position:relative}.talk .txt .more{color:var(--amber);font-family:var(--px);font-size:.9cqw;position:absolute;bottom:.8cqw;right:1cqw}@media (prefers-reduced-motion:no-preference){.talk .txt .more{animation:1s step-end infinite blink}}.talk .face{background:var(--panel-2);flex-direction:column;align-items:center;gap:.6cqw;padding:1cqw;display:flex}.talk .face img{width:9.6cqw;height:9.6cqw;image-rendering:pixelated;border:.3cqw solid var(--frame);box-shadow:inset 0 0 0 .2cqw #000}.talk .name{color:var(--night);background:var(--frame);border:.2cqw solid var(--frame-dark);padding:.15cqw 1cqw;font-size:1.1cqw}.keys{color:var(--dim);white-space:nowrap;text-shadow:0 .15cqw #000;gap:1.2cqw;font-size:.85cqw;display:flex;position:absolute;bottom:2cqw;right:2.4cqw}.keys .snd{color:var(--dim);text-shadow:inherit;background:0 0;border:0;padding:0;font-size:1cqw;line-height:1}.keys .snd:hover,.keys .snd:focus-visible{color:var(--amber)}.keys kbd{font:inherit;border:.12cqw solid var(--dim);margin-right:.2cqw;padding:0 .3cqw}.scene{z-index:2;background:var(--night) center / 100% 100% no-repeat;position:absolute;inset:0}.scene[hidden]{display:none}.scene.placeholder{background-color:#11182c}.menu{z-index:5}.spot{background:0 0;border:0;padding:0;position:absolute}.spot:hover,.spot:focus-visible{outline:max(1px, .15cqw) solid var(--amber);outline-offset:max(1px, .15cqw);box-shadow:max(2px,.3cqw) max(2px,.3cqw) #000}#stage:not([data-route=lake])>:is(.hd,.talk,.keys,.me,.lake,.spot){display:none}.scene-title{font:400 max(14px, 2.6cqw)/1 var(--px);margin:0;position:absolute;top:2.6cqw;left:3cqw}.scene-back{background:#252c3a;border:max(1px,.15cqw) solid #89909b;padding:.4cqw .7cqw;font-size:max(11px,1.1cqw);position:absolute;top:max(30px,6.6cqw);left:3cqw}.study-placeholder{border:.3cqw solid #65686b;place-items:center;margin:0;font-size:max(16px,2cqw);display:grid;position:absolute;inset:35% 15%}#stage[data-route=board]{aspect-ratio:auto;width:100vw;height:100dvh}.scene[data-scene=board]{--wood:#6b3f1f;--wood-dark:#2a1608;overscroll-behavior:contain;flex-direction:column;display:flex;overflow:hidden auto}.scene[data-scene=board][hidden]{display:none}[data-scene=board] img{image-rendering:pixelated}.board-top{flex-shrink:0;height:clamp(150px,19vw,260px);position:relative}[data-scene=board] .vine{pointer-events:none;width:100%;position:absolute;top:-2vw;left:0}[data-scene=board] .banner{aspect-ratio:1595/382;background:url(/board/banner.webp) 50%/100% 100% no-repeat;place-items:center;width:clamp(260px,34vw,520px);display:grid;position:absolute;top:clamp(34px,5.2vw,76px);left:50%;transform:translate(-50%)}[data-scene=board] .scene-title{font:400 clamp(22px, 2.6vw, 40px)/normal var(--px);letter-spacing:.2em;color:#fff1d6;text-shadow:2px 0 0 var(--wood-dark), -2px 0 0 var(--wood-dark), 0 2px 0 var(--wood-dark), 0 -2px 0 var(--wood-dark), 2px 4px 0 #1a0c04;margin:0;padding-left:.2em;position:static}[data-scene=board] .scene-back,#stage[data-route=board]>.menu{text-shadow:0 2px #000;z-index:5;background:#0b1030d1;border:2px solid #1d2766;padding:4px 10px;font-size:15px;position:absolute;top:14px}[data-scene=board] .scene-back{color:var(--dim);left:20px}[data-scene=board] .scene-back:hover{color:var(--amber)}#stage[data-route=board]>.menu{gap:14px;right:20px}[data-scene=board] .wall{flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,44px);width:100%;max-width:1440px;margin:auto;padding:0 clamp(16px,3vw,48px) clamp(40px,6vh,80px);display:grid}[data-scene=board] .card{cursor:pointer;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}[data-scene=board] .pic{aspect-ratio:4/3;border:6px solid var(--wood);outline:3px solid var(--wood-dark);object-fit:cover;background:#000;width:100%;height:auto;display:block;position:relative;box-shadow:7px 7px #000}[data-scene=board] .sign{aspect-ratio:1428/836;background:url(/board/sign.webp) 50%/100% 100% no-repeat;width:100%;margin-top:-4px;position:relative}[data-scene=board] .plank{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.55em;display:flex;position:absolute;inset:29% 9% 10%}[data-scene=board] .plank b{color:#fff1d6;white-space:nowrap;text-shadow:1.5px 0 0 var(--wood-dark), -1.5px 0 0 var(--wood-dark), 0 1.5px 0 var(--wood-dark), 0 -1.5px 0 var(--wood-dark), 1.5px 3px 0 #1a0c04;font-size:clamp(14px,1.35vw,20px);font-weight:400;line-height:1.35}[data-scene=board] .card-open{font:inherit;color:#fff1d6;border:3px solid var(--wood-dark);cursor:pointer;background:#8a5228;margin-top:.3em;padding:.35em .9em;font-size:clamp(12px,1vw,15px);box-shadow:inset 0 -3px #5c3417,3px 3px #000}[data-scene=board] .card:hover .card-open,[data-scene=board] .card:focus-within .card-open{outline:2px solid var(--amber);outline-offset:2px;background:#a8652f}[data-scene=board] .card:hover .pic{transform:translateY(-4px)}@media (width<1000px){[data-scene=board] .wall{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px;margin:0 auto}}@media (width<600px){[data-scene=board] .wall{grid-template-columns:minmax(0,340px);justify-content:center;row-gap:52px}[data-scene=board] .plank b{font-size:17px}[data-scene=board] .card-open{font-size:14px}#stage[data-route=board]>.menu{gap:10px;padding:4px 6px;font-size:12px;right:12px}}@media (width<360px){#stage[data-route=board]>.menu{top:110px;right:16px}}.dlg{z-index:100;background:#05081999;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dlg[hidden]{display:none}.dlg .card{box-sizing:border-box;background:var(--panel);color:var(--frame);border:4px solid var(--frame);overscroll-behavior:contain;overflow-wrap:anywhere;width:100%;min-width:0;max-width:640px;max-height:calc(100dvh - 32px);font:15px/1.7 var(--sans);flex-direction:column;gap:14px;padding:22px 24px;display:flex;overflow:auto;box-shadow:8px 8px #000}.dlg .card .dialog-heading{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dlg .card h2{color:var(--amber);font-size:24px;font-weight:400;font-family:var(--px);justify-content:space-between;align-items:flex-start;gap:12px;margin:0;display:flex}.dlg .card .dialog-heading button{border:2px solid var(--dim);color:var(--dim);font:14px/1.7 var(--sans);cursor:pointer;background:0 0;flex-shrink:0;padding:0 8px}.dlg .card :focus-visible{outline:2px solid var(--amber);outline-offset:3px}.dlg .card p{margin:0}.dlg .card h3{font-size:inherit;margin:0;font-weight:600}.dlg .card .dim{color:var(--dim)}.dlg .card .list{flex-direction:column;gap:12px;display:flex}.dlg .card .item{border:2px solid #2a3470;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.dlg .card .when{color:var(--dim);font-size:14px}.dlg .card .num{color:var(--aurora)}.dlg .card a{color:var(--aurora);text-underline-offset:3px}.dlg .card .panel-tag{border:1px solid var(--amber);color:var(--amber);align-self:flex-start;padding:0 8px;font-size:14px}@media (width<=480px){.dlg .card{padding:16px 14px}.dlg .card h2{gap:8px;font-size:20px}.dlg .card .item{padding:8px 10px}}.dlg.letter{background:#050819bd}.dlg.letter .card{background:var(--frame);color:#2b2216;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:4px solid var(--frame-dark);width:min(980px,100%);max-width:980px;height:min(860px,100dvh - 32px);font:16px/normal var(--px);overflow-wrap:normal;outline:4px solid #000;gap:0;padding:0;overflow:hidden;box-shadow:10px 10px #000}.dlg.letter .card .dialog-heading{border-bottom:3px dashed #cdbf9e;padding:22px 28px 12px}.dlg.letter .card .dialog-heading>div{min-width:0}.dlg.letter .card h2{color:#4a2c17;font-size:26px;line-height:1.3;display:block}.dlg.letter .card .letter-meta{color:#8a6a3a;margin-top:6px;font-size:14px}.dlg.letter .card .dialog-heading button{font:13px/normal var(--px);color:#4a2c17;border-color:var(--frame-dark);white-space:nowrap;padding:2px 8px}.dlg.letter .card .list{flex:1;gap:0;min-height:0}.dlg.letter .card .letter-main{flex:1;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.dlg.letter .card .letter-main.no-toc{grid-template-columns:minmax(0,1fr)}.dlg.letter .card .letter-toc{overscroll-behavior:contain;font:13px/normal var(--px);color:#6b5a3a;border-right:3px dashed #cdbf9e;padding:18px 16px;overflow:auto}.dlg.letter .card .letter-toc .t{letter-spacing:.1em;color:#a08a62;margin:0 0 10px;font-size:12px}.dlg.letter .card .letter-toc .g{color:#4a2c17;margin:14px 0 6px;font-size:14px}.dlg.letter .card .letter-toc a{color:inherit;gap:8px;padding:4px 0;line-height:1.4;text-decoration:none;display:flex}.dlg.letter .card .letter-toc a b{color:#a0521c;flex:none;font-weight:400}.dlg.letter .card .letter-toc a:hover{color:#a0521c}.dlg.letter .card .letter-body{overscroll-behavior:contain;font:16px/1.85 var(--sans);padding:18px 30px 26px;overflow:auto}.dlg.letter .card .letter-body>p{margin:1em 0}.dlg.letter .card .letter-body .role{font-family:var(--px);color:#4a2c17;margin:0 0 4px;font-size:15px}.dlg.letter .card .proj{margin:0 0 26px}.dlg.letter .card .pname{font-family:var(--px);color:#4a2c17;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 6px;font-size:20px;font-weight:400;display:flex}.dlg.letter .card .chip{color:#6b5a3a;border:2px solid #cdbf9e;padding:0 6px;font-size:12px;line-height:1.6}.dlg.letter .card .ach{background:#e9dfc4;border-left:5px solid #a0521c;margin:10px 0 14px;padding:12px 16px}.dlg.letter .card .ach .k{font-family:var(--px);letter-spacing:.1em;color:#a0521c;margin-bottom:4px;font-size:12px;display:block}.dlg.letter .card ol.contrib{margin:0;padding:0;list-style:none}.dlg.letter .card ol.contrib li{border-top:2px dotted #d8ccae;padding:10px 0 10px 44px;scroll-margin-top:12px;position:relative}.dlg.letter .card ol.contrib li:before{content:attr(data-n);font-family:var(--px);color:#a0521c;font-size:15px;position:absolute;top:11px;left:0}.dlg.letter .card ol.contrib li>b{font-family:var(--px);color:#4a2c17;font-size:16px;font-weight:400;display:block}.dlg.letter .card .num{color:#a0521c;font-weight:600}.dlg.letter .card .to-study{font-family:var(--px);color:#1d5a8a;border-bottom:2px solid;margin-top:6px;text-decoration:none;display:inline-block}.dlg.letter .card .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 22px;display:grid}.dlg.letter .card .stat{text-align:center;background:#e9dfc4;border:3px solid #cdbf9e;padding:14px 12px}.dlg.letter .card .stat b{font-family:var(--px);color:#a0521c;font-size:34px;font-weight:400;line-height:1.1;display:block}.dlg.letter .card .stat span{color:#6b5a3a;font-size:13px}.dlg.letter .card .journey{border-left:4px solid #cdbf9e;margin:18px 0 0;padding:0;list-style:none}.dlg.letter .card .journey li{padding:8px 0 14px 22px;position:relative}.dlg.letter .card .journey li:before{content:"";width:12px;height:12px;box-shadow:0 0 0 3px var(--frame);background:#a0521c;position:absolute;top:14px;left:-10px}.dlg.letter .card .journey .y{font-family:var(--px);color:#a0521c;font-size:14px}.dlg.letter .card .journey .s{font-family:var(--px);color:#4a2c17;font-size:18px}.dlg.letter .card .letter-body .h{font-family:var(--px);letter-spacing:.1em;color:#a08a62;margin:22px 0 4px;font-size:12px}.dlg.letter .card .letter-nav{color:#6b5a3a;border-top:3px dashed #cdbf9e;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 28px 14px;font-size:14px;display:flex}.dlg.letter .card .letter-nav button{font:inherit;border:2px solid var(--frame-dark);color:#4a2c17;background:0 0;padding:3px 10px}.dlg.letter .card .letter-nav button:disabled{opacity:.35;cursor:default}.dlg.letter .card .letter-page{white-space:nowrap}.dlg.letter .card :focus-visible{outline-color:#865010}@media (width<=760px){.dlg.letter{padding:0}.dlg.letter .card{width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border-width:0;outline:0}.dlg.letter .card .letter-main{grid-template-columns:minmax(0,1fr)}.dlg.letter .card .letter-toc{display:none}.dlg.letter .card .letter-body{padding:16px 20px 24px;font-size:16.5px}.dlg.letter .card .dialog-heading{padding:18px 20px 10px}.dlg.letter .card .letter-meta{width:max-content;max-width:calc(100vw - 40px)}.dlg.letter .card h2{font-size:22px}.dlg.letter .card .stats{gap:8px}.dlg.letter .card .stat{padding:10px 4px}.dlg.letter .card .stat b{font-size:21px}.dlg.letter .card .stat span{font-size:11px;line-height:1.4;display:block}}.dex-panel{flex-direction:column;gap:14px;display:flex}.dex{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.dex .slot{min-width:0;font:12px/1.4 var(--sans);text-align:center;color:var(--frame);background:0 0;border:2px solid #2a3470;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.dex .slot.r1{--rc:#a9b0d6}.dex .slot.r2{--rc:#6fb6ff}.dex .slot.r3{--rc:var(--amber)}.dex .slot .icon{width:52px;height:52px;font:28px var(--px);color:var(--rc);background:var(--night);border:3px solid var(--rc);place-items:center;display:grid;box-shadow:inset 0 0 0 3px #000}.dex .slot .icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;border:0}.dex .slot .name{overflow-wrap:anywhere}.dex .slot .tag{font:12px/1.5 var(--px);color:var(--rc);border:2px solid var(--rc);padding:0 6px}.dex .slot.no{--rc:#3a4580;color:var(--dim);cursor:default}.dex .slot.no .icon{--rc:#2a3470;color:#2a3470}.dex .slot.no .icon img{filter:brightness(0)invert(.32)}.dex .slot:not(.no){cursor:pointer}.dex .slot:not(.no):hover{border-color:var(--amber)}.dexfoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dexfoot button{color:var(--dim);font:13px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}.dexfoot button:hover{color:var(--frame)}@media (width<=520px){.dex{grid-template-columns:repeat(2,1fr)}}.me{aspect-ratio:38/52}.me .me-sprite{width:110.526%;height:111.538%;image-rendering:pixelated;pointer-events:none;background-position:0 0;background-repeat:no-repeat;background-size:1300% 100%;display:block;position:absolute;top:-9.61539%;left:-5.26316%}.me .hint.bite{color:#e0303a;background:#fff;border-color:#000;padding:.25cqw .55cqw;font-size:1.5cqw;animation:none}.me .hint.nib{color:#fff;border-color:#fff;font-size:1.2cqw;animation:none}@media (prefers-reduced-motion:no-preference){.me .hint.bite{animation:.25s steps(2,end) fishing-pop}}@keyframes fishing-pop{0%{transform:translate(-50%,.6cqw)}to{transform:translate(-50%)}}#stage.fishing-fight{touch-action:none}#stage>.bar{background:var(--panel);border:.25cqw solid var(--frame);touch-action:none;-webkit-user-select:none;user-select:none;gap:.3cqw;height:12cqw;padding:.3cqw;display:flex;position:absolute;top:57%;left:61.5%;box-shadow:0 0 0 .15cqw #000,.3cqw .3cqw #000}#stage>.bar[hidden]{display:none}.bar .track,.bar .meter{background:#0b1a3a;position:relative;box-shadow:inset 0 0 0 .12cqw #000}.bar .track{width:1.8cqw}.bar .meter{width:.6cqw}.bar i{font-style:normal;position:absolute}.bar .zone{box-shadow:inset 0 0 0 .14cqw var(--aurora);background:#5fe39a4d;left:0;right:0}.bar .zone.on{background:#5fe39aa6}.bar .fishi{background:var(--amber);width:2.2cqw;height:2.2cqw;color:var(--night);font-family:var(--px);place-items:center;font-size:1.3cqw;line-height:1;display:grid;left:50%;transform:translate(-50%);box-shadow:0 0 0 .14cqw #000}.bar .meter i{background:var(--amber);bottom:0;left:0;right:0}.fishing-catch.r1{--rc:#a9b0d6}.fishing-catch.r2{--rc:#6fb6ff}.fishing-catch.r3{--rc:var(--amber)}.fishing-catch{grid-template-columns:auto 1fr;align-items:start;gap:18px;display:grid}.fishing-catch .icon{width:76px;height:76px;font-family:var(--px);color:var(--rc);background:var(--night);border:3px solid var(--rc);place-items:center;font-size:42px;display:grid;box-shadow:inset 0 0 0 3px #000}.fishing-catch .icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;border:0}.fishing-catch .cbody{flex-direction:column;gap:6px;min-width:0;display:flex}.fishing-catch .cname{font-size:18px}.fishing-catch .tag{font:12px/1.5 var(--px);color:var(--rc);border:2px solid var(--rc);align-self:flex-start;padding:0 6px}.fishing-acts{flex-wrap:wrap;gap:10px;display:flex}.fishing-acts button{background:var(--panel-2);border:2px solid var(--frame);font:14px var(--px);padding:4px 14px}.fishing-acts button.pri{background:var(--amber);color:var(--night);border-color:var(--amber)}@media (width<=520px){.fishing-catch{grid-template-columns:1fr}}#stage>.lake{pointer-events:none;background:0 0;border:0;outline:none;width:49%;height:30%;margin:0;padding:0;position:absolute;top:61%;left:2.5%}#stage>.lake:focus-visible{outline:.25cqw dashed var(--amber);outline-offset:-.25cqw;background:#ffc75a0f}#stage>.lake:focus-visible:after{content:attr(aria-label);background:var(--panel);border:.15cqw solid var(--amber);color:var(--amber);font-family:var(--px);white-space:nowrap;padding:.25cqw .6cqw;font-size:1cqw;line-height:1;position:absolute;top:.8cqw;right:1cqw;box-shadow:.15cqw .15cqw #000}
