@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--cream:#f6f0d8;--muted:#b4c3b7;--gold:#d8b971;--dark:#112b28;--line:#d9c69226}*{box-sizing:border-box}body{margin:0;overflow:hidden;font:13px Manrope,system-ui,sans-serif;color:var(--cream);background:#193a33}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#183c35;color:var(--cream);border-radius:7px;padding:11px 16px;transition:background .15s,transform .15s}button:hover{background:#2c5446;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default;transform:none}button.primary{background:var(--gold);color:#243b31;font-weight:800;border:0}button.active{border-color:var(--gold);color:var(--gold)}canvas{display:block;width:100vw;height:100vh;touch-action:none}body:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0b292565,transparent 35%),linear-gradient(0deg,#0b292599,transparent 25%,transparent 85%,#0b2925a6)}header{position:absolute;top:22px;left:30px;right:30px;display:flex;gap:30px;align-items:center}.logo{display:flex;font:48px 'Cormorant Garamond',Georgia,serif;align-items:center;gap:12px;line-height:1}.logo span{font:700 18px Manrope,system-ui;letter-spacing:4px}.logo b{color:var(--gold)}.logo small{display:block;font-size:7px;letter-spacing:2px;color:var(--muted);margin-top:5px}.heroInfo{margin-left:auto;width:220px;background:#12382de0;padding:12px 18px;border:1px solid var(--line);border-radius:10px}.heroInfo b{font-size:12px}.heroInfo small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.bar{height:4px;background:#ffffff20;border-radius:5px;margin:7px 0;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .2s}.wallet span{font-size:8px;letter-spacing:2px;display:block;color:var(--muted)}.wallet b{font-size:19px;color:#ffda8b}header>button{font-size:10px;background:#15392cc9}nav{position:absolute;top:125px;left:28px;display:flex;flex-direction:column;gap:5px}nav button{display:flex;gap:12px;text-align:left;width:145px;background:#10372ee6;font-size:13px}nav button span{font-size:10px}.nav button:hover{border-color:var(--gold)}#location{position:absolute;left:200px;top:134px;pointer-events:none}small{font-size:9px;letter-spacing:1.8px;color:var(--gold)}h1{font:500 52px 'Cormorant Garamond',Georgia,serif;margin:10px 0 5px}#location>p{color:#e6efd9;font-size:11px;max-width:260px;line-height:1.8}#activity{margin-top:22px;background:#143d31df;border:1px solid var(--line);border-radius:8px;padding:13px;width:250px}#activity b{font-size:11px}#activity small{font-size:9px;letter-spacing:0;color:var(--muted);line-height:1.7;display:block}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:6px}#journal{position:absolute;right:30px;top:135px;width:230px;background:#123b31c9;padding:17px;border:1px solid var(--line);border-radius:8px}#log{margin-top:12px}#log p{font-size:10px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:8px}#toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);background:#143d31ed;border:1px solid var(--gold);border-radius:9px;padding:13px 20px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:80vw}footer{position:absolute;bottom:18px;width:100%;text-align:center;pointer-events:none}footer button{pointer-events:auto}#context{font-size:11px;text-shadow:0 2px 5px #000;margin-bottom:12px}.actionbar{display:flex;gap:8px;justify-content:center}.actionbar button:first-child{background:var(--gold);color:#203d30;font-weight:800}.hint{font-size:9px;color:#d0ddc6;margin-top:12px}.mobile{display:none}dialog{border:1px solid #d8b97150;border-radius:16px;background:linear-gradient(140deg,#173b33,#102b28);color:var(--cream);box-shadow:0 35px 100px #071e2a80;padding:32px;width:min(830px,94vw);max-height:85vh;overflow:auto}dialog::backdrop{background:#0c252a66;backdrop-filter:blur(6px)}dialog h2{font:500 40px 'Cormorant Garamond',Georgia,serif;margin:10px 0 20px}dialog h3{font-size:13px;color:var(--gold);margin:20px 0 12px}dialog p{font-size:12px;line-height:1.9;color:var(--muted)}.close{float:right;font-size:22px;padding:0 10px;border:0;background:transparent}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:18px;border:1px solid var(--line);border-radius:9px;background:#ffffff04}.card b{font-size:12px}.card p{font-size:10px;margin:7px 0 12px}.card button{font-size:10px;padding:8px 12px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.row b{font-size:12px}.row p{font-size:10px;margin:5px 0}.row button{font-size:10px;padding:9px 12px}.row .buttons{display:flex;gap:6px}.subtle{font-size:10px!important;color:var(--muted)}.tag{display:inline-block;font-size:9px;border:1px solid var(--line);border-radius:4px;color:var(--gold);padding:3px 7px;margin-left:5px}.bigNumber{font:42px Georgia,serif;color:var(--gold)}.skillBranch{border:1px solid var(--line);padding:15px;border-radius:10px}.skillBranch .skill{display:block;text-align:left;width:100%;font-size:10px;margin-bottom:6px;padding:9px}.skill.learned{background:#385c3d;color:#dbe9b7}.three{grid-template-columns:repeat(3,minmax(0,1fr))}input{background:#0c2924;border:1px solid #d8b97150;color:var(--cream);border-radius:7px;padding:13px;width:100%;margin:9px 0 18px}label{font-size:11px;color:var(--muted)}.classChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 24px}.classChoices label{padding:12px;border:1px solid var(--line);border-radius:8px;text-align:center;position:relative;cursor:pointer}.classChoices label:has(input:checked){border-color:var(--gold);background:#d8b97110}.classChoices input{position:absolute;top:8px;left:8px;width:auto;margin:0}.classChoices img{height:120px;max-width:100%;object-fit:contain;display:block;margin:auto}.classChoices b{display:block;color:var(--cream);margin-top:10px}.classChoices small{font-size:8px;letter-spacing:0;color:var(--muted)}#creator{width:min(660px,94vw)}#creator h2{font-size:48px}#creator .primary{width:100%;padding:15px}#loading{position:absolute;inset:0;background:#173b33;display:grid;place-items:center;font-size:16px;z-index:20}#loading.hidden{display:none}.floating-label{position:absolute;font-size:10px;color:#fff8db;text-shadow:0 2px 4px #000;pointer-events:none}.mininote{border-left:2px solid var(--gold);padding:8px 14px;background:#d8b97108;margin:14px 0}@media(max-width:900px){#journal{display:none}header{left:15px;right:15px;gap:15px}.logo{font-size:34px}.logo span{font-size:12px}.heroInfo{width:170px}header>button{display:none}nav{left:12px;top:120px}nav button{width:42px;padding:9px 12px}nav button span{display:none}#location{left:70px;top:120px}h1{font-size:36px}#activity{width:210px}.grid.three{grid-template-columns:1fr}.hint{font-size:8px}}@media(max-width:600px){.heroInfo{width:145px;padding:8px 12px}.logo small{display:none}.wallet b{font-size:13px}.wallet span{font-size:7px}#location>p{display:none}#activity{margin-top:12px;width:180px}.actionbar button{font-size:10px;padding:10px}.mobile{display:flex;gap:5px;justify-content:center;margin-top:8px}.mobile button{padding:10px 19px}footer{bottom:10px}#context{font-size:9px}.grid{grid-template-columns:1fr}dialog{padding:22px}dialog h2{font-size:32px}.classChoices img{height:80px}.classChoices{gap:5px}.classChoices label{padding:8px}.classChoices small{font-size:7px}#creator h2{font-size:38px}.hint{display:none}}

