@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--ink:#071d25;--gold:#dfc48a;--pale:#f4f0df;--muted:#adc4c6;--line:rgba(209,226,217,.2)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--ink);color:var(--pale);font-family:'DM Sans',Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #f3d08b;outline-offset:5px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}#game-shell{position:relative;width:100%;height:100%;height:100dvh;isolation:isolate;overflow:hidden}#world{width:100%;height:100%;display:block;touch-action:none;outline:none;background:#072430}.screen{position:absolute;inset:0;z-index:20}.title-screen{background:#071c26}.title-art,.art-shade{position:absolute;inset:0}.title-art{background:url('nimlos-cover.png') center 51%/cover no-repeat;animation:arrival 2s ease-out}.art-shade{background:linear-gradient(90deg,rgba(3,16,26,.94) 0%,rgba(3,17,25,.78) 27%,rgba(3,17,25,.24) 59%,rgba(3,17,25,.02) 100%),linear-gradient(0deg,rgba(3,16,25,.75),transparent 22%)}.edition{position:absolute;top:40px;left:5.8%;font-size:12px;letter-spacing:.2em;color:#c3d4d5;display:flex;align-items:center;gap:14px}.moon-mark{font-size:34px;color:var(--gold)}.title-content{position:absolute;left:8%;top:49%;transform:translateY(-50%);max-width:650px}.eyebrow{font-size:11px;letter-spacing:.25em;color:var(--gold);margin:0 0 23px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(44px,6.3vw,96px);letter-spacing:.04em;margin:0 0 10px;line-height:1.04;color:#f3ebd6;text-shadow:0 3px 32px #112029}.subtitle{display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:.38em;color:var(--gold);margin:15px 0 29px}.subtitle span{height:1px;width:40px;background:linear-gradient(90deg,transparent,var(--gold))}.subtitle span:last-child{transform:rotate(180deg)}.intro{font-size:17px;line-height:1.85;color:#c4d1cd;margin:0 0 32px}.primary{border:1px solid #f2d9a0;border-radius:3px;background:#e1c68d;color:#1b2c30;padding:17px 25px;font-size:15px;font-weight:600;min-width:235px;box-shadow:0 0 35px #c9a05b16;transition:.2s}.primary:hover{background:#f1dba9;transform:translateY(-2px);box-shadow:0 0 35px #c9a05b35}.primary span{float:right;margin-left:35px;font-size:20px;font-weight:400}.secondary{display:block;background:#08232a99;border:1px solid var(--line);padding:14px 20px;margin:12px 0 0;border-radius:3px;min-width:235px;font-size:14px}.secondary:hover{border-color:var(--gold)}.game-note{font-size:12px;color:#9baea9;margin-top:19px}.title-footer{position:absolute;bottom:32px;left:5.8%;right:5.8%;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:#aec4c4}.title-footer i{font-style:normal;color:#b79964;padding:0 17px}.text-button{border:0;background:transparent;color:#d2c49f;font-size:14px;letter-spacing:0;padding:10px 0}.text-button span{border:1px solid #6d847f;border-radius:50%;width:21px;height:21px;display:inline-grid;place-items:center;margin-left:10px}.hud-top{position:absolute;z-index:4;left:32px;right:32px;top:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;pointer-events:none}.hud-top>*{pointer-events:auto}.small-brand{font-family:Georgia,serif;color:var(--gold);font-size:30px;display:flex;gap:9px;align-items:center}.small-brand span{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.22em}.hearts{color:#ecc18f;font-size:24px;letter-spacing:4px;line-height:1.4;text-shadow:0 2px 10px #0008}.hearts .empty{color:#668584}.dash-track{height:3px;width:124px;background:#395352;border-radius:2px;margin-top:6px}.dash-track span{display:block;background:#86d7c6;height:100%;width:100%;border-radius:2px}.quest{padding:10px 24px 12px;min-width:340px;text-align:center;border:1px solid #7aa49430;border-top:1px solid #c5d6ae50;background:linear-gradient(120deg,#09252ce6,#0a242bba);box-shadow:0 10px 40px #05131b4a;backdrop-filter:blur(10px)}.quest p{font-size:10px;letter-spacing:.22em;color:#dbc797;margin:0 0 8px}.quest h2{font-size:14px;font-weight:400;margin:0;color:#dfebdf}.shard-row{margin-top:9px;display:flex;justify-content:center;gap:16px}.shard-row span{color:#687f7b;font-size:18px;line-height:1}.shard-row .found{text-shadow:0 0 14px currentColor}.hud-actions{display:flex;gap:8px}.icon-button{position:relative;width:43px;height:43px;border:1px solid #729a8d50;background:#0b2934bd;backdrop-filter:blur(12px);font-size:23px;border-radius:3px}.icon-button:hover{background:#20414a}.off-slash{position:absolute;left:21px;top:8px;font-size:27px;color:#c3a282}.hud-bottom{position:absolute;bottom:25px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.hud-bottom p{font-size:11px;letter-spacing:.18em;color:#bed5ce}.location-star{color:var(--gold);font-size:19px;margin-right:8px}.keyboard-legend{display:flex;gap:17px;font-size:11px;color:#bdcfce}.keyboard-legend span{display:flex;align-items:center;gap:6px}kbd{font-family:inherit;font-size:10px;border:1px solid #a6b8a654;background:#112e35a8;padding:4px 6px;border-radius:3px;color:#e3dec1;letter-spacing:.03em}#region-banner{position:absolute;pointer-events:none;top:27%;left:0;right:0;text-align:center;opacity:0;transition:opacity 1s;text-shadow:0 4px 18px #001014}#region-banner.visible{opacity:1}#region-banner span{font-size:10px;letter-spacing:.28em;color:#e7d398}#region-banner h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;font-weight:400;letter-spacing:.07em;margin:12px}#toast{position:absolute;left:50%;bottom:110px;transform:translateX(-50%) translateY(10px);z-index:8;background:#102b32ef;border:1px solid #adba8d50;border-radius:4px;padding:14px 22px;max-width:min(650px,90vw);width:max-content;font-size:14px;line-height:1.5;color:#eee6ca;opacity:0;pointer-events:none;transition:.2s;text-align:center}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}#interaction{position:absolute;left:50%;top:61%;transform:translate(-50%,0);background:#0c252de8;border:1px solid #c0c89c66;border-radius:4px;padding:9px 13px;display:flex;align-items:center;gap:10px;font-size:13px;pointer-events:none;white-space:nowrap}#interaction kbd{background:#e5cc91;color:#143037;padding:4px 7px;font-size:12px}.dialogue{position:absolute;z-index:30;bottom:60px;left:50%;transform:translateX(-50%);width:min(740px,calc(100% - 40px));padding:26px 30px;display:flex;align-items:flex-start;gap:24px;background:linear-gradient(120deg,#102d35f5,#09212af7);border:1px solid #9faf8c66;box-shadow:0 15px 90px #00131bc0;backdrop-filter:blur(14px);border-radius:4px}.portrait{min-width:67px;height:76px;background:#163e40;border:1px solid #b3c4a73d;display:grid;place-items:center;color:#a5e6d0;font-size:55px}.dialogue-copy{flex:1}#speaker{font-size:11px;letter-spacing:.16em;color:#dac18b;margin:0 0 12px}#dialogue-text{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.5;margin:0;color:#e2ecdd}.dialogue-copy button{display:block;margin-left:auto;margin-top:10px}.dialogue-copy kbd{margin-left:8px}.modal{background:#031920a8;backdrop-filter:blur(9px);display:grid;place-items:center;padding:25px;z-index:40}.modal-card{position:relative;max-height:calc(100dvh - 50px);overflow:auto;overscroll-behavior:contain;width:min(620px,100%);background:linear-gradient(140deg,#143139,#091f2a);border:1px solid #9fbfa455;border-radius:6px;padding:38px;box-shadow:0 30px 120px #00151acd}.modal-card .eyebrow{margin-bottom:15px}.modal-card h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:43px;font-weight:400;margin:0 0 22px}.modal-card p{font-size:15px;color:#bccdc8;line-height:1.8}.modal-card .close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:27px;color:#c3d7ce}.modal-card .primary{margin-top:15px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#77968230;border:1px solid #77968230;margin:25px 0}.control-grid>div{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#112d33;font-size:14px;gap:10px}.map-canvas{width:100%;aspect-ratio:1.1;display:block;border:1px solid #85998545;background:#092933}.map-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#acbeb3;margin:14px 0}.map-legend b{color:var(--gold);margin-right:4px}.quest-list{list-style:none;padding:0;margin:16px 0}.quest-list li{padding:12px 0;border-bottom:1px solid #aac19c23;display:flex;align-items:center;gap:12px;font-size:14px;color:#d0dcd2}.quest-list small{display:block;font-size:12px;color:#92afa8;margin-top:4px}.quest-list .badge{font-size:24px;color:var(--gold)}.victory{text-align:center}.victory .victory-moon{font-size:75px;color:#ead697;text-shadow:0 0 70px #e8c568}.victory h2{font-size:49px}.stats{display:flex;justify-content:center;gap:40px;padding:18px;border-top:1px solid #adc49a33;border-bottom:1px solid #adc49a33;margin:23px 0}.stats strong{display:block;font-family:Georgia,serif;font-size:28px;color:#e4d19c}.stats small{font-size:11px;color:#a6b6ad}.loading{position:absolute;z-index:50;bottom:20px;left:50%;transform:translateX(-50%);font-size:13px;color:#aac8c0;background:#0c232cec;padding:12px 24px;border-radius:40px}.no-script{position:absolute;z-index:60;top:10px;left:10px;background:#152c34;padding:20px}#touch-controls{display:none;position:absolute;inset:0;pointer-events:none}#joystick{pointer-events:auto;touch-action:none;position:absolute;bottom:85px;left:30px;width:114px;height:114px;border:1px solid #c1d4b958;border-radius:50%;background:#14363d60;backdrop-filter:blur(3px)}#stick{position:absolute;width:48px;height:48px;left:32px;top:32px;background:#c2d3b454;border:1px solid #d0deb9aa;border-radius:50%;pointer-events:none}.touch-actions{position:absolute;right:26px;bottom:80px;display:flex;align-items:flex-end;gap:12px}.touch-actions button{pointer-events:auto;touch-action:none;width:56px;height:56px;border-radius:50%;border:1px solid #b9c6a866;background:#15343bc7;font-size:24px;display:grid;place-content:center}.touch-actions button small{font-size:12px;font-weight:600;letter-spacing:.08em}.touch-actions #touch-attack{width:72px;height:72px;color:#edcf92;background:#27413cca}.touch-actions #touch-interact{position:absolute;right:5px;bottom:87px;color:#e9d294}.touch-actions button:active{background:#63817c}#touch-controls.force-touch{display:block}#hud{position:absolute;inset:0;pointer-events:none}#hud button,#touch-controls>*,.hud-actions{pointer-events:auto}
@keyframes arrival{from{transform:scale(1.025);filter:brightness(.5)}to{transform:scale(1);filter:brightness(1)}}
@media(pointer:coarse){#touch-controls{display:block}.keyboard-legend{display:none}#interaction{top:56%}#interaction kbd{display:none}.hud-bottom{bottom:18px}#toast{bottom:220px}}
@media(max-width:700px){.edition{top:24px;font-size:10px;left:7%}.title-content{left:7%;top:47%;right:5%}.title-art{background-position:61% center}.art-shade{background:linear-gradient(90deg,#041820de,#04182069),linear-gradient(0deg,#061c25cc,transparent)}h1{font-size:clamp(39px,9vw,64px);letter-spacing:.01em}.eyebrow{font-size:10px;letter-spacing:.16em}.intro{font-size:15px}.subtitle{font-size:10px;letter-spacing:.25em;gap:12px}.title-footer{font-size:9px;bottom:24px;left:7%;right:7%}.title-footer i{padding:0 5px}.title-footer .text-button{font-size:12px}.hud-top{left:16px;right:16px;top:17px;gap:8px;flex-wrap:wrap}.small-brand span{display:none}.small-brand{display:none}.hearts{font-size:20px;letter-spacing:2px}.dash-track{width:98px}.quest{order:3;min-width:0;width:auto;margin:0 auto;padding:9px 14px;position:absolute;top:56px;left:50%;transform:translateX(-50%);white-space:nowrap}.quest h2{font-size:12px}.quest p{font-size:9px;margin-bottom:5px}.shard-row{margin-top:6px}.shard-row span{font-size:15px}.icon-button{width:35px;height:35px;font-size:20px}.off-slash{top:4px;left:17px}.hud-bottom{left:18px;right:18px}.hud-bottom p{font-size:9px}.keyboard-legend{display:none}.dialogue{bottom:28px;padding:20px;gap:14px}.portrait{min-width:45px;height:55px;font-size:38px}#dialogue-text{font-size:21px}.modal-card{padding:28px 22px}.modal-card h2{font-size:35px}.control-grid{grid-template-columns:1fr}.control-grid>div{padding:12px}.map-legend{font-size:11px;gap:12px}#region-banner{top:28%}#region-banner h2{font-size:29px}#interaction{font-size:12px;max-width:90vw;white-space:normal}.modal{padding:16px}.modal-card{max-height:calc(100dvh - 32px)}.stats{gap:25px}}
@media(max-height:540px){.edition{top:15px}.title-content{top:51%}.title-content .eyebrow{margin-bottom:10px}h1{font-size:58px}.subtitle{margin:10px 0 16px}.intro{margin-bottom:18px;font-size:14px}.game-note{display:none}.title-footer{bottom:15px}.primary{padding:13px 22px}.hud-top{top:13px}.hud-bottom{bottom:10px}#joystick{bottom:46px;width:100px;height:100px}#stick{top:25px;left:25px}.touch-actions{bottom:35px}#toast{bottom:80px}.dialogue{bottom:20px}#dialogue-text{font-size:20px}.quest{top:0;position:relative;left:auto;transform:none;order:0}.quest p{display:none}#region-banner{top:28%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep challenge instructions readable at narrow widths. */
.quest{max-width:min(520px,calc(100vw - 28px))}.quest h2{line-height:1.45;white-space:normal}
@media(max-width:700px){.quest{width:max-content;max-width:calc(100vw - 32px)}.quest h2{max-width:320px}}

.chapter-preview{padding:20px 0;margin:24px 0;border-top:1px solid #a0b4ca40;border-bottom:1px solid #a0b4ca40}.chapter-preview>span{color:#bcb7ea;font-size:12px;letter-spacing:.18em}.chapter-preview h3{font:400 35px 'Cormorant Garamond',Georgia,serif;margin:8px 0;color:#ece3f3}.chapter-preview p{font-size:14px;margin:6px 0}.chapter-intro .victory-moon{color:#bccdf3;text-shadow:0 0 70px #98a9f1}.chapter-link{color:#d8d5f6}#pulse-hud{margin-top:11px;font-size:10px;letter-spacing:.05em;color:#b9cef0}.pulse-track{height:3px;background:#344661;width:124px;margin-top:6px}.pulse-track span{display:block;height:100%;background:#b6c9f4;width:100%}.touch-actions #touch-light{position:absolute;left:0;bottom:87px;background:#32415bc7;border-color:#a2bee68a;color:#d3e8ff}.touch-actions #touch-light:disabled{opacity:.35}.chapter-intro h2{font-size:42px}.hearts{white-space:nowrap}
@media(max-width:700px){.pulse-track{width:98px}#pulse-hud{font-size:10px;margin-top:9px}.chapter-intro h2{font-size:35px}.chapter-preview{padding:14px 0;margin:18px 0}.quest h2{max-width:335px}.victory .victory-moon{font-size:60px}}
@media(max-height:540px){.chapter-intro .victory-moon{display:none}.chapter-preview{margin:14px 0;padding:12px 0}.chapter-intro h2{font-size:32px}}

#tether-hud{margin-top:9px;font-size:11px;letter-spacing:.05em;color:#ead39e}.touch-actions #touch-tether{position:absolute;right:83px;bottom:161px;background:#554a39dc;border-color:#e8d09b99;color:#f6dfab}.touch-actions #touch-tether small{font-size:10px}.touch-actions #touch-tether:disabled{opacity:.35}.chapter-finale-note{font-size:13px!important;color:#b1c3d1!important}@media(max-width:650px){#tether-hud{font-size:10px}.keyboard-legend{display:none}}
