:root{--color-success:#10b981;--color-error:#ef4444;--color-accent-offguard:#fc7343}.hero-calculator{min-height:calc(100vh - 80px);padding-top:40px;padding-bottom:80px}.container{max-width:1320px;margin:0 auto;padding-inline:24px}@media (width>=1280px){.container{padding-inline:40px}}.nav{z-index:50;max-width:1320px;margin:0 auto;padding-inline:24px;position:sticky;top:16px}@media (width>=1280px){.nav{padding-inline:40px}}.nav-inner{-webkit-backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #0000000f;border-radius:16px;justify-content:space-between;align-items:center;padding:10px 18px;display:flex;box-shadow:0 1px 2px #26262b0d,0 8px 24px -4px #26262b14}.nav-left{align-items:center;gap:20px;display:flex}.back-link{color:var(--ag-gray-600);background:var(--ag-gray-100);border:1px solid #0000000a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .18s;display:inline-flex}.back-link:hover{color:var(--ag-gray-950);background:var(--ag-gray-200)}.back-link span{font-size:15px;line-height:1;transition:transform .18s}.back-link:hover span{transform:translate(-2px)}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ag-gray-950);align-items:center;gap:8px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark span{color:var(--brand-600)}.nav-right{align-items:center;gap:12px;display:flex}.nav-badge{font-family:var(--font-mono);color:var(--ag-gray-600);background:var(--ag-gray-100);border:1px solid #0000000d;border-radius:9999px;padding:5px 12px;font-size:11.5px;font-weight:500}@media (width<=640px){.nav-badge{display:none}}.button{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.button-primary{background:var(--brand-500);color:#fff;padding:10px 20px;box-shadow:0 2px 8px #3275ff59}.button-primary:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 14px #3275ff73}.button-primary:active{transform:translateY(0)}.button-ghost{color:var(--ag-gray-900);border:1px solid var(--ag-gray-200);background:#fff;padding:9px 18px;box-shadow:0 1px 2px #0000000a}.button-ghost:hover{background:var(--ag-gray-50);border-color:var(--ag-gray-300);color:var(--ag-gray-950)}.nav-cta{background:var(--ag-gray-900);color:#fff;border:none;padding:7px 14px;font-size:13px;box-shadow:0 1px 3px #00000026}.nav-cta:hover{background:var(--ag-gray-950);color:#fff}.hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:36px;margin-bottom:28px;display:flex}.hero-head h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ag-gray-950);font-size:clamp(28px,3.5vw,40px);font-weight:800;line-height:1.15}.hero-head .lead{color:var(--ag-gray-600);max-width:600px;margin-top:8px;font-size:15px;line-height:1.5}.hero-actions{align-items:center;gap:12px;display:flex}.upload-button{cursor:pointer;position:relative;overflow:hidden}.upload-button input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.workbench{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);align-items:start;gap:28px;display:grid}@media (width<=1023px){.workbench{grid-template-columns:1fr}}.stage{background:#0b0e14;border:1px solid #0000001f;border-radius:20px;height:620px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d,0 12px 32px -4px #0f172a24}@media (width<=767px){.stage{height:420px}}.stage canvas{cursor:grab;width:100%;height:100%;display:block}.stage canvas:active{cursor:grabbing}.drop-hint{border:2px dashed var(--brand-500);-webkit-backdrop-filter:blur(10px);z-index:30;pointer-events:none;background:#0b0e14eb;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:12px}.drop-hint[hidden]{display:none!important}.drop-hint p{color:var(--brand-500);font-size:18px;font-weight:600}.stage-top{pointer-events:none;z-index:10;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:14px;left:14px;right:14px}.file-name{font-family:var(--font-mono);color:#e2e8f0;-webkit-backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;background:#0f141ed9;border:1px solid #ffffff1f;border-radius:8px;max-width:220px;padding:6px 12px;font-size:12px;font-weight:500;overflow:hidden}.demo-list{pointer-events:auto;gap:6px;display:flex}.chip{-webkit-backdrop-filter:blur(8px);color:#94a3b8;font-family:var(--font-sans);cursor:pointer;background:#0f141ed9;border:1px solid #ffffff1f;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.chip:hover{color:#fff;background:#192030e6;border-color:#ffffff40}.chip[aria-pressed=true]{background:var(--brand-500);border-color:var(--brand-500);color:#fff;font-weight:600;box-shadow:0 0 12px #3275ff73}.readout{-webkit-backdrop-filter:blur(12px);z-index:10;background:#0b0e14e0;border:1px solid #ffffff1a;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 14px;display:grid;position:absolute;bottom:34px;left:14px;right:14px}@media (width<=640px){.readout{grid-template-columns:1fr;gap:4px;bottom:30px}.readout div{justify-content:space-between;align-items:center;display:flex}}.readout dt{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.readout dd{font-family:var(--font-mono);color:#f8fafc;margin-top:2px;font-size:13.5px;font-weight:600}.stage-help{color:#64748b;pointer-events:none;font-size:11px;position:absolute;bottom:12px;left:14px}.panel{background:#fff;border:1px solid #26262b14;border-radius:20px;flex-direction:column;gap:22px;padding:28px;display:flex;box-shadow:0 1px 3px #26262b0a,0 12px 32px -4px #26262b0f}.status{min-height:20px;color:var(--ag-gray-600);font-size:13px;font-weight:500}.status.error{color:#ef4444}.status.success{color:#10b981}.group{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.group legend,.field-label,.legend-row,.field-label-row{color:var(--ag-gray-500);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;width:100%;margin-bottom:2px;font-size:12px;font-weight:700;display:flex}.legend-value{font-family:var(--font-mono);color:var(--brand-600);text-transform:none;font-size:12px;font-weight:600}.row{align-items:flex-end;gap:12px;display:flex}.rotate-row{flex-wrap:wrap;align-items:center;margin-top:8px}.rotate-row .field-label{margin-bottom:0;margin-right:4px}.rotate-row .chip{background:var(--ag-gray-100);border:1px solid var(--ag-gray-200);color:var(--ag-gray-800);border-radius:7px;padding:6px 12px}.rotate-row .chip:hover{background:var(--ag-gray-200);border-color:var(--brand-500);color:var(--brand-600)}.field{color:var(--ag-gray-600);flex-direction:column;gap:6px;font-size:12.5px;font-weight:500;display:flex}.field-inline{flex:1}input[type=text],input[type=number],select,textarea{background:var(--ag-gray-50);border:1px solid var(--ag-gray-200);color:var(--ag-gray-950);font-family:var(--font-sans);border-radius:8px;outline:none;padding:9px 12px;font-size:14px;transition:all .15s}input[type=number]{font-family:var(--font-mono)}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 3px #3275ff26}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=480px){.choices{grid-template-columns:1fr}}.choice-card{cursor:pointer;display:block;position:relative}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-body{border:1.5px solid var(--ag-gray-200);background:var(--ag-gray-50);border-radius:10px;padding:12px 14px;transition:all .18s}.choice-card:hover .choice-body{border-color:var(--ag-gray-300);background:#fff}.choice-card input:checked+.choice-body{border-color:var(--brand-500);box-shadow:0 0 0 1px var(--brand-500);background:#f0f5ff}.choice-title{color:var(--ag-gray-950);font-size:14px;font-weight:700}.choice-desc{color:var(--ag-gray-500);margin-top:3px;font-size:11.5px;line-height:1.35}.swatches{flex-wrap:wrap;align-items:center;gap:10px;padding-top:2px;display:flex}.swatch-label{cursor:pointer;position:relative}.swatch-label input{opacity:0;pointer-events:none;position:absolute}.swatch{border:2px solid #0000001f;border-radius:50%;width:30px;height:30px;transition:all .15s;display:block;box-shadow:0 1px 3px #0000001a}.swatch-label:hover .swatch{transform:scale(1.1)}.swatch-label input:checked+.swatch{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--brand-500);transform:scale(1.08)}.segmented{background:var(--ag-gray-100);border:1px solid var(--ag-gray-200);border-radius:10px;gap:3px;padding:3px;display:flex}.segmented label{text-align:center;cursor:pointer;flex:1;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{color:var(--ag-gray-600);white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:12.5px;font-weight:500;transition:all .15s;display:block}.segmented label:hover span{color:var(--ag-gray-950)}.segmented input:checked+span{color:var(--ag-gray-950);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}input[type=range]{appearance:none;background:var(--ag-gray-200);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px;margin-block:8px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand-500);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:transform .15s;box-shadow:0 1px 4px #0003}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.hint{color:var(--ag-gray-500);font-size:12px;line-height:1.4}.result{background:var(--ag-gray-950);color:#fff;border-radius:16px;margin-top:8px;padding:24px;box-shadow:0 4px 16px #00000026}.result-grid{border-bottom:1px solid #ffffff1f;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:16px;display:grid}.result-grid dt{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.result-grid dd{font-family:var(--font-mono);color:#f8fafc;margin-top:3px;font-size:16px;font-weight:600}.price{font-family:var(--font-mono);color:#fc7343;letter-spacing:-.02em;margin-block:16px 6px;font-size:34px;font-weight:800}.result .hint{color:#94a3b8;margin-bottom:18px;font-size:12px}.button-wide{width:100%;padding:13px 20px;font-size:15px}.calc-helper-card{background:#fff;border:1px solid #26262b14;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;padding:28px 32px;display:flex;box-shadow:0 1px 3px #26262b0a,0 8px 24px -4px #26262b0d}.calc-helper-content{max-width:640px}.calc-helper-content h3{color:var(--ag-gray-950);font-size:18px;font-weight:700}.calc-helper-content p{color:var(--ag-gray-600);margin-top:6px;font-size:14.5px;line-height:1.5}.calc-helper-content a{color:var(--brand-600);text-underline-offset:3px;font-weight:600;text-decoration:underline}.calc-helper-content a:hover{color:var(--brand-700)}.calc-helper-content code{font-family:var(--font-mono);background:var(--ag-gray-100);border:1px solid var(--ag-gray-200);color:var(--ag-gray-800);border-radius:4px;padding:2px 6px;font-size:12.5px}.dialog{background:var(--ag-gray-950);color:#fff;border:1px solid #ffffff1f;border-radius:20px;width:calc(100% - 32px);max-width:520px;margin:auto;padding:32px;box-shadow:0 24px 64px #0009}.dialog::backdrop{-webkit-backdrop-filter:blur(10px);background:#0b0e14bf}.dialog h2{color:#fff;margin-bottom:16px;font-size:22px;font-weight:700}.summary{font-family:var(--font-mono);white-space:pre-wrap;color:#d9d9de;background:#0e0f12;border:1px solid #ffffff14;border-radius:10px;margin-bottom:18px;padding:14px;font-size:12px;line-height:1.5}.dialog .field{color:#b8b9c1;margin-bottom:14px}.dialog input[type=text],.dialog textarea{color:#fff;background:#26262b;border:1px solid #ffffff1a}.dialog input[type=text]:focus,.dialog textarea:focus{border-color:var(--brand-500);background:#333338}.dialog .segmented{background:#26262b;border-color:#ffffff14}.dialog .segmented span{color:#b8b9c1}.dialog .segmented input:checked+span{color:#fff;background:#333338}.trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}#order-cancel{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .18s}#order-cancel:hover{color:#fff;background:#ffffff24}#order-submit{background:var(--brand-500);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .18s;box-shadow:0 2px 8px #3275ff66}#order-submit:hover{background:var(--brand-600);transform:translateY(-1px)}.footer{border-top:1px solid var(--ag-gray-200);background:#fff;margin-top:80px;padding:40px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-inner p{color:var(--ag-gray-500);font-size:13.5px}.footer-links{gap:20px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--ag-gray-600);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--ag-gray-950)}.skip{color:#fff;z-index:1000;background:#fc7343;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-80px;left:16px}.skip:focus{top:16px}.calc-bg-grid{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}body{background-color:var(--ag-gray-50);position:relative}.nav,main,.footer{z-index:1;position:relative}.section-head{margin-bottom:28px}.section-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-600);background:#3275ff14;border:1px solid #3275ff33;border-radius:9999px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ag-gray-950);font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.2}.section-head .lead{color:var(--ag-gray-600);max-width:680px;margin-top:8px;font-size:15px;line-height:1.5}.guide-section{margin-top:64px}.guide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}@media (width<=1100px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.guide-grid{grid-template-columns:1fr}}.guide-card{background:#fff;border:1px solid #26262b14;border-radius:18px;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;transition:all .2s cubic-bezier(.2,.8,.2,1);display:flex;box-shadow:0 1px 3px #26262b0a,0 8px 24px -4px #26262b0d}.guide-card:hover{border-color:#3275ff40;transform:translateY(-2px);box-shadow:0 2px 6px #26262b0f,0 14px 32px -4px #26262b17}.guide-card-top{justify-content:space-between;align-items:center;display:flex}.step-num{font-family:var(--font-mono);color:var(--brand-600);background:#3275ff14;border:1px solid #3275ff26;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.guide-card h3{font-family:var(--font-display);color:var(--ag-gray-950);margin-top:8px;font-size:17px;font-weight:700;line-height:1.3}.guide-card p{color:var(--ag-gray-600);margin-top:6px;font-size:13.5px;line-height:1.5}.guide-links{flex-direction:column;gap:8px;margin-top:8px;display:flex}.guide-link-btn{background:var(--ag-gray-50);border:1px solid var(--ag-gray-200);color:var(--ag-gray-800);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.guide-link-btn:hover{border-color:var(--brand-500);color:var(--brand-600);background:#f0f5ff}.guide-link-btn span{color:var(--ag-gray-500);font-size:11px;font-weight:400}.guide-pill{color:var(--ag-gray-700);background:var(--ag-gray-100);font-size:12px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.photo-order-section{margin-top:72px}.photo-order-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:stretch;gap:28px;display:grid}@media (width<=1023px){.photo-order-grid{grid-template-columns:1fr}}.photo-tips-card{background:#fff;border:1px solid #26262b14;border-radius:20px;flex-direction:column;justify-content:space-between;padding:32px;display:flex;box-shadow:0 1px 3px #26262b0a,0 10px 28px -4px #26262b0f}.photo-tips-list{flex-direction:column;gap:18px;margin-top:20px;display:flex}.photo-tip-item{align-items:flex-start;gap:14px;display:flex}.tip-badge{font-family:var(--font-mono);color:var(--brand-600);background:#3275ff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.tip-content h4{color:var(--ag-gray-950);font-size:14.5px;font-weight:700}.tip-content p{color:var(--ag-gray-600);margin-top:2px;font-size:13.5px;line-height:1.45}.photo-trust-banner{background:var(--ag-gray-100);border:1px solid var(--ag-gray-200);color:var(--ag-gray-700);border-radius:12px;align-items:center;gap:10px;margin-top:28px;padding:12px 16px;font-size:13px;display:flex}.photo-trust-banner strong{color:var(--ag-gray-950)}.photo-form-card{background:#fff;border:1px solid #26262b14;border-radius:20px;flex-direction:column;justify-content:space-between;padding:32px;display:flex;box-shadow:0 1px 3px #26262b0a,0 10px 28px -4px #26262b0f}.photo-form-card form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.photo-form-card .field{flex-direction:column;gap:6px;display:flex}.photo-form-card .field label{color:var(--ag-gray-600);font-size:12.5px;font-weight:600}.photo-submit-btn{background:var(--brand-500);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .18s;display:flex;box-shadow:0 2px 8px #3275ff59}.photo-submit-btn:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 14px #3275ff73}.form-subtext{color:var(--ag-gray-500);text-align:center;margin-top:8px;font-size:12px;line-height:1.4}
