@import "https://fonts.googleapis.com/css2?family=DotGothic16&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f1ead7;font-synthesis:none;-webkit-text-size-adjust:100%;background:#0b1219;font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible{outline-offset:2px;outline:2px solid #ead28b}button:disabled{cursor:default}.game-shell{width:min(100%,520px);height:100dvh;min-height:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#0b1720;border-inline:2px solid #5d6f6b;flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.toolbar{background:#121d25;border-bottom:2px solid #718377;width:100%;height:47px;min-height:47px;padding:5px 8px;font-family:DotGothic16,monospace}.transport{justify-content:space-between;align-items:center;gap:4px;width:100%;height:100%;display:flex}.toolbar-caption{color:#c0cbb6;white-space:nowrap;flex:1;min-width:24px;font-size:12px}.speed-group{gap:3px;display:flex}.transport-btn{color:#e1e7d4;white-space:nowrap;background:#1b2a32;border:1px solid #67796d;border-radius:2px;min-width:32px;height:32px;padding:3px 5px;font-family:DotGothic16,monospace;font-size:12px}.transport-btn.symbol{min-width:30px}.transport-btn.chosen{color:#152320;background:#e6cf91;border-color:#f1db9d}.transport-btn:disabled{opacity:.37}.transport-btn:active:not(:disabled),.start-button:active{transform:translateY(2px)}.build-view{background:linear-gradient(170deg,#1c302b 0%,#162621 68%,#0c1b20 100%);flex-direction:column;flex:1;gap:10px;min-height:0;padding:clamp(10px,2dvh,18px) 15px 14px;display:flex}.build-lead{flex:none;align-items:center;gap:16px;min-height:112px;display:flex}.build-avatar{background:radial-gradient(#4d8058,#2b594c 80%);border:3px solid #e2d5aa;border-radius:2px;flex:0 0 96px;justify-content:center;align-items:center;height:105px;display:flex;box-shadow:inset 0 0 0 4px #203e34,3px 3px #0d1a1b}.pipoya-character{aspect-ratio:1;background-repeat:no-repeat;background-size:300% 400%;background-position:50% var(--facing,0%);width:32px;height:32px;image-rendering:pixelated;flex-shrink:0;display:inline-block}.build-avatar .sprite{width:74px;height:74px;image-rendering:pixelated;filter:drop-shadow(3px 5px #17392e)}@keyframes pipoya-step{0%,to{background-position-x:50%}25%{background-position-x:0%}75%{background-position-x:100%}}.hero-block .pipoya-character,.enemy-block .pipoya-character{animation:.76s step-end infinite pipoya-step}.build-identity{flex-direction:column;gap:4px;min-width:0;display:flex}.minor{color:#e0c993;font:12px DotGothic16,monospace}.build-identity strong{letter-spacing:.06em;color:#f3e7bd;flex-wrap:wrap;align-items:baseline;font-size:28px;display:flex}.build-identity strong small{color:#b0c4ad;margin-left:10px;font:14px DotGothic16,monospace}.hint{color:#b6c2b3;font-size:11px;line-height:1.6}.wallet-row{color:#afc2b3;border-top:1px solid #657d67;border-bottom:1px solid #657d67;flex:none;justify-content:space-between;gap:8px;padding:10px 2px;font-size:12px;display:flex}.wallet-row strong{color:#ede2bf;margin-left:5px;font:17px DotGothic16,monospace}.wallet-row .wallet-coin{color:#f0cf7d}.build-choices{flex-direction:column;flex:1;min-height:0;display:flex}.build-title{justify-content:space-between;align-items:center;gap:8px;min-height:36px;font-size:15px;display:flex}.build-title strong{font-weight:900}.build-title span{color:#8eaa9b;font-size:11px}.choice-stack{flex-direction:column;flex:1;justify-content:flex-start;gap:7px;min-height:0;display:flex}.build-choice{text-align:left;background:#22392f;border:2px solid #527159;flex:0 67px;align-items:center;gap:10px;width:100%;min-height:0;padding:9px 12px;display:flex;box-shadow:inset 0 -3px #183128}.build-choice.equipped{background:#46553a;border-color:#f0d388}.build-choice:disabled{opacity:.46}.choice-mark{color:#f1d18a;flex:0 0 17px;font:20px DotGothic16,monospace}.choice-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.choice-copy strong{color:#f1e8cf;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.choice-copy small{color:#aec8b4;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.cost-label{color:#edcb79;white-space:nowrap;font:14px DotGothic16,monospace}.no-choice{color:#b1c4b4;margin:0;padding:20px 7px;font-size:16px;line-height:1.8}.pager{color:#c9d3bf;flex:0 0 30px;justify-content:center;align-items:center;gap:18px;padding-top:3px;font:12px DotGothic16,monospace;display:flex}.pager button{background:#293d33;border:1px solid #637d69;border-radius:2px;height:28px;padding:1px 14px}.pager button:disabled{opacity:.35}.build-actions{border-top:1px solid #587464;flex:none;padding-top:11px}.next-hint{color:#b4c6b3;margin:0 0 9px;font-size:11px}.start-button{color:#273b2e;background:#e8d298;border:3px solid #fff0bb;justify-content:center;align-items:center;width:100%;min-height:54px;font-size:19px;font-weight:900;display:flex;box-shadow:3px 3px #081418}.start-button span{margin-left:14px;font:16px DotGothic16,monospace}.story-stage{isolation:isolate;background:#437b5a;flex:1;min-height:0;position:relative;overflow:hidden}.world-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.location-tag,.field-hud{text-shadow:1px 1px #000;background:#0c1a26e6;border:2px solid #e2dfc7;padding:7px 10px;font:15px DotGothic16,monospace;position:absolute;top:12px;box-shadow:2px 3px #192c25}.location-tag{left:11px}.field-hud{right:11px}.field-message{text-shadow:1px 1px #000;background:#071627ed;border:3px solid #f2ead6;border-radius:4px;outline:3px solid #152524;align-items:center;min-height:84px;padding:14px 18px;font:clamp(15px,3.6vw,19px)/1.65 DotGothic16,monospace;display:flex;position:absolute;bottom:13px;left:12px;right:12px;box-shadow:3px 5px #102b27aa}.prologue-mask{background:linear-gradient(#06131bd6 0%,#0b1b2cd9 25%,#071a28ee 62%,#06131cf7 100%);justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.prologue-chapter{background:#081421f5;border:3px solid #e9dcb8;outline:3px solid #101b24;flex-direction:column;justify-content:space-between;width:100%;max-width:400px;min-height:240px;padding:24px 20px;display:flex;box-shadow:0 0 0 1px #7d8169,6px 7px #04151c}.prologue-who{color:#e6c887;border-bottom:1px solid #788578;padding-bottom:16px;font:14px DotGothic16,monospace}.story-monologue{color:#f4ecd7;letter-spacing:.02em;text-shadow:1px 2px #06131a;margin:0;font:clamp(21px,5.6vw,28px)/1.85 DotGothic16,monospace}.read-indicator{color:#e8d19a;align-self:flex-end;font:15px DotGothic16;animation:1s steps(2,end) infinite bob}@keyframes bob{50%{transform:translateY(3px)}}.is-encounter{animation:.12s steps(2,end) 3 encounter-shudder}.attention{color:#ffd987;margin-right:14px;font-size:28px}.encounter-effects{pointer-events:none;mix-blend-mode:screen;z-index:4;background:#fbf4d8;animation:.28s steps(2,end) forwards encounter-screen;position:absolute;inset:0}.encounter-effects i{background:#d9edff;width:10%;height:160%;display:block;position:absolute;top:-30%;left:25%;transform:rotate(40deg)}.encounter-effects i:nth-child(2){left:50%;transform:rotate(-42deg)}.encounter-effects i:nth-child(3){width:6%;left:70%;transform:rotate(10deg)}.encounter-effects i:nth-child(4){width:6%;left:7%;transform:rotate(-18deg)}@keyframes encounter-screen{0%{opacity:.95}to{opacity:0}}@keyframes encounter-shudder{25%{transform:translate(6px)}50%{transform:translate(-5px)}}.battle-stage{isolation:isolate;background:#4f827c;flex:1;min-height:0;font-family:DotGothic16,monospace;position:relative;overflow:hidden}.battle-sky{background:linear-gradient(#244e6d 0%,#4e8897 54%,#a0ad8d 54%,#567c5a 100%);position:absolute;inset:0;overflow:hidden}.battle-clouds{opacity:.64;width:55px;height:12px;image-rendering:pixelated;background:#bdd8d4;position:absolute;top:12%;left:8%;box-shadow:18px -10px #bdd8d4,46px 3px #bdd8d4,200px 17px #aed1d0,220px 9px #aed1d0,235px 23px #aed1d0}.battle-mountains{clip-path:polygon(0 100%,0 60%,9% 40%,20% 73%,29% 18%,39% 72%,48% 27%,60% 70%,69% 20%,81% 74%,92% 35%,100% 58%,100% 100%);background:#567962;height:28%;position:absolute;top:40%;left:-10%;right:-10%;box-shadow:inset 0 -15px #456d57}.battle-trees{clip-path:polygon(0 100%,0 50%,6% 0,13% 55%,18% 18%,23% 60%,29% 5%,37% 55%,45% 15%,52% 66%,63% 0,72% 55%,82% 11%,91% 55%,97% 12%,100% 44%,100% 100%);background:repeating-linear-gradient(90deg,#0000 0 13px,#325b4b 13px 24px,#0000 24px 36px);width:100%;height:20%;position:absolute;top:50%}.battle-terrain{background:radial-gradient(at 45% 70%,#648b61 0%,#557d54 59%,#3d694a 100%);border-top:13px solid #628767;width:120%;height:39%;position:absolute;bottom:0;left:-10%}.enemy-block{flex-direction:column;justify-content:flex-end;align-items:center;width:45%;height:53%;display:flex;position:absolute;top:17%;left:9%}.enemy-label{color:#f4eacc;background:#0a1829f2;border:2px solid #e9e1c8;padding:5px 8px;font-size:12px;position:absolute;top:0;left:0;right:0}.enemy-label strong{font-weight:400}.hp-meter{background:#2f353b;border:1px solid #162a2d;width:100%;height:6px;display:block}.enemy-label .hp-meter{margin-top:6px}.hp-fill{background:#c4d693;height:100%;display:block}.hp-fill.enemy{background:#d89b85}.enemy-sprite{filter:drop-shadow(6px 7px #1d373c7f);width:min(95%,155px);max-height:77%;image-rendering:pixelated;animation:1.4s steps(3,end) infinite enemy-idle}@keyframes enemy-idle{50%{transform:translateY(-5px)scaleX(1.04)}}.hero-block{filter:drop-shadow(5px 7px #1c443588);justify-content:center;align-items:end;width:40%;height:45%;display:flex;position:absolute;bottom:20%;right:6%}.hero-sprite{width:min(80%,148px);height:min(100%,148px)}.pipoya-character.hero-sprite{aspect-ratio:1;width:min(80%,132px);height:auto}.pipoya-character.enemy-sprite{aspect-ratio:1;height:auto}.boss-art{object-fit:contain}.ally-sprite{width:60%;height:70%;position:absolute;left:-30%}.hero-block.fallen .hero-sprite{filter:grayscale(.7);opacity:.75;transform:rotate(70deg)translate(20px)}.taking-hit{animation:.23s steps(3,end) strike}@keyframes strike{0%,to{filter:none;transform:translate(0)}20%{filter:brightness(2);transform:translate(8px)}60%{filter:brightness(.5);transform:translate(-7px)}}.slash-mark{background:#fff5bf;border-radius:45% 10%;width:20px;height:62px;position:absolute;top:38%;left:26%;transform:rotate(-35deg);box-shadow:8px 3px #dfb36b}.damage-popup{color:#fff1c5;text-shadow:2px 2px #781d30;z-index:3;font:24px DotGothic16,monospace;animation:.48s steps(4,end) both damage-rise;position:absolute}.enemy-damage{top:25%;right:-5%}.hero-damage{top:16%;left:40%}@keyframes damage-rise{0%{opacity:0;transform:translateY(15px)}30%{opacity:1}to{opacity:0;transform:translateY(-23px)}}.hero-status{background:#091629f2;border:2px solid #f4e4be;flex-direction:column;gap:5px;width:min(36%,145px);padding:7px 9px;font-size:13px;display:flex;position:absolute;top:10px;right:10px}.hero-status strong{justify-content:space-between;gap:5px;font-weight:400;display:flex}.hero-status strong span{color:#dcc88d}.hero-hp{font-size:12px}.hero-hp .hp-meter{margin-top:3px}.battle-message{background:#091527e8;border:2px solid #e8d9b4;outline:2px solid #122f29;align-items:center;min-height:55px;padding:8px 12px;font-size:clamp(13px,3.5vw,16px);line-height:1.5;display:flex;position:absolute;bottom:9px;left:10px;right:10px}.log-panel{background:#0b1721;border-top:3px solid #bfc4ab;flex-direction:column;flex:0 0 clamp(145px,27dvh,245px);min-height:0;display:flex}.log-heading{border-bottom:1px solid #4c6660;flex:none;justify-content:space-between;align-items:center;height:33px;padding:4px 12px;font-size:13px;display:flex}.log-heading span:last-child{color:#a6b6ac;font-size:11px}.log-lines{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#57756b transparent;flex:1;min-height:0;margin:0;padding:7px 11px 10px;list-style:none;overflow-y:auto}.log-line{color:#e0e6d8;gap:7px;margin-bottom:5px;font-size:12px;line-height:1.6;display:flex}.log-line>span:first-child{color:#78968c}.log-hurt,.log-loss{color:#e9a49b}.log-gain,.log-win{color:#c2dea2}.log-story{color:#dec9a5}.log-only .log-panel{flex:1}.log-only .log-lines{padding:18px}.log-only .log-line{font-size:14px;line-height:1.8}.result-overlay{z-index:5;background:#06101ad9;justify-content:center;align-items:center;padding:10px;display:flex;position:absolute;inset:0}.result-window{background:#101c2b;border:3px solid #efdfba;outline:2px solid #172731;width:100%;max-width:360px;padding:clamp(9px,2vh,16px);box-shadow:4px 5px #0b1b21}.game-over{text-align:center;letter-spacing:.08em;color:#f0b3a6;border-bottom:1px solid #708274;padding-bottom:8px;font:clamp(25px,6vw,34px) DotGothic16,monospace;display:block}.result-numbers{justify-content:space-around;gap:8px;margin:10px 0 8px;font-size:14px;display:flex}.result-numbers b{color:#f0d398;font-size:24px}.result-window p{color:#b7c4bd;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:7px;margin:7px 0 11px;font-size:13px;display:flex}.result-window em{color:#eccb7d;font-size:21px;font-style:normal}.result-actions{gap:8px;display:flex}.result-actions button{background:#2f4a3f;border:2px solid #a2b3a0;flex:1;min-width:0;min-height:46px;font-size:13px;font-weight:900}.result-actions button:last-child{color:#22332c;background:#e7d098;border-color:#ffedb4}@media (height<=700px){.toolbar{height:42px;min-height:42px;padding:3px 6px}.build-view{gap:5px;padding-top:7px;padding-bottom:8px}.build-lead{gap:11px;min-height:77px}.build-avatar{flex-basis:69px;height:72px}.build-avatar .sprite{width:52px;height:52px}.build-identity strong{font-size:23px}.wallet-row{padding:7px 2px}.build-title{min-height:28px}.choice-stack{gap:4px}.build-choice{flex-basis:60px;padding-block:5px}.build-actions{padding-top:7px}.start-button{min-height:46px}.next-hint{margin-bottom:5px}.pager{flex-basis:26px}}@media (width<=365px){.transport{gap:2px}.transport-btn{min-width:27px;padding-inline:3px;font-size:11px}.toolbar-caption{font-size:11px}.build-view{padding-inline:9px}.hint{font-size:10px}.choice-copy strong{font-size:13px}.choice-copy small{font-size:10px}.field-hud{font-size:12px;right:6px}.location-tag{font-size:12px;left:6px}.hero-status{width:41%}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important}}.story-stage,.battle-stage,.world-canvas,.battle-sky{touch-action:none}.log-lines{touch-action:pan-y}.equipped-blade{width:7px;height:63px;image-rendering:pixelated;background:linear-gradient(90deg,#78919f 0 24%,#eef3d5 24% 58%,#a9c9c0 58% 100%);position:absolute;bottom:22%;right:5%;transform:rotate(28deg);box-shadow:2px 2px #203d48}.equipped-blade:after{content:"";background:#ba9259;width:27px;height:7px;position:absolute;bottom:-3px;left:-10px;box-shadow:0 5px #79533f}.ally-name{z-index:2;text-align:center;color:#f1e8ce;white-space:nowrap;background:#091829;border:1px solid #e2d8b8;min-width:72px;padding:3px 5px;font:11px DotGothic16,monospace;position:absolute;top:12%;left:-34%}.hero-block .pipoya-character.ally-sprite{aspect-ratio:1;width:68%;height:auto;bottom:0;left:-29%}.hero-block .ally-name{top:31%;left:-31%}.build-tabs{flex:none;gap:5px;margin:0 0 9px;display:flex}.build-tab{color:#c6d0c0;white-space:nowrap;text-overflow:ellipsis;background:#20392f;border:1px solid #648073;flex:1;min-width:0;height:35px;padding:3px;font:12px DotGothic16,monospace;overflow:hidden}.build-tab.active{color:#20362c;background:#e8d298;border-color:#f8e9b3}.build-pane{flex-direction:column;flex:1;min-height:0;display:flex}.personality-grid{flex:1;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;display:grid}.personality-choice{text-align:left;background:#22392f;border:2px solid #527159;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:0;padding:5px 8px;display:flex}.personality-choice.equipped{background:#46553a;border-color:#f0d388}.personality-choice:disabled{opacity:.4}.personality-name{color:#f4e8c7;justify-content:space-between;align-items:center;font-size:13px;font-weight:900;display:flex}.personality-name small{color:#e7cb83;font:11px DotGothic16,monospace}.personality-detail{color:#a8c0ac;font-size:10px;line-height:1.45}.build-footnote{color:#a8c6af;flex:none;margin:7px 0 0;font-size:10px;line-height:1.5}.ending-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;display:grid}.ending-entry{background:#1c302d;border:2px solid #4d6159;flex-direction:column;justify-content:center;gap:7px;min-width:0;padding:12px;display:flex}.ending-entry.discovered{border-color:#d5be83}.ending-entry strong{color:#f1e4c4;font:16px DotGothic16,monospace}.ending-entry small{color:#b0c7b9;font-size:11px}.game-over.happy-end{color:#f1d58e;font-size:clamp(22px,5vw,29px)}.record-toggle{color:#d5e3d8;background:#1d3440;border:1px solid #6c8477;width:100%;min-height:31px;margin:0 0 9px;font:12px DotGothic16,monospace}.result-record{color:#dddec6;max-height:112px;margin:8px 0;font-size:12px;line-height:1.5;overflow-y:auto}.result-record strong{color:#f2d994;margin-bottom:6px;font-size:12px;display:block}.result-record p{text-align:left;margin:3px 0;font-size:11px;display:block}.battle-stage.area-castle .battle-sky{filter:saturate(.48)brightness(.75)}.battle-stage.area-forest .battle-sky{filter:saturate(.75)brightness(.85)}@media (height<=700px){.build-tabs{margin-bottom:5px}.build-tab{height:30px;font-size:11px}.personality-grid{gap:4px}.personality-choice{padding:3px 5px}.personality-name{font-size:12px}.personality-detail{font-size:9px}.build-footnote{margin-top:4px;font-size:9px}.ending-entry{padding:7px}.ending-entry strong{font-size:13px}}@media (width<=365px){.build-tab{font-size:10px}.personality-name{font-size:11px}}
