/* The Hobbit play companion. The hub supplies the shared Atlas masthead. */
:root{--forest:#132e27;--forest-deep:#0d201b;--brass:#c5a76a;--parchment:#f4f0e5;--ink:#25372e;--muted:#647066;--line:#d8d3c3;--atlas-header-height:0px;--local-nav-height:62px;--draft-toolbar-height:62px;font-family:'DM Sans',sans-serif;color-scheme:light}
body{font-family:'DM Sans',sans-serif;background:var(--parchment);color:var(--ink)}h1,h2,h3,.companion-heading h1{font-family:'Spectral',Georgia,serif;letter-spacing:-.025em}button,input,select{font-family:'DM Sans',sans-serif}button,a,input,select,summary{touch-action:manipulation}h1{max-width:none}h2,h3{color:var(--forest)}p{line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a97026;outline-offset:4px}html{scroll-padding-top:calc(var(--atlas-header-height) + var(--local-nav-height) + 18px)}.skip-link{position:fixed;left:12px;top:-100px;padding:12px;background:white;z-index:1000;color:#132e27}.skip-link:focus{top:12px}.hero[data-atlas-local]{background:var(--forest-deep);min-height:0}.hero[data-atlas-local] .hero-inner{max-width:1440px;width:calc(100% - 48px)}.hero[data-atlas-local] header{min-height:66px;padding:10px 0;border:0}.hero[data-atlas-local] .brand{font-size:.7rem}.page{width:calc(100% - 80px);max-width:1440px;margin:0 auto;padding:0;position:static}.jumpbar{position:sticky;top:var(--atlas-header-height);z-index:35;display:flex;align-items:stretch;justify-content:center;gap:5px;min-height:var(--local-nav-height);padding:8px 24px;background:#fcfaf4f5;border-bottom:1px solid #d3ccbb;backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:none}.jumpbar a,.jumpbar button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap;flex-shrink:0;padding:9px 15px;border:0;border-radius:6px;text-decoration:none;font-size:.875rem;font-weight:650;color:#516154;background:none}.jumpbar a:hover,.jumpbar button:hover{background:#e9e6db}.jumpbar a[aria-current]{background:var(--forest);color:#f8f2e4}.jumpbar button{margin-left:10px;border-left:1px solid var(--line);border-radius:0}.jumpbar kbd{color:#6b745f}.companion-heading{padding:42px 0 26px;max-width:950px}.companion-heading .eyebrow{font-size:.7rem;letter-spacing:.15em;color:#857042;margin:0 0 9px}.companion-heading h1{font-size:clamp(2.3rem,4vw,3.6rem);font-weight:600;line-height:1.08;margin:0 0 13px}.companion-heading p:not(.eyebrow){font-size:1.05rem;max-width:730px;margin:0;color:#5d6b60}.companion-heading a{display:inline-block;margin-top:12px}.journey-hero{position:relative;min-height:515px;background:linear-gradient(90deg,#0a221aea 0%,#0a221abd 35%,#0a221a15 75%),url('art/hobbit-hero.jpg') 65% 50%/cover;overflow:hidden;border-radius:0 0 18px 18px;display:flex;align-items:center;color:#fcf8eb;margin:0 -40px;padding:54px 54px 66px}.journey-copy{position:relative;max-width:570px}.journey-copy .eyebrow{color:#e5ce91;font-size:.72rem;letter-spacing:.2em}.journey-copy h1{font-size:clamp(2.8rem,4.8vw,4.8rem);font-weight:500;line-height:1.04;letter-spacing:-.05em;color:white;margin:20px 0}.journey-copy p:not(.eyebrow){color:#edeedc;font-size:1.06rem;max-width:440px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:27px}.hero-actions a{font-size:.92rem;font-weight:600}.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:var(--forest);color:#fff8e8;border-radius:5px;text-decoration:none;font-weight:650;font-size:.9rem;border:1px solid var(--forest)}.journey-hero .primary-action{background:#d0b479;color:#1d3224;border-color:#d0b479}.art-caption{position:absolute;right:16px;bottom:10px;font-size:.62rem;color:#e8e7d4;text-shadow:0 1px 4px #000}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.route-card{padding:25px;border:1px solid var(--line);background:#fffdf7;text-decoration:none;border-radius:9px;transition:transform .15s,border-color .15s;display:flex;flex-direction:column}.route-card:hover{transform:translateY(-3px);border-color:#9e8a58}.route-card>span,.job-grid article>span,.watch-card span{font-size:.65rem;font-weight:750;letter-spacing:.1em;color:#8d7140}.route-card h2{font-size:1.8rem;margin:13px 0 0;font-weight:600}.route-card p{font-size:.91rem;color:#687064;margin:10px 0 20px}.route-card b{font-size:.83rem;margin-top:auto;color:var(--forest)}.reading-panel{padding:30px 32px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;margin:0 0 24px;scroll-margin-top:calc(var(--atlas-header-height) + var(--local-nav-height) + 80px)}.reading-panel>h2{font-size:1.9rem;font-weight:600;line-height:1.25;margin:0 0 15px}.reading-panel p{max-width:1000px;font-size:.97rem;color:#57665b;margin:10px 0 18px}.reading-panel h3{font-size:1.3rem;font-weight:650;margin:23px 0 6px}.reading-panel li{line-height:1.7;margin:8px 0}.step-list{padding-left:23px;margin:15px 0 24px;max-width:1040px}.step-list li{padding-left:9px;color:#57665b}.step-list strong{color:var(--forest)}.step-list li::marker{color:#9a7b42;font-family:'Spectral',serif;font-weight:700}.text-link{color:#264c3d;font-size:.9rem;font-weight:650}.format-strip{border-top:1px solid var(--line);padding:15px 0 24px;color:#6c7369;font-size:.8rem;line-height:1.6}.format-strip strong{color:#344e3e}.section-jumps{position:sticky;top:calc(var(--atlas-header-height) + var(--local-nav-height));z-index:25;display:flex;gap:7px;padding:11px 0;margin:0 0 24px;background:#f4f0e5f5;overflow-x:auto;scrollbar-width:none}.section-jumps button{border:1px solid #d5cbb6;background:#fffaf0;color:#435945;border-radius:5px;padding:10px 13px;font-weight:600;font-size:.78rem;min-height:42px;white-space:nowrap}.section-jumps button:hover{background:#e8e0cc}.split-reading{display:grid;grid-template-columns:1fr 1fr;gap:30px}.split-reading article{border-top:1px solid var(--line)}.split-reading article h3{margin-top:17px}.deck-numbers{display:flex;gap:25px;margin:22px 0 24px}.deck-numbers>div{flex:1;border-left:2px solid #bba16a;padding:4px 20px;display:flex;align-items:center;gap:17px}.deck-numbers strong{font:600 2.6rem/1 'Spectral',serif;color:#214333}.deck-numbers span{max-width:190px;font-size:.82rem;line-height:1.5;color:#687365}.callout{padding:16px 19px;background:#efe8d4;border-left:3px solid #b29250;font-size:.9rem;line-height:1.6;margin:20px 0;color:#5b543e}.job-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.job-grid article{background:#f4f1e7;padding:20px;border-radius:6px}.job-grid h3{margin:10px 0;font-size:1.3rem}.job-grid p{font-size:.88rem;margin:0}.companion-sources{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 22px}.companion-sources a{font-size:.75rem;color:#5a6a56}.mechanic-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mechanic-grid .reading-panel{margin:0}.mechanic-grid{margin-bottom:24px}.mechanic-lead{font-weight:700;color:#284b36!important}.mechanic-grid .callout{margin-bottom:0}.wide-input{width:100%;border:1px solid #c3bcaa;border-radius:6px;background:#fff;padding:13px;font-size:1rem;color:#223c2d}.field-label{display:block;font-size:.82rem;font-weight:600;margin:18px 0 7px}.companion-glossary{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;margin:24px 0 0}.companion-glossary>div{padding:17px 0;border-top:1px solid var(--line)}.companion-glossary dt{font-weight:750;color:#254731;margin-bottom:7px}.companion-glossary dd{margin:0;font-size:.9rem;line-height:1.65;color:#5d6b60}.watch-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.watch-card{border:1px solid var(--line);border-radius:10px;background:#fffdf8;overflow:hidden;text-decoration:none}.watch-card>img{display:block;width:100%;height:230px;object-fit:cover}.watch-card>div{padding:26px}.watch-card h2{font-size:1.8rem;font-weight:600;margin:12px 0}.watch-card p{font-size:.92rem;color:#65715f}.watch-card b{font-size:.88rem}.pair-route-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.pair-route-nav a{display:flex;gap:5px;align-items:center;border:1px solid #cec6b3;background:#fffaf0;padding:10px;border-radius:6px;text-decoration:none;min-height:44px}.pair-route-nav a span{font-size:.77rem;font-weight:600;padding-left:4px}.pair-route-nav a[aria-current]{background:#dcd9c5;border-color:#65785d}.plan-library{border:0;margin:0;padding:0;background:none}.plan-library>summary{display:none}.draft-guide{margin-top:0}.guide-heading h2{font-family:'Spectral',serif}.plan-jumps{top:calc(var(--atlas-header-height) + var(--local-nav-height));z-index:24}.lesson-section [id],.component-details h4,.lesson-glossary dt{scroll-margin-top:calc(var(--atlas-header-height) + var(--local-nav-height) + 85px)}.draft-guide .lesson-card img,.draft-guide .fit-card img{object-fit:contain}.guide-heading .eyebrow{color:#826735}.browser-controls{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:12px;margin:22px 0}.browser-controls label{font-size:.76rem;font-weight:650;color:#53654f;display:flex;flex-direction:column;gap:6px}.browser-controls input,.browser-controls select{width:100%;border:1px solid #c6bfae;border-radius:5px;padding:11px;color:#2d4434;background:white;font-size:.9rem;min-height:44px}.browse-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px;margin-top:22px}.browse-card{border:0;background:none;text-align:left;color:#253e2d;padding:0;min-width:0}.browse-card img{width:100%;height:auto;aspect-ratio:488/680;object-fit:contain;border-radius:10px;display:block}.browse-card span{font-size:.87rem;font-weight:650;display:block;line-height:1.4;margin:10px 0 4px}.browse-card small{display:block;font-size:.7rem;color:#6d7768;line-height:1.5;text-transform:capitalize}.browse-card.is-buildaround img{outline:3px solid #af4438;outline-offset:2px}.card-browser{margin-top:30px}.card-browser .section-heading{margin:0}.card-browser .section-heading h2{font-family:'Spectral',serif;font-size:1.9rem}.card-browser .section-heading a{font-size:.8rem;font-weight:650;white-space:nowrap}.card-browser .scope{text-align:left;max-width:none}.pick-reference{margin:0 0 30px;border-radius:10px}.pick-reference h2{font-family:'Spectral',serif}.pick-reference-heading p{max-width:none}.pick-reference .pick-reference-grid{gap:18px}.draft-tools{top:calc(var(--atlas-header-height) + var(--local-nav-height));z-index:26;margin-top:0}.rankings-body{padding-top:0}.rankings-body .companion-heading{padding-top:28px}.rankings-body .combo-summary{margin:0 0 24px}.rankings-body .pick-reference{margin-top:24px}.hotbar{top:calc(var(--atlas-header-height) + var(--local-nav-height) + var(--draft-toolbar-height) + 24px);z-index:23}.hotbar .hotbar-label{font-size:.65rem}body:not([data-view="rankings"]) .quick-navigation{display:none}.methodology{margin-top:30px}.page>footer{padding:24px 0;margin-top:35px;font-size:.68rem;line-height:1.6}#card-dialog,#search-dialog,#help-dialog{font-family:'DM Sans',sans-serif}#dialog-title{font-family:'Spectral',serif}.dialog-layout{gap:25px}.card-dialog-tools .close{min-width:40px;min-height:40px}.dialog-art img{object-fit:contain}#cards-board-mount{display:none!important}
@media(min-width:1650px){body[data-view="rankings"] .page{max-width:1380px}.journey-hero{min-height:570px}}
@media(max-width:1250px){.jumpbar{justify-content:flex-start;padding:8px 20px}.jumpbar a{padding:9px 12px}.page{width:calc(100% - 48px)}.journey-hero{margin:0 -24px;padding:48px 32px;min-height:490px}.job-grid{grid-template-columns:repeat(2,1fr)}.browse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.deck-numbers{gap:8px}.deck-numbers>div{padding-left:13px;gap:10px}.deck-numbers strong{font-size:2.2rem}.hotbar{display:none}.quick-navigation{display:none}}
@media(max-width:850px){.start-grid{gap:12px}.route-card{padding:21px}.route-card h2{font-size:1.5rem}.reading-panel{padding:25px}.deck-numbers{flex-wrap:wrap}.deck-numbers>div{flex-basis:28%;align-items:flex-start;flex-direction:column}.watch-card>img{height:190px}.browser-controls{grid-template-columns:2fr 1fr 1fr}.browser-controls label:first-child{grid-column:1/-1}.browse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pair-route-nav a span{display:none}.pair-route-nav a{padding:9px 12px}.mechanic-grid{gap:15px}.journey-hero{background-position:65% 50%}.journey-copy{max-width:430px}.journey-copy p:not(.eyebrow){max-width:355px}.watch-card>div{padding:22px}.plan-jumps{overflow-x:auto;flex-wrap:nowrap}.plan-jumps button{white-space:nowrap;flex-shrink:0}}
@media(max-width:600px){:root{--local-nav-height:60px}.page{width:calc(100% - 28px)}.hero[data-atlas-local] .hero-inner{width:calc(100% - 28px)}.hero[data-atlas-local] header{min-height:52px;flex-direction:row;align-items:center}.hero[data-atlas-local] .guide-nav{display:none}.jumpbar{padding:8px 10px;gap:2px;min-height:60px}.jumpbar a,.jumpbar button{font-size:.8rem;padding:9px 12px}.jumpbar button{margin-left:4px}.jumpbar kbd{display:none}.journey-hero{margin:0 -14px;min-height:515px;padding:200px 23px 36px;background-image:linear-gradient(0deg,#0b281af5 3%,#0b281adc 29%,#0b281a05 82%),url('art/hobbit-hero.jpg');background-position:68% 50%;border-radius:0 0 10px 10px;align-items:flex-end}.journey-copy h1{font-size:2.7rem;margin:11px 0}.journey-copy .eyebrow{font-size:.61rem;letter-spacing:.13em}.journey-copy p:not(.eyebrow){font-size:.9rem;line-height:1.6;max-width:300px;margin:14px 0}.hero-actions{gap:20px;margin-top:20px}.hero-actions a{font-size:.82rem}.hero-actions .primary-action{padding:10px 15px}.art-caption{font-size:.5rem;right:12px;bottom:7px;opacity:.8}.start-grid{grid-template-columns:1fr;margin:20px 0;gap:12px}.route-card{padding:22px}.route-card h2{font-size:1.7rem;margin-top:8px}.route-card p{margin:7px 0 15px}.reading-panel{padding:21px 19px;margin-bottom:18px}.reading-panel>h2{font-size:1.65rem}.reading-panel p,.step-list li{font-size:.9rem}.reading-panel h3{font-size:1.25rem}.companion-heading{padding:29px 4px 22px}.companion-heading h1{font-size:2.4rem}.companion-heading p:not(.eyebrow){font-size:.94rem}.companion-heading .eyebrow{font-size:.63rem}.split-reading,.mechanic-grid,.companion-glossary,.watch-grid{grid-template-columns:1fr}.split-reading{gap:6px}.job-grid{grid-template-columns:1fr 1fr;gap:10px}.job-grid article{padding:16px 13px}.job-grid article>span{font-size:.55rem}.job-grid h3{font-size:1.13rem}.job-grid p{font-size:.82rem}.deck-numbers{gap:5px}.deck-numbers>div{padding:4px 8px;gap:8px;min-width:0}.deck-numbers strong{font-size:2rem}.deck-numbers span{font-size:.7rem}.section-jumps{padding:8px 0;margin-bottom:16px}.section-jumps button{font-size:.74rem;min-height:44px}.companion-sources{gap:14px}.companion-sources a{font-size:.7rem}.watch-card>img{height:auto;aspect-ratio:16/9}.watch-card>div{padding:23px}.watch-card h2{font-size:1.7rem}.pair-route-nav{gap:6px}.pair-route-nav a{padding:10px 9px;min-height:44px}.pair-route-nav .mana{height:20px;width:20px}.card-browser .section-heading{display:block}.card-browser .section-heading h2{font-size:1.65rem}.card-browser .section-heading a{display:inline-block;margin-top:10px}.browser-controls{grid-template-columns:1fr 1fr;gap:10px}.browser-controls label:first-child{grid-column:1/-1}.browser-controls label:last-child{grid-column:1/-1}.browse-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.browse-card img{border-radius:7px}.browse-card span{font-size:.8rem}.browse-card small{font-size:.65rem}.pick-reference{padding:19px 12px}.pick-reference-heading h2{font-size:1.65rem}.pick-reference-heading p{font-size:.85rem}.pick-reference-heading button{min-height:44px}.draft-tools{padding:8px 6px;gap:5px;border-radius:0;overflow-x:auto;flex-wrap:nowrap;width:auto}.draft-tools button{flex-shrink:0;font-size:.73rem;min-height:44px}.draft-tools select{font-size:.73rem;min-height:44px;max-width:160px;flex-shrink:0}.draft-tools kbd{display:none}.draft-tools .search-launch{min-width:44px}.draft-tools .search-launch span{display:none}.ranking-context{font-size:.78rem}.combo-summary{padding:18px 13px}.combo-summary>summary{font-size:.87rem}.page>footer{display:block}.page>footer span{display:block;margin-bottom:8px}.plan-jumps{gap:5px;padding:7px 0}.plan-jumps button{min-height:44px;font-size:.73rem}.component-checklist{grid-template-columns:1fr}.guide-heading{gap:15px}.plan-pair-picker select{min-height:44px}.need-chips button,.variant-tabs button{min-height:44px}.plan-library .source-links a{line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-card{transition:none}}
@media print{.jumpbar,.draft-tools,.quick-navigation,.hero[data-atlas-local],.section-jumps,.art-caption{display:none!important}.page{width:100%;max-width:none}.reading-panel{break-inside:avoid}.journey-hero{margin:0;background:#183528!important;min-height:0}.companion-heading{padding:10px 0}.page>footer{margin-top:10px}}
/* Keep the old rapid navigation where it belongs, without reserving space on study pages. */
body:not([data-view="rankings"]){padding-bottom:0}
@media(min-width:1001px){body[data-view="rankings"] .page{width:calc(100% - 200px)}body[data-view="rankings"] .quick-navigation{display:block}body[data-view="rankings"] .hotbar{display:block;width:72px;padding:9px 5px}body[data-view="rankings"] .hotbar .hotbar-label{display:none}body[data-view="rankings"] .color-hotbar .hotbar-button{flex-direction:column;justify-content:center}body[data-view="rankings"] .combo-hotbar .hotbar-button{padding:9px 3px;justify-content:center}body[data-view="rankings"] .hotbar kbd{font-size:.6rem}body[data-view="rankings"] .hotbar-title{font-size:.61rem;text-align:center;padding:0 2px}}
@media(max-width:1000px){body[data-view="rankings"] .quick-navigation{display:block}body[data-view="rankings"] .hotbar{display:block}body[data-view="rankings"]{padding-bottom:calc(139px + env(safe-area-inset-bottom,0px))}}
@media(min-width:1100px){#pick-reference-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.draft-tools select{min-width:160px;flex:0 0 auto}.draft-tools .search-launch{flex:0 0 44px}.draft-tools #all-cards-open,.draft-tools>button[data-jump]{flex:0 0 auto}.pick-reference-heading h2{font:600 1.65rem/1.2 'Spectral',serif}.pick-reference-heading p{font-size:.8rem}}
body[data-view="cards"] .companion-heading{padding:24px 0 20px;max-width:none}body[data-view="cards"] .companion-heading h1{font-size:2.25rem;margin-bottom:7px}body[data-view="cards"] .companion-heading p:not(.eyebrow){font-size:.92rem;max-width:none}body[data-view="cards"] .companion-heading .eyebrow{margin-bottom:6px;font-size:.63rem}

/* The legacy rails were vertically centered with a transform. Anchor their actual
   top below both navigation rows and the ranking toolbar; scroll short rails. */
@media(min-width:1001px){body[data-view="rankings"] .hotbar{transform:none;max-height:calc(100dvh - var(--atlas-header-height) - var(--local-nav-height) - var(--draft-toolbar-height) - 40px)}}
