:root{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:#f4ecd0;background:#183d46;font-synthesis:none;color-scheme:dark;--gold: #e4c891;--ink: #183b3e}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{touch-action:none;-webkit-user-select:none;user-select:none}button,label{font:inherit}button,.file-button{color:#f1e9cc;border:1px solid #c7c7a64d;background:#204647d9;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;touch-action:none;border-radius:7px;padding:12px 18px}button:hover,.file-button:hover{background:#355a54;border-color:#dfd7af}button:active{transform:translateY(1px)}button:focus-visible,.file-button:focus-within{outline:2px solid #ffe4a0;outline-offset:4px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.eyebrow{font-family:Georgia,Yu Mincho,serif;font-size:11px;letter-spacing:.2em;color:#d9cfaa}.veil{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#112e39b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:20}#title{justify-content:flex-start;background:linear-gradient(90deg,#102f3ceb,#14343bc9 32%,#163e423d 72%,#173c3e22);-webkit-backdrop-filter:none;backdrop-filter:none}.title-copy{margin-left:12vw;max-width:520px}.title-copy h1{font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-weight:500;font-size:clamp(58px,7.2vw,105px);letter-spacing:.15em;margin:23px 0 13px;text-shadow:0 3px 22px #102c36}.title-line{height:1px;width:78px;background:var(--gold);margin:18px 0 25px}.title-copy h2{font-family:Georgia,Yu Mincho,serif;font-size:21px;font-weight:400;letter-spacing:.22em;color:#e0cda4}.title-copy p{font-size:14px;line-height:2.2;color:#c8d5c2;margin:24px 0 34px}.primary{background:#ddc594;color:#233e3c;border:1px solid #f7deb1;box-shadow:0 5px 24px #102f3340;font-weight:700}.primary:hover{background:#f0d7a8}.primary span{margin-left:60px}.title-copy .primary{min-width:260px;padding:17px 25px}.secondary{display:block;margin-top:12px;background:transparent}.title-copy small{display:block;font-size:10px;color:#b4c8b9;margin-top:24px;letter-spacing:.05em}.chapter-mark{position:absolute;right:7vw;bottom:8vh;font:60px Georgia;color:#ede0b8a6}.chapter-mark span{display:block;font-size:10px;letter-spacing:.25em;margin-top:7px}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:30px}#hud button{pointer-events:auto}.vitals{position:absolute;left:max(26px,env(safe-area-inset-left));top:max(25px,env(safe-area-inset-top));width:235px;padding:14px 18px;background:linear-gradient(110deg,#15383be8,#183e3dc4);border:1px solid #b4bf9440;border-left:2px solid #d4c395;border-radius:4px;box-shadow:0 4px 18px #13323522}.vitals .eyebrow{display:flex;justify-content:space-between}.health-line{display:flex;align-items:center;gap:9px;margin-top:8px}.heart{font-size:13px;color:#edb696}.health-track{height:6px;background:#0f2c30;flex:1;border-radius:4px;overflow:hidden}.health-track i{height:100%;display:block;background:linear-gradient(90deg,#b3c593,#e1dca7);transition:width .2s}#health-label{font-size:10px;font-variant-numeric:tabular-nums;min-width:46px;color:#d6dec1}.experience{height:2px;background:#45605b;margin:7px 0 9px}.experience i{display:block;height:100%;background:#b8c8af}#weapon-label{font-size:10px;letter-spacing:.08em;color:#b8cdb9}#heal{position:absolute;right:12px;bottom:6px;padding:4px 9px;font-size:12px;min-height:30px;color:#dce4bc}.quest{position:absolute;right:90px;top:28px;width:290px;text-shadow:0 2px 7px #112e36;filter:drop-shadow(0 1px 6px #1b4141)}.quest .eyebrow{font-family:inherit;letter-spacing:.15em;color:#cbd9bd}.quest h2{font-family:Yu Mincho,serif;font-size:18px;letter-spacing:.07em;font-weight:500;margin:7px 0}.quest p{font-size:11px;line-height:1.7;margin:0;color:#d3dfc5}.icon-button{position:absolute;right:max(26px,env(safe-area-inset-right));top:28px;padding:11px 14px;font-size:19px;background:#183c3ed9}.dialog{position:absolute;bottom:27px;left:50%;transform:translate(-50%);width:min(680px,calc(100% - 48px));z-index:30;padding:24px 30px 20px;background:linear-gradient(120deg,#163b3ef5,#234b46f5);border:1px solid #c6c59888;border-top:2px solid #d7c79b;border-radius:7px;box-shadow:0 12px 55px #102f3b88}.dialog .eyebrow{font-family:inherit;color:#e4cda2;font-size:12px}.dialog p{font-size:15px;line-height:2;min-height:60px;margin:14px 0}.dialog button{display:block;margin-left:auto;padding:8px 12px;background:transparent;font-size:12px;border:none;color:#decfa8}#toast{position:absolute;bottom:105px;left:50%;transform:translate(-50%,10px);max-width:min(620px,80%);background:#163b3de8;border:1px solid #b8c19a55;border-radius:6px;font-size:12px;text-align:center;line-height:1.7;padding:12px 22px;opacity:0;transition:opacity .3s,transform .3s;color:#ece3bd}#toast.visible{opacity:1;transform:translate(-50%)}#interact{position:absolute;left:50%;bottom:48px;transform:translate(-50%);background:#e2c99a;color:#1e4241;box-shadow:0 4px 25px #17363766;font-size:13px;padding:13px 25px;white-space:nowrap;border:1px solid #f4ddb0}#desktop-help{position:absolute;bottom:22px;left:26px;font-size:10px;letter-spacing:.04em;color:#d5dfc1ab;text-shadow:0 2px 8px #0d333a}#desktop-help b{font-weight:500;display:inline-block;margin:0 3px 0 14px;color:#f4dfb2}#boss{position:absolute;left:50%;top:30px;transform:translate(-50%);width:320px;text-align:center}#boss span{font-size:12px;letter-spacing:.15em;text-shadow:0 2px 7px #143a3a}#boss div{height:7px;background:#153b3b;border:1px solid #c0b48c;margin-top:9px}#boss i{display:block;height:100%;background:#d2b589;transition:width .2s}.in-boss .quest{top:107px;width:220px}.journal-card{width:min(560px,calc(100% - 40px));max-height:calc(100% - 42px);overflow-y:auto;background:linear-gradient(140deg,#1b4145,#234a46);padding:30px 35px;border:1px solid #b4b79077;border-radius:9px;box-shadow:0 20px 80px #0f2a3e80;touch-action:pan-y}.journal-card h2{font:28px Yu Mincho,serif;margin:17px 0}.journal-card h3{font-size:12px;font-weight:500;color:#dac89f;margin:23px 0 12px;letter-spacing:.14em}.journal-card p{font-size:12px;line-height:1.9;color:#c5d2bd}.equipment{display:block;width:100%;text-align:left;padding:12px 14px;margin:8px 0;background:#14363a55}.equipment strong{display:block;font-size:13px;font-weight:500}.equipment span{display:block;font-size:11px;color:#b6c9b5;margin-top:7px}.equipment.selected{border-color:#d7c492;background:#63765a44}.journal-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.journal-buttons button,.file-button{padding:10px 12px;font-size:11px}.journal-buttons .primary{margin-left:auto}input[type=file],#touch{display:none}#rotate{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 25%,#355e57,#15363e);z-index:100;align-items:center;justify-content:center;flex-direction:column;text-align:center}#rotate>span{font-size:70px;color:#e4c794}#rotate h2{font:25px Yu Mincho,serif;letter-spacing:.1em}#rotate p{font-size:13px;line-height:2;color:#bdcdb9}#rotate button{margin-top:15px}#save-status{font-size:10px;color:#bcc8b0}@media(pointer:coarse),(max-width:950px){#touch{display:block}#desktop-help{display:none}.vitals{left:max(17px,env(safe-area-inset-left));top:13px;width:185px;padding:9px 12px}.vitals .eyebrow{font-size:9px}.health-line{gap:6px;margin-top:6px}#health-label{font-size:9px}.experience{margin:5px 0 6px}.quest{right:max(73px,calc(env(safe-area-inset-right) + 62px));top:13px;width:215px}.quest h2{font-size:14px;margin:5px 0}.quest p{font-size:10px}.quest .eyebrow{font-size:9px}.icon-button{top:13px;right:max(16px,env(safe-area-inset-right));padding:9px 12px;font-size:17px}.title-copy{margin-left:9vw}.title-copy .eyebrow{font-size:9px}.title-copy h1{font-size:58px;margin:12px 0 0}.title-line{margin:12px 0 14px}.title-copy h2{font-size:16px;margin:13px 0}.title-copy p{font-size:11px;line-height:1.9;margin:15px 0 19px}.title-copy .primary{padding:12px 18px;font-size:12px;min-width:220px}.title-copy small{font-size:9px;margin-top:14px}.chapter-mark{font-size:45px;right:8vw;bottom:12vh}.chapter-mark span{font-size:9px}#stick{position:absolute;bottom:max(27px,env(safe-area-inset-bottom));left:max(34px,env(safe-area-inset-left));width:112px;height:112px;border-radius:50%;border:1px solid #e0d9b567;background:radial-gradient(circle,#6a8c7a44,#204b4855);pointer-events:auto;touch-action:none;box-shadow:inset 0 0 25px #173c3d55}#stick:before,#stick:after{content:"";position:absolute;background:#d1d2a72b}#stick:before{width:1px;height:80px;top:16px;left:55px}#stick:after{height:1px;width:80px;left:16px;top:55px}#stick i{position:absolute;left:34px;top:34px;width:43px;height:43px;border:1px solid #e7dfb69c;border-radius:50%;background:linear-gradient(140deg,#b1c8a879,#4a75668f);box-shadow:0 3px 12px #163e3b55;pointer-events:none}.actions{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));right:max(25px,env(safe-area-inset-right));display:flex;align-items:flex-end;gap:17px}.actions button{border-radius:50%;width:70px;height:70px;padding:9px 0;background:#2c5750bb;border:1px solid #d8d4a980;font-size:10px;box-shadow:0 4px 17px #133b3866}.actions button span{display:block;font-family:serif;font-size:26px;margin-top:2px;line-height:1}.actions #attack{width:86px;height:86px;background:linear-gradient(150deg,#c6c99aaf,#6c957a88);font-size:11px;color:#fff4d4;border-color:#e5d8aa}.actions #attack span{font-size:33px}.actions .cooldown{opacity:.55}#interact{bottom:26px;padding:12px 18px;font-size:11px;min-height:44px}#toast{bottom:87px;max-width:53%;padding:9px 15px;font-size:10px}.dialog{bottom:17px;padding:16px 23px 12px;width:min(590px,calc(100% - 70px))}.dialog p{font-size:13px;line-height:1.9;min-height:44px;margin:10px 0}.dialog .eyebrow{font-size:11px}.dialog button{min-height:40px;font-size:11px}.in-dialog #touch,.in-dialog #interact,.in-dialog #toast{visibility:hidden}#boss{top:14px;width:230px}#boss span{font-size:10px}.in-boss .quest{top:90px;right:18px;width:170px}.journal-card{padding:20px 28px}.journal-card h2{font-size:23px;margin:12px 0}.journal-card h3{margin-top:15px}#heal{min-height:35px;padding:6px 10px;bottom:0;right:5px}}@media(max-width:950px)and (orientation:portrait){#rotate{display:flex}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
