:root{color-scheme:dark;--ink:#11282d;--cream:#ede3c9;--gold:#e6bd7d;--mint:#bfe9d1;--muted:#a7b8b2;--border:#71867b55;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#10242b;color:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{border:1px solid var(--border);background:#213b40;border-radius:4px;padding:12px 18px}button:hover:not(:disabled){border-color:var(--gold);background:#2a474b}a{color:inherit}.eyebrow{font:600 10px/1.5 ui-monospace,monospace;letter-spacing:.16em;color:var(--gold);margin:0 0 12px}.title-screen{position:relative;min-height:100svh;isolation:isolate;background:#18323c url('./assets/title.webp') center/cover no-repeat;display:flex;flex-direction:column}.title-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#091c28cf 0,#0d263088 40%,#14273300 76%),linear-gradient(0deg,#071c29eb,transparent 30%,transparent 75%,#0b202b99)}.title-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 4.5vw}.workshop{display:flex;align-items:center;gap:9px;font:700 14px ui-monospace,monospace;color:#d8ebda;letter-spacing:.13em;text-decoration:none}.workshop span{font-size:9px;letter-spacing:.15em;color:#bbd0c5}.edition{font:10px ui-monospace,monospace;letter-spacing:.15em;color:#bdc7c1}.quiet{background:#122c3277;border:1px solid #8daca640;font:11px ui-monospace,monospace;padding:10px 13px;white-space:nowrap}.quiet:hover{background:#2c4d50}.quiet span{margin-left:10px}.title-copy{padding:clamp(38px,8vh,90px) 6vw 55px;max-width:900px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:start}.title-copy .eyebrow{display:flex;align-items:center;gap:13px}.tiny-line{width:40px;height:1px;background:var(--gold)}h1{position:relative;font:400 clamp(48px,6.6vw,105px)/.95 Georgia,serif;letter-spacing:-.045em;margin:18px 0 27px;color:#f6ebd5;text-shadow:0 4px 34px #0d182bd0}h1 em{font-weight:400;color:#f0c589;font-style:italic}.title-star{position:absolute;right:-48px;top:-18px;color:var(--gold);font:34px Georgia,serif}.tagline{font:16px/1.8 system-ui,sans-serif;color:#cedbd2;margin:0 0 32px;text-shadow:0 2px 8px #0c1e28}.title-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.primary{background:var(--gold);border-color:var(--gold);color:#223b3c;padding:16px 22px;font:700 12px ui-monospace,monospace;letter-spacing:.03em;box-shadow:0 4px 24px #101e2780}.primary:hover:not(:disabled){background:#f2d299;color:#162f34}.primary span{margin-left:24px}.text-button{background:transparent;border:0;border-radius:0;font:11px ui-monospace,monospace;border-bottom:1px solid #9fb1a960;padding:14px 1px}.text-button:hover{background:transparent}.title-note{font:10px ui-monospace,monospace;letter-spacing:.03em;color:#aebfb9;margin:18px 0 0}.title-bottom{padding:20px 4.5vw 24px;display:flex;justify-content:space-between;gap:20px;color:#c8d1c4;font:9px ui-monospace,monospace;letter-spacing:.13em}.title-bottom i{color:var(--gold);padding:0 10px;font-style:normal}.headphone{color:var(--gold)}[hidden]{display:none!important}.play-screen{height:100svh;display:flex;flex-direction:column}.game-bar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#10282d}.game-name{font:11px ui-monospace,monospace;letter-spacing:.15em;color:var(--gold)}.game-name span{color:var(--muted);margin-left:8px;font-size:9px}.game-actions{display:flex;gap:7px}.game-actions button{padding:8px 10px}.game-shell{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.hud{min-height:88px;padding:14px 28px;display:grid;grid-template-columns:190px 1fr 170px;gap:20px;background:linear-gradient(90deg,#16353a,#18353b,#173238);border-bottom:1px solid var(--border)}.hud .eyebrow{font-size:8px;margin-bottom:5px}.glow-status #hearts{font:13px ui-monospace,monospace;color:var(--mint);letter-spacing:4px}.glow-status #hearts .empty{color:#53706c}.energy-row{display:flex;align-items:center;gap:9px;font:7px ui-monospace,monospace;color:#a5bfb1;margin-top:5px}.energy-row meter{width:90px;height:7px;border:0;background:#0c242d;border-radius:3px}meter::-webkit-meter-bar{background:#0b252d;border:0}meter::-webkit-meter-optimum-value{background:#d6b481}meter::-moz-meter-bar{background:#d6b481}.route-status{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.route-status strong{font:19px Georgia,serif;margin-bottom:5px;color:#ede3c9}.route-status>span:last-child{font:9px ui-monospace,monospace;color:#b4c8bb}.mail-status{text-align:right;display:flex;flex-direction:column;align-items:end;justify-content:center}.mail-status>strong{font:29px Georgia,serif}.mail-status small{font:14px ui-monospace,monospace;color:#8fae9f}.parcel-icon{font-size:34px;color:#e6b981;vertical-align:middle}.mail-status>span{font:8px ui-monospace,monospace;color:#a5c1b1}.mail-status b{color:#e5c799;font-weight:400}.mail-status i{font-style:normal;padding:0 4px}.stage{position:relative;flex:1;min-height:280px;overflow:hidden;background:#283f43}.stage canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.chapter{position:absolute;left:50%;top:17%;transform:translateX(-50%);pointer-events:none;text-align:center;text-shadow:0 4px 12px #0c202e;opacity:0;transition:opacity .8s}.chapter.show{opacity:1}.chapter span{display:block;font:9px ui-monospace,monospace;letter-spacing:.22em;color:var(--gold);margin-bottom:10px}.chapter strong{font:italic 42px Georgia,serif;color:#ece2c8;white-space:nowrap}.toast{position:absolute;bottom:25px;left:50%;transform:translateX(-50%) translateY(15px);max-width:90%;background:#132c34ed;border:1px solid #b9bd8555;border-radius:5px;color:#f0d3a1;padding:12px 20px;font:12px/1.5 ui-monospace,monospace;text-align:center;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.boss-help{position:absolute;top:19px;left:50%;transform:translateX(-50%);background:#291d34da;border:1px solid #ac8cac6b;padding:12px 20px;font:9px ui-monospace,monospace;letter-spacing:.13em;text-align:center;pointer-events:none}.boss-help span{display:block;color:#e5c9ad;font-size:10px;letter-spacing:0;margin-top:6px}.game-footer{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 24px;background:#10272e;color:#a8bcae;font:9px/1.6 ui-monospace,monospace;border-top:1px solid var(--border)}.keyboard-controls{display:flex;gap:15px;white-space:nowrap;font-size:8px}kbd{font:inherit;color:#dfceb0;border:1px solid #7b8e8060;border-radius:3px;padding:2px 4px}.save-state{font-size:7px;color:#829e93;white-space:nowrap}.touch-controls{position:absolute;inset:0;display:none;pointer-events:none}.joystick{position:absolute;bottom:23px;left:25px;width:112px;height:112px;background:#15313b5c;border:1px solid #d3e0bc66;border-radius:50%;pointer-events:auto;touch-action:none;display:grid;place-items:center}.joystick span{width:48px;height:48px;border-radius:50%;background:#c6d2b450;border:1px solid #d3e0bc77;pointer-events:none}.touch-actions{position:absolute;bottom:24px;right:20px;display:flex;align-items:end;gap:9px;pointer-events:auto}.touch-actions button{width:53px;height:53px;border-radius:50%;font:22px Georgia,serif;padding:0;background:#18353ebf;touch-action:none}.touch-actions button:last-child{width:66px;height:66px;color:var(--gold)}.touch-actions small{font:7px ui-monospace,monospace;display:block;color:#d0d4bd}.touch-on .touch-controls{display:block}.touch-on .toast{bottom:150px}.touch-on .keyboard-controls{display:none}dialog{border:1px solid #9eab8266;border-radius:12px;color:var(--cream);background:#1b343b;max-height:88svh;width:min(670px,calc(100vw - 28px));padding:0;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#081824c9;backdrop-filter:blur(5px)}.modal-shell{position:relative;padding:32px 35px;background:radial-gradient(ellipse at 0 0,#55746c40,transparent 75%)}.modal-close{position:absolute;right:14px;top:12px;padding:4px 11px;font-size:25px;background:transparent;border:0;color:#b4c5b3}.modal-shell>h2{font:400 38px/1.05 Georgia,serif;margin:12px 0 24px;letter-spacing:-.025em;color:#f3dfba;max-width:95%}.modal-shell p{font-size:14px;line-height:1.75;color:#c2d1c3}.modal-shell strong{color:#eac994}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.modal-actions button{font:11px ui-monospace,monospace}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.choice-card{text-align:left;padding:20px}.choice-card strong{display:block;font:20px Georgia,serif;margin-bottom:8px}.choice-card span{display:block;font-size:12px;line-height:1.6;color:#bccfc3}.handbook{display:grid;grid-template-columns:1fr 1fr;gap:12px}.handbook>div{border-top:1px solid var(--border);padding:14px 0;color:#b6ccc0;font-size:12px;line-height:1.7}.handbook h3{font:17px Georgia,serif;color:#e5c999;margin:0 0 8px}.handbook kbd{font-size:10px}.handbook p{margin:5px 0;font-size:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-top:1px solid var(--border);font-size:13px;color:#c9d7c6}.setting-row input[type=range]{width:180px;accent-color:var(--gold)}.setting-row input[type=checkbox]{accent-color:var(--gold);width:19px;height:19px}.setting-row label{display:flex;gap:10px;align-items:center}.setting-note{font-size:11px!important}.parcel-note{padding:14px 18px;border:1px dashed #9ca37a77;background:#d6be8710;border-radius:5px;margin:16px 0}.parcel-note .eyebrow{color:#b5c3a7;margin-bottom:3px}.parcel-note h3{font:italic 22px Georgia,serif;margin:4px 0;color:#e9cd9b}.seal-pattern{display:flex;justify-content:center;gap:14px;margin:24px 0;min-height:75px;align-items:center}.seal-pattern span{width:70px;height:70px;background:#345154;border:1px solid #788f7a77;border-radius:50%;display:grid;place-items:center;font:37px Georgia,serif;color:#efd19b;box-shadow:inset 0 0 0 5px #243f46}.seal-pattern.masked span{color:transparent;background:#1a3139}.seal-pattern.masked span:after{content:'?';color:#809d93;font:30px Georgia,serif;position:absolute}.rune-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.rune-buttons button{padding:13px 3px}.rune-buttons strong{display:block;font:28px Georgia,serif}.rune-buttons small{display:block;font:9px ui-monospace,monospace;margin-top:5px}.seal-progress{font:16px ui-monospace,monospace;text-align:center;color:var(--gold);letter-spacing:8px;margin:15px 0}.seal-helper{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0;font:11px ui-monospace,monospace;color:#b9ccba}.seal-helper label{display:flex;gap:7px;align-items:center}.seal-helper input{accent-color:var(--gold)}.seal-helper button{padding:8px 12px;font:10px ui-monospace,monospace}.feedback{min-height:24px;font:11px/1.6 ui-monospace,monospace!important;color:#edcb95!important}.shop-list{display:grid;gap:10px}.shop-item{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--border);padding:15px;border-radius:5px}.shop-item h3{font:20px Georgia,serif;color:#eed2a0;margin:0 0 5px}.shop-item p{font-size:11px;margin:0}.shop-item button{font:10px ui-monospace,monospace;white-space:nowrap}.journal-modal{width:min(850px,calc(100vw - 28px))}.journal-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.journal-map{width:100%;height:auto;border:1px solid var(--border);border-radius:8px}.journal-list{display:grid;gap:7px}.address{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;font-size:12px}.address .stamp{font:22px Georgia,serif;color:var(--gold)}.address span:last-child{display:block;font-size:9px;color:#a5bbaa;margin-top:4px}.address.done{background:#243e38}.address.done .stamp{color:var(--mint)}.journal-details h3{font:21px Georgia,serif;color:var(--gold);margin:20px 0 8px}.journal-details p{font-size:11px;margin:6px 0}.badge-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.badge{font:10px ui-monospace,monospace;padding:7px 10px;border:1px solid #7b9b7d55;color:#bed0b6;background:#2c453d;border-radius:4px}.badge.locked{opacity:.5;background:transparent}.win-seal{margin:10px auto 22px;border:1px solid var(--gold);border-radius:50%;width:115px;height:115px;display:grid;place-items:center;font:55px Georgia,serif;color:var(--gold);box-shadow:0 0 0 8px #efd28b11}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.stats-grid>div{padding:16px 9px;background:#122b30;text-align:center;border:1px solid var(--border);border-radius:5px}.stats-grid strong{display:block;font:27px Georgia,serif;margin-bottom:8px}.stats-grid span{font:8px ui-monospace,monospace;color:#9fb9a8}.noscript{position:fixed;bottom:10px;left:10px;background:#182e34;padding:20px;color:#fff}.fade-in{animation:enter .5s ease-out}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(pointer:coarse){.touch-controls{display:block}.toast{bottom:150px}.keyboard-controls{display:none}}@media(max-width:820px){.title-top{padding:20px}.edition{display:none}.title-copy{padding:50px 6vw 55px}.title-screen{background-position:62% center}.title-shade{background:linear-gradient(90deg,#091c28ec,#0d263077 70%,#14273300),linear-gradient(0deg,#071c29f0,transparent 80%)}.title-star{right:-25px;font-size:24px}.title-bottom{flex-wrap:wrap;font-size:8px}.title-bottom>span:last-child{display:none}.hud{grid-template-columns:135px 1fr 110px;gap:8px;padding:12px 16px}.game-name{display:none}.game-bar{padding:0 14px}.mail-status>span{font-size:7px}.route-status strong{font-size:16px}.route-status>span:last-child{font-size:8px}.game-footer{padding:8px 14px}.save-state{display:none}.keyboard-controls{gap:8px}.journal-layout{grid-template-columns:1fr}.journal-map{max-height:260px;object-fit:contain}.journal-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.title-copy h1{font-size:clamp(38px,11.3vw,55px)}.title-star{right:0;top:-25px}.title-copy .eyebrow{font-size:7px;letter-spacing:.13em}.tagline{font-size:13px}.title-copy{padding-top:35px}.title-note{font-size:8px}.title-bottom{font-size:7px;gap:10px}.title-top .workshop span{display:none}.title-top .workshop{font-size:11px}.title-screen{background-position:58% center}.hud{grid-template-columns:96px 1fr 70px;gap:6px;min-height:82px;padding:10px}.glow-status #hearts{font-size:10px;letter-spacing:1px}.energy-row{flex-direction:column;align-items:start;gap:2px}.energy-row meter{width:70px}.mail-status>span{font-size:6px;line-height:1.6}.mail-status i{display:block;height:2px;color:transparent}.mail-status>strong{font-size:23px}.parcel-icon{display:none}.route-status strong{font-size:14px}.route-status .eyebrow{font-size:6px;letter-spacing:.1em}.route-status>span:last-child{font-size:7px}.game-bar{height:50px;padding:0 10px}.game-bar .workshop{font-size:15px}.game-bar .workshop span{display:none}.game-actions button{padding:8px 9px;font-size:9px}.game-actions kbd{display:none}.chapter strong{font-size:28px}.chapter span{font-size:7px}.game-footer{font-size:8px;min-height:40px}.keyboard-controls{display:none}.modal-shell{padding:28px 23px}.modal-shell>h2{font-size:31px}.modal-shell p{font-size:12px}.choice-grid{grid-template-columns:1fr}.handbook{grid-template-columns:1fr}.rune-buttons small{font-size:8px}.seal-helper{font-size:9px}.joystick{width:90px;height:90px;left:18px}.joystick span{width:39px;height:39px}.touch-actions{right:14px;gap:6px}.touch-actions button{width:45px;height:45px;font-size:19px}.touch-actions button:last-child{width:57px;height:57px}.journal-list{grid-template-columns:1fr}.setting-row input[type=range]{width:125px}}@media(max-height:560px) and (orientation:landscape){.game-bar{height:42px}.hud{min-height:65px;padding:7px 20px}.stage{min-height:180px}.game-footer{min-height:30px;padding:4px 15px}.joystick{width:83px;height:83px;bottom:12px}.touch-actions{bottom:12px}.title-copy{padding:25px 6vw}.title-copy h1{font-size:65px;margin:10px 0 14px}.tagline{margin-bottom:18px;font-size:12px}.title-bottom{padding:10px 4vw}.title-note{display:none}.chapter{top:13%}.chapter strong{font-size:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.wardrobe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.wardrobe button{text-align:left}.wardrobe small{display:block;font-size:11px;opacity:.75;margin-top:7px}.wardrobe [aria-pressed=true]{border-color:#baf2d4;background:#365448}.companion-option{display:flex;align-items:center;gap:12px;margin:20px 0}@media(max-width:520px){.wardrobe{grid-template-columns:1fr}}
