:root{--ink:#102e36;--night:#0b202c;--paper:#f1e8cc;--gold:#e8c67e;--mint:#bfe9d7;--console-height:174px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:#112c34;color:var(--paper);overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bff9df;outline-offset:5px}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button{color:inherit}button:hover:not(:disabled){filter:brightness(1.15)}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;top:-60px;left:20px;background:#e9d59d;color:#18363d;padding:12px}.skip-link:focus{top:15px}
.landscape{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:#163643}.valley-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;transform:scale(1.035);transition:transform 1.5s cubic-bezier(.2,.7,.3,1),object-position 1.5s;z-index:-3}.valley-light{position:absolute;inset:0;background:linear-gradient(180deg,#08192b44,transparent 48%,#08203020);z-index:-1;transition:background 1.1s}.valley-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#06121f76 0,transparent 26%,transparent 66%,#061522cc 100%),radial-gradient(ellipse at 50% 45%,transparent 20%,#0318234d 100%);pointer-events:none;z-index:8}
.landscape[data-location=river] .valley-art{object-position:65% 52%;transform:scale(1.06)}.landscape[data-location=flowers] .valley-art{object-position:30% 52%;transform:scale(1.05)}.landscape[data-location=gate] .valley-art{object-position:75% 52%;transform:scale(1.08)}
.moon-object{position:absolute;left:71%;top:10%;width:clamp(76px,9vw,142px);aspect-ratio:1;opacity:.32;filter:saturate(.5) brightness(.7);transition:opacity .8s,filter .8s;z-index:0}.moon-object img{width:100%;height:100%;object-fit:contain}.moon-rays{position:absolute;inset:-120%;background:radial-gradient(circle,#b8d9ef26,transparent 63%);opacity:0;transition:opacity 1s}.landscape[data-moon-lit=true] .moon-object{opacity:1;filter:brightness(1.2) drop-shadow(0 0 24px #c2e7f36b)}.landscape[data-moon-lit=true] .moon-rays{opacity:1}.landscape[data-light-quality=bright] .moon-object{filter:brightness(1.7) drop-shadow(0 0 35px #d3eff5a0)}.landscape[data-light-quality=soft] .moon-object{filter:brightness(.95) drop-shadow(0 0 16px #d3eff56b)}
.bridge-object{position:absolute;left:53%;top:38%;width:42%;aspect-ratio:1000/667;z-index:1;filter:brightness(.42) saturate(.65);transition:filter .8s,opacity .8s}.bridge-object>img{width:100%;height:100%;object-fit:contain}.bridge-object>svg{position:absolute;left:7%;top:14%;width:88%;height:56%;color:#b9f6d8;opacity:0;filter:drop-shadow(0 0 9px #a6ecc9);transition:opacity .7s}.landscape[data-bridge-ready=true] .bridge-object{filter:brightness(.85) saturate(.75)}.landscape[data-bridge-ready=true] .bridge-object>svg{opacity:.9}.landscape[data-location=river] .bridge-object,.landscape[data-location=flowers] .bridge-object{opacity:.25}.landscape[data-location=gate] .bridge-object{opacity:.1}
.gate-object{position:absolute;left:81%;top:22%;width:18%;aspect-ratio:358/449;z-index:2;opacity:.3;transition:opacity 1s;filter:brightness(.65) saturate(.5)}.gate-object img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.gate-leaf{transition:transform 1.4s cubic-bezier(.2,.7,.3,1);transform-origin:center}.gate-left{clip-path:inset(0 48% 0 0)}.gate-right{clip-path:inset(0 0 0 48%)}.gate-radiance{position:absolute;inset:5% 15%;background:radial-gradient(ellipse,#d1fff1aa,#a7d7f238 35%,transparent 70%);opacity:0;transition:opacity 1s;filter:blur(10px)}.landscape[data-location=gate] .gate-object{opacity:1;filter:brightness(.9) saturate(.8)}.landscape[data-gate-open=true] .gate-left{transform:translateX(-23%) rotateY(-35deg)}.landscape[data-gate-open=true] .gate-right{transform:translateX(23%) rotateY(35deg)}.landscape[data-gate-open=true] .gate-radiance{opacity:1}.landscape[data-gate-manner=slowly] .gate-leaf{transition-duration:4s}.landscape[data-gate-manner=softly] .gate-radiance{opacity:.35}
.flower-object{position:absolute;left:50%;top:62%;width:clamp(45px,7vw,100px);height:12%;z-index:3;filter:saturate(.55) brightness(.72);transition:filter .8s}.flower-object img{width:100%;height:100%;object-fit:contain}.flower-object span{position:absolute;inset:-30%;background:radial-gradient(ellipse,#f6d09b6b,transparent 65%);opacity:0;transition:opacity .7s}.landscape[data-flower-glowing=true] .flower-object{filter:brightness(1.3) saturate(1)}.landscape[data-flower-glowing=true] .flower-object span{opacity:1}.landscape[data-flower-quality=bright] .flower-object{filter:brightness(1.9) drop-shadow(0 0 14px #f7d277)}.landscape[data-flower-quality=quiet] .flower-object{filter:hue-rotate(35deg) brightness(.8) drop-shadow(0 0 6px #cba4df)}.landscape[data-flower-carried=true] .flower-object{opacity:.25}
.river-sheen{position:absolute;right:7%;top:61%;width:40%;height:16%;background:repeating-linear-gradient(178deg,transparent 0 18px,#b9f5ef33 19px,transparent 21px 34px);clip-path:polygon(0 7%,100% 0,91% 100%,17% 93%);opacity:0;filter:blur(.7px);z-index:0}.landscape[data-water-flowing=true] .river-sheen{opacity:1;animation:riverDrift 5s linear infinite}.landscape[data-water-manner=slowly] .river-sheen{animation-duration:12s;background-size:100% 60px}.landscape[data-water-manner=softly] .river-sheen{animation-duration:5s;opacity:.45;transform:scaleY(.65)}.landscape[data-water-depth=deep] .river-sheen{filter:brightness(.5) saturate(2)}
.scene-actor{position:absolute;z-index:5;transform:translate(-50%,-100%);transition:left 1.3s cubic-bezier(.2,.7,.3,1),top 1.3s ease}.scene-actor .actor-art{height:100%;width:100%;object-fit:contain;transform-origin:50% 88%;filter:drop-shadow(0 5px 4px #04182245)}.mei-actor{left:29%;top:73%;height:34%;aspect-ratio:362/537;z-index:6}.mei-actor .actor-art{position:relative}.mei-image{height:100%;width:100%;object-fit:contain}.abby-actor{left:45%;top:69%;height:19%;aspect-ratio:374/380;z-index:7}.luma-actor{left:41%;top:43%;height:16%;aspect-ratio:403/511;z-index:7}.ground-shadow{position:absolute;bottom:-1%;left:22%;right:12%;height:7%;background:#031c26aa;filter:blur(7px);border-radius:100%}.luma-actor .actor-art{animation:fairyHover 4s ease-in-out infinite alternate}.carried-lantern,.carried-flower{position:absolute;object-fit:contain!important;opacity:0;transition:opacity .4s}.carried-lantern{left:72%;top:48%;width:27%!important;height:30%!important}.carried-flower{left:75%;top:49%;width:25%!important;height:24%!important}.landscape[data-held=true] .carried-lantern{opacity:1}.landscape[data-lit=true] .carried-lantern{filter:brightness(1.12) drop-shadow(0 0 12px #edb65399)}.landscape[data-flower-carried=true] .carried-flower{opacity:1}.landscape[data-flower-quality=bright] .carried-flower{filter:brightness(1.5) drop-shadow(0 0 10px #f8d682)}.landscape[data-flower-quality=quiet] .carried-flower{filter:brightness(.8) hue-rotate(35deg)}.ground-lantern{position:absolute;left:41%;top:66%;height:9%;object-fit:contain;z-index:3;filter:saturate(.75);transition:opacity .4s}.landscape[data-held=true] .ground-lantern{opacity:0}.landscape[data-crossed=true] .abby-actor{left:84%;top:59%}.landscape[data-abby-route=under] .abby-actor{left:73%;top:72%;height:16%}.landscape[data-location=gate] .mei-actor{left:57%;top:73%}.landscape[data-location=gate] .abby-actor{left:70%;top:72%}.landscape[data-location=gate] .luma-actor{left:71%;top:44%}
.landscape.casting .mei-actor .actor-art{animation:gestureCast .9s ease-out}.landscape.casting[data-action=bridge][data-abby-route=across] .abby-actor .actor-art{animation:adventureLeap 1.4s cubic-bezier(.2,.6,.4,1) both}.landscape.casting[data-action=bridge][data-abby-manner=slowly] .abby-actor .actor-art{animation-duration:2.4s}.cast-ring{position:absolute;left:29%;top:64%;width:10vw;aspect-ratio:1;transform:translate(-50%,-50%) scale(.2);border:1px solid #d8f6c2;border-radius:50%;opacity:0;z-index:7;pointer-events:none}.landscape.casting .cast-ring{animation:spellRing 1.1s ease-out}.cast-particles{position:absolute;inset:0;z-index:7;pointer-events:none}.spell-mote{position:absolute;width:4px;height:4px;left:var(--origin-x,40%);top:var(--origin-y,50%);background:#f4d793;border-radius:50%;box-shadow:0 0 8px #f4d793;animation:spellMote .9s ease-out both;animation-delay:var(--delay,0ms)}
.fireflies{position:absolute;inset:0;pointer-events:none;z-index:2}.fireflies i{position:absolute;left:18%;top:53%;width:2px;height:2px;background:#d8e8ac;border-radius:50%;box-shadow:0 0 8px #eefaca;animation:firefly 7s ease-in-out infinite alternate;opacity:.4}.fireflies i:nth-child(2){left:44%;top:63%;animation-delay:-3s}.fireflies i:nth-child(3){left:61%;top:42%;animation-delay:-5s}.fireflies i:nth-child(4){left:73%;top:58%;animation-delay:-2s}.fireflies i:nth-child(5){left:32%;top:73%;animation-delay:-4s}.fireflies i:nth-child(6){left:81%;top:70%;animation-delay:-6s}
@keyframes fairyHover{to{transform:translateY(-7px) rotate(2deg)}}@keyframes riverDrift{to{background-position:0 68px}}@keyframes firefly{to{transform:translate(12px,-18px);opacity:.12}}@keyframes gestureCast{40%{transform:translateY(-7px) rotate(-5deg)}}@keyframes adventureLeap{0%{transform:translateX(-30vw) translateY(16%) rotate(-10deg)}50%{transform:translateX(-15vw) translateY(-90%) rotate(3deg)}100%{transform:none}}@keyframes spellRing{30%{opacity:.8}100%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes spellMote{to{transform:translate(var(--dx),var(--dy));opacity:0}}
.game-hud{position:relative;height:100svh;min-height:640px;z-index:10;pointer-events:none}.game-hud button,.game-hud a,.game-hud section,.game-hud aside{pointer-events:auto}.game-header{position:absolute;top:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between}.wordmark{color:#f4e9cb;text-decoration:none;display:flex;gap:11px;align-items:center;font-size:31px;text-shadow:0 2px 9px #081d2a}.wordmark>span{font:22px Georgia,serif}.wordmark i{font-weight:400;color:#e8d59d}.game-header nav{display:flex;gap:10px}.icon-button{display:grid;place-items:center;background:#102b36b3;backdrop-filter:blur(12px);border:1px solid #d9d5ae52;border-radius:50%;width:44px;height:44px;box-shadow:0 3px 12px #071f2d26}.icon-button svg{width:20px;height:20px}
.quest-tracker{position:absolute;top:99px;left:32px;width:min(350px,36vw);display:flex;align-items:flex-start;gap:12px;text-shadow:0 2px 9px #031826;filter:drop-shadow(0 1px 2px #071d25)}.quest-sigil{color:#dfc888;font-size:21px;line-height:1.6}.chapter-label{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#ddd4b6;margin:0 0 6px}.quest-tracker h1{font:22px Georgia,serif;font-weight:400;margin:0 0 7px;color:#fff4d9}.quest-tracker p:not(.chapter-label){font-size:12px;line-height:1.55;color:#f0eedf;margin:0;max-width:280px}.quiet-audio{background:none;border:0;color:#dce6d6;min-width:32px;min-height:44px;padding:7px;margin-top:13px}.quiet-audio svg{width:16px}.location-badge{position:absolute;right:32px;top:96px;display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1px;text-transform:uppercase;text-shadow:0 1px 7px #021822}.journey-lights{display:flex;gap:5px;margin-left:6px}.journey-lights i{width:4px;height:4px;border:1px solid #d9d5ae70;transform:rotate(45deg)}.journey-lights i.lit{background:#e6d498;box-shadow:0 0 7px #e6d4986b}
.world-hotspots{position:absolute;inset:0;pointer-events:none!important}.world-hotspot{position:absolute;border:0;background:none;color:#f3e1b2;pointer-events:auto;min-width:44px;min-height:44px;display:grid;place-items:center;filter:drop-shadow(0 2px 5px #0d242b);transition:transform .3s,opacity .3s}.world-hotspot>span{font-size:23px;border:1px solid #ead9a882;width:35px;height:35px;display:grid;place-items:center;transform:rotate(45deg);background:#15373e9c;backdrop-filter:blur(8px);border-radius:9px}.world-hotspot small{position:absolute;top:48px;left:50%;transform:translateX(-50%);white-space:nowrap;opacity:0;background:#15333ce0;border-radius:7px;padding:5px 8px;transition:opacity .2s;font-size:10px}.world-hotspot:hover small,.world-hotspot:focus-visible small{opacity:1}.world-hotspot:hover{transform:translateY(-4px)}.hotspot-moon{left:75%;top:24%}.hotspot-bridge{left:79%;top:45%}.hotspot-flower{left:53%;top:60%}.hotspot-river{left:69%;top:63%}.hotspot-gate{left:87%;top:42%}
.companion-dialogue{position:absolute;left:30px;bottom:calc(var(--console-height) + 44px);width:340px;display:flex;gap:12px;align-items:flex-start;padding:14px 17px 14px 9px;border:1px solid #c3d1b536;border-radius:5px 19px 19px 19px;background:linear-gradient(135deg,#193c44db,#102b38e8);backdrop-filter:blur(18px);box-shadow:0 12px 40px #061f2933;transition:transform .35s}.companion-portrait{flex:none;width:48px;height:57px;background:none;border:0;padding:0;position:relative}.companion-portrait img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px #ddb8644d)}.companion-portrait:after{content:'✧';position:absolute;right:-3px;bottom:-2px;font-size:15px;color:#e5cb8f}.speaker-name{font:italic 14px Georgia,serif;color:#efcc89}.companion-dialogue #feedback{font-size:12px;line-height:1.5;color:#f0ecdb;margin:6px 0 0}.echo-panel>p{color:#c8efdc;font-size:12px;line-height:1.4;margin:9px 0 6px}.echo-panel>div{display:flex;gap:12px}.echo-panel button{border:0;border-bottom:1px solid #c8efdc55;background:none;font-size:10px;min-height:30px;padding:0 1px;color:#e0edd8}
.follow-button{position:absolute;right:32px;bottom:calc(var(--console-height) + 47px);border:1px solid #e4d69b7d;background:#e6d4a7;color:#1c3c40;padding:13px 19px;border-radius:8px 22px 22px 22px;font-size:13px;box-shadow:0 7px 30px #0b222644}.follow-button span{padding-left:14px}.follow-button:not([hidden]):after{content:'↗';padding-left:13px}
.spell-console{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 350px));min-height:var(--console-height);border:1px solid #b7c6b14d;border-radius:19px;background:linear-gradient(150deg,#1b3c43e6,#0d2735ee);backdrop-filter:blur(20px);box-shadow:0 18px 50px #041a274d,inset 0 1px 0 #f3edcc13;padding:11px 14px}.spell-thread{display:flex;align-items:center;gap:10px;min-height:67px;border-bottom:1px solid #b7c6b12b;padding-bottom:8px;margin-bottom:10px}.thread-sigil{font-size:25px;color:#d3c397;flex:none;width:27px;text-align:center}.spell-slots{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:4px;flex:1;min-height:58px;max-height:126px;overflow:auto;min-width:0}.spell-slots:empty:after{content:'Let the old stones speak…';font:italic 16px Georgia,serif;color:#bdc8bd99}.thread-actions{display:flex;gap:3px;flex:none}.thread-actions button{width:34px;height:38px;border:0;background:none;display:grid;place-items:center;color:#dfddc0;padding:6px}.thread-actions button:disabled{opacity:.25}.thread-actions svg{width:17px;height:17px}
.satchel-row{display:flex;gap:13px;align-items:center}.satchel-label{display:grid;place-items:center;width:39px;flex:none;color:#d5c58f}.satchel-label>span{font-size:21px}.satchel-label small{font-size:6px;line-height:1.4;letter-spacing:1.8px;text-align:center;margin-top:4px}.rune-bank{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;flex:1;min-width:0}.rune-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:57px;padding:4px;border:1px solid #d1bc8070;border-radius:10px;background:linear-gradient(160deg,#b9a87f30,#273b3a9c);box-shadow:inset 0 1px 0 #ece7c51a,0 3px 5px #061e2930;transition:transform .2s,border-color .2s,box-shadow .2s}.rune-card img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) invert(1) brightness(1.7);mix-blend-mode:screen;opacity:.94;pointer-events:none}.rune-card:hover:not(:disabled){transform:translateY(-4px);border-color:#e6d49b;box-shadow:0 0 17px #c6c99438}.rune-card.selected{width:45px;height:58px;flex:0 0 45px;padding:3px;border-color:#cfd6b766;background:#b5bea423}.rune-card.selected img{height:39px}.rune-card .meaning{font-size:9px;line-height:1.2;color:#f4eccf;padding-top:2px}.rune-card:disabled{opacity:.4}
.cast-button{width:66px;height:66px;flex:none;border:1px solid #e6d3a6;border-radius:50%;background:radial-gradient(circle at 35% 25%,#e8dbb3,#a99f75);color:#193e42;display:grid;align-content:center;justify-items:center;gap:2px;box-shadow:0 0 0 5px #c7c3941c,0 3px 12px #071e2a;transition:transform .2s,box-shadow .2s}.cast-button svg{width:25px;height:25px;fill:#24484c12;stroke-width:1.2}.cast-button span{font:italic 12px Georgia,serif}.cast-button:disabled{opacity:.38;background:#4f6661;border-color:#a0b5a373;box-shadow:none;color:#d3dcc4}.cast-button:hover:not(:disabled){transform:scale(1.06);box-shadow:0 0 0 6px #d7d49b29,0 0 30px #b6d9af40}.game-footer{position:absolute;left:32px;right:32px;bottom:11px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#cdd8c278}.save-status{opacity:0;transition:opacity 1s}.save-status.visible{opacity:1}.game-footer button{border:0;background:none;color:#d3ddc39c;font-size:10px;min-height:26px;padding:0 3px}
.title-screen{position:fixed;inset:0;z-index:30;background:linear-gradient(90deg,#071e2bd9 0,#0b25399c 32%,transparent 76%);display:flex;align-items:center;padding:7vw;pointer-events:auto}.title-content{max-width:630px;padding-bottom:20px}.title-kicker{font-size:10px;letter-spacing:4px;color:#cfdbbf;margin:0 0 16px}.title-ornament{font-size:15px;color:#e3c88f;letter-spacing:5px;margin-bottom:16px;opacity:.7}.title-content h1{font:clamp(56px,7.5vw,115px)/.92 Georgia,'Times New Roman',serif;letter-spacing:-5px;margin:0;color:#f4ebd4;font-weight:400;text-shadow:0 6px 25px #03172566}.title-content h1 em{font-weight:400;color:#e1c28b;letter-spacing:-2px;display:block;margin-top:8px}.title-subtitle{font-size:10px;letter-spacing:5px;color:#e4d4ae;margin:25px 0 0}.title-story{font:italic 22px/1.5 Georgia,serif;color:#d4ddc9;margin:31px 0}.launch-button{border:1px solid #d1c196ab;border-radius:4px 20px 20px 20px;color:#163c43;background:linear-gradient(120deg,#eee2bd,#c5bd8f);font-size:14px;font-weight:650;padding:17px 26px;min-width:240px;box-shadow:0 8px 35px #0319234d;display:flex;justify-content:space-between;gap:25px}.launch-button span{font-size:19px}.title-footnote{font-size:10px;letter-spacing:1px;color:#b6c9ba;margin-top:18px}.title-options{position:absolute;bottom:27px;right:30px;border:0;border-bottom:1px solid #ced6b659;color:#d6dec8;background:none;padding:10px;font-size:11px}.at-title .game-hud{visibility:hidden}.at-title .mei-actor{left:69%;top:81%;height:43%}.at-title .abby-actor{left:81%;top:80%;height:25%}.at-title .luma-actor{left:84%;top:43%;height:18%}.at-title .bridge-object,.at-title .gate-object,.at-title .ground-lantern,.at-title .flower-object{opacity:0}.at-title .valley-art{transform:scale(1.04);object-position:50% 52%}
dialog{width:min(660px,92vw);max-height:85svh;overflow:auto;color:#eae7d4;background:linear-gradient(145deg,#25464b,#132e3b);border:1px solid #cccea273;border-radius:7px 23px 23px 23px;padding:25px;box-shadow:0 20px 100px #03172299;font-size:14px;line-height:1.6}dialog::backdrop{background:#041c2bcc;backdrop-filter:blur(8px)}.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.dialog-title h2{font:26px Georgia,serif;margin:0;color:#e8d6a2}dialog button,dialog select{border:1px solid #bdc7aa66;border-radius:8px;color:#e9e6d0;background:#1a3a43;font:inherit;padding:9px 13px;min-height:42px}dialog button.primary{background:#d9d2a1;color:#193e44;border-color:#e3d9ae}dialog label{display:block;margin:13px 0}dialog input[type=checkbox],dialog input[type=radio]{width:18px;height:18px;accent-color:#c1d6a5;vertical-align:middle;margin-right:10px}dialog select,dialog textarea{width:100%;color:#f1eedb;background:#112d3a;border:1px solid #bac9b069;border-radius:7px;padding:9px;font:inherit}dialog a{color:#c9e8c8}.mini-copy,.dialog-footnote{font-size:11px;color:#b7ccbf;line-height:1.6}.guide-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.guide-cards button{display:grid;justify-items:center;background:#d4c8a7;color:#193a40;padding:6px;gap:4px;font-size:12px}.guide-cards img{width:62px;height:62px;object-fit:contain}.echo-sentence{font:26px/1.5 Georgia,serif;color:#daf0ce}.finish-choices,.teacher-actions,.pause-links{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:19px 0}.teacher-actions{font-size:12px}.probe-item{border-top:1px solid #b9c5ab4d;padding-top:10px;margin-top:14px}.probe-item p{margin:6px 0}.probe-item label{font-size:12px}#feelingChoices{border:1px solid #bdc7aa4d;border-radius:10px;margin-top:20px}#feelingChoices label{display:inline-block;margin-right:15px}.pause-links{border-top:1px solid #bdc7aa4d;padding-top:16px}.pause-links button{font-size:11px}#journalEntries{padding-left:22px}#journalEntries li{padding:8px 0;border-bottom:1px solid #b2c4ad33}#journalMemory{color:#d3e4c6}
@media(max-width:1100px){.spell-console{width:min(720px,calc(100vw - 50px))}.companion-dialogue{width:305px;bottom:calc(var(--console-height) + 48px)}.quest-tracker{width:330px}.location-badge{top:90px}.world-hotspot>span{font-size:18px;width:30px;height:30px}.game-header{left:23px;right:23px}.wordmark>span{font-size:19px}.title-content h1{font-size:82px}.title-story{font-size:20px}.title-content{max-width:440px}}
@media(max-height:750px) and (min-width:761px){:root{--console-height:156px}.game-header{top:18px}.quest-tracker{top:84px}.location-badge{top:80px}.spell-console{bottom:20px;min-height:156px;padding:8px 12px}.spell-thread{min-height:60px;margin-bottom:7px;padding-bottom:6px}.satchel-row{gap:10px}.rune-card{height:50px}.cast-button{width:58px;height:58px}.companion-dialogue{bottom:190px;max-width:320px;padding:10px 13px 10px 7px}.companion-dialogue #feedback{font-size:11px}.speaker-name{font-size:13px}.echo-panel>p{font-size:11px;margin:6px 0 2px}.echo-panel button{min-height:26px;font-size:9px}.follow-button{bottom:190px;padding:11px 15px}.title-content h1{font-size:76px}.title-kicker{margin-bottom:10px}.title-ornament{margin-bottom:12px}.title-story{margin:20px 0;font-size:19px}.title-subtitle{margin-top:18px}.title-content{padding-bottom:0}.game-footer{bottom:4px}}
@media(max-width:760px){:root{--console-height:215px}.game-hud{min-height:790px;height:100svh}.landscape{min-height:790px}.game-header{top:18px;left:18px;right:18px}.wordmark{font-size:23px;gap:7px}.wordmark>span{font-size:17px}.game-header nav{gap:7px}.icon-button{width:39px;height:39px}.icon-button svg{width:18px;height:18px}.quest-tracker{top:80px;left:20px;width:calc(100% - 55px);max-width:350px;gap:9px}.quest-tracker h1{font-size:20px}.quest-tracker p:not(.chapter-label){font-size:11px;max-width:265px}.chapter-label{font-size:8px}.quest-sigil{font-size:18px}.location-badge{top:183px;right:22px;font-size:8px;letter-spacing:.5px}.journey-lights{gap:4px}.landscape .valley-art{object-position:53% 50%}.landscape .mei-actor{height:26%;left:27%;top:61%}.landscape .abby-actor{height:16%;left:49%;top:59%}.landscape .luma-actor{height:12%;left:43%;top:37%}.landscape .bridge-object{left:43%;top:32%;width:62%}.landscape .gate-object{left:72%;top:27%;width:27%}.landscape .flower-object{left:51%;top:49%;width:13%}.landscape .moon-object{left:70%;top:22%;width:72px}.landscape .ground-lantern{left:41%;top:53%;height:7%}.landscape[data-crossed=true] .abby-actor{left:84%;top:48%}.landscape[data-abby-route=under] .abby-actor{left:74%;top:56%}.landscape[data-location=gate] .mei-actor{left:39%;top:61%}.landscape[data-location=gate] .abby-actor{left:65%;top:58%}.landscape[data-location=gate] .luma-actor{left:66%;top:37%}.hotspot-moon{left:74%;top:30%}.hotspot-bridge{left:80%;top:39%}.hotspot-flower{left:52%;top:46%}.hotspot-river{left:72%;top:49%}.hotspot-gate{left:82%;top:39%}.world-hotspot small{display:none}.companion-dialogue{left:18px;right:18px;width:auto;bottom:calc(var(--console-height) + 77px);padding:10px 13px 10px 7px;gap:9px}.companion-portrait{width:38px;height:44px}.companion-dialogue #feedback{font-size:11px;line-height:1.45}.speaker-name{font-size:12px}.echo-panel>p{font-size:11px;margin:6px 0 2px}.echo-panel button{font-size:9px;min-height:28px}.follow-button{right:18px;bottom:calc(var(--console-height) + 30px);font-size:11px;padding:10px 15px;min-height:38px}.spell-console{bottom:21px;width:calc(100% - 30px);min-height:var(--console-height);padding:8px 10px;border-radius:15px}.spell-thread{gap:4px;min-height:61px;padding-bottom:5px;margin-bottom:7px}.thread-sigil{font-size:20px;width:22px}.thread-actions{gap:0}.thread-actions button{width:27px;height:38px;padding:5px}.spell-slots{min-height:53px;max-height:110px;gap:3px}.spell-slots:empty:after{font-size:14px}.rune-card.selected{width:35px;height:50px;flex-basis:35px;padding:2px}.rune-card.selected img{height:32px}.rune-card .meaning{font-size:8px}.rune-bank{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.rune-card{height:54px;border-radius:8px}.satchel-row{gap:8px}.satchel-label{width:26px}.satchel-label small{font-size:5px;letter-spacing:1px}.satchel-label>span{font-size:18px}.cast-button{width:54px;height:54px;align-self:center}.cast-button svg{width:22px}.cast-button span{font-size:11px}.game-footer{left:20px;right:20px;bottom:1px;font-size:8px}.game-footer button{font-size:9px}.title-screen{padding:23px;align-items:flex-start;padding-top:20svh;background:linear-gradient(90deg,#071e2be6, #0b25397a 68%,transparent)}.title-content h1{font-size:clamp(54px,12vw,78px);letter-spacing:-3px}.title-kicker{font-size:8px;letter-spacing:2px}.title-subtitle{font-size:8px;letter-spacing:3px}.title-story{font-size:19px;margin:27px 0}.title-footnote{font-size:9px}.launch-button{min-width:210px;padding:15px 20px;font-size:12px}.at-title .mei-actor{left:71%;top:83%;height:30%}.at-title .abby-actor{left:84%;top:82%;height:19%}.at-title .luma-actor{left:83%;top:50%;height:13%}.at-title .moon-object{opacity:.4;top:13%;left:67%}.title-options{bottom:20px;right:18px}.guide-cards{grid-template-columns:repeat(3,1fr)}dialog{padding:20px;max-height:88svh}.dialog-title h2{font-size:23px}}
@media(max-width:420px){.wordmark>span{font-size:15px}.game-header nav{gap:5px}.icon-button{width:36px;height:36px}.game-header{left:15px;right:15px}.companion-dialogue{left:14px;right:14px}.quest-tracker{left:16px}.rune-card{height:51px}.satchel-label{display:none}.spell-console{width:calc(100% - 24px)}.title-content h1{font-size:61px}.title-screen{padding-top:19svh}}
@media(max-height:789px) and (max-width:760px){body{overflow:auto}.game-hud{height:790px}.landscape{position:absolute;height:790px}.title-screen{min-height:790px;position:absolute}.at-title{overflow:auto}}
@media(max-height:639px) and (min-width:761px){body{overflow:auto}.game-hud{height:640px}.landscape{position:absolute;height:640px;min-height:640px}.title-screen{position:absolute;min-height:640px}}
.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .cast-particles,.reduce-motion .cast-ring{display:none}.reduce-motion .landscape[data-crossed=true] .abby-actor .actor-art{transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cast-particles,.cast-ring{display:none}.landscape[data-crossed=true] .abby-actor .actor-art{transform:none}}