#spellbar{display:flex;gap:10px;justify-content:center;margin:0 0 28px;pointer-events:auto}.spellSlot{position:relative;width:60px;height:60px;padding:0;border:2px solid #d8b971;background:#132c28;border-radius:7px;overflow:visible}.spellSlot img{width:100%;height:100%;border-radius:5px;object-fit:cover}.spellSlot.unavailable img{filter:brightness(.4) saturate(.5)}.slotNumber{position:absolute;left:3px;top:2px;font-size:10px;text-shadow:0 1px 3px #000}.spellCooldown{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;font-weight:bold;text-shadow:0 2px 4px #000}.spellCaption{position:absolute;top:63px;left:-20px;right:-20px;font-size:8px;white-space:nowrap;text-shadow:0 2px 3px #000}.spellSlot.autoOff{border-color:#89958a}.spellIcon{width:56px;height:56px;border:1px solid var(--gold);border-radius:6px}.row a{color:var(--gold);font-size:10px}#nav{gap:3px}#nav button{padding-top:9px;padding-bottom:9px}@media(max-height:750px){#nav{top:105px}#nav button{padding-top:7px;padding-bottom:7px}}@media(max-width:600px){.spellSlot{width:46px;height:46px}.spellCaption{top:49px;font-size:7px}#spellbar{margin-bottom:24px;gap:16px}}
.inHub #nav [data-panel="adventures"],.inHub #nav [data-panel="craft"],.inHub #nav [data-panel="domains"],.inHub #nav [data-panel="market"],.inHub #nav [data-panel="guild"],.inHub #autoBtn,.inHub #pauseBtn{display:none}#nav{top:115px;gap:2px}#nav button{padding-top:7px;padding-bottom:7px}.inHub #activity{display:none}

