:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{color:#1d1d1f;background:#f5f5f7;margin:0;padding:0;font-family:SF Pro JP,SF Pro Text,SF Pro Icons,Hiragino Kaku Gothic Pro,ヒラギノ角ゴ Pro W3,メイリオ,Meiryo,ＭＳ Ｐゴシック,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.4}.App{width:100%;max-width:980px;margin:0 auto;padding:40px 20px}.estimate-form{background:#fff;border-radius:18px;width:100%;margin:0 auto;overflow:hidden;box-shadow:0 4px 20px #00000014}.estimate-form h1{text-align:center;color:#1d1d1f;letter-spacing:-.003em;margin:0;padding:40px 40px 30px;font-size:30px;font-weight:600}.form-section{border-top:1px solid #0000000d;padding:40px}.form-section:first-child{border-top:none}.form-section h2{color:#1d1d1f;letter-spacing:-.003em;margin:0 0 12px;font-size:20px;font-weight:600}.step-header{margin-bottom:24px}.back-btn{color:#007aff;cursor:pointer;background:#007aff1a;border:none;border-radius:20px;margin-bottom:16px;padding:10px 20px;font-size:15px;font-weight:500;transition:all .2s;display:inline-block}.back-btn:hover{background:#007aff33;transform:translate(-2px)}.category-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}.category-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #0000000d;border-radius:18px;padding:40px 32px;transition:all .3s;position:relative;overflow:hidden}.category-card:before{content:"";opacity:0;background:linear-gradient(135deg,#0000,#007aff0d);transition:opacity .3s;position:absolute;inset:0}.category-card:hover:before{opacity:1}.category-card:hover{border-color:#007aff;transform:translateY(-4px);box-shadow:0 20px 40px #007aff26}.category-icon{margin-bottom:16px;font-size:48px}.category-image{border-radius:8px;width:100%;margin-bottom:16px;overflow:hidden}.category-image img{width:100%;height:auto;display:block}.category-card h3{color:#1d1d1f;margin:0 0 8px;font-size:20px;font-weight:600}.category-card p{color:#86868b;margin:0 0 16px;font-size:15px}.category-card ul{text-align:left;margin:16px 0 0;padding:0;list-style:none}.category-card li{color:#515154;margin:4px 0;padding-left:16px;font-size:13px;position:relative}.category-card li:before{content:"•";color:#007aff;font-weight:700;position:absolute;left:0}.category-badge{color:#fff;background:#007aff;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:16px;right:16px}.category-badge.ready{background:#ff9500}.lever-type-grid,.product-form-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}.lever-card,.form-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #0000000d;border-radius:18px;padding:32px 24px;transition:all .3s;position:relative}.lever-card:hover,.form-card:hover{border-color:#007aff;transform:translateY(-2px);box-shadow:0 12px 24px #007aff1a}.lever-icon,.form-icon{margin-bottom:16px;font-size:40px}.lever-image,.form-image{object-fit:cover;border-radius:12px;width:100%;max-width:250px;height:auto;margin-bottom:16px}.lever-card h3,.form-card h3{color:#1d1d1f;margin:0 0 8px;font-size:20px;font-weight:600}.lever-card p,.form-card p{color:#86868b;margin:0 0 12px;font-size:14px}.lever-card ul,.form-card ul{text-align:left;margin:12px 0 0;padding:0;list-style:none}.lever-card li,.form-card li{color:#515154;margin:3px 0;padding-left:12px;font-size:13px;position:relative}.lever-card li:before,.form-card li:before{content:"✓";color:#34c759;font-size:10px;position:absolute;left:0}.form-badge{color:#fff;background:#34c759;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}.form-badge.case{background:#8e8e93}.version-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px;display:grid}.version-btn{color:#1d1d1f;cursor:pointer;background:#f5f5f7;border:2px solid #0000;border-radius:12px;padding:16px 20px;font-size:16px;font-weight:500;transition:all .2s}.version-btn:hover{background:#e8e8ed;border-color:#007aff}.version-btn.active{color:#fff;background:#007aff;border-color:#007aff}.color-section{margin-bottom:40px}.color-section h3{color:#1d1d1f;margin:0 0 8px;font-size:18px;font-weight:600}.color-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px;display:grid}.color-btn{color:#1d1d1f;cursor:pointer;text-align:center;background:#f5f5f7;border:2px solid #0000;border-radius:12px;flex-direction:column;gap:4px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.color-price{color:#86868b;font-size:12px;font-weight:400}.color-btn.active .color-price{color:#fffc}.color-btn:hover{background:#e8e8ed;border-color:#007aff}.color-btn.active{color:#fff;background:#007aff;border-color:#007aff}.price-summary{background:linear-gradient(135deg,#f5f5f7,#fff);border-radius:18px;margin-top:40px;border:none!important}.price-breakdown{margin-top:24px}.breakdown-item{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px;display:flex}.breakdown-item:last-child{border-bottom:none}.breakdown-item span:first-child{color:#515154}.breakdown-item span:last-child{color:#1d1d1f;font-weight:600}.total-price{text-align:center;border-radius:12px;margin-top:24px;padding:20px;font-size:20px;font-weight:600;color:#fff!important;background:linear-gradient(135deg,#007aff,#5856d6)!important}.ready-products{grid-template-columns:1fr;gap:12px;margin-top:24px;display:grid}.product-type-btn{color:#1d1d1f;cursor:pointer;text-align:left;background:#f5f5f7;border:2px solid #0000;border-radius:12px;padding:16px 20px;font-size:16px;font-weight:500;transition:all .2s}.product-type-btn:hover{background:#e8e8ed;border-color:#007aff}.product-type-btn.active{color:#fff;background:#007aff;border-color:#007aff}.loading{text-align:center;color:#86868b;padding:40px;font-size:16px}.no-colors-message{text-align:center;color:#86868b;grid-column:1/-1;padding:40px;font-size:16px}.step-subtitle{color:#86868b;margin:8px 0 0;font-size:16px}.color-select-btn{color:#1d1d1f;cursor:pointer;background:#fff;border:2px solid #d2d2d7;border-radius:12px;width:100%;margin-top:8px;padding:16px 24px;font-size:16px;font-weight:500;transition:all .2s}.color-select-btn:hover{border-color:#007aff}.color-select-btn.selected{background:#fff;border-color:#007aff}.color-select-btn.waiting{opacity:.5;pointer-events:none}.color-category-selection,.color-detail-selection{background:#f5f5f7;border-radius:12px;margin-top:16px;padding:20px}.color-category-selection h4,.color-detail-selection h4{color:#1d1d1f;margin:0 0 16px;font-size:18px;font-weight:600}.color-category-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.color-category-btn{color:#1d1d1f;cursor:pointer;background:#fff;border:2px solid #0000001a;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.color-category-btn:hover{background:#007aff0d;border-color:#007aff}.same-as-mid-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#34c759,#30d158);border:none;border-radius:12px;width:100%;margin-bottom:16px;padding:16px 20px;font-size:15px;font-weight:600;transition:all .2s}.same-as-mid-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #34c7594d}.version-modal-grid{flex-direction:column;gap:16px;display:flex}.version-modal-btn{cursor:pointer;text-align:left;background:#f5f5f7;border:2px solid #0000;border-radius:16px;align-items:center;gap:20px;padding:16px;transition:all .2s;display:flex}.version-modal-btn:hover{background:#e8e8ed;border-color:#007aff;transform:translateY(-2px)}.version-modal-btn.active{background:#007aff;border-color:#007aff}.version-image{object-fit:contain;border-radius:12px;flex-shrink:0;width:120px;height:120px}.version-info{flex-direction:column;gap:4px;display:flex}.version-name{color:#1d1d1f;font-size:20px;font-weight:600}.version-modal-btn.active .version-name{color:#fff}.version-price{color:#86868b;font-size:14px}.version-modal-btn.active .version-price{color:#fffc}.color-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.color-modal{background:#fff;border-radius:18px;flex-direction:column;width:100%;max-width:800px;max-height:80vh;display:flex;box-shadow:0 20px 60px #0000004d}.color-modal-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:24px 24px 16px;display:flex}.color-modal-header h3{color:#1d1d1f;margin:0;font-size:24px;font-weight:600}.color-modal-close{color:#6e6e73;cursor:pointer;background:#e5e5ea;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;font-size:18px;font-weight:600;transition:all .2s;display:flex}.color-modal-close:hover{background:#d1d1d6}.color-modal-body{flex:1;padding:24px 40px;overflow-y:auto}.color-modal-grid{flex-direction:column;gap:8px;display:flex}.color-modal-btn{color:#1d1d1f;cursor:pointer;text-align:left;background:#f5f5f7;border:2px solid #0000;border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.color-modal-btn:hover{background:#e8e8ed;border-color:#007aff;transform:translateY(-2px)}.color-modal-btn.active{color:#fff;background:#007aff;border-color:#007aff}.color-modal-btn .color-price{color:#86868b;font-size:13px;font-weight:400}.color-modal-btn.active .color-price{color:#fffc}.color-name-with-swatch{align-items:center;gap:12px;display:flex}.color-swatch{border:none;border-radius:50%;flex-shrink:0;width:32px;height:32px;transition:transform .15s,box-shadow .15s;position:relative;box-shadow:inset -2px -2px 4px #00000026,inset 1px 1px 2px #fff3}.color-modal-btn.active .color-swatch,.color-select-btn.selected .color-swatch{box-shadow:0 0 0 3px #fff,0 0 0 6px #2563eb,inset -2px -2px 4px #00000026,inset 1px 1px 2px #fff3}.color-swatch.glossy:after{content:"";pointer-events:none;background:linear-gradient(145deg,#ffffff40 0%,#0000 40%);border-radius:50%;position:absolute;inset:0}.color-swatch.matte:after{display:none}.color-swatch.clear{background-color:#ffffffe6;box-shadow:inset -2px -2px 4px #0000001a,inset 1px 1px 2px #ffffff80,inset 0 0 0 1px #00000014}.color-swatch.clear:after{display:none}.color-swatch.clear-color{position:relative;overflow:hidden}.color-swatch.clear-color:before{content:"";background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 2.5px,2.5px -2.5px,-2.5px 0;background-size:5px 5px;height:40%;position:absolute;bottom:0;left:0;right:0}.color-swatch.clear-color:after{content:"";background:linear-gradient(to bottom,inherit 50%,transparent 100%);background:inherit;border-radius:50%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 70%,#00000080 100%);mask-image:linear-gradient(#000 0% 70%,#00000080 100%)}.color-swatch.matte-clear{background:linear-gradient(135deg,#fffffff2 0%,#f5f5f5e6 50%,#fffffff2 100%);position:relative;overflow:hidden}.color-swatch.matte-clear:before{content:"";background-color:#fff;background-image:linear-gradient(45deg,#ddd 25%,#0000 25%),linear-gradient(-45deg,#ddd 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ddd 75%),linear-gradient(-45deg,#0000 75%,#ddd 75%);background-position:0 0,0 2.5px,2.5px -2.5px,-2.5px 0;background-size:5px 5px;height:40%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}.color-swatch.matte-clear:after,.color-swatch.special:after{display:none}.color-swatch.smoke{opacity:.7}.color-swatch.smoke:after{display:none}.color-swatch.opal{background-color:#fafafaf2;box-shadow:inset -2px -2px 4px #00000014,inset 1px 1px 2px #ffffff80,inset 0 0 0 1px #0000000f}.color-swatch.opal:after{display:none}.color-swatch.fluorescent{filter:saturate(1.3)brightness(1.1)}.color-swatch.fluorescent:after{display:none}.options-list{flex-direction:column;gap:12px;display:flex}.option-item{width:100%}.option-item .color-select-btn{text-align:left;width:100%}.toggle-other-options-btn{color:#86868b;cursor:pointer;text-align:left;background:#8e8e931f;border:none;border-radius:12px;width:100%;margin-top:16px;padding:14px 20px;font-size:15px;font-weight:500;transition:all .2s}.toggle-other-options-btn:hover{color:#1d1d1f;background:#8e8e9333}.options-list.other-options{background:#8e8e930f;border-radius:12px;margin-top:12px;padding:16px}.choice-name{align-items:center;gap:8px;display:flex}.recommended-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#ff9500,#ff6b00);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.size-guide-link{color:#007aff;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0 0 16px;padding:0;font-size:14px;font-weight:400;transition:opacity .2s;display:inline-flex}.size-guide-link:hover{opacity:.7}.size-guide-link .plus-icon{font-size:16px;display:inline-block}.size-dimensions{color:#86868b;margin-top:4px;font-size:12px;display:block}.size-price-inline{color:#007aff;font-weight:500}.custom-size-form{background:#007aff0d;border-radius:12px;margin-top:20px;padding:20px}.custom-size-form h4{color:#1d1d1f;margin:0 0 16px;font-size:15px;font-weight:600}.custom-size-inputs{gap:12px;display:flex}.size-input-group{flex:1}.size-input-group label{color:#86868b;margin-bottom:4px;font-size:12px;display:block}.size-input-group input{border:1px solid #0000001a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:15px;transition:border-color .2s}.size-input-group input:focus{border-color:#007aff}.size-result{background:#fff;border-radius:8px;justify-content:space-between;margin-top:16px;padding:12px;font-size:14px;font-weight:500;display:flex}.confirm-custom-size-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007aff,#5856d6);border:none;border-radius:10px;width:100%;margin-top:16px;padding:14px;font-size:15px;font-weight:600;transition:opacity .2s}.confirm-custom-size-btn:hover{opacity:.9}.confirm-custom-size-btn:disabled{cursor:not-allowed;background:#c7c7cc}.size-guide-modal{max-width:700px}.size-guide-content{color:#1d1d1f;font-size:15px;line-height:1.6}.size-guide-intro{color:#515154;margin:0 0 20px;font-size:14px;line-height:1.6}.size-guide-highlight{background:#007aff14;border-left:3px solid #007aff;border-radius:8px;margin:0 0 24px;padding:16px}.size-guide-highlight p{color:#1d1d1f;margin:0 0 8px;font-size:14px}.size-guide-highlight p:last-child{margin-bottom:0}.size-guide-note-inline{color:#515154;font-size:13px;line-height:1.6}.size-guide-section{border-bottom:1px solid #00000014;gap:20px;padding:20px 0;display:flex}.size-guide-section:last-of-type{border-bottom:none}.version-guide-image{object-fit:contain;flex-shrink:0;width:120px;height:120px}.version-guide-text{flex:1}.size-guide-section h4{color:#1d1d1f;margin:0 0 8px;font-size:20px;font-weight:600}.size-spec{color:#86868b;margin:0 0 12px;font-size:13px;font-weight:500}.size-guide-section p{color:#515154;margin:0 0 8px;font-size:14px}.size-price-info{color:#007aff;margin:8px 0 0;font-size:14px;font-weight:600}.size-guide-note{color:#515154;background:#00000008;border-radius:8px;margin-top:16px;padding:12px 16px;font-size:13px;line-height:1.6}.size-guide-note:first-of-type{margin-top:24px}@media (max-width:768px){.App{padding:20px 16px}.estimate-form{border-radius:16px}.estimate-form h1{padding:30px 20px 20px;font-size:24px}.form-section{padding:24px 20px}.form-section h2{margin-bottom:16px;font-size:20px}.category-grid,.lever-type-grid,.product-form-grid{grid-template-columns:1fr;gap:16px}.version-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
