/* Shared page frame: keep the three destinations in exactly the same place. */
:root{--shell-width:1370px;--shell-gutter:36px;--shell-header:88px;--paper:#f5f1e6;--page:#eeeee5;--bg:#eeeee5;--ink:#2e483a;--muted:#647365;--green:#47634a;--gold:#d6a94f;--gold-pale:#f5ecd6;--line:#d6d8ca;--blue:#32647c;--soft:#e8eddf}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--shell-header) + 20px)}
body{background:var(--page);color:var(--ink);font-size:14px}
.assembly-header{position:sticky;top:0;z-index:40;background:var(--page);border-bottom:1px solid var(--line);height:var(--shell-header)}
.assembly-header-inner{height:100%;width:100%;max-width:var(--shell-width);margin:auto;padding:0 var(--shell-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}
.assembly-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;flex-shrink:0}
.assembly-brand>img{width:38px;height:38px;object-fit:contain}
.assembly-brand>span{font-size:21px;line-height:1.4;font-weight:700;letter-spacing:-.025em}
.assembly-brand small{display:block;color:var(--muted);font-size:9px;line-height:1.6;font-weight:500;letter-spacing:.12em}
.assembly-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:360px;gap:6px;flex-shrink:0}
.assembly-nav a{display:flex;justify-content:center;align-items:center;height:44px;padding:8px 10px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;color:var(--muted);white-space:nowrap}
.assembly-nav a[aria-current=page]{color:#fff;background:var(--green);border-color:var(--green)}
.assembly-nav a:hover{border-color:#a5b39a}
.assembly-nav a:focus-visible,.assembly-brand:focus-visible{outline:3px solid #ad7429;outline-offset:3px}
body>main:not(.game-layout),.assembly-intro,.game-layout{width:100%;max-width:var(--shell-width);margin-left:auto;margin-right:auto;padding-left:var(--shell-gutter);padding-right:var(--shell-gutter)}
.assembly-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px;padding-bottom:28px;min-height:166px}
.assembly-intro .eyebrow{font-size:11px;letter-spacing:.12em;margin:0 0 8px}
.assembly-intro h1{font-size:36px;line-height:1.35;letter-spacing:-.035em;font-weight:700;margin:0 0 12px}
.assembly-intro>div>p:last-child{font-size:14px;color:var(--muted);line-height:1.65}
.assembly-trip{text-align:right;display:grid;gap:4px;flex-shrink:0;font-size:13px;color:var(--muted)}
.assembly-trip strong{color:var(--ink);font-weight:600}
.assembly-trip small{font-size:11px}
.assembly-trip a{font-size:11px;color:var(--muted);text-decoration:none}
.assembly-trip a:hover{text-decoration:underline}
.packing-page .intro{padding-top:30px;padding-bottom:28px;min-height:166px}
.packing-page .intro h1{font-size:36px;margin:8px 0 12px}
.packing-page .bag-core{top:calc(var(--shell-header) + 12px)}
:where(main) :is(section,article,details,[id]){scroll-margin-top:calc(var(--shell-header) + 18px)}
@media(max-width:1050px){:root{--shell-gutter:22px}.assembly-header-inner{gap:14px}.assembly-nav{width:330px}}
@media(max-width:850px){.packing-page .bag-core{top:auto}}
@media(max-width:850px){.packing-page .bag-kicker{display:none}}
@media(max-width:700px){:root{--shell-gutter:16px;--shell-header:126px}.assembly-header-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;padding-top:10px;padding-bottom:10px}.assembly-brand{gap:9px;min-height:40px}.assembly-brand>img{width:31px;height:31px}.assembly-brand>span{font-size:19px}.assembly-brand small{font-size:8px}.assembly-nav{width:100%;gap:5px}.assembly-nav a{height:43px;font-size:12px;padding:8px 5px}.assembly-intro{display:block;padding-top:24px;padding-bottom:24px;min-height:0}.assembly-intro h1,.packing-page .intro h1{font-size:28px;line-height:1.35}.assembly-intro .eyebrow{font-size:10px}.assembly-intro>div>p:last-child,.packing-page .intro>div>p:last-child{font-size:13px}.assembly-trip{display:flex;flex-wrap:wrap;gap:5px 12px;text-align:left;margin-top:15px;font-size:11px}.assembly-trip small{font-size:10px}.packing-page .intro{padding-top:24px;padding-bottom:24px;min-height:0}.packing-page .legend{font-size:11px}.packing-page .loadout-heading{padding:18px 16px 14px}.packing-page .filters{padding-left:12px;padding-right:12px}.packing-page .packing-board{padding-left:12px;padding-right:12px}.packing-page .loadout>.container-filter{padding-left:15px;padding-right:15px;gap:5px}.packing-page .loadout>.container-filter button{font-size:11px;min-height:42px;padding:8px 9px}.packing-page .filters nav button{min-height:42px}.packing-page .field-notes{padding-left:0}.packing-page .weight-readout input,.packing-page dialog input,.packing-page dialog select{font-size:16px}.packing-page .bag-core{top:auto}.packing-page .board-footer{overflow-wrap:anywhere}.packing-page .shared-row{grid-template-columns:26px minmax(0,1fr) 104px}.packing-page .shared-row select{width:100%}.packing-page .shared-contents{font-size:11px}}
@media(max-width:400px){.packing-page .bag-core{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:5px 8px}.packing-page .duo-total strong{font-size:12px;white-space:normal}.packing-page .small-bag-scene>span{font-size:9px}.packing-page .loadout-heading h2{font-size:20px}.packing-page .trip-label{font-size:11px}.packing-page .gear-tile .pack-item{padding-left:6px;padding-right:6px}.packing-page .loadout>.container-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.packing-page .loadout>.container-filter button{width:100%}.packing-page .legend>button{margin-left:0}}
@media print{.assembly-header{position:static;height:auto}.assembly-header-inner{padding-top:12px;padding-bottom:12px}.assembly-nav{display:none}.packing-page .bag-core{position:static}}
.loadout-brief{max-width:1280px;margin:20px auto;padding:24px;border:1px solid #d4d9c8;border-radius:20px;background:#f8f5ec;color:#294838;line-height:1.65}.loadout-brief h2{font-size:22px;margin:0 0 12px}.loadout-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.loadout-grid h3{font-size:16px;margin:10px 0}.loadout-grid p{margin:8px 0}.loadout-actions{display:flex;flex-wrap:wrap;gap:8px}.loadout-actions button{padding:10px 14px;border:1px solid #abb9a1;border-radius:10px;background:#ecf0df;color:inherit;font:inherit;cursor:pointer}.weight-plans{border-top:1px dashed #bbc5b0;margin-top:18px;padding-top:12px}.loadout-brief details{margin-top:16px}.loadout-brief summary{cursor:pointer}.loadout-brief a{color:inherit;text-decoration:underline}@media(max-width:650px){.loadout-brief{margin:12px;padding:16px}.loadout-grid{grid-template-columns:1fr;gap:8px}.loadout-brief h2{font-size:20px}}
