/* An independent keepsake, outside the scaled gameplay HUD. */
.journal-guide[hidden]{display:none}.journal-guide{flex-shrink:0;margin:0 42px 18px;padding:14px 20px;border:1px solid #dec59180;border-radius:12px;background:#142b3bf5;color:#f6ebd7;box-shadow:0 0 28px #ecd09315}.journal-guide>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.journal-guide strong{font-size:14px;letter-spacing:2px;color:#ffe3a8}.journal-guide-progress{font:12px Georgia,serif;color:#d6c59f}.journal-guide p{font-size:14px;line-height:1.8;margin:9px 0 12px}.journal-guide-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.journal-guide-actions button{font:inherit;font-size:12px;min-height:36px;padding:7px 12px;border:1px solid #dec59180;border-radius:6px;background:#233e4b;color:#fff0d3;cursor:pointer}.journal-guide-actions [data-journal-next]{background:#efd49e;color:#263a3c}.journal-guide-target{outline:2px solid #ffe3a8;outline-offset:-2px;box-shadow:inset 0 0 24px #ffe3a81c}.journal-teaching .skill-controls{display:none}.journal-teaching .skill-detail-emblem{height:40px;font-size:36px;margin-bottom:10px}.journal-teaching .skill-signature{display:none}
@media(max-width:700px){.journal-guide{margin:0 10px 10px;padding:11px 12px}.journal-guide p{font-size:13px;line-height:1.65}.journal-guide-actions{gap:6px}.journal-guide-actions button{padding-inline:9px}.journal-teaching .skill-footer{display:none}}
.skill-entry{position:fixed;right:24px;top:46%;z-index:35;display:flex;align-items:center;gap:10px;width:154px;padding:12px 12px 12px 8px;border:1px solid #d9be7e;border-radius:18px 5px 18px 5px;background:linear-gradient(135deg,#263d45f5,#142735f5);color:#fff0c8;box-shadow:0 8px 28px #14242b55,inset 0 0 0 3px #e4ca8b12;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s}
.skill-entry:hover{transform:translateY(-3px);box-shadow:0 10px 32px #d1b76b66}.skill-entry>img{width:54px;height:58px;filter:drop-shadow(0 0 8px #f7d38e55)}.skill-entry strong{display:block;font-size:16px;letter-spacing:2px;font-weight:500}.skill-entry small{display:block;font-size:10px;margin-top:6px;color:#c4c8b4;white-space:nowrap}.skill-entry-badge{position:absolute;right:-5px;top:-7px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f4d592;color:#263b40;font-size:12px;box-shadow:0 0 16px #f4d59299}.skill-entry-badge:empty{display:none}.skill-entry.has-ready>img{animation:entry-glow 3s ease-in-out infinite}.shell-open .skill-entry,.avg-open .skill-entry{display:none}
@keyframes entry-glow{50%{filter:drop-shadow(0 0 14px #ffe0a8cc);transform:translateY(-2px)}}
.skill-dialog{border:0;padding:0;max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;margin:0;color:#f6ebd7;background:#111e30;overflow:hidden;--branch:#cf7f96}
.skill-dialog::backdrop{background:#101b2bea}
.skill-shell{height:100%;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(90deg,#111e30da,#17213a9c 58%,#152532ed),url('assets/mushroom-constellation.png') center/cover;isolation:isolate}
.skill-head{display:flex;align-items:center;gap:20px;padding:26px 42px 20px;flex-shrink:0}.skill-head small{font-size:11px;letter-spacing:5px;color:#bebda9}.skill-head h2{font-family:'Noto Serif SC','SimSun',serif;font-size:30px;font-weight:400;letter-spacing:9px;margin:7px 0 0;color:#fff0d3}.skill-ink{display:flex;gap:9px;align-items:center;margin-left:auto;border-bottom:1px solid #e3cc954d;padding:6px 12px}.skill-ink img{width:34px;height:34px}.skill-ink strong{font:25px Georgia,serif;color:#ffe3a8}.skill-ink span{font-size:12px;color:#c5c7bc;white-space:nowrap}.skill-close{border:1px solid #e6cf963d;border-radius:50%;background:#17253670;color:#f3e5c8;width:42px;height:42px;font-size:25px;cursor:pointer}
.skill-tabs{display:flex;justify-content:center;gap:26px;padding:0 32px;border-block:1px solid #e7d1a026;background:#15233340;flex-shrink:0;overflow-x:auto;scrollbar-width:thin}.skill-tabs button{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:14px 8px;border:0;border-bottom:2px solid transparent;background:none;color:#b0b9bc;cursor:pointer;font-size:14px;letter-spacing:3px}.skill-tabs i{font:20px Georgia,serif;font-style:normal}.skill-tabs b{font:11px Georgia,serif;color:#a4acac;letter-spacing:0}.skill-tabs button[aria-current=page]{border-color:var(--branch);color:#ffe4b1;background:linear-gradient(0deg,#e3c78816,transparent)}
.skill-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;flex:1;min-height:0;padding:0 42px;gap:34px}.skill-landscape{display:flex;flex-direction:column;min-height:0;min-width:0;position:relative}.skill-page-heading{padding-top:24px;pointer-events:none;position:absolute;left:0;top:0;z-index:1}.skill-page-heading small{font:10px Georgia,serif;letter-spacing:3px;color:#c5bb9a}.skill-page-heading h3{font-family:'Noto Serif SC','SimSun',serif;font-size:38px;font-weight:400;letter-spacing:12px;margin:8px 0;color:#f3deb8}.skill-page-heading p{font-size:12px;letter-spacing:2px;color:#b8bcbb;margin:0}
.skill-map-scroll{overflow:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#c7b28255 transparent}.skill-map{height:100%;min-height:450px;position:relative;max-width:900px;margin:auto}.skill-orbit{position:absolute;left:50%;top:48%;width:390px;height:390px;border:1px solid #e7d09c18;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 38px #d9bd8405,0 0 0 39px #e7d09c10}.skill-orbit:after{content:'✧';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:180px;color:#dec38e0b}.skill-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.skill-paths line{stroke:#e1d1a936;stroke-width:1;vector-effect:non-scaling-stroke}.skill-paths line.is-traced{stroke:#edcb85b3;filter:drop-shadow(0 0 3px #e1c386)}
.skill-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:116px;padding:0;border:0;background:none;color:#b8bdc7;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:1}.skill-node i{width:48px;height:48px;display:grid;place-items:center;border:1px solid #9daac780;border-radius:50%;background:#162336e8;font:30px Georgia,serif;color:#a6b1c8;box-shadow:inset 0 0 0 5px #bcc4d509;transition:box-shadow .2s,transform .2s}.skill-node span{font-size:13px;letter-spacing:1px;text-shadow:0 2px 5px #071323,0 0 8px #071323;white-space:nowrap}.skill-node b{font-size:10px;font-weight:400;color:#b5b5a6;letter-spacing:1px}.skill-node.is-locked i{border-style:dashed;color:#7b899d}.skill-node.is-ready{color:#fff0cd}.skill-node.is-ready i{border-color:var(--branch);color:#ffe1a2;box-shadow:0 0 22px #e6bf6345,inset 0 0 16px #e6bf6322}.skill-node.is-lit{color:#ffe4af}.skill-node.is-lit i{background:radial-gradient(#d3b776,#765d38);color:#fff5cc;border-color:#f5d894;box-shadow:0 0 25px #f4d28866}.skill-node.is-selected i{outline:1px solid #f5d894;outline-offset:6px;box-shadow:0 0 28px #f6d48c7d}.skill-node:hover i{transform:scale(1.1)}.skill-fork-note{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:2px;color:#c6c3b3;white-space:nowrap;background:#1a293caa;padding:5px 8px;border-radius:20px}.skill-page-navigation{display:flex;align-items:center;justify-content:center;gap:36px;padding:12px 0 15px;flex-shrink:0}.skill-page-navigation button{width:38px;height:32px;border:1px solid #e8d3a136;background:#17283b77;color:#e7d3ad;font:26px Georgia,serif;cursor:pointer}.skill-page-navigation span{font-size:11px;letter-spacing:3px;color:#c5c4b7}
.skill-detail{align-self:center;max-height:100%;overflow:auto;padding:26px 24px 20px;border:1px solid #ddc69140;border-radius:90px 90px 5px 5px;background:linear-gradient(150deg,#eef0d91a,#142a36e0 40%);box-shadow:0 15px 40px #0714204d;scrollbar-width:thin}.skill-detail-emblem{height:100px;display:grid;place-items:center;font:62px Georgia,serif;color:var(--branch);text-shadow:0 0 30px var(--branch);margin-bottom:18px}.skill-detail>small{font-size:11px;letter-spacing:3px;color:#c0b69a}.skill-detail h3{font:400 26px 'Noto Serif SC','SimSun',serif;letter-spacing:4px;color:#ffebc4;margin:12px 0 18px}.skill-description{font-size:14px;line-height:1.9;color:#d1d8d5;min-height:64px;margin:0 0 14px}.skill-exclusive{font-size:11px;color:#ddba98;line-height:1.8}.skill-detail dl{display:flex;gap:40px;padding:15px 0;border-block:1px solid #e1cc9726;margin:0}.skill-detail dt{font-size:11px;letter-spacing:2px;color:#acb8b7}.skill-detail dd{margin:7px 0 0;font:20px Georgia,serif;color:#eed7a5}.skill-reason{font-size:12px;line-height:1.8;color:#c1c7c3;margin:16px 0;min-height:22px}.skill-light{width:100%;min-height:46px;border:1px solid #e8ce97;border-radius:3px;background:linear-gradient(110deg,#f5deb0,#c8ad75);color:#263a3c;font-size:13px;letter-spacing:1px;cursor:pointer}.skill-light:disabled{border-color:#d6c9a136;background:#d0d5be0d;color:#a3afaf;cursor:default}.skill-signature{display:flex;gap:8px;align-items:center;justify-content:center;color:#a7b3ab;padding-top:20px}.skill-signature span{font-size:10px;letter-spacing:1px}.skill-footer{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin:0 42px;padding:12px 0 16px;border-top:1px solid #e0ca9629;flex-shrink:0;font-size:11px;letter-spacing:1px;color:#b8c0ba}.skill-controls{margin-left:auto;color:#9eaeae}.skill-controls i{padding:0 10px;font-style:normal}.skill-footer #skill-note{width:100%;margin:0;color:#ffe0a4}.skill-footer #skill-note:empty{display:none}
.skill-dialog button:focus-visible,.skill-entry:focus-visible{outline:2px solid #ffe4a7;outline-offset:5px}.just-lit i{animation:skill-bloom .7s ease-out}@keyframes skill-bloom{50%{box-shadow:0 0 0 20px #f7d39000,0 0 60px #ffe0a8;transform:scale(1.2)}}
.tile.growth-safe{box-shadow:inset 0 0 0 2px #e0b36d,0 0 12px #e0b36d55}.growth-badge{position:absolute;right:5px;top:5px;font-size:12px;color:#8a5a2a;background:#ffe6b0;border-radius:50%;width:17px;height:17px;display:grid;place-items:center}.skill-gain{position:fixed;left:50%;bottom:104px;z-index:80;transform:translateX(-50%);padding:9px 18px;border:1px solid #e0b36d;border-radius:999px;background:#141b2ef2;color:#ffe6b0;font-size:14px;box-shadow:0 10px 30px #0007}
@media(min-width:1600px){.skill-entry{right:30px}.skill-body{padding-inline:6vw;gap:5vw;grid-template-columns:minmax(0,1fr) 340px}.skill-head{padding-inline:6vw}.skill-footer{margin-inline:6vw}}
@media(max-width:1100px){.skill-entry{right:12px;top:auto;bottom:102px;width:74px;flex-direction:column;padding:7px;gap:2px}.skill-entry>img{width:45px;height:46px}.skill-entry strong{font-size:11px;letter-spacing:1px}.skill-entry small{display:none}.skill-tabs{gap:12px}.skill-body{padding-inline:22px;gap:15px;grid-template-columns:minmax(0,1fr) 270px}.skill-head{padding:18px 22px}.skill-footer{margin-inline:22px}.skill-page-heading h3{font-size:29px}.skill-memory{font-size:11px}}
@media(max-width:700px){.skill-head{padding:16px;gap:12px}.skill-head small{font-size:9px;letter-spacing:2px}.skill-head h2{font-size:23px;letter-spacing:5px}.skill-ink{gap:5px;padding-inline:3px}.skill-ink img{width:28px;height:28px}.skill-ink strong{font-size:21px}.skill-close{width:34px;height:34px}.skill-tabs{justify-content:flex-start;gap:8px;padding-inline:12px}.skill-tabs button{font-size:12px;gap:6px;letter-spacing:2px;padding:11px 7px}.skill-body{display:flex;flex-direction:column;gap:0;padding:0;overflow:auto}.skill-landscape{min-height:550px;flex:0 0 550px;padding:0 10px}.skill-page-heading{left:20px;padding-top:20px}.skill-page-heading h3{font-size:28px;margin-block:6px}.skill-page-heading p{font-size:10px;letter-spacing:1px}.skill-map{min-height:460px}.skill-map-scroll{overflow-x:hidden}.skill-orbit{width:270px;height:270px}.skill-node{width:96px}.skill-node i{width:41px;height:41px;font-size:25px}.skill-node span{font-size:12px}.skill-detail{align-self:stretch;max-height:none;overflow:visible;margin:0 16px 20px;padding:20px;border-radius:4px;background:#163039e8;position:relative}.skill-detail-emblem{position:absolute;right:22px;top:20px;height:55px;font-size:40px;margin:0}.skill-detail h3{font-size:23px;margin:10px 0 15px;max-width:75%}.skill-description{min-height:0;font-size:13px;margin-bottom:14px}.skill-detail dl{gap:40px;padding:10px 0}.skill-detail dl div{display:flex;gap:10px;align-items:center}.skill-detail dd{margin:0;font-size:17px}.skill-reason{margin:12px 0}.skill-signature{display:none}.skill-footer{margin:0 16px;padding:10px 0;font-size:10px;gap:5px}.skill-controls{display:none}.skill-entry{bottom:112px;right:10px}}
@media(prefers-reduced-motion:reduce){.skill-entry.has-ready>img,.just-lit i{animation:none}.skill-node i,.skill-entry{transition:none}}
/* Preserve map coordinates against the global button hover transform. */
.skill-node:hover,.skill-node:active{transform:translate(-50%,-50%)}
.skill-entry{top:auto;bottom:28px;width:164px}.skill-entry>img{flex-shrink:0}.skill-entry strong{white-space:nowrap}.training-open .skill-entry{display:none}
@media(max-width:1100px){.skill-entry{width:74px;bottom:102px}}
@media(max-width:700px){.skill-entry{bottom:112px}}
.skill-dialog .skill-node,.skill-dialog .skill-node:hover,.skill-dialog .skill-node:active:not(:disabled){transform:translate(-50%,-50%);transition:none}
.skill-entry:disabled{opacity:.65}
@media(min-width:701px) and (max-height:740px){.skill-head{padding-block:13px}.skill-head h2{font-size:25px}.skill-tabs button{padding-block:10px}.skill-map{min-height:340px}.skill-detail{padding:18px 20px;border-radius:55px 55px 4px 4px}.skill-detail-emblem{height:42px;font-size:38px;margin-bottom:14px}.skill-detail h3{font-size:23px;margin-block:10px}.skill-description{min-height:44px;font-size:13px;line-height:1.7;margin-bottom:10px}.skill-detail dl{padding-block:10px}.skill-reason{margin-block:12px}.skill-signature{display:none}.skill-page-heading p{max-width:180px;line-height:1.8}.skill-page-heading h3{font-size:28px}.skill-page-navigation{padding-block:8px}}
