.first-days{margin:0 0 22px;padding:26px;border-top:4px solid #9b7e3d;background:linear-gradient(115deg,#fbf8ed,#f0efe3)}.journey-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.journey-heading h2{margin:8px 0;font-size:31px}.journey-heading p{max-width:68ch;margin:0 0 20px;color:#435348}.journey-seal{border:1px solid #a38d55;outline:1px solid #a38d55;outline-offset:-5px;border-radius:50%;width:75px;height:75px;flex-shrink:0;display:grid;place-content:center;text-align:center;font:30px 'Alegreya',serif;color:#6e5525}.journey-seal small{font:12px 'Source Sans 3',sans-serif}.journey-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.journey-action{padding:17px;background:#fbfaf4;border:1px solid #c9cbb9;display:flex;flex-direction:column;align-items:start;min-width:0}.journey-action.suggested{border-color:#738c74;border-top:3px solid #496b50}.journey-action>div{display:flex;gap:10px;align-items:center}.journey-action h3{font-size:22px;line-height:1.15;margin:0}.journey-action p{font-size:15px;line-height:1.5;margin:12px 0}.journey-action small{font-size:13px;color:#625730}.journey-action .button{margin-top:auto;white-space:normal}.journey-action>small{padding-bottom:13px}.journey-index{color:#6c795b;font-size:13px}.journey-action .journey-wait{background:#eee6d3;color:#665324;padding:8px;font-size:13px}.journey-recovery{font-size:14px;padding:12px 0;border-bottom:1px solid #d2d2bf;color:#5f623d}.journey-milestones,.journey-focus{border-top:1px solid #ceceba;margin-top:16px;padding-top:12px}.journey-milestones ol{display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style:none;padding:4px 0}.journey-milestones li{display:flex;gap:10px;font-size:15px}.journey-milestones li>span{color:#8c784d}.journey-milestones li.earned>span{color:#3e7049}.journey-milestones li small{display:block;color:#5e685b;margin-top:3px}.journey-goals{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:14px}.journey-goals article{padding:14px;background:#f7f6eb;border:1px solid #d2d1bd}.journey-goals p{font-size:14px}.ledger-extra-goals{margin:20px 0;border:1px solid #cccdbb;padding:16px;background:#f8f7ee}.ledger-extra-goals>summary{font-weight:600;cursor:pointer}.ledger-extra-goals .ambition-panel{margin-top:16px}
.combat-scene{position:relative}.combat-float{position:absolute;top:26%;z-index:3;font-size:30px;font-weight:700;line-height:1;text-shadow:0 2px 4px #000;color:#fff4de;pointer-events:none;animation:combat-number .7s ease-out both}.combat-float.hero{left:20%;color:#ffd0bd}.combat-float.enemy{right:20%}.combat-beat{display:flex;flex-wrap:wrap;gap:9px;padding:11px 0;font-size:14px;color:#3b5245}.combat-beat span{border:1px solid #bbc5ad;background:#e7eddf;padding:5px 9px}.combat-beat .received{background:#f1e4d8;border-color:#c6aa94;color:#773f2f}.combat-beat .evaded{background:#e5e9ef;border-color:#aab7c4;color:#3f5870}.defeat-advice{padding:18px;border-left:3px solid #9a7b45;background:#eee8d7;margin:16px 0}.defeat-advice h3{font-size:23px;margin:0 0 8px}.defeat-advice p{font-size:15px}.defeat-advice small{display:block;color:#5c6252;margin-bottom:10px}.journey-earned{border:1px solid #a5ba95;background:#e8efdf;padding:12px 16px;margin:15px 0}.journey-earned strong{display:block;color:#395b36}.tide-chamber{position:relative;border:1px solid #8aa8ac;background:linear-gradient(0deg,#bdd4d64d,#f3f4ed);padding:18px;margin:16px 0;overflow:hidden}.tide-chamber::before{content:"";position:absolute;inset:auto 0 0;height:calc(var(--water,1)*18%);background:linear-gradient(0deg,#376b7b30,#7fabb820);pointer-events:none;transition:height .5s}.tide-chamber>*{position:relative}.tide-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.tide-heading h4{font-size:23px;margin:0}.tide-level{display:flex;gap:5px;margin:12px 0}.tide-level i{display:block;width:48px;height:9px;border:1px solid #78979b;background:#edf3f0}.tide-level i.filled{background:#487e90}.tide-warning{font-weight:600;color:#395c6a}.tide-chamber .button{min-height:46px}.tide-chamber.surge{border-color:#a7794c;background:linear-gradient(0deg,#abc8d466,#f4e9d9)}.tide-chamber p{font-size:15px;line-height:1.5}.tide-chamber small{display:block;margin-top:8px;color:#4b605b}
@keyframes combat-number{from{opacity:0;transform:translateY(8px) scale(.9)}25%{opacity:1}to{opacity:1;transform:translateY(-10px)}}
@media(max-width:900px){.journey-actions{grid-template-columns:1fr}.journey-action .button{margin-top:10px}.journey-heading h2{font-size:27px}.journey-seal{width:62px;height:62px}.first-days{padding:19px}.journey-goals,.journey-milestones ol{grid-template-columns:1fr}.tide-heading{align-items:start}.combat-float{font-size:25px}.journey-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){.combat-float{animation:none}.tide-chamber::before{transition:none}}
/* Keep the sticky title flush with the dialog edge as long forms scroll. */
dialog{padding:0 26px 26px}dialog .modal-head{margin-inline:-26px;padding-inline:26px}
@media(max-width:900px){dialog{padding:0 18px 18px}dialog .modal-head{margin-inline:-18px;padding-inline:18px}}
