:root{--ink:#283a39;--paper:#eee6d5;--teal:#257b77;--gold:#b67341}*{box-sizing:border-box}body{margin:0;background:#d7c7a7;color:var(--ink);font-family:"Yu Gothic UI","Meiryo",sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #34484444;background:#f2eadbba;border-radius:3px;padding:9px 14px;touch-action:none}button:hover{background:#fff7e9}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}[hidden]{display:none!important}#stage{height:100dvh;position:relative;overflow:hidden}#world{display:block;width:100%;height:100%;touch-action:none}.grain{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 55% 40%,transparent 30%,#4e44382e 100%);box-shadow:inset 0 0 90px #5e513521}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;gap:12px;z-index:5;font-size:12px}#hub{color:var(--ink);text-decoration:none;background:#eee6d5b3;padding:9px 12px;border:1px solid #34484433}.brand{letter-spacing:.24em;font-size:11px}nav{display:flex;gap:8px}nav button{font-size:11px;padding:8px 11px}#title{position:absolute;left:7%;top:24%;max-width:440px;z-index:2}.eyebrow{font-size:10px;letter-spacing:.22em;margin-bottom:24px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(38px,5vw,66px);letter-spacing:.1em;margin:0 0 8px}.en{font-size:12px;letter-spacing:.55em}.line{width:58px;height:1px;background:var(--ink);margin:25px 0}.intro{font-size:15px;line-height:2;letter-spacing:.08em}.primary{background:#2e5957;color:#fff2d9;border:0;min-width:210px;padding:15px 22px;text-align:left;letter-spacing:.08em;font-weight:600;box-shadow:0 5px 18px #243b3922}.primary:hover{background:#3b7270}.primary span{float:right}.keys{font-size:11px;line-height:1.9;margin-top:22px}.startnote{font-size:10px;opacity:.65}#demo-label{position:absolute;bottom:76px;left:7%;font-size:9px;letter-spacing:.17em;display:flex;align-items:center;gap:10px}#demo-label i{width:5px;height:5px;border-radius:50%;background:#257b77;animation:blink 2s infinite}#demo-text{font-size:11px;letter-spacing:.05em}footer{position:absolute;bottom:20px;left:32px;right:32px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;opacity:.6;pointer-events:none}#hud{position:absolute;inset:0;pointer-events:none}.objective{position:absolute;top:94px;left:32px;background:#eee6d5b8;padding:15px 19px;border-left:2px solid var(--teal)}.objective small{font-size:9px;letter-spacing:.12em}#seals{font-size:19px;letter-spacing:.2em;margin:8px 0}#time{font-size:10px;opacity:.6}.vitals{position:absolute;top:94px;right:32px;width:165px;background:#eee6d5b8;padding:14px}.vitals>div:not(.meter){display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.vitals b{color:var(--teal)}.meter{height:4px;background:#a9a38c55;overflow:hidden}.meter i{display:block;background:var(--teal);height:100%;width:100%;transition:width .1s}.vitals small{display:block;font-size:10px;margin-top:10px}#hint{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);text-align:center;white-space:pre-line;background:#eee6d5d9;padding:10px 20px;font-size:12px;max-width:80%;width:max-content;border:1px solid #34484422}#warning{position:absolute;top:25%;left:50%;transform:translateX(-50%);background:#804d36e8;color:#fff3dc;padding:13px 24px;white-space:nowrap;text-align:center;letter-spacing:.16em}#warning small{display:block;font-size:10px;margin-top:5px;letter-spacing:.03em}#charge{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);width:240px;padding:12px;background:#eee6d5d9;font-size:11px;text-align:center}#charge .meter{margin-top:9px}#result{position:absolute;inset:0;display:grid;place-items:center;background:#ded4b65e;z-index:4;backdrop-filter:blur(7px)}#result>div{padding:36px;text-align:center;background:#eee6d5e8;border:1px solid #334c4833;max-width:90%}#result small{letter-spacing:.3em;font-size:10px}#result h2{font:500 clamp(24px,4vw,40px) "Yu Mincho",serif}#result p{font-size:13px;line-height:1.9}#result button{display:block;margin:12px auto}#to-title{border:0;background:none;font-size:12px}#loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#eee6d5;z-index:10;gap:12px;font-family:serif;font-size:24px}#loading span{font:12px sans-serif}#touch{position:absolute;left:24px;right:24px;bottom:55px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.dpad{display:grid;grid-template-columns:repeat(3,45px);grid-template-rows:repeat(3,40px);gap:3px}.dpad button,.actions button{pointer-events:auto;background:#eee6d5b8;border:1px solid #34484444;user-select:none;-webkit-user-select:none}.up{grid-area:1/2}.left{grid-area:2/1}.right{grid-area:2/3}.down{grid-area:3/2}.actions{display:flex;align-items:flex-end;gap:8px}.actions button{width:58px;height:58px;border-radius:50%;font-size:11px;padding:2px}.actions .sword{height:74px;width:74px;background:#2e5957d9;color:#fff2d9}.actions small{display:block;font-size:7px;margin-top:4px}.pressed{background:#c2d3bc!important;transform:scale(.95)}@keyframes blink{50%{opacity:.3}}@media(max-width:700px){header{padding:12px;gap:5px}.brand{display:none}#title{left:7%;top:18%;max-width:85%}h1{font-size:42px}.eyebrow{font-size:8px;margin-bottom:18px}.intro{font-size:13px}.line{margin:18px 0}.keys{font-size:10px;margin-top:16px}#demo-label{bottom:64px;font-size:8px}#demo-text{max-width:190px}footer{left:14px;right:14px;font-size:7px;bottom:16px}footer span:first-child{max-width:45%}.objective{top:68px;left:12px;padding:10px}.objective small{font-size:8px}#seals{font-size:15px}.vitals{top:68px;right:12px;width:120px;padding:10px}#hint{bottom:204px;font-size:11px;max-width:94%;padding:8px 12px}#charge{bottom:250px}#touch{left:12px;right:12px;bottom:46px}.actions{gap:5px}.actions button{width:48px;height:48px}.actions .sword{width:64px;height:64px}#warning{top:32%;font-size:13px}}@media(max-height:480px){#title{top:20%;left:6%}h1{font-size:34px}.eyebrow{margin-bottom:8px}.line{margin:12px 0}.intro{font-size:12px;line-height:1.6;margin:8px 0}.primary{padding:11px 18px}.keys{margin:9px 0;font-size:9px}.startnote,#demo-label{display:none}.objective,.vitals{top:58px;padding:8px}#hint{bottom:35px;font-size:10px;max-width:42%}#charge{bottom:85px}#touch{bottom:27px}.dpad{grid-template-rows:repeat(3,30px);grid-template-columns:repeat(3,38px)}footer{bottom:8px}#warning{top:40%}}
