:root{color:#f2f6f1;background:#071017;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;margin:0;background:#071017}a{color:inherit}button,input{font:inherit}.site-shell{min-height:100vh;background:#071017;overflow:hidden}.topbar,main,footer{width:min(1200px,calc(100% - 3rem));margin:0 auto}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #35505a}.brand{display:inline-flex;align-items:center;gap:.75rem;color:#f5f1de;font-size:1.02rem;font-weight:850;text-decoration:none}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid #d8b868;background:#d8b868;color:#132028;font-size:.66rem;letter-spacing:.06em}nav{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.86rem;font-weight:700}nav a,footer a{color:#bfd0cc;text-decoration:none}nav a:hover,footer a:hover,.channel-links a:hover{color:#e6c978}.hero{position:relative;min-height:530px;margin:0 calc(50% - 50vw);padding:0 max(1.5rem,calc((100vw - 1200px)/2));display:flex;align-items:center;background-color:#071017;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:inset 520px 0 260px #071017,inset 0 -140px 110px #071017}.hero-content{position:relative;width:min(680px,100%);padding:4.8rem 0 4rem}.eyebrow{margin:0 0 .8rem;color:#69c4aa;font-size:.73rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:10ch;margin-bottom:1.1rem;color:#f7f1d9;font-family:Georgia,Times New Roman,serif;font-size:6rem;font-weight:700;letter-spacing:0;line-height:.9}h2{margin-bottom:.75rem;font-size:2.25rem;letter-spacing:0;line-height:1.05}.hero-copy{max-width:560px;color:#d3dedb;font-size:1.13rem;line-height:1.65}.freshness{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;color:#c2cfcb;font-size:.84rem}.freshness span{border-left:2px solid #d8b868;padding-left:.65rem}.freshness b{display:block;color:#f5efdc;font-size:.74rem;text-transform:uppercase}.planner-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.95fr);gap:3.5rem;padding:3.25rem;border:1px solid #d9d7c8;background:#e8e6d9;color:#132028}.planner-band .eyebrow{color:#206d5d}.planner-band h2{max-width:15ch}.section-copy{max-width:400px;margin-bottom:0;color:#52615f;line-height:1.6}.profile-form{align-self:center}label{display:block;margin-bottom:.55rem;font-size:.86rem;font-weight:800}.input-row{display:flex;gap:.65rem}input{min-width:0;flex:1;border:1px solid #8d9e98;border-radius:4px;padding:.85rem .9rem;background:#fffef7;color:#15242a}button{flex:0 0 auto;border:1px solid #165b50;border-radius:4px;padding:.85rem 1rem;background:#165b50;color:#f8f7ed;font-weight:850;cursor:pointer}button:hover{background:#124b42}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #e6c978;outline-offset:3px}button:disabled{cursor:wait;opacity:.68}.form-message{margin:.8rem 0 0;font-size:.9rem}.error{color:#9d2920}.character-result{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:3rem 0;border-bottom:1px solid #35505a}.character-title h2{margin-bottom:.35rem;color:#f6efd9}.character-name-row{display:flex;align-items:center;gap:.65rem}.character-name-row h2{margin-bottom:.35rem}.icon-button{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;border-color:#4d756f;padding:0;background:#102a2d;color:#b8e5d5}.icon-button:hover{background:#17413f}.character-title p{margin-bottom:0;color:#bfd0cc}dl{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:0;align-content:start}dt{color:#69c4aa;font-size:.78rem;font-weight:750;text-transform:uppercase}dd{margin:.3rem 0 0;color:#f6f0dc;font-size:1.16rem;font-weight:850}.notice{grid-column:1 / -1;margin:0;border-left:3px solid #d8b868;padding:1rem 1.15rem;background:#0c1b22;color:#d6e0dc;line-height:1.58}.equipped-gear{padding:3.25rem 0;border-bottom:1px solid #35505a}.equipped-gear-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}.equipped-gear-heading h2{margin-bottom:0;color:#f6efd9}.equipped-gear-heading>p{max-width:280px;margin:0;color:#9fb3af;font-size:.82rem;line-height:1.5;text-align:right}.gear-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.gear-grid article{min-height:112px;display:flex;flex-direction:column;border:1px solid #2d4952;padding:.85rem;background:#09171e}.gear-grid article>p{margin-bottom:.45rem;color:#67c3a8;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.gear-grid h3{margin:0;color:#e3ebe4;font-size:.85rem;line-height:1.35}.gear-grid strong{margin-top:auto;padding-top:.65rem;color:#e6c978;font-size:1.15rem}.gear-baseline{margin:1rem 0 0;color:#b7c8c4;font-size:.86rem;line-height:1.5}.route-builder{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;padding:4.5rem 0;border-bottom:1px solid #35505a}.route-heading p:last-child{max-width:42rem;margin-bottom:0;color:#c4d0cd;line-height:1.65}.key-control{align-self:start;border:1px solid #36525a;border-top:3px solid #d8b868;padding:1.4rem;background:#0c1b22}.key-control label{display:flex;justify-content:space-between}.key-control label strong{color:#e6c978;font-size:1.15rem}.key-control input{width:100%;margin:1.15rem 0 .75rem;padding:0;accent-color:#d8b868}.key-control p{margin-bottom:.55rem;color:#c6d4d0}.key-control small{color:#8faaa5;line-height:1.45}.dungeon-checklist{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.dungeon-row{display:flex;align-items:center;gap:.75rem;margin:0;border:1px solid #29434c;padding:.95rem;background:#09171e;cursor:pointer}.dungeon-row:hover{border-color:#5ba88f}.dungeon-row.is-complete{border-color:#438e78;background:#0a211e}.dungeon-row input{width:1.05rem;height:1.05rem;flex:0 0 auto;margin:0;padding:0;accent-color:#69c4aa}.dungeon-row span{display:grid;gap:.14rem}.dungeon-row small{color:#aebfbb}.route-status{grid-column:1 / -1;margin:0;color:#8bd5bb;font-size:.9rem}.recommendations{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.recommendations-heading{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1.2rem;border-bottom:1px solid #35505a;padding-bottom:.8rem}.recommendations-heading .eyebrow{margin-bottom:0}.recommendations-heading>p:last-child{margin:0;color:#8faaa5;font-size:.83rem}.recommendations-heading>div>p:last-child{margin:.25rem 0 0;color:#8faaa5;font-size:.83rem}.mode-control{display:inline-flex;border:1px solid #41636a;background:#0a171d}.mode-control button{border:0;border-radius:0;padding:.64rem .8rem;background:transparent;color:#aebfbb;font-size:.76rem}.mode-control button:hover{background:#132b31}.mode-control button.is-selected{background:#d8b868;color:#102127}.route-notice{grid-column:1 / -1;margin:0;border-left:3px solid #d8b868;padding:.8rem 1rem;background:#0d1c22;color:#d5e0db;font-size:.88rem;line-height:1.5}.recommendation-card{border:1px solid #36525a;border-top:3px solid #69c4aa;background:#0b1a21}.recommendation-card.is-expanded{border-top-color:#e6c978}.recommendation-card.is-completed{border-top-color:#8faaa5;opacity:.78}.recommendation-toggle{width:100%;min-height:220px;display:flex;flex-direction:column;align-items:flex-start;border:0;border-radius:0;padding:1.15rem;background:transparent;color:inherit;text-align:left}.recommendation-toggle:hover{background:#10252d}.recommendation-label{color:#e6c978;font-size:.69rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.recommendation-card.is-completed .recommendation-label{color:#b3c1bd}.recommendation-toggle h3{margin:.65rem 0 .4rem;color:#f7f0db;font-size:1.1rem;line-height:1.12}.recommendation-toggle p{margin-bottom:1rem;color:#b9c8c5;font-size:.84rem;line-height:1.45}.recommendation-ilvl{margin-top:auto;color:#f7f0db;font-size:1.85rem;font-weight:850;line-height:1}.recommendation-ilvl small{color:#9ab2ad;font-size:.68rem;font-weight:750;text-transform:uppercase}.expand-cue{margin-top:.8rem;color:#6bc7aa;font-size:.76rem;font-weight:800}.recommendation-detail{border-top:1px solid #35505a;padding:1.15rem;background:#0e222a}.recommendation-detail dl{grid-template-columns:repeat(3,1fr);gap:.5rem}.recommendation-detail dt{font-size:.65rem}.recommendation-detail dd{font-size:1rem}.recommendation-detail p{margin:1rem 0 .8rem;color:#e0e7e1;font-size:.87rem;line-height:1.5}.recommendation-detail>small{color:#99afab;font-size:.74rem;line-height:1.45}.source-link{display:inline-block;margin-top:.8rem;color:#82d4b7;font-size:.78rem;font-weight:750}.exclusions{grid-column:1 / -1;border-top:1px solid #35505a;padding-top:1rem;color:#b7c8c4}.exclusions summary{color:#d9e6df;cursor:pointer;font-size:.85rem;font-weight:800}.exclusions p{margin:.7rem 0 0;color:#a9bfba;font-size:.82rem;line-height:1.5}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:5rem 0}.principles article{border-top:1px solid #577078;padding-top:1rem}.number{margin-bottom:.75rem;color:#e6c978;font-size:.82rem;font-weight:850}.principles h2{margin-bottom:.65rem;color:#f6efd9;font-size:1.4rem}.principles article p:last-child{margin-bottom:0;color:#bdceca;line-height:1.6}.channel-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #35505a;padding:3.4rem 0}.channel-band h2{max-width:18ch;margin-bottom:0;color:#f7f0db;font-family:Georgia,Times New Roman,serif}.channel-links{display:grid;gap:.8rem}.channel-links a{color:#84d2b6;font-weight:800}footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #35505a;padding:2rem 0 2.5rem;color:#aebfbb;font-size:.84rem}.profile-shelf,.evidence-panel{border-top:1px solid #2d5a5c;margin-top:1.25rem;padding-top:1rem}.profile-chip{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #29494f;margin-top:.5rem;padding:.55rem .7rem}.profile-chip>button:first-child{background:transparent;border:0;color:inherit;text-align:left;flex:1;cursor:pointer}.profile-chip span,.profile-chip small{display:block;color:#9eb5b4;font-size:.78rem}.evidence-panel{display:flex;gap:.7rem;color:#d7e6e4}.evidence-panel p{margin:.25rem 0;color:#a9bfbd}.evidence-panel a{display:inline-block;margin-right:.75rem;color:#6bd7c7;font-size:.85rem}.route-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0;align-items:center}.route-actions button{display:inline-flex;align-items:center;gap:.45rem}.route-actions a{color:#6bd7c7;overflow-wrap:anywhere}.gear-card-heading{display:flex;gap:.45rem;align-items:center}.gear-slot-icon{color:#d9b765;display:inline-flex}.help-page{max-width:800px;margin:0 auto;padding:5rem 1.5rem}.help-page section{border-top:1px solid #29494f;padding:1.25rem 0}.back-link{color:#6bd7c7}@media print{.topbar,.hero,.planner-band,.equipped-gear,.dungeon-checklist,.key-control,.profile-shelf,.route-actions,.principles,.channel-band,footer,.exclusions{display:none!important}.site-shell,.route-builder,.recommendations{background:#fff!important;color:#111!important}.recommendation-card{break-inside:avoid;border-color:#555!important}}@media(max-width:900px){.planner-band,.character-result,.route-builder{grid-template-columns:1fr}.recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.topbar{min-height:0;flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0}.hero{min-height:500px;align-items:flex-end;box-shadow:inset 0 -300px 230px #071017;background-position:62% center}.hero-content{padding:3.5rem 0 3.4rem}h1{font-size:4rem}h2{font-size:1.8rem}.planner-band{gap:2rem;padding:2rem 1.25rem}.input-row,.channel-band,footer{flex-direction:column;align-items:stretch}.character-result,.route-builder{padding:3rem 0}.dungeon-checklist,.recommendations,.principles{grid-template-columns:1fr}.equipped-gear-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.equipped-gear-heading>p{max-width:none;text-align:left}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-toggle{min-height:0}.recommendations-heading{align-items:flex-start;flex-direction:column;gap:.7rem}.mode-control{width:100%}.mode-control button{flex:1}.principles{gap:1.7rem;padding:3.5rem 0}.channel-band{padding:2.8rem 0}}
