*{box-sizing:border-box} :root{--ink:#e9e8dc;--muted:#b5beb1;--gold:#d4bc83;--dark:#172620;--line:#e8e7d12b}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#1c2b28;color:var(--ink);font-family:Manrope,Arial,sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;transition:background .2s,border-color .2s,transform .2s}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.6;cursor:wait}button,select{border:1px solid var(--line);background:#17251d88}button[hidden],[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}.vignette{pointer-events:none;position:fixed;inset:0;background:linear-gradient(180deg,#0c18175c,transparent 23%,transparent 68%,#0c181778),radial-gradient(ellipse at center,transparent 40%,#07171044)}#loadingArt{position:fixed;inset:0;background:linear-gradient(90deg,#0c1a19dd,transparent),url('/assets/realm.jpg') center/cover;transition:opacity 1.4s;pointer-events:none}body.ready #loadingArt{opacity:0}body:not(.playing)::after{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#15231ff5,#14241d88 35%,transparent 75%);z-index:1}.topbar{position:absolute;top:0;left:0;width:100%;padding:29px 38px;display:flex;align-items:center;justify-content:space-between;z-index:5}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{font-size:34px;color:var(--gold);line-height:1}.brand b{display:block;font:500 17px 'Cormorant Garamond',serif;letter-spacing:3.5px}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:7px;color:var(--muted)}nav{display:flex;gap:10px;align-items:center}.nav-btn{height:42px;display:flex;gap:10px;align-items:center;padding:0 14px;border-radius:3px;background:#12211a88;backdrop-filter:blur(12px);font-size:11px}.nav-icon{font-size:22px;color:var(--gold)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:22px;padding:1px 5px;border:1px solid #c9d1bc45;border-radius:3px;font:10px Manrope,sans-serif;color:#e3e4d1;box-shadow:0 2px 0 #0003}.help-icon{height:36px;width:36px;border-radius:50%;font:20px 'Cormorant Garamond',serif}.compass{position:absolute;left:50%;transform:translateX(-50%);width:224px;display:flex;align-items:center;justify-content:space-between;opacity:.8;font-size:9px;color:#dfe5d6;letter-spacing:2px}.compass b{font-size:12px;color:var(--gold);font-weight:600}.compass i{height:6px;border-left:1px solid #dde5d66b}.compass em{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-style:normal;font-size:14px;color:var(--gold)}body:not(.playing) .compass{opacity:0}#intro{position:absolute;left:7.3%;top:50%;transform:translateY(-45%);z-index:3;width:410px}.intro-kicker,.eyebrow{display:flex;gap:10px;align-items:center;font-size:9px;font-weight:600;letter-spacing:2.3px;color:var(--gold)}.intro-kicker>span:first-child{width:22px;height:1px;background:var(--gold)}h1{font:500 clamp(70px,7.8vw,114px)/.87 'Cormorant Garamond',Georgia,serif;letter-spacing:-3px;margin:27px 0 17px}h1>span{color:var(--gold)}h1 .title-dot{color:#a6aa80;font-size:70px}.ornament{display:flex;align-items:center;gap:14px;width:140px;color:var(--gold);font-size:17px;margin:26px 0 23px}.ornament i{height:1px;background:#cdb8816b;flex:1}#intro h2{font:400 25px 'Cormorant Garamond',serif;margin:0 0 13px}#intro p{max-width:337px;font-size:12px;line-height:1.9;color:#c6cfbf;margin:0 0 28px}.primary{display:flex;justify-content:space-between;align-items:center;width:270px;height:54px;padding:0 21px;color:#1e2d24;background:#d1c198;border:1px solid #eddfb0;border-radius:2px;font-size:12px;font-weight:700}.primary span:last-child{font-size:22px;font-weight:400}.text-btn{background:none;border:0;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;padding:16px 0;letter-spacing:.3px;color:#d1d8c7}.text-btn>span:last-child{font-size:19px}.intro-footer{display:flex;align-items:center;gap:15px;margin-top:35px;font-size:8px;letter-spacing:2px;color:#9fac99}.intro-footer>span:first-child{color:var(--gold)}.intro-footer i{width:32px;height:1px;background:#a5b39844}.intro-scene-note{position:absolute;right:12%;bottom:21%;z-index:3;text-align:left;text-shadow:0 1px 15px #13251a}.intro-scene-note .note-line{height:32px;width:1px;background:var(--gold);display:block;margin-bottom:13px}.intro-scene-note small{font-size:8px;letter-spacing:2px;color:#e6dbc0}.intro-scene-note p{font:400 24px 'Cormorant Garamond',serif;margin:7px 0}.intro-scene-note>span:last-child{font-size:8px;letter-spacing:2px;opacity:.6}.panel{background:linear-gradient(90deg,#17271edd,#17271e55);backdrop-filter:blur(6px);border-left:2px solid #c8b47888}.quest{position:absolute;left:38px;top:120px;padding:20px 22px 18px;width:268px}.quest h2{font:400 23px 'Cormorant Garamond',serif;margin:13px 0 8px}.quest p{font-size:10px;line-height:1.8;color:#c1cabc;margin:0}.quest-progress{margin-top:18px}.progress-track{height:2px;background:#a9b19c33;margin-bottom:10px}.progress-track i{display:block;height:2px;width:0;background:var(--gold);transition:width .5s}.quest-progress small{font-size:8px;color:#b0bca6;letter-spacing:.4px}.quest-progress b{color:var(--gold);font-weight:500;margin-right:5px}.location{position:absolute;bottom:73px;left:38px}.location>.eyebrow{font-size:8px;letter-spacing:2px;color:#c2cbbc}.location h2{font:400 31px 'Cormorant Garamond',serif;margin:9px 0}.location>div{display:flex;align-items:center;gap:10px;font-size:9px;color:#cad0c0;letter-spacing:1px}.location i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.map-corner{position:absolute;right:36px;bottom:60px;width:188px}.minimap{display:block;width:188px;height:151px;padding:5px;background:#17271acc;border:1px solid #ccbc8877;border-radius:3px;position:relative;box-shadow:0 8px 40px #0c1b2655}.minimap canvas{width:100%;height:100%;opacity:.95}.minimap>span{position:absolute;top:-10px;left:50%;transform:translateX(-50%);padding:0 8px;background:#2a3b2c;color:var(--gold);font-size:9px}.map-caption{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:8px;color:#d5dbc9}.map-caption>span:first-child{color:var(--gold);font-size:16px}.map-caption kbd{margin-left:auto;height:18px;font-size:9px}.controls-strip{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1.2px;color:#c2ccbb;white-space:nowrap}.status{position:absolute;bottom:26px;left:38px;display:flex;align-items:center;gap:7px;z-index:5;font-size:8px;letter-spacing:.4px;color:#abbca7}.status i{width:4px;height:4px;border-radius:50%;background:#c9aa65}.status i.on{background:#94b88f}.status i.off{background:#c99778}#interaction{position:absolute;bottom:23%;left:50%;transform:translateX(-50%)}#interactBtn{display:flex;align-items:center;gap:12px;padding:11px 20px;background:#14241ced;backdrop-filter:blur(8px);border-color:#cfbc8977;border-radius:3px;font-size:12px}#interactBtn kbd{background:#d4c291;color:#16231c;border-color:#edddaf;height:28px;width:28px;font-size:13px}#toast{position:absolute;top:110px;left:50%;transform:translate(-50%,-15px);opacity:0;pointer-events:none;background:#17271eed;padding:16px 29px;border-top:1px solid var(--gold);font-size:12px;z-index:20;transition:opacity .3s,transform .3s;text-align:center}#toast.show{transform:translate(-50%,0);opacity:1}.modal{padding:30px;background:#17251ff5;color:var(--ink);border:1px solid #b4af8555;border-radius:5px;box-shadow:0 30px 100px #0007;max-width:calc(100vw - 30px);max-height:calc(100dvh - 40px);overflow:auto;backdrop-filter:blur(15px)}dialog::backdrop{background:#071813a8;backdrop-filter:blur(7px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px}.modal-head h2{font:400 36px 'Cormorant Garamond',serif;margin:9px 0 0}.close{width:34px;height:34px;font-size:25px;color:#c5cdbb;flex-shrink:0}.modal p{font-size:11px;color:#b8c6b4;line-height:1.8}.map-modal{width:840px}.map-wrap{position:relative;border:1px solid #bcc1993b;background:#283b2e;line-height:0}.map-wrap canvas{width:100%;max-height:65vh;object-fit:contain}.map-scale{position:absolute;bottom:15px;left:20px;font-size:9px;color:#d2cfaa}.map-bottom{text-align:center}.map-bottom p{font-size:10px;letter-spacing:.8px;margin-bottom:5px}.map-bottom small{font-size:9px;color:#8f9e8c}.help-modal{width:540px}.guide-art{width:100%;height:125px;object-fit:cover;object-position:50% 52%;border-radius:2px;opacity:.86}.binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;padding:22px 0;border-block:1px solid var(--line);margin:20px 0}.binding-grid>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#c9d4c2;gap:15px}.binding-grid>div>span:first-child{display:flex;gap:3px}.settings{display:flex;justify-content:space-between;font-size:12px;margin:22px 0;align-items:center}.settings select{color:var(--ink);padding:7px 20px;background:#23392b}.secondary{width:100%;padding:13px;font-size:11px}.journal-modal{width:500px}.journal-entry{padding:19px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}.journal-entry>span{font:26px 'Cormorant Garamond',serif;color:var(--gold);opacity:.8}.journal-entry h3{font:400 22px 'Cormorant Garamond',serif;margin:0 0 4px}.journal-entry small{font-size:9px;color:#a0b29d}.journal-entry.locked{opacity:.4}.dialogue{position:fixed;top:auto;bottom:80px;margin:0 auto;width:710px;max-width:calc(100vw - 40px);background:#17261ff5;border:1px solid #bdaf7c77;color:var(--ink);padding:32px;box-shadow:0 25px 60px #0008;overflow:auto;max-height:75vh}.dialogue[open]{display:flex;gap:26px}.dialogue::backdrop{background:#09150c44;backdrop-filter:blur(2px)}.dialogue-symbol{font:50px 'Cormorant Garamond',serif;color:var(--gold);min-width:50px;padding-top:30px}.dialogue h2{font:400 34px 'Cormorant Garamond',serif;margin:9px 0 12px}.dialogue p{font:400 16px/1.8 'Cormorant Garamond',serif;color:#d9dfcd;margin:0}.dialogue .text-btn{margin-left:auto;padding-bottom:0;color:var(--gold)}#debug{position:absolute;right:20px;top:100px;font:11px monospace;background:#0009;padding:10px;z-index:20}#touch{display:none}@media(pointer:coarse){#touch{display:block}#joystick{position:absolute;bottom:82px;left:35px;width:112px;height:112px;border-radius:50%;border:1px solid #e5e9d34d;background:#17291d40;touch-action:none}#joystick i{position:absolute;width:46px;height:46px;background:#d4dabe77;border:1px solid #f0eed46b;left:32px;top:32px;border-radius:50%;pointer-events:none}.touch-actions{position:absolute;bottom:76px;right:26px;display:grid;grid-template-columns:48px 65px;gap:10px}.touch-actions button{width:48px;height:48px;border-radius:50%;background:#1f342688;font-size:20px;touch-action:none}.touch-actions #touchJump{grid-column:2;grid-row:1/3;width:65px;height:65px;align-self:center;font-size:27px;border-color:#d5c596aa}.controls-strip{display:none}.map-corner{bottom:230px;width:125px}.minimap{width:125px;height:102px}.map-caption{display:none}.location{bottom:31px}.status{bottom:13px}.location h2{font-size:23px}.location>.eyebrow{display:none}}
@media(max-width:900px){.topbar{padding:22px}.brand b{font-size:14px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1.5px}.compass{display:none}.nav-btn{padding:0 10px}.nav-btn .desktop{display:none}.nav-btn kbd{display:none}.quest{left:22px;top:98px;width:230px;padding:15px}.quest h2{font-size:22px}.location{left:22px}.status{left:22px}#intro{left:7%;width:350px}#intro h1{font-size:90px}.intro-scene-note{right:8%;bottom:20%}.map-corner{right:22px}.controls-strip{left:auto;right:24px;transform:none;font-size:7px}.map-modal{width:740px}}
@media(max-width:600px){.topbar{padding:18px}.brand-mark{font-size:27px}.brand{gap:8px}.brand b{font-size:12px;letter-spacing:1.6px}.brand small{font-size:6px;letter-spacing:1px}.nav-btn{height:35px;font-size:0;gap:0;padding:0;width:35px;justify-content:center}.nav-icon{font-size:21px}nav{gap:6px}.help-icon{width:31px;height:31px;font-size:18px}#intro{left:8%;top:48%;width:84%;transform:translateY(-40%)}#intro h1{font-size:83px;margin:20px 0 13px}#intro h2{font-size:24px}#intro p{max-width:300px;font-size:11px;line-height:1.8;margin-bottom:23px}.intro-kicker{font-size:8px}.ornament{margin:20px 0}.intro-footer{margin-top:20px;font-size:7px}.intro-scene-note{display:none}.quest{top:85px;width:215px;padding:12px 15px}.quest .eyebrow{font-size:7px;letter-spacing:1.8px}.quest h2{font-size:20px;margin:8px 0 5px}.quest p{font-size:9px}.quest-progress{margin-top:10px}.quest-progress small{font-size:7px}.location h2{font-size:22px}.map-corner{right:18px}.map-caption{font-size:7px}#interaction{bottom:29%;white-space:nowrap}#interactBtn{padding:8px 13px;font-size:10px}.modal{padding:20px}.modal-head h2{font-size:29px}.map-bottom p{font-size:8px}.map-bottom small{font-size:8px}.binding-grid{grid-template-columns:1fr}.dialogue{padding:22px;bottom:25px}.dialogue-symbol{display:none}.dialogue h2{font-size:30px}.dialogue p{font-size:16px}.dialogue .eyebrow{font-size:7px}#toast{top:80px;font-size:10px;min-width:200px}.status{font-size:7px}.help-modal .guide-art{height:95px}.touch-copy{font-size:10px!important}}
@media(max-height:660px) and (min-width:601px){#intro{top:54%;transform:translateY(-45%)}#intro h1{font-size:77px}.ornament{margin:13px 0}#intro p{margin-bottom:18px}.intro-footer{margin-top:14px}.intro-kicker{font-size:8px}.quest{top:90px}.topbar{padding-top:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.intro-links{display:flex;gap:28px;flex-wrap:wrap}.intro-links .text-btn{gap:12px}

/* Clock and weather badge under the top bar */
.clock-hud{position:fixed;top:64px;left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:#13221dcc;color:#efe6c8;font:600 12px/1.4 Manrope,sans-serif;letter-spacing:.04em;pointer-events:none;z-index:20;white-space:nowrap}.clock-hud[data-night='1']{background:#0e1430d9;color:#cfd8ff}

/* Less clutter while playing: no game title in the corner, a compact location line, and a corner map that the
   map key cycles between small, large and hidden. */
body.playing .brand{display:none}
body.playing .location .eyebrow{display:none}
body.playing .location h2{font-size:20px}
body[data-map='small'] .minimap{width:132px;height:104px}
body[data-map='large'] .minimap{width:270px;height:212px}
body[data-map='hidden'] .map-corner{display:none}

#objectiveNavigation{display:flex;gap:10px;align-items:center;font-size:11px;color:#ffe49d;margin:10px 0}#objectiveArrow{display:inline-block;font-size:23px;transition:transform .12s}body.playing #world{cursor:crosshair}

.shop-offers{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.shop-offers[hidden]{display:none}.shop-offers p{width:100%;margin:0}.shop-offers button{padding:10px 12px;border:1px solid #9bbda755;border-radius:6px;background:#233d32;color:#eadcba}.shop-offers button:disabled{opacity:.45}

.expedition-modal{width:min(650px,94vw);max-height:85dvh;overflow:auto}.expedition-modal section{border-top:1px solid #82957755;padding:14px 0}.expedition-modal h3{color:#dfc68b;font-size:18px}.expedition-modal button{padding:12px;margin:5px;min-height:44px}.expedition-modal input{display:block;width:100%;padding:12px;background:#172d24;color:#eee4cd;border:1px solid #b3ba9866;margin:8px 0}.expedition-modal [role=status]{color:#d9d9a2}

.map-zoom-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.map-zoom-controls button{min-height:36px;min-width:36px;padding:6px 12px;border-radius:4px}.map-zoom-controls output{font-size:12px;min-width:42px;text-align:center;color:var(--gold)}.map-zoom-controls small{font-size:10px;color:var(--muted)}#bigmap{display:block;aspect-ratio:1280/1040;max-height:none;touch-action:none;cursor:grab}#bigmap.dragging{cursor:grabbing}.map-scale{pointer-events:none;background:#17251fbb;padding:5px;line-height:1.4}
/* Hermerus' book and Victor's gifts (06/10/2026). */
.book-modal{width:600px}.book-page{min-height:230px;padding:28px 32px;background:linear-gradient(180deg,#efe2c2,#e4d3ad);color:#3a2b1b;border-radius:3px;box-shadow:inset 0 0 50px #a8875a77,0 10px 30px #0006}.book-page h3{font:600 10px Manrope,sans-serif;letter-spacing:2.4px;text-transform:uppercase;color:#7b5b35;margin:0 0 14px}.book-page p{font:400 19px/1.75 'Cormorant Garamond',serif;color:#3a2b1b;margin:0}.book-page.torn{background:repeating-linear-gradient(100deg,#e4d3ad 0 14px,#d8c398 14px 18px);clip-path:polygon(0 0,100% 0,100% 82%,93% 88%,86% 80%,78% 92%,70% 84%,61% 95%,52% 83%,44% 93%,35% 82%,27% 94%,18% 84%,9% 92%,0 85%)}.book-page.torn p{font-style:italic;color:#6d5638}.book-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:10px;letter-spacing:1px;color:var(--muted)}.book-nav .text-btn{gap:10px;padding:8px 0;color:var(--gold)}.book-nav .text-btn:disabled{opacity:.3;cursor:default}.story-items .inventory-item button{margin-top:6px}
