:root{--color-primary:#ee7125;--color-primary-dark:#d45f18;--color-blue:#0759a2;--color-blue-dark:#054a87;--color-sky:#4fc3f7;--color-bg-dark:#1a1a2e;--color-text:#1f2937;--color-text-muted:#6b7280;--color-white:#fff;--color-surface:#f8fafc;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--radius:12px;--shadow:0 4px 24px #0000001f}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}button{font-family:inherit}a{color:var(--color-blue)}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 14px #ee712566}.btn--primary:hover{background:var(--color-primary-dark)}.btn--secondary{background:var(--color-blue);color:var(--color-white)}.btn--secondary:hover{background:var(--color-blue-dark)}.btn--outline{color:var(--color-blue);border:2px solid var(--color-blue);background:0 0}.btn--large{min-width:260px;padding:1rem 2rem;font-size:1.125rem}.btn--block{width:100%}.btn--small{padding:.5rem .875rem;font-size:.875rem}.btn--danger{color:var(--color-white);background:#dc2626}.btn--danger:hover{background:#b91c1c}.btn--ghost{color:var(--color-white);background:#ffffff1f;border:1px solid #ffffff40}.btn--ghost:hover{background:#fff3}.logo-mark{letter-spacing:-.02em;color:var(--color-primary);font-size:1.75rem;font-weight:800}.logo-mark--light{color:var(--color-white)}.landing-page{background:linear-gradient(135deg,#1a1a2eeb 0%,#0759a2d9 100%),url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 600\"><rect fill=\"%232d3748\" width=\"800\" height=\"600\"/><polygon fill=\"%234a5568\" points=\"0,400 200,250 400,300 600,200 800,280 800,600 0,600\"/></svg>") 50%/cover;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.landing-page__content{z-index:1;text-align:center;width:min(90%,520px);padding:2rem 1rem 3rem;position:relative}.landing-page__logo{margin-bottom:2rem}.landing-page__headline{color:var(--color-white);text-transform:uppercase;margin:0 0 1rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.25}.landing-page__subtext{color:#ffffffd9;margin:0 0 2.5rem;font-size:1.05rem;line-height:1.6}.tutorial-page{background:linear-gradient(180deg, var(--color-blue) 0%, var(--color-blue-dark) 100%);flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.tutorial-page--intro{justify-content:center}.tutorial-intro{background:var(--color-white);border-radius:var(--radius);text-align:center;max-width:420px;box-shadow:var(--shadow);padding:2.5rem 2rem}.tutorial-intro h2{color:var(--color-blue);margin:0 0 1rem}.tutorial-intro p{color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.6}.tutorial-step-indicator{width:100%;max-width:480px;color:var(--color-white);margin-bottom:1.5rem}.tutorial-step-indicator__label{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.875rem;display:block}.tutorial-step-indicator__title{text-transform:uppercase;font-size:1.25rem;font-weight:700}.tutorial-card{background:var(--color-white);border-radius:var(--radius);text-align:center;width:100%;max-width:480px;box-shadow:var(--shadow);padding:2rem 1.5rem}.tutorial-card__icon{margin-bottom:1rem;font-size:4rem}.tutorial-card__title{color:var(--color-blue);margin:0 0 .75rem;font-size:2rem}.tutorial-card__description{color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.6}.tutorial-dots{justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.tutorial-dots__dot{cursor:pointer;background:#d1d5db;border:none;border-radius:50%;width:10px;height:10px;padding:0}.tutorial-dots__dot--active{background:var(--color-primary);transform:scale(1.2)}.page-header{justify-content:space-between;align-items:center;width:100%;padding:1rem;display:flex}.page-header--dark .page-header__back,.page-header--dark .page-header__skip{color:var(--color-white)}.page-header__back,.page-header__skip{color:var(--color-blue);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1rem;font-weight:600}.measure-page{flex-direction:column;min-height:100vh;display:flex}.measure-page--address{background:var(--color-surface)}.measure-address{flex:1;max-width:560px;margin:0 auto;padding:1rem 1.5rem 2rem}.measure-address h2{color:var(--color-blue);margin:0 0 1rem}.measure-address__note{border-left:4px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;background:#fff3e0;margin-bottom:1.5rem;padding:1rem;line-height:1.5}.measure-address__label{margin-bottom:.5rem;font-weight:600;display:block}.measure-address__input,.place-autocomplete-input{width:100%;margin-bottom:1rem}.place-autocomplete-input--disabled{opacity:.6;pointer-events:none}.place-autocomplete-input gmp-place-autocomplete{width:100%}.measure-address__error{color:#dc2626;font-size:.9rem}.measure-address__demo{background:var(--color-white);border-radius:var(--radius);border:1px dashed #d1d5db;margin-top:1rem;padding:1rem}.measure-page--error{background:var(--color-surface);padding:0 1rem 2rem}.measure-page--error .measure-address__demo{text-align:center;max-width:560px;margin:0 auto}.maps-setup-help{border-radius:var(--radius);color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;max-width:560px;margin:1rem auto;padding:1.25rem}.maps-setup-help h3{color:#991b1b;margin:0 0 .75rem;font-size:1.1rem}.maps-setup-help p{color:#7f1d1d;margin:0 0 .75rem;line-height:1.5}.maps-setup-help__error{font-weight:600}.maps-setup-help__list{margin:0 0 .75rem 1.25rem;padding:0;line-height:1.6}.maps-setup-help__hint{opacity:.9;font-size:.875rem}.maps-setup-help code{background:#0000000f;border-radius:4px;padding:.1rem .35rem;font-size:.85em}.measure-page--map{background:var(--color-bg-dark);height:100vh;overflow:hidden}.measure-map-instructions{color:var(--color-white);background:#0009;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.measure-map-instructions p{margin:0}.measure-map-instructions__total{color:var(--color-primary);white-space:nowrap;font-weight:700}.measure-map-container{flex:1;min-height:0}.measure-map-loading{height:100%;color:var(--color-white);justify-content:center;align-items:center;display:flex}.measure-edit-bar{color:var(--color-white);background:#0759a2f2;border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.measure-draft-bar{color:var(--color-white);background:#dc2626e6;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.measure-edit-bar__label{font-size:.9rem;font-weight:600}.measure-edit-bar__actions{flex-shrink:0;gap:.5rem;display:flex}.measure-section-list{background:#0000008c;gap:.5rem;padding:.75rem 1rem 0;display:flex;overflow-x:auto}.measure-section-list__item{min-width:96px;color:var(--color-white);cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.625rem .75rem;font-size:.8rem;display:flex}.measure-section-list__item span:last-child{color:var(--color-primary);font-weight:700}.measure-section-list__item--active{background:#4fc3f726;border-color:#4fc3f7}.measure-map-actions{background:#000c;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1rem;display:flex}.selection-page{background:var(--color-surface);flex-direction:column;min-height:100vh;display:flex}.selection-page__content{flex:1;width:100%;max-width:560px;margin:0 auto;padding:1rem 1.5rem 2rem}.selection-page__content h2{color:var(--color-blue);margin:0 0 .5rem}.selection-page__hint{color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}.selection-cards{flex-direction:column;gap:1rem;display:flex}.selection-card{background:var(--color-white);border-radius:var(--radius);cursor:pointer;text-align:left;border:2px solid #e5e7eb;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.selection-card:hover,.selection-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #ee712526}.selection-card__size{color:var(--color-primary);font-size:2rem;font-weight:800}.selection-card__label{color:var(--color-text);font-size:1.125rem;font-weight:700}.selection-card__description{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.results-page{background:var(--color-surface);min-height:100vh}.results-page__hero{background:linear-gradient(180deg, var(--color-blue) 0%, var(--color-blue-dark) 100%);padding-bottom:2rem}.results-page__logo{text-align:center;padding:0 1rem 1rem}.results-page__card{background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow);max-width:560px;margin:-1.5rem auto 1.5rem;padding:1.5rem}.results-page__disclaimer{color:var(--color-text-muted);margin:0 0 1rem;font-size:.9rem}.results-page__recommendation{color:var(--color-text-muted);margin:0 0 .5rem;font-size:1rem;font-weight:500}.results-page__feet{color:var(--color-blue);margin:0;font-size:3rem;font-weight:800;line-height:1}.results-page__kits{margin:.75rem 0 1rem;line-height:1.5}.results-page__product{border-radius:var(--radius);background:#f0f9ff;margin-bottom:1rem;padding:1rem}.results-page__product p{margin:0}.results-page__address{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.875rem}.results-page__address span{color:var(--color-text)}.results-page__materials{max-width:560px;margin:0 auto;padding:0 1rem 2rem}.results-page__materials>p{color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;display:grid}.materials-grid__item{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.materials-grid__icon{font-size:1.75rem}.privacy-footer{text-align:center;color:var(--color-text-muted);margin-top:auto;padding:1.5rem;font-size:.8rem}.tutorial-page .privacy-footer{color:#fff9}@media (width<=480px){.measure-edit-bar,.measure-draft-bar{flex-direction:column;align-items:stretch}.measure-edit-bar__actions{justify-content:stretch}.measure-edit-bar__actions .btn{flex:1}.measure-map-actions{flex-direction:column}.measure-map-actions .btn{width:100%}}
