:root{color-scheme:dark;font-family:Noto Sans CJK JP,Yu Gothic,sans-serif;color:#e4e7e6;background:#0b121b;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #e9d39e;outline-offset:3px}button:disabled{opacity:.35;cursor:default}#shell{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 30%,#263744,#0b121b 65%);display:flex;align-items:center;justify-content:center}#game-frame{position:absolute;width:450px;height:800px;flex:none;overflow:hidden;background:#101b27;transform-origin:center;box-shadow:0 25px 100px #0008,0 0 0 1px #b7a27126}#canvas,#ui{position:absolute;inset:0}#canvas canvas{display:block;image-rendering:pixelated}#ui{pointer-events:none;-webkit-user-select:none;user-select:none}#ui button,#ui .panel-scroll,#ui .battle-log{pointer-events:auto}h1,h2,h3,p{margin:0}h1,h2,.title-copy,.body-copy,.dialogue-box p,.ending-screen p{font-family:"Noto Serif CJK JP",Yu Mincho,serif;font-weight:500}button{border:1px solid #af9e732e;background:#1c2b38;border-radius:5px;min-height:52px;padding:10px 15px;transition:background .12s,border-color .12s}button:active:not(:disabled){background:#3b4b51;border-color:#cbb78d}button.primary{background:#c9b582;color:#14232d;border-color:#dfcfab;font-weight:700}button.primary:active{background:#dfcda1}.primary span{float:right}.eyebrow{color:#c1ad81;font-family:Georgia,serif;font-size:10px;letter-spacing:2.3px;display:block}.ornament{color:#c8b17f;font-size:22px;display:block}svg{width:23px;height:23px;vertical-align:middle;flex-shrink:0}small{font-size:11px;color:#9eaeb7}header.header{height:66px;padding:16px 22px 8px;display:flex;align-items:center;justify-content:space-between}header h2{font-size:24px;letter-spacing:3px;margin-top:1px}.menu-toggle{display:flex;align-items:center;gap:7px;min-height:41px;font-size:12px;padding:8px 10px;background:#172531}.menu-toggle svg{width:17px}.hud{position:absolute;top:76px;left:22px;right:22px;height:50px;display:grid;grid-template-columns:108px 1fr 1fr;gap:13px;align-items:center;padding:0 0 11px;border-bottom:1px solid #b7a27140}.hud-name{font-size:13px;display:flex;flex-direction:column;gap:3px}.hud-name span{font-size:11px;color:#a9b5bf}.hud-name strong{color:#d4c098;font-size:15px}.resource>div:first-child{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;margin-bottom:7px}.resource b{font-size:14px;font-weight:500}.resource small{font-size:10px;color:#8fa1b1}.meter{height:4px;background:#ffffff16;overflow:hidden}.meter i{display:block;height:100%;background:#95b6a3;transition:width .2s}.meter.mp i{background:#799fb6}.map-corner{position:absolute;top:147px;left:13px;background:#142331db;color:#d2c9b2;font-size:11px;padding:6px 9px;border-left:2px solid #b5a476}.map-foot{position:absolute;top:502px;left:22px;right:22px;min-height:26px;font-size:12px;letter-spacing:.5px;text-shadow:0 1px 3px #000;padding:6px 10px;background:#12232bd9;border-radius:3px}.map-foot span{float:right;color:#c8b98f;font-size:10px}.objective{position:absolute;left:22px;right:22px;top:552px;min-height:48px;padding-left:12px;border-left:2px solid #b8a070}.objective>span,.menu-goal>span{font-size:10px;color:#c2ad7e;letter-spacing:2px}.objective p{font-size:13px;line-height:1.7;margin-top:3px;color:#d4dddf}.field-controls{position:absolute;left:29px;right:33px;top:610px;height:155px;display:flex;justify-content:space-between;align-items:center}.dpad{position:relative;width:174px;height:156px}.dpad .dir{position:absolute;width:57px;height:53px;min-height:53px;border-color:#b5a27140;color:#c9bd9e;font-size:16px;padding:0;border-radius:7px;background:linear-gradient(#243643,#192733);touch-action:none}.dpad .up{top:0;left:59px}.dpad .left{top:53px;left:0}.dpad .right{top:53px;right:0}.dpad .down{bottom:0;left:59px}.dpad i{position:absolute;left:77px;top:70px;color:#6f7c7c;font-size:16px;font-style:normal}.interact-area{text-align:center;width:135px;display:flex;flex-direction:column;gap:10px;align-items:center}.interact{border-radius:50%;width:90px;height:90px;border:1px solid #b9a77c85;background:radial-gradient(#34454d,#20313b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#ddc99b}.interact b{font-size:15px;font-weight:500;letter-spacing:3px;margin-left:3px}.interact-area>span{font-size:11px;color:#a3b1b8}.field-footer{position:absolute;left:22px;right:22px;bottom:11px;display:flex;justify-content:space-between;color:#9caeae;font-size:10px}.field-footer span:first-child{color:#c2b28f;letter-spacing:1px}.title-heading{position:absolute;top:33px;left:0;right:0;text-align:center}.title-heading .eyebrow{font-size:9px;letter-spacing:2.7px}.title-heading h1{font-size:53px;letter-spacing:8px;color:#eee6cf;text-shadow:0 2px 20px #0b1827;margin:14px 0 0 9px}.title-heading p{font-family:"Noto Serif CJK JP",serif;font-size:17px;letter-spacing:5px;color:#cbbb98;margin-top:3px}.title-heading .ornament{font-size:13px;margin-top:9px}.title-actions{position:absolute;top:535px;left:61px;right:61px;text-align:center}.title-copy{font-size:15px;line-height:1.8;letter-spacing:2px;color:#e4ddc8;margin-bottom:20px}.title-actions button{display:block;width:100%;margin:10px 0;letter-spacing:2px;min-height:53px;background:#142531d9}.title-actions .primary{background:#c9b582}.title-actions>small{display:block;font-size:10px;line-height:1.8;margin-top:17px}.enemy-status{position:absolute;top:157px;left:24px;width:175px}.enemy-status>span{display:block;font-size:13px;letter-spacing:1px;margin-bottom:9px;color:#e2d7bd}.enemy-status .meter i{background:#be8b8e}.enemy-status small{display:block;text-align:right;margin-top:5px;font-size:10px}.battle-caption{position:absolute;top:509px;left:22px;right:22px;display:flex;justify-content:space-between;color:#b9ae91;font-size:10px;letter-spacing:1px}.battle-log{position:absolute;top:539px;left:22px;right:22px;height:133px;padding:13px 16px;background:#142330;border:1px solid #a99b7638;border-radius:4px;font-size:13px;line-height:1.85;overflow-y:auto;scrollbar-width:thin}.battle-log p{margin:0;font-family:Noto Sans CJK JP,sans-serif}.battle-log p:nth-last-child(1){color:#d3c49f}.battle-commands{position:absolute;left:22px;right:22px;top:688px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.battle-commands button{display:flex;align-items:center;gap:13px;min-height:43px;font-size:14px;padding:10px 18px}.battle-commands svg{width:20px;height:20px;color:#c7b383}.battle-commands .wide{grid-column:span 2;min-height:71px;justify-content:center;margin-top:5px}.cinematic-heading{position:absolute;top:28px;left:24px;right:24px;text-align:center}.cinematic-heading h2{font-size:22px;letter-spacing:4px;margin-top:12px}.cinematic-heading .eyebrow{font-size:9px}.dialogue-box{position:absolute;top:553px;left:22px;right:22px;height:219px;background:#152534f5;border:1px solid #b9a5766e;border-radius:5px;padding:20px 20px 12px;box-shadow:0 10px 30px #07111d80;pointer-events:auto}.dialogue-box .speaker{font-size:12px;letter-spacing:2px;color:#cfb984;display:block;margin-bottom:11px}.dialogue-box p{font-size:16px;line-height:1.95;letter-spacing:.7px}.dialogue-box .next{position:absolute;right:13px;bottom:12px;min-height:40px;font-size:12px;border-color:#b9a57645;background:#213340;padding:7px 16px}.dialogue-box .next span{color:#d0bd8e;margin-left:12px}.dialogue-box>small{position:absolute;bottom:24px;left:20px;font-size:9px;color:#8c9ca6}.dialogue-box.cinematic{top:auto;bottom:28px;height:225px;background:#0e1c2bed}.dialogue-box.awakening-text{border-color:#e4d29e;background:#142638ec}.memory-symbol{position:absolute;top:254px;left:0;right:0;text-align:center;font-size:70px;color:#c8b586;font-family:Georgia,serif;text-shadow:0 0 40px #dbbc7344}.overlay{position:absolute;inset:0;background:#07111b9c;display:flex;align-items:center;justify-content:center;pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel{width:406px;max-height:692px;background:#152432;border:1px solid #b6a67c6e;border-radius:7px;box-shadow:0 18px 60px #020812b3;display:flex;flex-direction:column;overflow:hidden}.panel-head{padding:21px 21px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b5a17233}.panel-head h2{font-size:24px;letter-spacing:2px;margin-top:5px}.panel-head .eyebrow{font-size:8px;letter-spacing:2px}.panel-head button{min-height:45px;font-size:12px;padding:8px 15px}.panel-scroll{padding:18px 20px 22px;overflow-y:auto;scrollbar-width:thin}.panel-summary{color:#d7c494;font-size:14px;margin-bottom:15px;line-height:1.7}.body-copy{line-height:2;color:#d0d8d9;font-size:14px;margin-bottom:20px}.panel-note{font-size:10px;color:#95a8b3;line-height:1.9;margin-top:17px}.menu-profile{display:flex;align-items:center;gap:17px;border-bottom:1px solid #a8977633;padding-bottom:20px;margin-bottom:19px}.menu-profile img{width:94px;height:158px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 8px #080f19)}.menu-profile .eyebrow{font-size:8px;letter-spacing:2px}.menu-profile h3{font-size:18px;margin:8px 0 12px;white-space:nowrap}.menu-profile h3 small{font-size:12px;font-weight:400;color:#c4ad7a}.menu-profile p{font-size:12px;color:#a5b8c2;margin-top:7px}.menu-goal{margin-bottom:23px}.menu-goal p{font-size:13px;line-height:1.8;margin-top:7px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{display:flex;align-items:center;gap:11px;font-size:14px;min-height:59px}.menu-grid svg{color:#c4af7e}.list-row{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;margin-bottom:9px;min-height:64px;padding:11px 13px;background:#1c2e3d;border-color:#a999763d;font-size:14px;gap:7px}.list-row small{display:block;font-size:10px;margin-top:6px;font-weight:400;line-height:1.4}.list-row b{font-size:12px;color:#d0bb89;white-space:nowrap}.section-label{font-size:12px;letter-spacing:2px;color:#bdac83;margin:6px 0 12px}.full{width:100%;margin:7px 0;min-height:55px}.full svg{margin-right:9px}.inn-symbol{font-family:Georgia,serif;color:#d1bd88;text-align:center;font-size:80px;margin:20px}.inn-symbol+.body-copy{text-align:center}.battle-picker{max-height:594px}.battle-picker>.panel-note{padding:0 20px 20px;margin:0}.shade{position:absolute;inset:0;background:#07101acb}.center-card{position:absolute;left:40px;right:40px;top:235px;text-align:center}.center-card h2{font-size:28px;letter-spacing:2px;margin:16px 0 23px}.center-card p{font-size:14px;line-height:2;color:#b4c0c5;margin-bottom:30px}.center-card button{width:100%;margin:7px 0}.ending-screen{text-align:center;padding:36px 16px}.ending-screen h1{font-size:31px;letter-spacing:7px;margin:22px 0}.ending-screen>p{font-size:13px;line-height:2;letter-spacing:1px}.ending-bottom{position:absolute;top:596px;left:35px;right:35px}.ending-bottom h2{font-size:17px;letter-spacing:1px;margin:10px 0 12px}.ending-bottom small{display:block}.ending-bottom button{width:290px;margin-top:24px}#toast{position:absolute;bottom:196px;left:30px;right:30px;padding:13px 18px;border:1px solid #d9cda085;background:#142937f5;font-size:13px;line-height:1.7;border-radius:5px;box-shadow:0 6px 24px #0006;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10;text-align:center}#toast.visible{opacity:1}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#101b27;text-align:center}.loading h1{font-family:"Noto Serif CJK JP",serif;font-size:37px;letter-spacing:6px;color:#dfc997}.loading p{font-size:12px;color:#96a9b6;margin-top:25px}.loading .ornament{margin-top:30px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}
