:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#111827;background:linear-gradient(#f8fafc 0%,#eef2f7 100%);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.app{max-width:1180px;min-height:100vh;margin:0 auto;padding:36px 20px 56px}.hero{text-align:center;margin-bottom:28px}.eyebrow{color:#2563eb;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.8rem;font-weight:800}h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.1rem,5vw,4.5rem);line-height:.95}.intro{color:#4b5563;max-width:720px;margin:18px auto 0;font-size:1.08rem;line-height:1.6}.bike-controls{flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0;display:flex}.bike-controls button{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:11px 22px;font-weight:800;box-shadow:0 8px 22px #0f172a0f}.bike-controls button.active{color:#fff;background:#111827;border-color:#111827}.bike-stage{background:radial-gradient(circle,#fff 0%,#f8fafc 70%);border:1px solid #e5e7eb;border-radius:32px;justify-content:center;align-items:center;min-height:430px;padding:30px;display:flex;position:relative;box-shadow:0 24px 70px #0f172a1a}.bike-image-wrap{aspect-ratio:1;width:100%;max-width:940px;position:relative}.bike-image{object-fit:contain;background:0 0;width:100%;height:100%;position:absolute;inset:0}.bike-layer-back{z-index:1}.bike-layer-behind-front{z-index:2;pointer-events:none}.bike-layer-front{z-index:3;pointer-events:none}.bike-layer-accessory-front{z-index:4;pointer-events:none}.accessory-selector{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:34px;margin:26px 0 30px;display:flex}.accessory-item{flex-direction:column;align-items:center;min-width:clamp(112px,13vw,158px);display:flex}.accessory-icon-button{cursor:pointer;appearance:none;width:clamp(112px,13vw,158px);height:clamp(86px,10vw,122px);box-shadow:none;background:0 0;border:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.accessory-icon-button:focus-visible{outline-offset:8px;border-radius:999px;outline:3px solid #22c55e73}.accessory-icon-image{object-fit:contain;filter:brightness(0);width:100%;height:100%;transition:filter .16s,transform .16s;display:block;transform:scale(1)}.accessory-icon-button:hover .accessory-icon-image{transform:scale(1.06)}.accessory-icon-button.active .accessory-icon-image{filter:brightness(0)saturate()invert(46%)sepia(81%)saturate(1116%)hue-rotate(101deg)brightness(96%)contrast(92%)drop-shadow(0 0 7px #22c55ed9)drop-shadow(0 0 20px #22c55e66);transform:scale(1.12)}.saddle-size-selector{justify-content:center;gap:9px;margin-top:6px;display:flex}.saddle-size-button{color:#111827;cursor:pointer;appearance:none;background:0 0;border:none;padding:2px 5px;font-size:.9rem;font-weight:900;line-height:1;transition:color .16s,text-shadow .16s,transform .16s}.saddle-size-button:hover{transform:scale(1.12)}.saddle-size-button.active{color:#16a34a;text-shadow:0 0 8px #22c55ebf,0 0 18px #22c55e59}.saddle-size-button:focus-visible{outline-offset:4px;border-radius:999px;outline:2px solid #22c55e73}@media (width<=700px){.app{padding:26px 14px 40px}.bike-stage{border-radius:24px;min-height:280px;padding:16px}.accessory-selector{gap:22px}}.packing-hit-area{z-index:5;cursor:pointer;appearance:none;background:0 0;border:none;border-radius:18px;padding:0;position:absolute}.packing-hit-area:hover,.packing-hit-area:focus-visible,.packing-hit-area.active{outline-offset:2px;background:#22c55e1a;outline:2px solid #22c55e8c}.packing-hit-area.has-note:after{content:"";background:#16a34a;border-radius:999px;width:11px;height:11px;position:absolute;top:-5px;right:-5px;box-shadow:0 0 0 2px #fff,0 0 12px #22c55ed9}.packing-editor{background:#fff;border:1px solid #d1d5db;border-radius:24px;max-width:760px;margin:24px auto 34px;padding:18px;box-shadow:0 18px 48px #0f172a24}.packing-editor-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.packing-editor h2{color:#111827;letter-spacing:-.02em;margin:0;font-size:1.1rem;line-height:1.2}.packing-litres-label{color:#374151;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:7px;font-size:.78rem;font-weight:900;display:flex}.packing-litres-label input{text-align:right;color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:999px;width:76px;padding:6px 10px;font-weight:800}.packing-textarea{color:#111827;resize:both;background:#f9fafb;border:1px solid #d1d5db;border-radius:18px;width:100%;min-width:260px;max-width:100%;min-height:150px;padding:13px 14px;line-height:1.5}.packing-textarea:focus,.packing-litres-label input:focus{border-color:#22c55ebf;outline:3px solid #22c55e3d}.packing-editor-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.packing-action-button{cursor:pointer;border:none;border-radius:999px;padding:9px 18px;font-weight:900}.packing-action-button.primary{color:#fff;background:#16a34a}.packing-action-button.secondary{color:#111827;background:#e5e7eb}@media (width<=700px){.packing-editor{border-radius:20px;margin:18px 0 28px;padding:14px}.packing-editor-header{align-items:center}.packing-litres-label input{width:68px}}.packing-hit-area:hover:before,.packing-hit-area:focus-visible:before,.packing-hit-area.active:before{content:"";pointer-events:none;border:2px solid #22c55eb8;border-radius:24px;position:absolute;inset:-8px;box-shadow:0 0 12px #22c55e8c,0 0 28px #22c55e4d}.packing-editor-floating .packing-textarea{min-height:130px;max-height:42vh}@media (width<=700px){.packing-editor-floating{width:auto;max-height:calc(100% - 24px);bottom:12px;left:12px;right:12px}.packing-editor-floating .packing-textarea{min-height:110px;max-height:32vh}}.packing-hit-area{z-index:10;background:0 0;outline:none}.packing-hit-area:hover,.packing-hit-area:focus-visible,.packing-hit-area.active{background:0 0;outline:none}.packing-hit-area:hover:before,.packing-hit-area:focus-visible:before,.packing-hit-area.active:before{content:none;display:none}.packing-hit-area.has-note:after{z-index:3;border:2px solid #fff;width:13px;height:13px;top:3px;right:3px;box-shadow:0 0 0 1px #16a34acc,0 0 13px #22c55ef2,0 0 26px #22c55e73}.bike-overlay-clickable-highlight{filter:drop-shadow(0 0 8px #22c55ef2)drop-shadow(0 0 20px #22c55eb8)drop-shadow(0 0 38px #22c55e6b)}.packing-editor-floating{z-index:20;resize:both;width:min(430px,100% - 44px);max-height:calc(100% - 44px);margin:0;position:absolute;bottom:auto;right:auto;overflow:auto}.packing-editor-header{align-items:center}.packing-editor-drag-handle{color:#374151;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#e5e7eb;border:none;border-radius:999px;flex:none;width:32px;height:32px;padding:0;font-size:1rem;font-weight:900;line-height:1}.packing-editor-drag-handle:hover,.packing-editor-drag-handle:focus-visible{color:#16a34a;outline-offset:2px;background:#d1fae5;outline:2px solid #22c55e73}@media (width<=700px){.packing-editor-floating{width:min(360px,100% - 24px);max-height:calc(100% - 24px)}}.bike-image-wrap-clickable{cursor:pointer}.packing-saved-note-marker{z-index:12;pointer-events:none;background:#16a34a;border:2px solid #fff;border-radius:999px;width:13px;height:13px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #16a34acc,0 0 13px #22c55ef2,0 0 26px #22c55e73}.packing-hit-area,.packing-hit-area:before,.packing-hit-area:after{display:none}.packing-litres-label{gap:0}.packing-litres-label input{text-align:center;text-transform:uppercase;width:96px}.packing-litres-label input::placeholder{color:#9ca3af;opacity:1;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.packing-litres-label input:focus::placeholder{color:#0000;opacity:0}.packing-editor h2{white-space:nowrap;text-align:center;flex:auto;min-width:0;font-size:.98rem;line-height:1.1}.packing-litres-label{flex:none}.packing-litres-input-wrap{align-items:center;width:66px;display:inline-flex;position:relative}.packing-litres-label input{text-align:center;width:66px;min-width:66px;padding:6px 20px 6px 9px}.packing-litres-suffix{color:#111827;pointer-events:none;font-size:.9rem;font-weight:900;line-height:1;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.packing-litres-label input:not(:placeholder-shown){text-align:center}.packing-litres-label input::placeholder{font-size:.68rem}@media (width<=700px){.packing-editor h2{font-size:.9rem}.packing-litres-input-wrap,.packing-litres-label input{width:60px;min-width:60px}.packing-litres-label input{padding-right:18px}.packing-litres-suffix{right:9px}}.packing-editor-floating{width:min(560px,100% - 44px)}.packing-editor-header{gap:12px}.packing-editor h2{white-space:nowrap;text-overflow:clip;font-size:.92rem;line-height:1.08;overflow:visible}.packing-litres-label input{padding:6px 18px 6px 8px}.packing-litres-label input::placeholder{letter-spacing:.04em;font-size:.58rem}@media (width<=700px){.packing-editor-floating{width:min(520px,100% - 24px)}.packing-editor h2{font-size:.84rem}.packing-litres-input-wrap,.packing-litres-label input{width:72px;min-width:72px}.packing-litres-label input::placeholder{font-size:.54rem}}.packing-litres-input-wrap,.packing-litres-label input{width:84px;min-width:84px}.packing-litres-label input{appearance:textfield;text-align:center;padding:6px 20px 6px 10px}.packing-litres-label input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.packing-litres-label input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.packing-litres-label input::placeholder{letter-spacing:.02em;text-align:center;font-size:.56rem}.packing-litres-suffix{font-size:.82rem;right:11px}@media (width<=700px){.packing-litres-input-wrap,.packing-litres-label input{width:80px;min-width:80px}.packing-litres-label input::placeholder{letter-spacing:.01em;font-size:.54rem}}.packing-litres-input-wrap{background:#f9fafb;border:1px solid #d1d5db;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:84px;min-width:84px;height:40px;padding:0 10px;display:inline-flex}.packing-litres-input-wrap.has-value{justify-content:center}.packing-litres-label input{text-align:center;color:#111827;text-transform:none;background:0 0;border:none;width:100%;min-width:0;padding:0;font-weight:900}.packing-litres-input-wrap.has-value input{text-align:right;flex:0 0 34px;width:34px}.packing-litres-label input:focus{border-color:#0000;outline:none}.packing-litres-input-wrap:focus-within{border-color:#22c55ebf;outline:3px solid #22c55e3d}.packing-litres-suffix{color:#111827;pointer-events:none;flex:none;margin-left:2px;font-size:.9rem;font-weight:900;line-height:1;position:static;transform:none}.packing-litres-label input::placeholder{color:#9ca3af;opacity:1;letter-spacing:.02em;text-transform:uppercase;text-align:center;font-size:.56rem;font-weight:900}@media (width<=700px){.packing-litres-input-wrap{width:80px;min-width:80px}.packing-litres-input-wrap.has-value input{flex-basis:32px;width:32px}}.packing-litres-input-wrap.has-value{justify-content:center;gap:0}.packing-litres-suffix{letter-spacing:0;margin:0;padding:0;font-family:inherit;font-size:.95rem;font-weight:900;line-height:1;position:static;transform:none}@media (width<=700px){.packing-litres-input-wrap.has-value input,.packing-litres-suffix{font-size:.9rem}.packing-litres-input-wrap.has-value input{flex-basis:2.15ch;width:2.15ch}}.packing-litres-input-wrap.has-value{align-items:center}.packing-litres-input-wrap.has-value input{line-height:1}.packing-litres-suffix{line-height:1;position:relative;top:1.5px}.packing-litres-input-wrap.has-value{justify-content:center;align-items:center;gap:0;display:inline-flex}.packing-litres-input-wrap.has-value input{text-align:right;letter-spacing:0;flex:0 0 2.15ch;width:2.15ch;margin:0;padding:0;font-family:inherit;font-size:.95rem;font-weight:900;line-height:1}.packing-litres-suffix{letter-spacing:0;margin:0;padding:0;font-family:inherit;font-size:.95rem;font-weight:900;line-height:1;position:static!important;inset:auto!important;transform:none!important}@media (width<=700px){.packing-litres-input-wrap.has-value input,.packing-litres-suffix{font-size:.9rem}}.packing-litres-suffix{vertical-align:baseline;padding-top:1px;display:inline-block}.packing-items-editor{color:#111827;resize:both;background:#f9fafb;border:1px solid #d1d5db;border-radius:18px;width:100%;min-width:260px;max-width:100%;min-height:150px;padding:12px;overflow:auto}.packing-items-editor:focus-within{border-color:#22c55ebf;outline:3px solid #22c55e3d}.packing-items-header{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) 76px 26px;gap:8px;margin:0 0 7px;padding:0 2px;font-size:.68rem;font-weight:900;display:grid}.packing-items-header span:last-child{text-align:center;grid-column:2}.packing-items-list{flex-direction:column;gap:7px;display:flex}.packing-item-row{grid-template-columns:minmax(0,1fr) 76px 26px;align-items:center;gap:8px;display:grid}.packing-item-input,.packing-weight-label input{color:#111827;background:#fff;border:1px solid #d1d5db;font-weight:750}.packing-item-input{border-radius:12px;width:100%;min-width:0;padding:8px 10px}.packing-weight-label{background:#fff;border:1px solid #d1d5db;border-radius:999px;justify-content:center;align-items:center;gap:1px;width:76px;height:36px;padding:0 8px;display:inline-flex}.packing-weight-label input{text-align:right;background:0 0;border:none;width:38px;min-width:0;padding:0;font-weight:900}.packing-weight-label input::placeholder{color:#9ca3af;opacity:1;text-align:center;text-transform:lowercase}.packing-weight-label span{color:#111827;font-size:.86rem;font-weight:900;line-height:1}.packing-item-input:focus,.packing-weight-label input:focus{outline:none}.packing-weight-label:focus-within,.packing-item-input:focus{border-color:#22c55ebf;box-shadow:0 0 0 3px #22c55e2e}.packing-remove-item-button{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:999px;width:26px;height:26px;font-size:1rem;font-weight:900;line-height:1}.packing-remove-item-button:hover,.packing-remove-item-button:focus-visible{color:#b91c1c;background:#fee2e2;outline:none}.packing-add-item-button{color:#111827;cursor:pointer;background:#e5e7eb;border:none;border-radius:999px;margin-top:10px;padding:7px 13px;font-size:.82rem;font-weight:900}.packing-add-item-button:hover,.packing-add-item-button:focus-visible{color:#16a34a;background:#d1fae5;outline:none}@media (width<=700px){.packing-items-header,.packing-item-row{grid-template-columns:minmax(0,1fr) 68px 24px;gap:6px}.packing-weight-label{width:68px}.packing-weight-label input{width:32px}.packing-remove-item-button{width:24px;height:24px}}.packing-items-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.packing-items-footer .packing-add-item-button{margin-top:0}.packing-total-weight{color:#111827;white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:900}@media (width<=700px){.packing-items-footer{gap:8px}.packing-total-weight{font-size:.78rem}}.bike-stage{flex-direction:column;justify-content:flex-start;align-items:center;gap:18px;padding-top:22px;display:flex}.bike-stage-header{z-index:2;justify-content:center;width:100%;display:flex}.bike-controls-inside{justify-content:center;width:100%;margin:0}.bike-image-wrap{flex:none}@media (width<=700px){.bike-stage{gap:14px;padding-top:18px}.bike-controls-inside{gap:10px}.bike-controls-inside button{padding:10px 18px}}.app-logo{object-fit:contain;width:clamp(177px,25.5vw,285px);height:auto;max-height:129px;margin:0 auto 16px;display:block}@media (width<=700px){.app-logo{width:clamp(156px,51vw,225px);max-height:105px;margin-bottom:14px}}.bike-stage:before{content:"";z-index:0;pointer-events:none;background-image:url(/images/backgrounds/kusihhu-watermark.svg);background-position:50%;background-repeat:no-repeat;background-size:min(117vw,1065px);position:absolute;inset:72px 24px 24px}.bike-stage>*{z-index:1;position:relative}.bike-stage .packing-editor-floating{z-index:20}@media (width<=700px){.bike-stage:before{background-size:min(147vw,618px);inset:64px 12px 12px}}.bike-stage{overflow:hidden}@media (width<=700px){.bike-stage:before{background-size:100% 100%;inset:0}}.bike-stage:before{border-radius:inherit;background-size:100% 100%;inset:0 -1.5%}@media (width<=700px){.bike-stage:before{inset:0 -1.5%}}.bike-stage:before{border-radius:inherit;background-position:50%;background-repeat:no-repeat;background-size:cover;inset:0}@media (width<=700px){.bike-stage:before{background-size:cover;inset:0}}.hero h1{color:#111827;-webkit-text-fill-color:#111827;opacity:1;filter:none}@media (width<=700px){.hero h1{color:#111827;-webkit-text-fill-color:#111827;opacity:1;filter:none}}.packlist-download{text-align:center;flex-direction:column;align-items:center;gap:9px;margin:10px 0 8px;display:flex}.packlist-download-button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:999px;padding:12px 24px;font-size:.95rem;font-weight:900;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:0 12px 28px #16a34a3d}.packlist-download-button:hover:not(:disabled){background:#15803d;transform:translateY(-1px);box-shadow:0 15px 32px #16a34a4d}.packlist-download-button:focus-visible{outline-offset:4px;outline:3px solid #22c55e61}.packlist-download-button:disabled{color:#6b7280;cursor:not-allowed;box-shadow:none;background:#d1d5db}.packlist-download-help{color:#6b7280;max-width:560px;margin:0;font-size:.82rem;line-height:1.45}@media (width<=700px){.packlist-download{margin-top:6px}.packlist-download-button{width:min(100%,320px);padding:13px 20px}.packlist-download-help{max-width:330px;font-size:.78rem}}.packing-items-header,.packing-item-row{grid-template-columns:minmax(0,1fr) 116px 26px}.packing-item-input{min-height:42px}.packing-weight-label{align-self:stretch;width:116px;height:auto;min-height:42px;padding:0 12px}.packing-weight-label input{flex:auto;width:76px;min-width:0}@media (width<=700px){.packing-items-header,.packing-item-row{grid-template-columns:minmax(0,1fr) 108px 24px}.packing-weight-label{width:108px;min-height:42px;padding:0 10px}.packing-weight-label input{width:70px}}.packing-litres-input-wrap{width:104px;min-width:104px}.packing-litres-input-wrap.has-value input{flex:0 0 4.8ch;width:4.8ch}@media (width<=700px){.packing-litres-input-wrap{width:98px;min-width:98px}.packing-litres-input-wrap.has-value input{flex-basis:4.8ch;width:4.8ch}}.loadout-manager{background:#ffffffeb;border:1px solid #e5e7eb;border-radius:28px;max-width:980px;margin:18px auto 28px;padding:24px;box-shadow:0 20px 58px #0f172a17}.loadout-manager-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.loadout-eyebrow{color:#16a34a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:900}.loadout-manager h2,.loadout-manager h3,.loadout-manager h4{color:#111827}.loadout-manager h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2.5vw,1.85rem)}.loadout-manager-header p:not(.loadout-eyebrow){color:#6b7280;max-width:650px;margin:8px 0 0;line-height:1.5}.loadout-active-badge{color:#15803d;white-space:nowrap;background:#dcfce7;border-radius:999px;flex:none;padding:7px 12px;font-size:.75rem;font-weight:900}.loadout-editor-row{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px;display:grid}.loadout-name-field{color:#374151;letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:7px;min-width:0;font-size:.78rem;font-weight:900;display:flex}.loadout-name-field input{color:#111827;text-transform:none;letter-spacing:normal;background:#f9fafb;border:1px solid #d1d5db;border-radius:15px;width:100%;min-height:46px;padding:10px 13px;font-weight:750}.loadout-name-field input:focus{border-color:#16a34ab3;outline:3px solid #22c55e33}.loadout-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.loadout-button,.saved-loadout-action{cursor:pointer;border:none;border-radius:999px;font-weight:900;transition:transform .15s,background .15s,color .15s}.loadout-button{min-height:43px;padding:9px 16px}.loadout-button:hover:not(:disabled),.saved-loadout-action:hover{transform:translateY(-1px)}.loadout-button-primary{color:#fff;background:#16a34a}.loadout-button-primary:hover{background:#15803d}.loadout-button-secondary{color:#fff;background:#111827}.loadout-button-quiet{color:#374151;background:#e5e7eb}.loadout-button:disabled{color:#6b7280;cursor:not-allowed;background:#d1d5db;transform:none}.loadout-message{color:#166534;background:#f0fdf4;border-radius:12px;margin:13px 0 0;padding:9px 12px;font-size:.84rem;font-weight:800}.saved-loadouts-heading{justify-content:space-between;align-items:center;gap:12px;margin:23px 0 11px;display:flex}.saved-loadouts-heading h3{margin:0;font-size:1rem}.saved-loadouts-heading span{color:#6b7280;font-size:.8rem;font-weight:800}.saved-loadouts-empty{color:#6b7280;text-align:center;border:1px dashed #d1d5db;border-radius:18px;padding:25px}.saved-loadouts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.saved-loadout-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:20px;min-width:0;padding:15px}.saved-loadout-card.active{border-color:#16a34abf;box-shadow:0 0 0 3px #22c55e1f}.saved-loadout-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.saved-loadout-card h4{overflow-wrap:anywhere;margin:0;font-size:1rem}.saved-loadout-card-heading p{color:#4b5563;margin:5px 0 0;font-size:.82rem}.saved-loadout-card-heading>span{color:#15803d;background:#dcfce7;border-radius:999px;flex:none;padding:5px 9px;font-size:.68rem;font-weight:900}.saved-loadout-updated{color:#9ca3af;margin:10px 0 13px;font-size:.74rem;font-weight:750}.saved-loadout-actions{flex-wrap:wrap;gap:7px;display:flex}.saved-loadout-action{color:#374151;background:#e5e7eb;padding:7px 11px;font-size:.76rem}.saved-loadout-action.primary{color:#fff;background:#111827}.saved-loadout-action.danger{color:#b91c1c;background:#fee2e2}@media (width<=760px){.loadout-manager{border-radius:22px;margin-top:10px;padding:18px}.loadout-manager-header{flex-direction:column;gap:11px}.loadout-editor-row{grid-template-columns:1fr;align-items:stretch}.loadout-editor-actions{justify-content:stretch}.loadout-button{flex:145px}.saved-loadouts-grid{grid-template-columns:1fr}}.paired-bag-accessory{min-width:clamp(176px,18vw,216px)}.bag-side-selector{background:#ffffffeb;border:1px solid #e5e7eb;border-radius:999px;justify-content:center;align-items:center;gap:4px;margin-top:8px;padding:4px;display:inline-flex;box-shadow:0 6px 16px #0f172a0f}.bag-side-button{color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:48px;padding:6px 9px;font-size:.72rem;font-weight:900;line-height:1;transition:background .16s,color .16s,transform .16s,box-shadow .16s}.bag-side-button:hover{color:#111827;transform:translateY(-1px)}.bag-side-button.active{color:#fff;background:#16a34a;box-shadow:0 5px 14px #16a34a47}.bag-side-button:focus-visible{outline-offset:2px;outline:3px solid #22c55e59}.paired-bag-accessory .saddle-size-selector{margin-top:8px}@media (width<=700px){.paired-bag-accessory{min-width:168px}.bag-side-selector{gap:3px}.bag-side-button{min-width:44px;padding:6px 7px;font-size:.68rem}}.packing-editor-side-switch{background:#f8fafcf5;border:1px solid #dbe3ec;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;margin:-1px 0 12px;padding:9px 11px;display:grid}.packing-editor-side-label{color:#374151;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:900}.packing-editor-side-selector{box-shadow:none;background:#fff;margin:0;padding:3px}.packing-editor-side-selector .bag-side-button{min-width:58px}.packing-editor-side-help{color:#6b7280;grid-column:1/-1;font-size:.69rem;font-weight:700;line-height:1.35}@media (width<=700px){.packing-editor-side-switch{gap:5px 8px;padding:8px 9px}.packing-editor-side-label{font-size:.7rem}.packing-editor-side-selector .bag-side-button{min-width:50px;padding:6px 8px}}@media (width<=700px){.packing-editor-floating{inset:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));z-index:1000;resize:none;overscroll-behavior:contain;background:#fffdf4;border-radius:20px;width:auto;max-width:none;max-height:none;margin:0;padding:14px;position:fixed;overflow:hidden auto;box-shadow:0 24px 80px #0f172a57}.packing-editor-floating .packing-editor-header{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4f7;border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;margin:-14px -14px 10px;padding:14px;display:grid;position:sticky;top:-14px}.packing-editor-floating .packing-editor-drag-handle{display:none}.packing-editor-floating .packing-editor-header h2{color:#111827;text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1rem;line-height:1.25;overflow:hidden}.packing-editor-floating .packing-litres-label{justify-self:end}.packing-editor-floating .packing-litres-input-wrap{background:#fff;width:96px;min-width:96px;height:40px}.packing-editor-floating .packing-litres-input-wrap.has-value input{flex-basis:4.8ch;width:4.8ch}.packing-editor-floating .packing-editor-side-switch{background:#fff;border-radius:14px;margin:0 0 10px}.packing-editor-floating .packing-editor-side-help{display:none}.packing-editor-floating .packing-items-editor{resize:none;background:linear-gradient(90deg,#0000 0 18px,#dc26263d 18px 20px,#0000 20px),repeating-linear-gradient(#fffef8 0 51px,#60a5fa52 51px 52px);border:1px solid #d8d4c8;border-radius:12px;min-width:0;min-height:342px;padding:0 10px 12px 25px;position:relative;overflow:visible;box-shadow:inset 0 1px 3px #0f172a0d}.packing-editor-floating .packing-items-editor:focus-within{border-color:#d8d4c8;outline:none}.packing-editor-floating .packing-items-header{z-index:4;color:#6b7280;background:#fffef8f5;border-bottom:1px solid #60a5fa52;grid-template-columns:minmax(0,1fr) 96px 26px;gap:6px;height:38px;margin:0 -10px 0 -25px;padding:12px 10px 8px 25px;position:sticky;top:60px}.packing-editor-floating .packing-items-list{gap:0}.packing-editor-floating .packing-item-row{grid-template-columns:minmax(0,1fr) 96px 26px;align-items:stretch;gap:6px;min-height:52px}.packing-editor-floating .packing-item-input{min-width:0;min-height:52px;box-shadow:none;color:#1f2937;background:0 0;border:none;border-radius:0;padding:8px 6px 4px 0;font-size:16px;font-weight:700;line-height:1.3}.packing-editor-floating .packing-item-input::placeholder{color:#9ca3af;opacity:.8}.packing-editor-floating .packing-weight-label{width:96px;min-height:52px;box-shadow:none;background:0 0;border:none;border-radius:0;align-self:stretch;padding:0 5px}.packing-editor-floating .packing-weight-label input{background:0 0;width:70px;min-width:0;padding:0;font-size:16px}.packing-editor-floating .packing-item-input:focus,.packing-editor-floating .packing-weight-label:focus-within{box-shadow:none;border:none;outline:none}.packing-editor-floating .packing-remove-item-button{background:#e5e7ebd1;align-self:center;width:24px;height:24px}.packing-editor-floating .packing-items-footer{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4f7;border-top:1px solid #e5e7eb;margin:8px -10px -12px -25px;padding:10px 10px 10px 25px;position:sticky;bottom:61px}.packing-editor-floating .packing-add-item-button{background:#e5e7eb;min-width:116px;padding:10px 16px}.packing-add-item-text{display:none}.packing-add-line-text{display:inline}.packing-editor-floating .packing-total-weight{font-size:.82rem}.packing-editor-floating .packing-editor-actions{z-index:7;padding:12px 14px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4fa;border-top:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:10px;margin:10px -14px -14px;display:grid;position:sticky;bottom:-14px}.packing-editor-floating .packing-action-button{min-height:44px;padding:11px 16px}}.packing-editor-floating{z-index:1000;resize:none;overscroll-behavior:contain;background:#fffdf4;border-radius:24px;width:min(720px,100vw - 48px);max-width:720px;max-height:calc(100vh - 48px);margin:0;padding:18px;position:fixed;bottom:auto;right:auto;overflow:hidden auto;transform:translate(-50%,-50%);box-shadow:0 28px 90px #0f172a57;top:50%!important;left:50%!important}.packing-editor-floating .packing-editor-header{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4f7;border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin:-18px -18px 12px;padding:16px 18px;display:grid;position:sticky;top:-18px}.packing-editor-floating .packing-editor-drag-handle{display:none}.packing-editor-floating .packing-editor-header h2{color:#111827;text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.05rem;line-height:1.25;overflow:hidden}.packing-editor-floating .packing-litres-label{justify-self:end}.packing-editor-floating .packing-litres-input-wrap{background:#fff;width:104px;min-width:104px;height:42px}.packing-editor-floating .packing-litres-input-wrap.has-value input{flex-basis:4.8ch;width:4.8ch}.packing-editor-floating .packing-editor-side-switch{background:#fff;border-radius:14px;margin:0 0 12px}.packing-editor-floating .packing-editor-side-help{display:none}.packing-editor-floating .packing-items-editor{resize:none;background:linear-gradient(90deg,#0000 0 22px,#dc26263d 22px 24px,#0000 24px),repeating-linear-gradient(#fffef8 0 51px,#60a5fa52 51px 52px);border:1px solid #d8d4c8;border-radius:14px;min-width:0;min-height:342px;padding:0 12px 14px 31px;position:relative;overflow:visible;box-shadow:inset 0 1px 3px #0f172a0d}.packing-editor-floating .packing-items-editor:focus-within{border-color:#d8d4c8;outline:none}.packing-editor-floating .packing-items-header{z-index:4;color:#6b7280;background:#fffef8f5;border-bottom:1px solid #60a5fa52;grid-template-columns:minmax(0,1fr) 110px 30px;gap:8px;height:38px;margin:0 -12px 0 -31px;padding:12px 12px 8px 31px;position:sticky;top:61px}.packing-editor-floating .packing-items-list{gap:0}.packing-editor-floating .packing-item-row{grid-template-columns:minmax(0,1fr) 110px 30px;align-items:stretch;gap:8px;min-height:52px}.packing-editor-floating .packing-item-input{min-width:0;min-height:52px;box-shadow:none;color:#1f2937;background:0 0;border:none;border-radius:0;padding:8px 8px 4px 0;font-size:16px;font-weight:700;line-height:1.3}.packing-editor-floating .packing-item-input::placeholder{color:#9ca3af;opacity:.8}.packing-editor-floating .packing-weight-label{width:110px;min-height:52px;box-shadow:none;background:0 0;border:none;border-radius:0;align-self:stretch;padding:0 6px}.packing-editor-floating .packing-weight-label input{background:0 0;width:82px;min-width:0;padding:0;font-size:16px}.packing-editor-floating .packing-item-input:focus,.packing-editor-floating .packing-weight-label:focus-within{box-shadow:none;border:none;outline:none}.packing-editor-floating .packing-remove-item-button{background:#e5e7ebd1;align-self:center;width:26px;height:26px}.packing-editor-floating .packing-items-footer{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4f7;border-top:1px solid #e5e7eb;margin:10px -12px -14px -31px;padding:11px 12px 11px 31px;position:sticky;bottom:67px}.packing-editor-floating .packing-add-item-button{background:#e5e7eb;min-width:124px;padding:10px 17px}.packing-add-item-text{display:none}.packing-add-line-text{display:inline}.packing-editor-floating .packing-total-weight{font-size:.86rem}.packing-editor-floating .packing-editor-actions{z-index:7;padding:13px 18px max(13px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4fa;border-top:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:12px;margin:12px -18px -18px;display:grid;position:sticky;bottom:-18px}.packing-editor-floating .packing-action-button{min-height:46px;padding:12px 18px}@media (width<=700px){.packing-editor-floating{border-radius:20px;width:auto;max-width:none;max-height:none;padding:14px;transform:none;inset:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))!important}.packing-editor-floating .packing-editor-header{gap:8px 10px;margin:-14px -14px 10px;padding:14px;top:-14px}.packing-editor-floating .packing-editor-header h2{font-size:1rem}.packing-editor-floating .packing-litres-input-wrap{width:96px;min-width:96px;height:40px}.packing-editor-floating .packing-editor-side-switch{margin-bottom:10px}.packing-editor-floating .packing-items-editor{background:linear-gradient(90deg,#0000 0 18px,#dc26263d 18px 20px,#0000 20px),repeating-linear-gradient(#fffef8 0 51px,#60a5fa52 51px 52px);border-radius:12px;padding:0 10px 12px 25px}.packing-editor-floating .packing-items-header{grid-template-columns:minmax(0,1fr) 96px 26px;gap:6px;margin:0 -10px 0 -25px;padding:12px 10px 8px 25px;top:60px}.packing-editor-floating .packing-item-row{grid-template-columns:minmax(0,1fr) 96px 26px;gap:6px}.packing-editor-floating .packing-weight-label{width:96px;padding:0 5px}.packing-editor-floating .packing-weight-label input{width:70px}.packing-editor-floating .packing-remove-item-button{width:24px;height:24px}.packing-editor-floating .packing-items-footer{margin:8px -10px -12px -25px;padding:10px 10px 10px 25px;bottom:61px}.packing-editor-floating .packing-editor-actions{padding:12px 14px max(12px, env(safe-area-inset-bottom));gap:10px;margin:10px -14px -14px;bottom:-14px}.packing-editor-floating .packing-action-button{min-height:44px;padding:11px 16px}}.packing-editor-floating .packing-items-editor{background:linear-gradient(90deg,#0000 0 22px,#dc26263d 22px 24px,#0000 24px),#fffef8}.packing-editor-floating .packing-items-list{flex-direction:column;gap:0;display:flex}.packing-editor-floating .packing-item-row{border-bottom:1px solid #60a5fa61;height:52px;min-height:52px}.packing-editor-floating .packing-item-input,.packing-editor-floating .packing-weight-label{height:51px;min-height:51px}.packing-editor-floating .packing-remove-item-button{text-align:center;border:0;place-items:center;margin:0;padding:0;font-size:0;line-height:1;display:grid}.packing-editor-floating .packing-remove-item-button:before{content:"×";font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1;display:block;transform:translateY(-.5px)}@media (width<=700px){.packing-editor-floating .packing-items-editor{background:linear-gradient(90deg,#0000 0 18px,#dc26263d 18px 20px,#0000 20px),#fffef8}.packing-editor-floating .packing-item-row{height:48px;min-height:48px}.packing-editor-floating .packing-item-input,.packing-editor-floating .packing-weight-label{height:47px;min-height:47px}.packing-editor-floating .packing-remove-item-button:before{font-size:13px}}.packing-editor-floating .packing-remove-item-button{text-indent:-9999px;border:0;margin:0;padding:0;font-size:0;line-height:0;display:block;position:relative;overflow:hidden}.packing-editor-floating .packing-remove-item-button:before,.packing-editor-floating .packing-remove-item-button:after{content:"";transform-origin:50%;pointer-events:none;background:currentColor;border-radius:999px;width:10px;height:2px;position:absolute;top:50%;left:50%}.packing-editor-floating .packing-remove-item-button:before{transform:translate(-50%,-50%)rotate(45deg)}.packing-editor-floating .packing-remove-item-button:after{transform:translate(-50%,-50%)rotate(-45deg)}@media (width<=700px){.packing-editor-floating .packing-remove-item-button:before,.packing-editor-floating .packing-remove-item-button:after{width:9px;height:2px}}.account-panel{text-align:left;background:#ffffffeb;border:1px solid #e5e7eb;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;width:min(100%,820px);margin:22px auto 0;padding:13px 15px;display:flex;box-shadow:0 14px 38px #0f172a14}.account-loading{color:#6b7280;text-align:center;width:100%;margin:0;font-size:.84rem;font-weight:800}.account-summary{align-items:center;gap:10px;min-width:0;display:flex}.account-summary>div{flex-direction:column;gap:2px;min-width:0;display:flex}.account-summary strong{color:#111827;font-size:.86rem}.account-summary span:not(.account-status-dot){color:#6b7280;overflow-wrap:anywhere;font-size:.76rem;line-height:1.35}.account-status-dot{background:#16a34a;border-radius:999px;flex:none;width:11px;height:11px;box-shadow:0 0 0 4px #22c55e24}.account-status-dot.guest{background:#9ca3af;box-shadow:0 0 0 4px #9ca3af29}.account-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-button{cursor:pointer;border:none;border-radius:999px;min-height:38px;padding:8px 14px;font-size:.78rem;font-weight:900;transition:transform .15s,background .15s,color .15s}.account-button:hover:not(:disabled){transform:translateY(-1px)}.account-button:focus-visible,.auth-modal-close:focus-visible,.auth-switches button:focus-visible{outline-offset:3px;outline:3px solid #22c55e4d}.account-button:disabled{cursor:wait;opacity:.62}.account-button-dark{color:#fff;background:#111827}.account-button-green{color:#fff;background:#16a34a}.account-button-quiet{color:#374151;background:#e5e7eb}.account-message{color:#166534;text-align:center;width:min(100%,820px);margin:9px auto 0;font-size:.78rem;font-weight:800}.loadout-guest-prompt{background:#f9fafbdb;border:1px dashed #9ca3af;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.loadout-guest-prompt strong{color:#111827;font-size:.94rem;display:block}.loadout-guest-prompt p{color:#6b7280;margin:5px 0 0;font-size:.82rem;line-height:1.45}.loadout-guest-actions{flex:none;align-items:center;gap:8px;display:flex}.saved-loadout-action:disabled{cursor:wait;opacity:.55;transform:none}.saved-loadout-action:hover:disabled{transform:none}.auth-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);background:#0f172a94;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-modal{text-align:left;background:#fff;border:1px solid #ffffffb8;border-radius:26px;width:min(100%,470px);max-height:calc(100vh - 36px);padding:27px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0f172a52}.auth-modal-close{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:999px;width:35px;height:35px;padding:0;font-size:1.35rem;font-weight:700;line-height:1;position:absolute;top:13px;right:13px}.auth-modal-close:hover:not(:disabled){color:#15803d;background:#d1fae5}.auth-modal-close:disabled{cursor:wait;opacity:.6}.auth-eyebrow{color:#16a34a;letter-spacing:.12em;text-transform:uppercase;margin:0 45px 6px 0;font-size:.7rem;font-weight:900}.auth-modal h2{color:#111827;letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,5vw,2.15rem)}.auth-intro{color:#6b7280;margin:9px 0 19px;font-size:.88rem;line-height:1.5}.auth-form{flex-direction:column;gap:13px;display:flex}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-field>span{color:#374151;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:900}.auth-field input{color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:14px;width:100%;min-height:48px;padding:11px 13px}.auth-field input:focus{border-color:#16a34ac7;outline:3px solid #22c55e33}.auth-field input:disabled{cursor:wait;opacity:.68}.auth-feedback{border-radius:12px;margin:0;padding:10px 12px;font-size:.8rem;font-weight:800;line-height:1.45}.auth-feedback.error{color:#b91c1c;background:#fef2f2}.auth-feedback.success{color:#166534;background:#f0fdf4}.auth-submit-button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:999px;min-height:48px;margin-top:2px;padding:11px 18px;font-weight:900;box-shadow:0 12px 28px #16a34a38}.auth-submit-button:hover:not(:disabled){background:#15803d}.auth-submit-button:focus-visible{outline-offset:3px;outline:3px solid #22c55e57}.auth-submit-button:disabled{cursor:wait;box-shadow:none;background:#9ca3af}.auth-switches{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 16px;margin-top:16px;display:flex}.auth-switches button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:3px;font-size:.78rem;font-weight:850}.auth-switches button:hover{text-decoration:underline}@media (width<=700px){.account-panel{text-align:left;border-radius:18px;flex-direction:column;align-items:stretch;margin-top:18px;padding:13px}.account-actions{justify-content:stretch}.account-button{flex:130px}.loadout-guest-prompt{flex-direction:column;align-items:stretch}.loadout-guest-actions{align-items:stretch}.loadout-guest-actions .loadout-button{flex:1 1 0}.auth-modal-backdrop{align-items:end;padding:10px}.auth-modal{border-radius:24px 24px 18px 18px;width:100%;max-height:calc(100vh - 20px);padding:24px 18px 20px}}
