*{box-sizing:border-box} :root{color-scheme:dark;--ink:#0a1519;--paper:#e8ddc4;--muted:#99aaa6;--gold:#c8ad72}body{margin:0;background:#081216;color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #ead8a5;outline-offset:5px}button{color:var(--paper)}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid #243134;gap:24px}.wordmark{font-family:Georgia,serif;font-size:20px;letter-spacing:4px;text-decoration:none;color:var(--paper);display:flex;align-items:center;gap:13px}.moth{font-size:40px;color:var(--gold)}.edition{font-size:11px;letter-spacing:2px;color:#94a59f;display:flex;align-items:center;gap:16px}.edition i{width:3px;height:3px;background:var(--gold);border-radius:50%}.top-actions{display:flex;gap:24px}.top-actions button{border:0;background:none;font-size:11px;letter-spacing:1.6px;padding:10px 0;color:#b8c0b4}main{padding:28px 3.1% 0;max-width:1800px;margin:auto}#stage{position:relative;aspect-ratio:16/9;max-height:calc(100dvh - 176px);width:auto;margin:auto;border:1px solid #314141;background:#102226;overflow:hidden}canvas{width:100%;height:100%;display:block}.overlay{position:absolute;inset:0}.title-screen{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);width:90%;text-align:center}.eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;font-size:10px;letter-spacing:3px;color:#bbcfbb}.eyebrow span{height:1px;width:40px;background:#78928b}h1{font:normal clamp(42px,7vw,105px)/1 Georgia,serif;letter-spacing:.11em;margin:22px 0 10px;text-shadow:0 6px 40px #071619}.subtitle{font-size:13px;letter-spacing:8px;color:#d4bf8d}p{font-size:15px;color:#b6c7bf;line-height:1.8;margin:28px 0}.primary{min-height:54px;padding:0 30px;background:#d6c49a;border:1px solid #e6d7b3;color:#172223;font-size:12px;letter-spacing:2px;box-shadow:0 0 35px #bfa87612;transition:background .2s,transform .2s}.primary:hover{background:#f0dfb7;transform:translateY(-2px)}.primary span{margin-left:25px;font-size:21px}.menu-note{font-size:12px;margin-top:17px;color:#a3b8ad}.legacy{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:38px;font-size:10px;letter-spacing:1px}.legacy>div{display:flex;gap:8px;align-items:center}.legacy b{font-size:18px;color:var(--paper)}.seed{font-size:22px;color:var(--gold)}.legacy button{font-size:10px;letter-spacing:1px;padding:10px 13px;border:1px solid #69817366;background:#132d27b0}.legacy button span{margin-left:10px;color:#d8c398}.legacy small{position:absolute;margin-top:58px;color:#93a69b;font-size:11px;letter-spacing:.3px}.corner-note,.corner-right{position:absolute;bottom:24px;font-size:10px;letter-spacing:2px;color:#a4b7a5}.corner-note{left:28px}.corner-right{right:28px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;color:#91a59d;font-size:10px;letter-spacing:1.3px}footer>div:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}.live-dot{width:5px;height:5px;background:#adbf92;border-radius:50%;box-shadow:0 0 7px #91b687}.keys{display:flex;gap:15px;letter-spacing:0;font-size:11px}.keys>span{display:flex;align-items:center;gap:4px}kbd{font:10px Arial;padding:3px 5px;border:1px solid #40504d;border-radius:3px;color:#c3ccbd}#hud{position:absolute;inset:0;pointer-events:none;padding:25px 30px;background:linear-gradient(#061114b0,transparent 23%)}.vitals{position:absolute;left:30px;top:25px}#hearts{font-size:26px;letter-spacing:4px;line-height:1.2;color:#f0dec3;text-shadow:0 0 15px #ead1a644}.empty-heart{color:#566861}.silk-track{height:4px;background:#2c4648;width:150px;margin-top:12px}.silk-track>div{height:100%;background:#82c5ba;width:0;transition:width .15s}.silk-label{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;color:#9ebeb5}.room-label{display:flex;align-items:center;flex-direction:column;gap:8px}.room-label span{font-size:10px;letter-spacing:3px;color:#acbdab}.room-label b{font:22px Georgia,serif;letter-spacing:1px}.currency{position:absolute;right:30px;top:27px;font-size:22px}.currency>span{color:var(--gold)}.currency small{display:block;font-size:8px;letter-spacing:1.4px;margin-top:6px}.currency button{position:absolute;right:0;top:62px;background:#10292a99;border:1px solid #476461;padding:8px;pointer-events:auto}#relics{position:absolute;left:30px;top:135px;max-width:230px;display:flex;flex-wrap:wrap;gap:7px}#relics span{font-size:11px;padding:5px 7px;background:#122d2bbf;border:1px solid #4d706250;color:#d7cdae}#objective{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:1px;white-space:nowrap;color:#dce1c8;text-shadow:0 2px 5px #000}#bossbar{position:absolute;bottom:58px;left:30%;width:40%;text-align:center;font-size:10px;letter-spacing:3px}#bossbar>div{height:6px;margin-top:9px;background:#482e32}#bossbar i{display:block;height:100%;background:#cf9b81}.dialog{display:flex;align-items:center;justify-content:center;background:#061519e8;backdrop-filter:blur(8px);padding:24px;text-align:center;overflow-y:auto}.panel-content{width:min(830px,100%)}.panel-content h2{font:normal 44px Georgia,serif;margin:14px 0}.panel-content>.eyebrow{color:var(--gold)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.card{display:flex;flex-direction:column;align-items:center;min-height:215px;text-align:center;padding:22px 16px;border:1px solid #4b6258;background:linear-gradient(#25423a77,#13272466);transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-5px);border-color:#d0c297}.card .icon{font:34px Georgia;color:var(--gold);margin-bottom:16px}.card strong{font:20px Georgia}.card small{font-size:13px;color:#acbfb1;line-height:1.7;margin-top:13px}.panel-content .secondary{border:1px solid #6e7d68;background:transparent;padding:13px 25px;margin:8px;font-size:12px;letter-spacing:1px}.stats{display:flex;justify-content:center;gap:40px;margin:28px 0;color:#afc2b8;font-size:12px}.stats b{display:block;font:30px Georgia;color:var(--gold);margin-bottom:8px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;text-align:left;margin:28px auto;max-width:530px;font-size:14px;color:#c1cbbd}.control-grid kbd{margin-right:10px;font-size:12px}#toast{position:absolute;left:50%;top:23%;transform:translateX(-50%);background:#0b211dec;border:1px solid #798b6e;color:#efdfb8;padding:14px 22px;opacity:0;transition:opacity .2s;pointer-events:none;font-size:13px;text-align:center}#toast.show{opacity:1}#touch{display:none;position:absolute;bottom:30px;left:18px;right:18px;justify-content:space-between;gap:12px}#touch>div{display:flex;gap:9px;flex-wrap:wrap}#touch button{touch-action:none;user-select:none;width:49px;height:48px;background:#142f2a9c;border:1px solid #a8bf9266;border-radius:50%;font-size:10px}[hidden]{display:none!important}@media(max-width:1050px){.edition,.footer-end{display:none}.keys{gap:8px}.eyebrow{font-size:9px}.legacy{margin-top:23px}.title-screen p{margin:20px 0}.corner-note,.corner-right{font-size:8px}.subtitle{font-size:10px}header{height:70px}main{padding-top:16px}#stage{max-height:calc(100dvh - 140px)}}@media(pointer:coarse){#touch.active{display:flex}.keys{display:none}#objective{bottom:90px}}@media(max-width:650px){header{height:58px;padding:0 15px}.wordmark{font-size:15px;letter-spacing:2px}.top-actions{gap:14px}.top-actions button{font-size:9px}.top-actions span{display:none}main{padding:10px 8px}#stage{aspect-ratio:4/5;max-height:calc(100dvh - 112px)}canvas{object-fit:cover;object-position:50%}h1{font-size:46px;letter-spacing:3px}.eyebrow{font-size:8px;letter-spacing:1.5px}.eyebrow span{width:12px}.subtitle{letter-spacing:4px}.title-screen p{font-size:14px;margin:30px 0}.legacy{margin-top:35px}.corner-right{display:none}.corner-note{left:15px;bottom:15px}footer{min-height:35px;font-size:9px}.cards{gap:8px;grid-template-columns:1fr;margin:16px 0}.card{min-height:0;display:block;padding:14px}.card .icon{display:none}.card strong{font-size:18px}.card small{display:block;font-size:12px;margin-top:6px}.panel-content h2{font-size:32px}.panel-content p{font-size:13px;margin:14px 0}.room-label{position:absolute;top:90px;left:20px;align-items:flex-start}.room-label b{font-size:17px}.room-label span{font-size:8px}.vitals{left:18px;top:20px}#hearts{font-size:20px}.currency{right:18px;top:20px}#relics{left:18px;top:140px;max-width:160px}#relics span{font-size:9px}.control-grid{font-size:12px;gap:13px}.dialog{padding:18px}.stats{gap:22px}.menu-note{font-size:10px}#objective{font-size:10px}#bossbar{left:22%;width:56%;bottom:145px}}

/* The roots remember — illustrated edition. */
body{background:radial-gradient(ellipse at 50% 35%,#152624 0,#070f13 75%)}
header{background:#091418ad;border-bottom-color:#adba8830}
.wordmark{color:#eedaba;text-shadow:0 0 22px #ddbf791a}
main{padding-top:22px}
#stage{border-color:#84947266;box-shadow:0 0 0 5px #35493a12,0 18px 75px #0006}
#stage:before,#stage:after{content:'';position:absolute;z-index:4;pointer-events:none;width:42px;height:42px;border-color:#c4b58288;border-style:solid}
#stage:before{top:7px;left:7px;border-width:1px 0 0 1px}
#stage:after{bottom:7px;right:7px;border-width:0 1px 1px 0}
.title-screen{transform:translate(-50%,-49%);animation:unfurl 1.6s ease-out both}
h1{background:linear-gradient(160deg,#f6ecd1 15%,#ddd2ac 55%,#b99a69);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 1px #061311) drop-shadow(0 0 25px #d9b66b1c);margin-top:18px}
.title-ornament{color:#b1bd916b;font:17px Georgia;letter-spacing:5px;margin:17px 0 -9px}
.primary{position:relative;overflow:hidden;background:linear-gradient(115deg,#c6ae7c,#efdfb4,#c2ae80);border-color:#e5d4a7;box-shadow:inset 0 0 0 4px #28352a15,0 5px 25px #050f1580;border-radius:2px}
.primary:before{content:'';position:absolute;top:-50%;left:-80%;height:200%;width:40%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,#fff9,transparent);animation:gild 7s ease-in-out infinite}
.primary:hover{box-shadow:0 0 28px #dfd09633,inset 0 0 0 4px #28352a18}
.dialog{background:radial-gradient(ellipse at 50% 45%,#163026ed,#07141af5);backdrop-filter:blur(7px)}
.panel-content{animation:rise .35s ease-out both}
.panel-content h2{color:#f1e2bf;text-shadow:0 3px 25px #d4b87822}
.card{position:relative;border-radius:3px;background:linear-gradient(150deg,#5473532b,#102a2780);border-color:#b1bc8c55;box-shadow:inset 0 0 35px #8db48208;animation:rise .4s ease-out both}
.card:nth-child(2){animation-delay:.07s}.card:nth-child(3){animation-delay:.14s}
.card:before{content:'✧';position:absolute;top:10px;left:12px;color:#b7bd8466}
.card:hover{background:linear-gradient(150deg,#7888574d,#193d3280);box-shadow:0 5px 35px #030e1599,0 0 22px #c4c79118}
.card .icon{text-shadow:0 0 22px #decb9166}
.room-label b{color:#eee0ba;text-shadow:0 3px 16px #041b1c}
#hearts{filter:drop-shadow(0 2px 1px #052225);color:#f4dfb8}
.silk-track{border:1px solid #739d8344;height:6px;border-radius:6px}.silk-track>div{box-shadow:0 0 9px #9bddbd77;border-radius:6px}
#volume{width:64px;height:3px;accent-color:#c5b484;align-self:center;cursor:pointer}
.top-actions{gap:16px}.top-actions button{white-space:nowrap}
#toast{border-color:#bac69b77;background:#0c211deb;box-shadow:0 8px 30px #0005;letter-spacing:.3px;border-radius:2px}
.corner-right{font-size:9px;letter-spacing:1.6px}.legacy small{font-size:10px}
@keyframes unfurl{from{opacity:0;filter:blur(5px);transform:translate(-50%,-46%)}to{opacity:1;filter:blur(0);transform:translate(-50%,-49%)}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes gild{0%,65%{left:-80%}90%,100%{left:150%}}
@media(max-width:1050px){.corner-note,.corner-right{bottom:8px;font-size:8px}.title-ornament{margin:10px 0 -8px;font-size:13px}.title-screen p{margin:17px 0}.keys{font-size:10px;gap:7px}.legacy small{margin-top:55px}.legacy{margin-top:20px}.top-actions{gap:12px}}
@media(max-width:650px){#volume{width:40px}.top-actions{gap:9px}.wordmark{font-size:13px;letter-spacing:1px}.wordmark .moth{font-size:30px}.title-ornament{margin:18px 0 0}.title-screen p{margin:25px 0}.legacy{margin-top:30px}.keys{display:none}#touch{bottom:32px;left:15px;right:15px;gap:20px}#touch>div{max-width:155px;gap:7px}#touch button{width:42px;height:42px;background:#15332cc7;border-color:#e0dbb06b;box-shadow:0 2px 8px #0005}#touch .touch-attack button{background:#423d2dd6}#touch .touch-attack{justify-content:flex-end}.corner-note{bottom:16px}.title-screen h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){.title-screen,.panel-content,.card,.primary:before{animation:none}.primary,.card{transition:none}}

@media(max-width:1050px){.corner-note,.corner-right{display:none}}

.score-panel{position:absolute;right:30px;top:115px;text-align:right;display:flex;align-items:baseline;gap:9px}.score-panel>span{font-size:9px;letter-spacing:2px;color:#b6c2a5}.score-panel>b{font:21px Georgia;color:#eddaa5}.score-panel>small{font-size:12px;color:#94b9a6;font-variant-numeric:tabular-nums}
#combometer{position:absolute;left:30px;bottom:58px;display:flex;gap:11px;align-items:center;text-shadow:0 3px 10px #041b1c;transition:opacity .2s;pointer-events:none}#combometer b{font:48px Georgia;color:#ffdf9d}#combometer span{font-size:11px;color:#bef0d5;letter-spacing:2px}
.map-button{position:absolute;right:30px;bottom:20px;pointer-events:auto;border:1px solid #829d7855;background:#10261ddb;padding:8px 11px;font-size:10px;letter-spacing:1px}
.record-button{display:block;margin:13px auto 0;padding:5px 10px;border:0;background:transparent;color:#adbfa5;font-size:10px;letter-spacing:1.5px}.record-button:hover{color:#f1d5a5}
.route-scroll{overflow-x:auto;border:1px solid #7797763d;background:#0c231e65;border-radius:4px;margin-top:20px}.route-scroll svg{display:block;width:100%;min-width:560px}.route-legend{text-align:center;color:#b1c4a7;font-size:12px;margin:12px 0;line-height:1.8}.route-cards{grid-template-columns:repeat(2,1fr);max-width:660px;margin:20px auto}.route-cards .card{min-height:185px}.route-cards .card>.eyebrow{font-size:10px;color:#b6cbaa;letter-spacing:2px;margin-bottom:9px}.route-resources{font-size:12px!important;margin:8px!important;color:#aec8b1!important}
.card:disabled{opacity:.42;cursor:default;transform:none}.price{font:19px Georgia;margin-top:14px;color:#e8d39e}.run-score{font:48px Georgia;color:#f5d797;margin:18px}.run-score small{display:block;font:11px Arial;letter-spacing:2px;color:#b3d4bc;margin-top:10px}.record-list{margin:25px auto;max-width:600px;display:grid;gap:8px}.record-list>div{display:grid;grid-template-columns:28px 100px 1fr;align-items:center;gap:15px;padding:13px;border:1px solid #66806444;text-align:left;color:#abc7b1;font-size:12px}.record-list strong{font:23px Georgia;color:#ebd8a5}.record-list b{color:#96b7a0}
.title-screen .legacy{margin-top:22px}.title-screen .menu-note{margin-top:9px}.panel-content>.eyebrow{font-size:11px}.panel-content h2{margin:12px 0}
@media(max-width:1050px){.title-screen h1{margin-top:13px}.title-screen p{margin:12px 0}.title-screen .legacy{margin-top:18px}.record-button{margin-top:8px}.title-ornament{display:none}.panel-content h2{font-size:32px}.route-scroll{margin-top:10px}.route-cards{margin:12px auto}.route-cards .card{min-height:155px;padding:14px}.route-cards .card .icon{margin-bottom:8px}.dialog{padding:18px}.run-score{font-size:38px}.stats{margin:14px 0}}
@media(max-width:650px){.score-panel{right:18px;top:155px;gap:5px;display:grid}.score-panel>b{font-size:18px}.score-panel>span{font-size:8px}.score-panel small{font-size:10px}.map-button{right:18px;bottom:105px}#combometer{left:18px;bottom:115px}#combometer b{font-size:36px}#combometer span{font-size:8px;letter-spacing:1px}.route-cards{grid-template-columns:1fr;gap:8px}.route-cards .card{min-height:0;padding:11px}.route-cards .card>.eyebrow{font-size:9px}.route-scroll svg{min-width:640px}.route-legend{font-size:10px}.title-screen .legacy{margin-top:26px}.title-screen p{margin:23px 0}.record-list>div{grid-template-columns:20px 85px 1fr;gap:8px;font-size:10px}.run-score{font-size:34px}.record-list strong{font-size:19px}}

.dialog>.panel-content{margin:auto 0}#relics{max-height:120px;overflow-y:auto;pointer-events:auto}.record-button{min-height:24px}
/* The silk atlas: illuminated cocoons, tarnished metal, ink-dark chambers. */
:root{--chamber-light:#b8edc6}body{background:radial-gradient(ellipse at 50% 40%,#19222e,#070b12 75%)}header{background:#080d16;border-bottom-color:#9a9b8e30}.wordmark{color:#e5d9be}#stage{border-color:#9aab9d55;box-shadow:0 0 0 5px #080f18,0 20px 90px #0009,inset 0 0 70px #0007}.room-label b{color:var(--chamber-light);font-size:20px}.room-label #roommusic{display:block;font-size:10px;letter-spacing:1px;color:#c8d2ce9e;margin-top:7px}.dialog{background:linear-gradient(135deg,#080e18f5,#142327f5 55%,#0e101df5);backdrop-filter:blur(9px)}.panel-content h2{color:#e5ddc8;font-weight:normal}.silk-map-header{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #b6c3b42b;padding:15px 3px 0;margin-top:15px;color:#e0c99e;font-size:11px;letter-spacing:2.4px}.silk-map-header small{color:#9eadab;font-size:10px;letter-spacing:1px}.route-scroll.silk-map{border:0;background:radial-gradient(ellipse,#273e4038,#070e1866);border-bottom:1px solid #b1beac2b;border-radius:0;margin:3px 0 0;scrollbar-color:#6c7e73 #0b1420}.silk-map svg{min-width:1060px;width:100%;height:auto}.thread-future{fill:none;stroke:#8eaab045;stroke-width:1.4}.thread-traveled{fill:none;stroke:#d9c893;stroke-width:2.3;filter:drop-shadow(0 0 4px #e0c18677)}.cocoon-node ellipse{stroke-width:1.4}.cocoon-next ellipse{stroke-width:2;filter:drop-shadow(0 0 8px #9abf9866)}.cocoon-current ellipse{stroke:#f6dfab;stroke-width:2;filter:drop-shadow(0 0 10px #eacc8577)}.cocoon-symbol{font:17px Georgia;fill:#ddd6b7}.cocoon-number{font:12px Georgia;fill:#9eafab}.cocoon-current .cocoon-number{fill:#f5dfab}.map-end{font:10px Georgia;letter-spacing:2px;fill:#718e91}.route-cards{max-width:760px;gap:18px}.route-cards .card{min-height:170px;text-align:left;padding:22px 24px 18px;display:grid;grid-template-columns:38px 1fr;column-gap:12px;border:1px solid #afbaa24d;background:linear-gradient(120deg,#2d41413d,#101a2c77);border-radius:24px 4px 24px 4px}.route-cards .card:before{display:none}.route-cards .card .icon{grid-row:1/5;font-size:29px;margin:0}.route-cards .card>.eyebrow{font-size:10px;letter-spacing:2px}.route-cards .card strong{font-size:21px;line-height:1.2}.route-cards .card small{font-size:12px;line-height:1.6;margin-top:8px}.path-biome{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#9dbcb7;border-top:1px solid #95afa22a;padding-top:10px;margin-top:10px}.route-cards .card:hover{border-color:#dbd0a4;box-shadow:0 0 27px #98b79815;transform:translateY(-3px);background:linear-gradient(120deg,#405b4d55,#172638)}.route-legend{color:#9db0ab;letter-spacing:.5px;font-size:11px}#bossbar span{letter-spacing:3px;color:#f2c8ad}#bossbar>div{border:1px solid #edcaa344;height:8px;border-radius:50% 5px;background:#070e19}#bossbar i{background:linear-gradient(90deg,#815878,#d49d83,#eacb9f);box-shadow:0 0 15px #e49d7c55}#objective{max-width:70%;font-size:11px}#toast{top:auto;bottom:92px;max-width:70%;background:#101926ed;border-color:#c8cda966}.title-screen h1{text-shadow:0 3px 1px #4a4636,0 0 45px #c5d1bd25}.primary{background:linear-gradient(125deg,#d5c28d,#ac996d);border-color:#efe2b2;color:#132225}.primary:hover{box-shadow:0 0 30px #d3ce9426}.map-button{border-radius:15px 2px 15px 2px;background:#0b1624d9}.silk-map:focus-visible{outline:2px solid #dfcf9c}
@media(min-width:1200px){.silk-map svg{min-width:0}.panel-content{max-width:1080px}}
@media(max-width:1050px){.room-label b{font-size:15px}.room-label #roommusic{font-size:9px;letter-spacing:.3px}.route-cards .card{padding:15px;min-height:150px}.route-cards .card strong{font-size:18px}.silk-map svg{min-width:980px}.silk-map-header{padding-top:10px;margin-top:10px}.route-cards{gap:12px}.path-biome{font-size:9px}.route-cards .card small{font-size:11px}}
@media(max-width:650px){.room-label #roommusic{display:none}.route-cards .card{min-height:130px}.silk-map-header{font-size:9px;letter-spacing:1px}.silk-map-header small{font-size:9px}.silk-map svg{min-width:980px}#objective{max-width:66%;font-size:9px}#toast{bottom:150px;font-size:11px}.route-legend{font-size:10px}}
#bossbar{top:112px;bottom:auto;left:28%;width:44%;pointer-events:none}#bossbar span{font-size:9px;letter-spacing:1.6px}#objective{white-space:normal;text-align:center;line-height:1.5}.silk-map-header{flex-shrink:0}
@media(max-width:1050px){#bossbar{top:102px}.silk-map svg{height:190px}.panel-content:has(.silk-map)>h2{font-size:27px;margin:8px 0}.panel-content:has(.silk-map)>.eyebrow{font-size:9px}.panel-content:has(.silk-map) .primary{min-height:43px}}
@media(max-width:650px){#bossbar{top:135px;left:27%;width:46%}#bossbar span{font-size:8px;letter-spacing:1px}.silk-map svg{height:190px}}
/* Hearthhollow is a playable place with persistent services between descents. */
#hub{pointer-events:none;background:linear-gradient(#07101ab8,transparent 42%,transparent 65%,#07101aeb)}#hub button{pointer-events:auto}.hub-heading{position:absolute;left:30px;right:30px;top:22px;display:flex;justify-content:space-between;gap:15px}.hub-heading .eyebrow{justify-content:flex-start;letter-spacing:2px;font-size:9px;color:#cfc49e}.hub-heading h2{font:36px Georgia;margin:9px 0;color:#f1dec0}.hub-heading small{color:#abc4ba;font-size:10px;letter-spacing:.4px}.hub-heading>b{font:28px Georgia;color:#e8ce8f;text-align:right}.hub-heading>b small{display:block;font:8px Arial;letter-spacing:1.8px;margin-top:7px;color:#c9c9b1}.hub-loadout{position:absolute;top:125px;left:30px;display:flex;flex-direction:column;gap:7px;font:14px Georgia;color:#e1dac3}.hub-loadout small{font:10px Arial;color:#a7c4c1}.hub-services{position:absolute;bottom:100px;left:22px;right:22px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.hub-services button{background:#102230ed;border:1px solid #aab79b66;border-radius:14px 2px;padding:9px 14px;color:#e7d7b9;font:12px Georgia}.hub-services button:hover{background:#354b4d;border-color:#e7d7b9}.hub-depart{position:absolute;bottom:4px;left:20px;right:20px;text-align:center}.hub-depart>small{font-size:9px;color:#abc0b5}.hub-depart>div{display:flex;justify-content:center;gap:13px;align-items:center;margin-top:8px}.hub-depart .primary{min-height:38px;padding:0 22px;font-size:10px}.hub-depart .secondary{margin:0;min-height:36px;padding:6px 10px;font-size:9px}.hub-depart p{font-size:9px;line-height:1.4;margin:5px 0;color:#a9b9b0}.hub-depart button:disabled{opacity:.6;cursor:default}.village-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:740px;margin:18px auto}.village-card{text-align:left;padding:18px;min-height:120px;border-radius:18px 3px}.village-card:before{display:none}.village-card strong{font-size:20px}.village-card small{font-size:12px;line-height:1.5;margin-top:8px}.village-card .price{font-size:14px;margin-top:12px}#ability{position:absolute;left:30px;top:112px;font-size:9px;letter-spacing:1px;color:#c5d5eb}#relics{top:145px}#stage:fullscreen{width:100vw;height:100vh;max-height:none;aspect-ratio:auto;border:0}#stage:fullscreen .hub-heading h2{font-size:48px}#stage:fullscreen .hub-services{bottom:122px}#stage:fullscreen .hub-depart{bottom:14px}.top-actions{gap:11px}#fullscreen{font-size:10px;letter-spacing:.7px}
@media(max-width:1050px){.hub-heading{top:18px;left:23px;right:23px}.hub-heading h2{font-size:30px}.hub-heading small{font-size:9px}.hub-loadout{top:112px;left:23px;font-size:12px}.hub-loadout small{font-size:9px}.hub-services{bottom:105px;gap:6px}.hub-services button{font-size:11px;padding:8px 10px}.hub-depart{bottom:7px}.village-card{padding:14px;min-height:105px}.village-card strong{font-size:17px}.village-card small{font-size:11px}.village-cards{margin:12px auto}#ability{top:106px;font-size:8px}.top-actions button{letter-spacing:.5px;font-size:10px}}
@media(max-width:650px){.hub-heading h2{font-size:27px}.hub-heading>div>small{display:block;max-width:200px;line-height:1.5}.hub-heading>b{font-size:22px}.hub-loadout{top:125px;max-width:260px;line-height:1.5}.hub-services{bottom:130px;left:12px;right:12px}.hub-services button{font-size:11px;padding:8px}.hub-depart>div{flex-direction:column;gap:4px}.hub-depart>small{display:none}.hub-depart .secondary{min-height:20px;font-size:8px}.hub-depart p{font-size:8px;max-width:300px;margin:5px auto}.village-cards{grid-template-columns:1fr}.village-card{min-height:90px}#ability{top:135px;left:18px;font-size:8px}#relics{top:165px}#fullscreen{font-size:8px}.top-actions{gap:6px}}
.traveler-line{font:19px/1.8 Georgia,serif;max-width:580px;margin:24px auto;color:#d9dacc}.speaker-emblem{font:36px Georgia;margin:12px;filter:drop-shadow(0 0 12px #c1d0a844)}.quest-brief{max-width:580px;margin:20px auto;padding:18px;border:1px solid #a9bf9b44;background:#17272b88}.quest-brief>b{font:22px Georgia;color:#ead7ae}.quest-brief p{font-size:13px;margin:10px 0}.quest-brief>strong{display:block;font:28px Georgia;color:#bee4c4}.quest-brief small{display:block;margin-top:10px;font-size:12px;color:#c4cbb5}.hub-services button{padding:8px 10px}.route-cards:has(>button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr));max-width:940px}.route-cards:has(>button:nth-child(3)) .card{display:flex;flex-direction:column;min-height:170px}.route-cards:has(>button:nth-child(3)) .icon{font-size:22px;margin-bottom:8px}
@media(max-width:1050px){.traveler-line{font-size:16px;line-height:1.65;margin:15px auto}.speaker-emblem{font-size:25px;margin:5px}.quest-brief{padding:12px;margin:12px auto}.quest-brief>b{font-size:19px}.hub-services{gap:5px}.hub-services button{font-size:10px;padding:8px 9px}.route-cards:has(>button:nth-child(3)) .card strong{font-size:16px}.route-cards:has(>button:nth-child(3)) .card{padding:12px}}
@media(max-width:650px){.route-cards:has(>button:nth-child(3)){grid-template-columns:1fr}.route-cards:has(>button:nth-child(3)) .card{min-height:110px}.hub-services{bottom:126px}.hub-services button{padding:7px}.traveler-line{font-size:16px}}
