:root{--ink:#171717;--tire-black:#111;--tire-charcoal:#242424;--sidewall-tan:#c99b61;--sidewall-light:#f0d3a5;--sidewall-wash:#f3dfbf;--paper:#f5f1ea;--panel:#fffaf1;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;background:#f5f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,980px);margin:0 auto;padding:20px clamp(14px,3vw,28px) 40px;overflow-x:hidden}.top-bar{gap:8px;margin-bottom:18px;display:grid}.navigation-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:40px;display:grid;position:relative}.back-button{min-height:40px;color:var(--tire-black);background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0 10px 0 2px;font-weight:800;display:inline-flex}.back-chevron{border-bottom:3px solid;border-left:3px solid;width:12px;height:12px;transform:rotate(45deg)}.back-button:hover .back-chevron{color:var(--sidewall-tan)}.nav-title{min-width:0;max-width:min(54vw,420px);color:var(--tire-black);text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:1.1rem;font-weight:900;overflow:hidden}.eyebrow{color:#6f6254;text-transform:uppercase;margin:0 0 4px;font-size:.82rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,8vw,4.5rem);line-height:.96}h2{margin-bottom:14px;font-size:1rem}h3{margin-bottom:4px;font-size:1.05rem}.unit-cluster{align-items:center;gap:8px;display:flex}.unit-switch,.segmented{border:2px solid var(--sidewall-tan);background:var(--sidewall-wash);border-radius:8px;gap:6px;padding:4px;display:grid}.unit-switch{grid-template-columns:repeat(2,minmax(54px,1fr))}.unit-switch button,.segmented button,.text-button,.ghost-button{min-height:40px;color:var(--tire-charcoal);background:0 0;border:1px solid #0000;border-radius:6px;font-weight:700}.unit-switch button.active,.segmented button.active{border-color:var(--tire-black);background:var(--tire-black);color:var(--panel)}.text-button{border:2px solid var(--sidewall-tan);background:var(--sidewall-tan);min-height:40px;color:var(--ink);padding:0 12px}.text-button:hover:not(:disabled){border-color:var(--tire-black)}.text-button:disabled{cursor:not-allowed;opacity:.5}.ghost-button{border:2px solid var(--sidewall-tan);background:var(--panel);min-height:40px;padding:0 12px}.ghost-button:hover:not(:disabled){border-color:var(--tire-black)}.ghost-button:disabled{cursor:not-allowed;opacity:.45}.result-band{border:8px solid var(--sidewall-tan);background:var(--tire-black);color:var(--panel);border-radius:20px;gap:10px;margin-bottom:16px;padding:clamp(18px,5vw,30px);display:grid}.install-panel{background:var(--panel);border:1px solid #d8d0c3;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex}.install-panel h2{margin-bottom:4px}.install-panel p{color:#606963;margin-bottom:0}.pressure-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pressure-pair div{min-width:0}.pressure-pair span,.pressure-pair small{color:var(--sidewall-light);font-weight:700;display:block}.pressure-pair strong{margin:3px 0;font-size:clamp(3rem,18vw,6.5rem);line-height:.9;display:block}.result-note,.error-text{color:#eadcc8;margin-bottom:0}.calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.view-stage{position:relative;overflow:hidden}.view-pane{transform-origin:50%}.view-push-enter-active,.view-push-leave-active,.view-pop-enter-active,.view-pop-leave-active{will-change:transform;transition:transform .3s cubic-bezier(.32,.72,0,1)}.view-push-leave-active,.view-pop-leave-active{pointer-events:none;width:100%;position:absolute;inset:0}.view-push-enter-from{transform:translate(100%)}.view-push-leave-to,.view-pop-enter-from{transform:translate(-28%)}.view-pop-leave-to{transform:translate(100%)}.panel,.notice{background:var(--panel);border:1px solid #d8d0c3;border-radius:8px;min-width:0;padding:16px}.full{grid-column:1/-1}.discipline-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:12px}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-header h2{margin-bottom:0}.action-row{align-items:center;gap:8px;display:flex}.field-row,.wheel-grid,.garage-grid{gap:10px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-grid{grid-template-columns:.8fr 1fr 1.3fr}.garage-grid{grid-template-columns:1.1fr 1.4fr .8fr}.rider-row{align-items:end;gap:10px;display:flex}.weight-field{flex:1;max-width:340px}.bike-list{gap:10px;display:grid}.bike-card{background:#fffdf8;border:1px solid #d8d0c3;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px;display:flex}.bike-card p{color:#606963;margin-bottom:0;font-size:.9rem;font-weight:700}.empty-state{color:#606963;background:#fffdf8;border:1px dashed #cfc7bb;border-radius:8px;place-items:center;min-height:120px;font-weight:700;display:grid}.empty-state p{margin-bottom:0}.spec-list{gap:10px;display:grid}.spec-list p{border-bottom:1px solid #e1d9cc;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;padding-bottom:10px;display:flex}.spec-list p:last-child{border-bottom:0;padding-bottom:0}.spec-list span{color:#606963;font-size:.86rem;font-weight:700}.spec-list strong{text-align:right}label{gap:6px;display:grid}label span,.total-weight{color:#6b5c4b;font-size:.86rem;font-weight:700}input,select,textarea{width:100%;min-height:44px;color:var(--ink);background:#fffdf8;border:2px solid #ccb083;border-radius:6px;padding:0 10px}textarea{resize:vertical;min-height:68px;padding:10px}.notes-field{margin-top:10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--sidewall-tan);outline-offset:2px}.inline-end{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.inline-end select{width:82px}.notice{border-color:var(--sidewall-tan);background:#fff7e8}.notice ul{margin:0;padding-left:20px}.notice li+li{margin-top:6px}.notice p{margin-bottom:0}.modal-backdrop{z-index:10;background:#111111a3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid #d8d0c3;border-radius:8px;gap:12px;width:min(100%,720px);max-height:min(900px,100vh - 36px);padding:18px;display:grid;overflow:auto;box-shadow:0 24px 60px #11111142}.modal .section-header{margin-bottom:0}.modal-actions{justify-content:end;gap:8px;padding-top:4px;display:flex}@media (width<=760px){.calculator-grid,.pressure-pair,.field-row,.wheel-grid,.garage-grid{grid-template-columns:1fr}.unit-cluster{width:100%}.install-panel{flex-direction:column;align-items:stretch}.unit-switch{flex:1}.section-header{flex-direction:column;align-items:stretch}.action-row{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));display:grid}.bike-card{flex-direction:column;align-items:stretch}.rider-row{display:grid}.weight-field{max-width:none}.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.modal-backdrop{padding:14px}.modal{gap:8px;max-height:calc(100vh - 28px);padding:14px}.modal label{gap:4px}.modal input,.modal select{min-height:40px}.modal textarea{min-height:54px;padding:8px 10px}.modal-actions{padding-top:2px}.discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-grid button:last-child{grid-column:1/-1}}