#battleStatus{font-size:12px;margin-bottom:8px;text-shadow:0 2px 4px #000}#teamHealth{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.unitHP{display:block;width:115px;background:#173c32df;border:1px solid #e2cd8d44;border-radius:7px;padding:7px}.unitHP b{font-size:9px}.unitHP i{display:block;height:5px;margin:5px 0;background:#ffffff22}.unitHP em{display:block;height:100%;background:#8ed8a6}.unitHP small{font-size:8px;color:#e2d5b6;letter-spacing:0}.unitHP.down{opacity:.45}.inHub #battleStatus,.inHub #teamHealth{display:none}@media(max-width:600px){.unitHP{width:75px;padding:5px}#battleStatus{font-size:10px}}
#storyTracker{position:fixed;right:30px;top:300px;z-index:5;width:230px;padding:16px;background:rgba(25,69,58,.94);border:1px solid #c3b46f;border-radius:12px;color:#fff0cc;cursor:pointer;box-shadow:0 10px 30px #183f3333}#storyTracker small{display:block;font-size:9px;letter-spacing:1.2px;color:#e7ce88}#storyTracker b{display:block;margin:8px 0;font-size:15px}#storyTracker span{font-size:12px;line-height:1.6;display:block}#storyTracker button{margin-top:10px;width:100%}.storyIntro{color:#b9cebf}.storyGoal{background:#294f42;padding:18px;border-radius:10px;border-left:3px solid #e1c577}.storyChapter{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid #bec99922}.storyChapter>span{color:#dfc479}.storyChapter p{margin:5px 0;font-size:12px}.storyChapter.current{color:#ffe4a2}blockquote{margin:20px 0;padding:16px 22px;border-left:3px solid #c8ae72;background:#ffffff08;line-height:1.8;font-style:italic}@media(max-width:850px){#storyTracker{top:110px;right:12px;width:170px;padding:10px}#storyTracker small{font-size:8px}#storyTracker b{font-size:12px}#storyTracker span{font-size:10px}}body:has(#creator[open]) #storyTracker{display:none}
#onlineServices{width:95vw;height:92vh;max-width:1500px;max-height:95vh;padding:0;border:2px solid #b6aa72;border-radius:14px;background:#f6f1df;z-index:100}#onlineServices iframe{border:0;width:100%;height:100%}#closeOnlineServices{position:absolute;right:16px;top:12px;z-index:2;font-size:26px;background:#204e42;color:white;width:42px;height:42px}#onlineGate{position:fixed;inset:0;background:linear-gradient(135deg,#173e37,#587966);display:grid;place-items:center;z-index:99;color:#fff0cc;text-align:center}#onlineGate div{padding:36px;max-width:650px}#onlineGate button{display:block;margin:16px auto;padding:15px 28px}#onlineStatus{position:fixed;right:30px;top:95px;z-index:8;background:#204e42;color:#e8dda6;font-size:11px}#onlineAllServices{position:fixed;right:30px;bottom:28px;z-index:8;background:#245a4a;color:#ffedbc;padding:12px}#onlineGate h1{font-size:42px}

/* Stack both panels in one column, so journal growth cannot cover the quest. */
#rightPanels{position:fixed;right:30px;top:135px;width:230px;display:flex;flex-direction:column;gap:14px;z-index:5;max-height:calc(100dvh - 335px);overflow:auto;scrollbar-width:thin;scrollbar-color:#a59766 transparent}#rightPanels>#journal,#rightPanels>#storyTracker{position:static;top:auto;right:auto;width:100%;flex-shrink:0;margin:0}#rightPanels>#journal{max-height:28dvh;overflow:auto;scrollbar-width:thin}#rightPanels>#storyTracker{box-shadow:none}@media(max-width:900px){#rightPanels{right:12px;top:120px;width:170px;max-height:calc(100dvh - 330px)}}@media(max-width:600px){#rightPanels{top:110px;width:min(170px,43vw);max-height:35dvh}}
#nearbyChat{position:fixed;bottom:24px;left:22px;width:min(320px,38vw);z-index:10;pointer-events:auto}#nearbyChatLog{max-height:130px;overflow:auto;text-shadow:0 1px 3px #000;scrollbar-width:thin}#nearbyChatLog p{margin:5px 0;padding:5px 9px;border-radius:5px;background:#102d2bbd;overflow-wrap:anywhere;font-size:11px}#nearbyChatForm{padding:12px;background:#12382df5;border:1px solid #d8b971;border-radius:9px}#nearbyChatInput{margin:8px 0;padding:10px}#nearbyChatForm small{letter-spacing:0}#openNearbyChat{font-size:11px;padding:8px 12px;background:#12382de8}body:has(#onlineGate[style*="grid"]) #nearbyChat{display:none}@media(max-width:600px){#nearbyChat{left:10px;bottom:190px;width:210px}#nearbyChatLog{max-height:85px}}
#stallListingForm{background:#173c35;padding:16px;border-radius:8px}#stallListingForm select{width:100%;padding:12px;margin:8px 0 16px;background:#102e28;color:#f6f0d8;border:1px solid #d8b97166;border-radius:6px}
#openWorldTracker{padding:14px;border:1px solid #b6c592;border-radius:10px;background:#183f36ed;cursor:pointer}#openWorldTracker b,#openWorldTracker span{display:block;margin-top:8px;font-size:11px;line-height:1.5}
.narrative{max-width:760px;margin:0 auto 20px;line-height:1.65}.narrative p{white-space:normal;margin:14px 0}.narrative blockquote{margin:22px 0;padding:14px 20px;border-left:3px solid #d9b76d;background:#ffffff08;color:#f6e6bf}.narrative button{display:block;max-width:100%;margin:10px 0;text-align:left;white-space:normal}.narrative a{color:#b7d9ed}.nextObjective{color:#ffe7a1;border-left:3px solid #d9b76d;padding-left:12px;font-weight:600}
#panel.questBookDialog{width:min(1150px,96vw);max-width:1150px;background:#221d19;color:#f1dfb9;padding:24px;border:1px solid #8f754d} .bookChapterTabs,.bookNavigation{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.bookChapterTabs button{font-size:12px}.questBookSpread{position:relative;display:grid;grid-template-columns:1fr 1fr;perspective:1700px;border:8px solid #68452f;border-radius:8px;box-shadow:0 12px 34px #0008;background:#dfc99c}.questBookLeaf{position:relative;padding:24px 28px 40px;color:#473824;background:linear-gradient(95deg,#d8be88,#f0dfb7 12%,#f0dfb7 88%,#cbb17e);font-family:Georgia,serif;min-width:0}.questBookLeaf+ .questBookLeaf{border-left:2px solid #a58a57;background:linear-gradient(90deg,#b69b68,#ecdbb3 12%,#f0dfb7 88%,#d1b783)}.questBookLeaf h3{font-size:23px;line-height:1.2;color:#493020;margin:8px 0 14px}.bookChapter{font:11px sans-serif;letter-spacing:1.2px;color:#795835}.bookIllustration svg{display:block;width:100%;border-radius:3px}.bookExcerpt{font-size:14px;font-style:italic;line-height:1.5}.bookMission{border-top:1px solid #b9a174;padding:12px 0;min-height:112px}.bookMission small{font:10px sans-serif;letter-spacing:.8px;color:#806343}.bookMission h4{font-size:17px;margin:6px 0;color:#553823}.bookMission p{font-size:13px;line-height:1.45;margin:6px 0}.bookMissionActive{border-left:3px solid #946b32;padding-left:10px}.questBookLeaf button{background:#6d5137;color:#fff0ce;border:1px solid #9c784b;font-size:12px;padding:7px 12px;white-space:normal}.questBookLeaf button:disabled{opacity:.45}.bookQuestAction{font-size:12px;min-height:35px}.bookQuestAction details{line-height:1.5}.bookPageNumber{position:absolute;bottom:12px;left:50%;color:#8c714b;font-size:13px}.bookNavigation span,.bookFootnote{font-size:12px;color:#c4af8c}.bookTurningLeaf{display:none;position:absolute;inset:0 0 0 50%;background:linear-gradient(90deg,#b39865,#f0dfb7 15%,#e1c998);transform-origin:left center;z-index:5;pointer-events:none;box-shadow:4px 0 15px #0005;backface-visibility:visible}.bookTurnForward .bookTurningLeaf{display:block;animation:questPageForward .52s ease-in-out forwards}.bookTurnBack .bookTurningLeaf{display:block;inset:0 50% 0 0;transform-origin:right center;animation:questPageBack .52s ease-in-out forwards}@keyframes questPageForward{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes questPageBack{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}@media(max-width:720px){.questBookSpread{grid-template-columns:1fr}.questBookLeaf{padding:20px 18px 35px}.questBookLeaf+ .questBookLeaf{border-left:0;border-top:3px solid #a58a57}.bookTurningLeaf{inset:0!important}.bookChapterTabs button{flex:1 1 45%}#panel.questBookDialog{padding:16px}.bookNavigation button{font-size:11px}}@media(prefers-reduced-motion:reduce){.bookTurnForward .bookTurningLeaf,.bookTurnBack .bookTurningLeaf{animation:none;display:none}}

.questBookLeaf p{color:#51432f}.questBookLeaf .bookIllustration svg{max-height:125px}.questBookLeaf .bookMission{min-height:98px;padding-top:10px;padding-bottom:10px}.questBookLeaf{padding-top:18px;padding-bottom:32px}.bookNavigation{position:sticky;bottom:0;background:#221d19;padding:10px 0;z-index:6}
#navToggle{position:fixed;top:125px;left:28px;z-index:8;width:145px;padding:10px 8px;background:#10372ef2;font-size:12px;border-color:#d8b97166}#nav{top:172px;max-height:calc(100dvh - 285px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a59766 transparent}#nav[hidden]{display:none!important}#navToggle:focus-visible{outline:2px solid #ffe5a5;outline-offset:3px}@media(max-width:850px){#navToggle{left:12px;top:110px;width:120px}#nav{top:156px;left:12px;max-height:calc(100dvh - 290px)}}@media(max-width:600px){#navToggle{top:100px;left:10px;width:116px}#nav{top:145px;left:10px;max-height:calc(100dvh - 290px);flex-direction:column;flex-wrap:nowrap;width:145px;background:#10372ee6;border-radius:8px;padding:5px}#nav button{flex-shrink:0;width:135px}}
.bookUnwritten{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.bookUnwritten>span{font-size:54px;color:#93703b}.bookUnwritten p{max-width:300px}

.sharedWorldLink{position:fixed;right:30px;bottom:18px;z-index:12;background:#285b4c;color:#ffedb6;border:1px solid #bea970;padding:10px 15px;border-radius:8px;text-decoration:none;font-size:12px}
.memoryBattle{padding:20px;border:1px solid #d7bb7d;border-radius:10px;background:#253e3d}.bookChapterTabs{justify-content:flex-start}.bookChapterTabs button{flex:1 1 180px}.memoryBattle p{margin:6px 0}
.chronoStop{margin:12px 0;padding:12px 16px;border-left:3px solid #bd9d62;background:#ffffff06}.chronoStop p{margin:4px 0}.chronoStop small{letter-spacing:.5px}
#questDirection{position:fixed;top:110px;left:50%;transform:translateX(-50%);z-index:5;display:none;align-items:center;gap:12px;padding:10px 16px;background:#143c34ed;border:1px solid #c8ac70;border-radius:12px;max-width:320px;pointer-events:none;box-shadow:0 5px 18px #0003}.questDirectionArrow{display:block;color:#f1cc75;font-size:32px;flex-shrink:0}#questDirection small{display:block;font-size:8px;letter-spacing:1px}#questDirection b{display:block;font-size:11px;line-height:1.4;margin:3px 0}.questDirectionDistance{font-size:10px;color:#c6d6bd}#questDirection.arrived{border-color:#9de5bd}body:has(dialog[open]) #questDirection{visibility:hidden}@media(max-width:650px){#questDirection{top:auto;bottom:150px;max-width:250px;padding:8px 12px}}
#questDirection{top:auto;bottom:190px;left:50%;max-width:320px}@media(max-width:650px){#questDirection{top:auto;bottom:185px;max-width:250px}}
#zoneDescription{display:none!important}
#openWorldTracker .trackedQuestRow{width:100%;display:block;text-align:left;font-size:11px;line-height:1.4;margin-top:7px;padding:9px;border:1px solid #ffffff20;background:#ffffff05;white-space:normal}#openWorldTracker .trackedQuestRow small{display:block;font-size:9px;margin-top:4px;color:#c9d7c0}#openWorldTracker .trackedQuestRow.selected{border-color:#d8b971;background:#d8b97116;color:#ffe1a0}[data-book-quest]{cursor:pointer}
.bookTitleRewards{margin-top:16px;padding:14px 18px;border:1px solid #a98d55;border-radius:8px;background:#c4a7650c}.bookTitleRewards p{margin:6px 0;font-size:12px}#bookEquippedTitle{color:#e1bc71;font-size:10px;letter-spacing:.3px}#worldLanguage{position:fixed;top:88px;right:30px;z-index:8;background:#163a32;color:#f0dfb8;border:1px solid #a78e59;border-radius:6px;padding:6px;font:11px system-ui}#worldLanguage option{background:#163a32}@media(max-width:650px){#worldLanguage{top:76px;right:12px;font-size:10px}}
.world3d-services{width:min(1120px,96vw);max-width:1120px;height:min(860px,93vh);max-height:93vh;padding:0;overflow:hidden;background:#13252a;border:1px solid #baab7d;border-radius:12px;box-shadow:0 24px 90px #000b}.world3d-services iframe{width:100%;height:100%;border:0;background:#122328}.world3d-services #closeOnlineServices{position:absolute;z-index:3;right:12px;top:10px;width:34px;height:34px;background:#193839;color:#f7e5be;border:1px solid #ae9d74;border-radius:5px}.shared-service-button{display:block;width:100%}
#onlineServices.world3d-services{width:min(1120px,96vw);max-width:1120px;height:min(860px,93vh);max-height:93vh;border:1px solid #baab7d;background:#13252a}#onlineServices.world3d-services #closeOnlineServices{right:12px;top:10px;width:34px;height:34px;font-size:24px;background:#193839}

/* One consistent menu rhythm, with overflow on shorter screens. */
#nav{width:180px;max-height:calc(100dvh - 270px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
#nav button{width:100%;min-height:34px;height:34px;flex:0 0 34px;align-items:center;gap:9px;padding:5px 11px;white-space:nowrap;font-size:12px}
#nav button span{font-size:10px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.skillTree3d{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.skillTree3d .skillBranch{min-width:0}
.skillTree3d .skill{white-space:normal;min-height:40px}
.codexSpread .codexEntries{max-height:60vh;overflow:auto}
.codexEntry{border-bottom:1px solid #9d835a55;padding:10px 0}
.codexEntry h4{margin:8px 0;color:#463923}
.codexEntry a{color:#765322}
@media(max-width:900px){#nav{width:42px;max-height:calc(100dvh - 230px)}#nav button{width:42px;justify-content:center;padding:5px}}
@media(max-width:650px){.skillTree3d{grid-template-columns:1fr}#nav{max-height:calc(100dvh - 220px)}}
