:root{--bg-app:#f5f7fa;--bg-card:#fff;--bg-widget:#fff;--bg-panel:#fff;--bg-input:#f8fafc;--bg-config:#cbd5e1;--bg-canvas:#94a3b8;--bg-results:#4a6b5d;--text-data:#0f172a;--text-heading:#1e293b;--text-main:#334155;--text-muted:#475569;--text-subtle:#64748b;--accent-primary:#4a6b5d;--accent-primary-light:#e8f0ec;--accent-primary-dark:#3a5549;--accent-secondary:#8b7355;--accent-warning:#d97706;--accent-success:#059669;--border-light:#e2e8f0;--accent-gold:#d97706;--accent-cyan:#0891b2;--accent-green:#10b981;--border-card:#94a3b8;--border-input:#d1d5db;--border-grid:#94a3b8;--border-subtle:#cbd5e1;--border-medium:#94a3b8;--border-strong:#64748b;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d, 0 0 0 1px #00000008;--shadow-lg:0 10px 20px -4px #0000001a, 0 4px 8px -4px #0000000f, 0 0 0 1px #0000000a;--shadow-xl:0 20px 40px -8px #00000024, 0 8px 16px -6px #00000014, 0 0 0 1px #0000000a;--shadow-green:0 8px 24px -4px #4a6b5d59, 0 0 0 1px #4a6b5d26;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px}*{box-sizing:border-box}body{color:var(--text-main);background-color:#eef2f7;background-image:radial-gradient(at 20%,#4a6b5d14 0%,#0000 60%),radial-gradient(at 80% 20%,#8b73550f 0%,#0000 50%),linear-gradient(160deg,#eef2f7 0%,#e8edf5 50%,#edf2ee 100%);flex-direction:column;min-height:100vh;margin:0;padding:0;font-family:Inter,sans-serif;display:flex;overflow:hidden auto}@media (height<=700px){body{overflow-y:auto}}.page-header{text-align:center;background-color:var(--bg-card);border-bottom:3px solid var(--accent-primary);flex-shrink:0;width:100%;padding:.5rem 24px}.page-header h1{color:var(--accent-primary);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin:.2rem 0 0;font-size:.75rem;font-weight:500}.studio-grid{flex-shrink:0;grid-template-columns:3fr 7fr 2fr;gap:12px;width:100%;max-width:1600px;height:calc(100vh - 120px);min-height:600px;max-height:950px;margin:0 auto;padding:12px;display:grid;overflow:hidden}@media (width>=768px){.studio-grid{grid-template-columns:3fr 7fr 2fr;display:grid}}body.vh-dense .page-header{padding:4px 24px}body.vh-dense .page-header h1{font-size:1.2rem}body.vh-dense .config-section{padding:8px}body.vh-dense .studio-grid{gap:8px;padding:8px}body.vh-dense .rolls-big{font-size:1.8rem}body.vh-dense .cost-big{font-size:1.2rem}body.vh-dense .result-card{margin-bottom:8px;padding:8px}.metrics-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.metric-group{flex-direction:column;gap:4px;display:flex}.efficiency-row-compact{border-top:1px solid var(--border-subtle);align-items:center;gap:10px;padding-top:8px;display:flex}.efficiency-chart-small{width:24px;height:24px}@media (width>=768px){.mobile-fallback{display:none}}.config-column{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;gap:12px;min-height:0;padding:12px;display:flex;overflow-y:auto}.config-header{border-bottom:1px solid var(--border-subtle);padding-bottom:12px}.config-header h1{color:var(--text-heading);margin:0;font-size:1.1rem;font-weight:700}.config-header p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 0;font-size:.65rem}.config-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#ffffffeb;padding:10px}.section-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-icon{font-size:1rem}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-heading);flex:1;font-size:.75rem;font-weight:700}.section-actions{gap:4px;display:flex}.action-btn-sm{background:var(--bg-card);border:1px solid var(--border-medium);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:.65rem;font-weight:600;transition:all .2s;position:relative;overflow:hidden}.action-btn-sm:hover{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary-dark)}.input-grid-2col{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.input-grid-3col{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.input-group{flex-direction:column;gap:4px;min-width:0;display:flex}.input-group label{color:#475569;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;margin-bottom:2px;font-size:.6rem;font-weight:700;display:flex}.input-group input,.input-group select{width:100%;color:var(--text-main);box-sizing:border-box;background:#f7fafc;border:1px solid #cbd5e0;border-radius:8px;max-width:100%;padding:10px 12px;font-size:.9rem;font-weight:500;transition:all .2s;box-shadow:inset 0 1px 2px #00000014}.input-group input:focus,.input-group select:focus{border-color:var(--accent-primary);background:#fff;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #4a6b5d26,inset 0 1px 2px #0000000a}.input-group input:disabled{opacity:.4;cursor:not-allowed;transform:none}.obstacle-list{flex-grow:0;max-height:130px;font-size:.7rem;overflow-y:auto}.empty-state{color:var(--text-muted);text-align:center;padding:12px;font-size:.7rem;font-style:italic}.obs-item{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;gap:6px;margin-bottom:6px;padding:8px 10px;display:flex}.obs-type-label{color:var(--text-heading);text-transform:uppercase;letter-spacing:.04em;font-size:.6rem;font-weight:700}.obs-dims{align-items:center;gap:8px;display:flex}.obs-dim-group{align-items:center;gap:3px;display:flex}.obs-dim-label{color:var(--text-subtle);text-transform:uppercase;font-size:.55rem;font-weight:700}.obs-dim-unit{color:var(--text-subtle);font-size:.55rem}.obs-dim-input{border:1px solid var(--border-input);width:42px;color:var(--text-main);background:var(--bg-card);text-align:center;border-radius:4px;padding:3px 5px;font-size:.7rem;font-weight:600}.obs-dim-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #4a6b5d26}.obs-remove{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:1rem;line-height:1}.obs-remove:hover{color:#f87171}.pattern-match-section{margin-top:12px}.pattern-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:.65rem;display:block}.pattern-match-icons{gap:4px;display:flex}.pattern-btn{background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;transition:all .2s;display:flex;position:relative;overflow:hidden}.pattern-btn span{color:var(--text-muted);font-size:.55rem;font-weight:500}.pattern-btn.active{background:var(--accent-primary-light);border-color:var(--accent-primary)}.pattern-btn.active span{color:var(--accent-primary-dark)}.pattern-icon{align-items:flex-end;gap:3px;height:14px;display:flex}.pattern-line{background:var(--text-muted);border-radius:1px;width:2px;height:12px}.pattern-line.offset{transform:translateY(-4px)}.pattern-line.drop{transform:translateY(4px)}.pattern-hint{color:var(--text-muted);word-wrap:break-word;margin-top:4px;font-size:.6rem;font-style:italic;line-height:1.2}.help-section details summary{cursor:pointer;outline:none;list-style:none}.help-section details summary::-webkit-details-marker{display:none}.faq-mini-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.faq-mini-item h4{color:var(--text-heading);margin:0;font-size:.7rem;font-weight:700}.faq-mini-item p{color:var(--text-muted);margin:2px 0 0;font-size:.65rem;line-height:1.3}.canvas-column{background:linear-gradient(#f1f5f9 0%,#e8eef5 100%);border-left:none;border-right:none;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.wall-nav{background:var(--bg-card);border-bottom:1px solid var(--border-card);flex-shrink:0;gap:0;padding:0;display:flex}.workspace-main{background:var(--bg-canvas);flex-direction:column;gap:0;height:100%;display:flex}.wall-nav-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;padding:12px 8px;transition:all .2s;display:flex;position:relative;overflow:hidden}.wall-nav-btn:hover{background:var(--bg-app);color:var(--text-main)}.wall-nav-btn.active{background:var(--bg-card);border-bottom:3px solid var(--accent-primary);color:var(--accent-primary);font-weight:700}.wall-label{text-transform:uppercase;letter-spacing:.05em;color:inherit;font-size:.6rem;font-weight:600}.wall-nav-btn.active .wall-label{color:var(--accent-primary)}.wall-dim{color:var(--text-data);font-size:.85rem;font-weight:700}.wall-visualizer{border-radius:var(--radius-md);background:#fff;border:1px solid #cbd5e1;flex-grow:1;justify-content:center;align-items:center;min-height:0;margin:12px;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px -4px #0000001f,0 0 0 1px #94a3b866,inset 0 1px #fffc}.wall-visualizer canvas{width:100%;height:100%;display:block}.viz-legend{backdrop-filter:blur(4px);border:1px solid var(--border-light);z-index:10;background:#0f172a;border-radius:12px;gap:10px;padding:5px 10px;display:flex;position:absolute;bottom:10px;left:10px}.legend-item{color:#94a3b8;align-items:center;gap:4px;font-size:.5rem;display:flex}.dot{border-radius:2px;width:6px;height:6px}.dot.wall{background:#64748b66}.dot.seam{background:var(--accent-gold);border-radius:0;width:2px;height:10px}.dot.pattern{background:0 0;border:1px solid #ffffff4d;border-radius:0;width:10px;height:2px}.dot.obstacle{background:#000;border:1px solid #bc13fe}.roll-cutlist-section{height:70px;color:var(--text-main);background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;padding:8px 16px;display:flex}.cutlist-header .cutlist-title{color:#475569}.cutlist-header .cutlist-sub{color:#94a3b8}.cutlist-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cutlist-title{text-transform:uppercase;letter-spacing:.15em;color:#475569;font-size:.75rem;font-weight:800}.cutlist-sub{color:#64748b;font-size:.65rem;font-weight:600}.roll-cutlist{background:#f1f5f9;border:1px solid #94a3b8;border-radius:6px;align-items:center;gap:0;height:32px;display:flex;position:relative;overflow:hidden}.roll-cutlist:before{content:"";opacity:.5;pointer-events:none;background-image:repeating-linear-gradient(90deg,#94a3b8,#94a3b8 1px,#0000 1px 10px);height:6px;position:absolute;top:0;left:0;right:0}.cutlist-segment{color:#475569;background:#f0fdf4;border:1px solid #0000001a;justify-content:center;align-items:center;height:100%;font-size:.75rem;font-weight:700;display:flex;position:relative;box-shadow:inset 0 0 10px #0000000d}.cutlist-segment:last-child{border-right:none}.cutlist-segment.waste{background:#fee2e2 repeating-linear-gradient(45deg,#0000,#0000 5px,#ef44441a 5px 10px);border-left:2px dashed #f87171;border-right:none}.cutlist-segment.waste:before{content:"";z-index:2;background:#fee2e2;border:2px solid #dc2626;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.cutlist-segment.waste:after{content:"WASTE";color:#dc2626;letter-spacing:.05em;font-size:.5rem;font-weight:800}.config-column{background:var(--bg-card);border-right:1px solid var(--border-subtle);scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.config-column::-webkit-scrollbar{width:6px}.config-column::-webkit-scrollbar-track{background:#0003}.config-column::-webkit-scrollbar-thumb{background:#64748b80;border-radius:3px}.config-column::-webkit-scrollbar-thumb:hover{background:#64748bb3}.results-column::-webkit-scrollbar{width:6px}.results-column::-webkit-scrollbar-track{background:#0003}.results-column::-webkit-scrollbar-thumb{background:#64748b80;border-radius:3px}.obstacle-list::-webkit-scrollbar{width:4px}.obstacle-list::-webkit-scrollbar-track{background:0 0}.obstacle-list::-webkit-scrollbar-thumb{background:#64748b66;border-radius:2px}.results-column{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;gap:12px;height:100%;padding:16px 16px 80px;display:flex;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.result-card{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);color:var(--text-main);border-radius:12px;flex-shrink:0;padding:16px;transition:box-shadow .3s,transform .3s}.result-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.result-card.headline-card{flex-shrink:0;padding-bottom:20px}.card-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-heading);margin-bottom:10px;font-size:.7rem;font-weight:700}.headline-card{background:var(--bg-results);color:#fff;box-shadow:var(--shadow-green);z-index:10;border-radius:var(--radius-lg);border:none;padding:0;overflow:hidden;transform:scale(1.02)}.headline-card:hover{transform:scale(1.02)translateY(-2px);box-shadow:0 12px 32px -4px #4a6b5d73,0 0 0 1px #4a6b5d33}.headline-card .card-title{color:#fffc;letter-spacing:.15em;background:#0003;margin:0;padding:12px 16px;font-size:.75rem}.headline-card-content{text-align:center;padding:1rem 0}.rolls-big{color:#fff;margin-bottom:4px;font-size:2.75rem;font-weight:900;line-height:1}.rolls-label{text-transform:uppercase;color:#fffc;letter-spacing:.1em;margin-bottom:16px;font-size:.7rem;font-weight:600}.cost-big{color:#fff;margin-bottom:12px;font-size:2.25rem;font-weight:900}.batch-warning{color:#f8fafc;background:#ffffff26;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:.7rem;font-weight:600;display:flex}.batch-icon{filter:drop-shadow(0 0 2px #0000004d);font-size:.9rem}.stat-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.stat-row:last-child{border-bottom:none}.stat-label{color:var(--text-muted);font-size:.7rem}.stat-value{color:var(--text-data);font-size:.8rem;font-weight:600}.efficiency-row{padding:6px 0}.efficiency-info{flex-direction:column;display:flex}.efficiency-chart{width:32px;height:32px}.donut{width:100%;height:100%}.donut-ring{stroke:var(--border-subtle);stroke-width:4px}.donut-segment{stroke:var(--accent-primary);stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .7s cubic-bezier(.34,1.56,.64,1),stroke .4s,filter .4s}#efficiency-segment{transform-box:fill-box;transform-origin:50%;transform:rotate(-90deg)}.donut-segment.efficiency-high{filter:drop-shadow(0 0 3px #10b98199)}.donut-segment.efficiency-mid{filter:drop-shadow(0 0 3px #f59e0b66)}.donut-segment.efficiency-low{filter:drop-shadow(0 0 3px #ef444466)}.shopping-card{border:1px solid var(--border-subtle);background:#fff}.shopping-math{color:var(--text-muted);text-align:center;background:var(--bg-input);letter-spacing:.02em;border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:10px;padding:8px 10px;font-family:Courier New,monospace;font-size:.65rem}.shopping-summary{color:var(--text-muted);text-align:center;font-size:.75rem;line-height:1.5}.shopping-summary strong{color:var(--accent-primary);font-weight:700}.overage-control{background:var(--bg-input);border:1px solid var(--border-light);border-radius:6px;margin-top:12px;padding:10px}.overage-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.overage-main-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:700}.overage-value-display{color:var(--accent-primary);text-align:right;min-width:28px;font-size:.75rem;font-weight:800}.overage-slider-row{align-items:center;gap:6px;display:flex}.overage-slider-label{color:var(--text-subtle);flex-shrink:0;font-size:.55rem}.overage-slider{-webkit-appearance:none;cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.overage-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-primary);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 1px 4px #4a6b5d66}.overage-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.overage-slider::-moz-range-thumb{background:var(--accent-primary);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px}.overage-ticks{justify-content:space-between;margin-top:4px;padding:0 2px;display:flex}.overage-ticks span{color:var(--text-subtle);font-size:.5rem}.overage-badge{color:#10b981;background:#10b98126;border-radius:4px;padding:3px 6px;font-size:.55rem;font-weight:700;display:none}.stat-value.waste{color:#fb923c}.stat-value.gross{color:#a78bfa}.stat-value.efficiency{color:#10b981}.how-it-works-final{width:100%;max-width:900px;margin:60px auto;padding:0 20px}.professional-header{text-align:center;color:var(--text-heading);letter-spacing:1px;margin-bottom:12px;font-size:1.5rem;font-weight:800}.header-divider{background:#4a6b5d;border-radius:2px;width:60px;height:4px;margin:0 auto 40px}.onboarding-grid-final{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.onboarding-card-final{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:30px 24px;transition:all .3s;position:relative}.onboarding-card-final:hover{box-shadow:var(--shadow-md);border-color:#4a6b5d;transform:translateY(-5px)}.step-indicator{color:#fff;background:#4a6b5d;border-radius:8px;padding:4px 12px;font-size:.9rem;font-weight:800;position:absolute;top:-15px;left:24px;box-shadow:0 4px 12px #4a6b5d4d}.card-title-final{color:var(--text-heading);margin-top:10px;margin-bottom:12px;font-size:1.15rem;font-weight:700}.card-body-final{color:var(--text-main);margin:0;font-size:.9rem;line-height:1.6}.faq-section{max-width:900px;margin:60px auto;padding:0 20px}.faq-header{text-align:center;color:var(--text-heading);letter-spacing:1px;margin-bottom:12px;font-size:1.5rem;font-weight:800}.faq-divider{background:#4a6b5d;border-radius:2px;width:60px;height:4px;margin:0 auto 40px}.faq-item{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;margin-bottom:16px;transition:all .3s;overflow:hidden}.faq-item:hover{border-color:var(--border-medium)}.faq-item summary{color:var(--text-heading);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 24px;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:#4a6b5d;font-size:1.5rem;transition:transform .3s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--text-main);margin:0;padding:0 24px 20px;font-size:.95rem;line-height:1.7}.faq-item strong{color:#4a6b5d}@media (width<=768px){.onboarding-grid-final{grid-template-columns:minmax(0,1fr);overflow:hidden}}@media (width<=1200px){.studio-grid{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none;overflow:visible}.config-column{order:1;height:auto;max-height:none;overflow-y:visible}.canvas-column{order:2;height:480px;min-height:480px}.results-column{flex-flow:wrap;order:3;height:auto;padding-bottom:16px;overflow-y:visible}.result-card{flex:1;min-width:220px}}@media (width<=640px){.studio-grid{gap:6px;padding:6px}.canvas-column{height:320px;min-height:320px}.results-column{flex-direction:column}.result-card{min-width:0}.action-btn-sm{padding:7px 10px;font-size:.7rem}.pattern-btn,.wall-nav-btn{padding:8px 4px}.wall-label{font-size:.5rem}.wall-dim{font-size:.7rem}}body,.config-column,.results-column,.config-section,.result-card,.glass-navbar,.page-header,.wall-nav,.roll-cutlist-section,.wall-visualizer,.faq-item,.onboarding-card-final,.shopping-card,.shopping-math,.overage-control{transition:background-color .3s,border-color .3s,color .2s,box-shadow .3s}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(1px)}}.glass-input.input-error,.input-error{border-color:#ef4444;animation:.4s cubic-bezier(.36,.07,.19,.97) both shake;box-shadow:0 0 0 3px #ef444426}.error-tip{color:#ef4444;margin-top:2px;font-size:.6rem;font-weight:500;display:none}@keyframes ripple-expand{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(3)}}.ripple{pointer-events:none;transform-origin:50%;background:#4a6b5d40;border-radius:50%;width:40px;height:40px;animation:.5s ease-out forwards ripple-expand;position:absolute}.dark-mode-toggle{border:1px solid var(--border-subtle);background:var(--bg-input);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;transition:all .2s;display:flex}.dark-mode-toggle:hover{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary);transform:rotate(15deg)}.icon-moon{display:block}.icon-sun,[data-theme=dark] .icon-moon{display:none}[data-theme=dark] .icon-sun{display:block}.btn-download-list{background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;padding:10px 16px;font-size:.7rem;font-weight:700;transition:all .2s;display:flex;position:relative;overflow:hidden}.btn-download-list:hover{background:var(--accent-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4a6b5d4d}.tooltip-anchor{cursor:help;vertical-align:middle;align-items:center;margin-left:3px;display:inline-flex;position:relative}.tooltip-icon{color:var(--text-subtle);transition:color .2s;display:block}.tooltip-anchor:hover .tooltip-icon{color:var(--accent-primary)}.tooltip-content{color:#f1f5f9;white-space:normal;pointer-events:none;opacity:0;z-index:100;width:180px;box-shadow:var(--shadow-md);text-transform:none;letter-spacing:0;background:#1e293b;border-radius:6px;padding:6px 10px;font-size:.6rem;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-content:after{content:"";border:4px solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-anchor:hover .tooltip-content{opacity:1}[data-theme=dark]{--bg-app:#0f172a;--bg-card:#1e293b;--bg-widget:#1e293b;--bg-panel:#1e293b;--bg-input:#0f172a;--bg-config:#1e293b;--bg-canvas:#0f172a;--bg-results:#166534;--text-data:#f8fafc;--text-heading:#e2e8f0;--text-main:#cbd5e1;--text-muted:#94a3b8;--text-subtle:#64748b;--border-card:#ffffff14;--border-input:#ffffff1a;--border-subtle:#ffffff0f;--border-medium:#ffffff1f;--border-strong:#fff3;--border-light:#ffffff0f;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 8px #00000080, 0 2px 4px #0000004d;--shadow-lg:0 10px 24px #0009, 0 4px 8px #0006;--shadow-green:0 8px 24px -4px #16a34a66, 0 0 0 1px #16a34a33}[data-theme=dark] body{background-color:#0f172a;background-image:radial-gradient(at 20%,#4a6b5d26 0%,#0000 60%),radial-gradient(at 80% 20%,#8b735514 0%,#0000 50%),linear-gradient(160deg,#0f172a 0%,#0d1526 100%)}[data-theme=dark] .glass-navbar{background:#0f172ad9;border-bottom-color:#ffffff0f}[data-theme=dark] .page-header{background:var(--bg-card);border-bottom-color:var(--accent-primary)}[data-theme=dark] .config-column,[data-theme=dark] .results-column{background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .config-section{border-color:var(--border-subtle);background:#1e293beb}[data-theme=dark] .result-card{background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .input-group input,[data-theme=dark] .input-group select{background:var(--bg-input);border-color:var(--border-input);color:var(--text-data);box-shadow:inset 0 1px 2px #0000004d}[data-theme=dark] .input-group input:focus,[data-theme=dark] .input-group select:focus{border-color:var(--accent-primary);background:#1e293b;box-shadow:0 0 0 3px #4a6b5d40,inset 0 1px 2px #0003}[data-theme=dark] .wall-visualizer{border-color:var(--border-medium);background:#1a2332}[data-theme=dark] .wall-nav{background:var(--bg-card);border-bottom-color:var(--border-subtle)}[data-theme=dark] .roll-cutlist-section{background:var(--bg-card);border-top-color:var(--border-subtle)}[data-theme=dark] .canvas-column{background:linear-gradient(#0f172a 0%,#0d1526 100%)}[data-theme=dark] .faq-item,[data-theme=dark] .onboarding-card-final{background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .shopping-math{border-color:var(--border-subtle);color:var(--text-muted);background:#ffffff0d}[data-theme=dark] .shopping-card{background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .overage-control{border-color:var(--border-subtle);background:#ffffff0a}[data-theme=dark] .overage-slider::-webkit-slider-thumb{border-color:var(--bg-card)}[data-theme=dark] .obs-dim-input{background:var(--bg-input);border-color:var(--border-input);color:var(--text-data)}[data-theme=dark] .action-btn-sm{background:var(--bg-input);border-color:var(--border-medium);color:var(--text-muted)}[data-theme=dark] .action-btn-sm:hover{border-color:var(--accent-primary);color:var(--accent-primary-light);background:#4a6b5d26}[data-theme=dark] .pattern-btn{background:var(--bg-input);border-color:var(--border-subtle)}[data-theme=dark] .pattern-btn.active{border-color:var(--accent-primary);background:#4a6b5d33}[data-theme=dark] .dark-mode-toggle{background:var(--bg-input);border-color:var(--border-medium);color:var(--text-muted)}[data-theme=dark] .how-it-works-final,[data-theme=dark] .faq-section,[data-theme=dark] .card-title-final,[data-theme=dark] .card-body-final,[data-theme=dark] .faq-item summary,[data-theme=dark] .faq-item p{color:var(--text-main)}[data-theme=dark] .professional-header,[data-theme=dark] .faq-header{color:var(--text-heading)}@media print{.glass-navbar,.page-header,.config-column,.canvas-column,.how-it-works-final,.faq-section,.btn-download-list,.dark-mode-toggle,.overage-control,.batch-warning{display:none!important}body{font-size:12pt;color:#000!important;background:#fff!important}.studio-grid{height:auto!important;padding:0!important;display:block!important}.results-column{box-shadow:none!important;border:none!important;height:auto!important;padding:20pt!important;display:block!important;overflow:visible!important}.results-column:before{content:"Wallpaper Shopping List — Calculover";color:#1e293b;border-bottom:2pt solid #4a6b5d;margin-bottom:6pt;padding-bottom:6pt;font-size:18pt;font-weight:700;display:block}.result-card{break-inside:avoid;box-shadow:none!important;border:1pt solid #cbd5e1!important;margin-bottom:12pt!important;transform:none!important}.headline-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#4a6b5d!important;transform:none!important}.card-title{color:#1e293b!important}.headline-card .card-title{color:#fffc!important}.stat-value,.stat-label{color:#334155!important}.shopping-card:after{content:"☐ Purchase ____ rolls from the SAME dye lot\a ☐ Confirm pattern repeat before cutting\a ☐ Buy wallpaper primer / sizing\a ☐ Get seam roller and squeegee";white-space:pre;color:#334155;border-top:1pt solid #cbd5e1;margin-top:12pt;padding-top:8pt;font-size:10pt;line-height:2;display:block}}[data-theme=light]{--accent-primary:#0e7490;--accent-success:#059669;--accent-warning:#d97706;--bg-app:#f1f5f9;--bg-card:#fff;--bg-input:#e2e8f0;--bg-panel:#fff;--border-strong:#00000038;--border-subtle:#00000014;--shadow-lg:0 4px 12px #00000014;--shadow-sm:0 1px 3px #0000000f;--text-main:#0f172a;--text-muted:#475569}[data-theme=light] body{color:#0f172a;background-color:#f1f5f9;background-image:none}[data-theme=light] input,[data-theme=light] select{color-scheme:light}[data-theme=light] .dashboard-container,[data-theme=light] .dashboard-wrapper{background:0 0}[data-theme=light] .dashboard-panel,[data-theme=light] .dashboard-card,[data-theme=light] .card,[data-theme=light] .glass-card,[data-theme=light] .compact-card,[data-theme=light] .calculator-card{color:#0f172a;background:#fff;border-color:#0000001f;box-shadow:0 2px 8px #00000014}[data-theme=light] .input-group label,[data-theme=light] .input-label{color:#334155}[data-theme=light] .input-group input,[data-theme=light] .input-group select,[data-theme=light] .glass-input,[data-theme=light] .input-field,[data-theme=light] .fintech-input,[data-theme=light] .dashboard-input,[data-theme=light] .styled-input{color:#0f172a;background:#e2e8f0;border-color:#00000026}[data-theme=light] .tab-btn,[data-theme=light] .calc-tab-btn,[data-theme=light] .segment-pill,[data-theme=light] .input-tab-btn{color:#334155;background:#e2e8f0;border-color:#00000014}[data-theme=light] .tab-btn.active,[data-theme=light] .calc-tab-btn.active,[data-theme=light] .segment-pill.active,[data-theme=light] .input-tab-btn.active{color:#fff;background:#0e7490}[data-theme=light] .preset-chip,[data-theme=light] .chip{color:#334155;background:#e2e8f0;border-color:#00000014}[data-theme=light] .preset-chip.active,[data-theme=light] .chip.active{color:#fff;background:#0e7490}[data-theme=light] .stat-card{background:#fff;border-color:#0000001f}[data-theme=light] .stat-label{color:#475569}[data-theme=light] .stat-value{color:#0f172a}[data-theme=light] .hero-result,[data-theme=light] .hero-result-box,[data-theme=light] .result-card{color:#0f172a;background:#fff;border-color:#0000001f}[data-theme=light] .formula-strip,[data-theme=light] .formula-pill{color:#334155;background:#f1f5f9;border-color:#00000014}[data-theme=light] .alert{color:#334155;background:#f8fafc;border-color:#00000014}[data-theme=light] .action-btn{color:#334155;background:#fff;border-color:#00000026}[data-theme=light] .action-btn:hover{background:#f1f5f9}[data-theme=light] .chart-card,[data-theme=light] .chart-block,[data-theme=light] .chart-wrapper{background:#fff;border-color:#0000001f}[data-theme=light] .scenario-card{color:#0f172a;background:#fff;border-color:#0000001f}[data-theme=light] .compare-card,[data-theme=light] .winner-card,[data-theme=light] .winner-banner{color:#0f172a;background:#f8fafc;border-color:#0000001f}[data-theme=light] table,[data-theme=light] .data-table,[data-theme=light] .schedule-table,[data-theme=light] .amort-table{border-color:#0000001f}[data-theme=light] th{color:#334155;background:#f1f5f9;border-color:#0000001f}[data-theme=light] td{color:#0f172a;border-color:#0000000f}[data-theme=light] .how-to-card,[data-theme=light] .how-it-works,[data-theme=light] .onboarding-card-final{color:#0f172a;background:#fff;border-color:#00000014}[data-theme=light] .faq-item{background:#fff;border-color:#00000014}[data-theme=light] .faq-question{color:#0f172a}[data-theme=light] .faq-answer{color:#475569}[data-theme=light] .breadcrumb,[data-theme=light] .calc-breadcrumb{color:#475569;background:#00000008}[data-theme=light] .breadcrumb a{color:#475569}[data-theme=light] .breadcrumb a:hover{color:#0e7490}[data-theme=light] .calc-btn,[data-theme=light] .calculate-btn{color:#fff;background:#0e7490}[data-theme=light] .toggle-btn{color:#334155;background:#e2e8f0}[data-theme=light] .toggle-btn.active{color:#fff;background:#0e7490}[data-theme=light] .modal-content,[data-theme=light] .modal-body{color:#0f172a;background:#fff;border-color:#0000001f}[data-theme=light] .tooltip-label{color:#475569}[data-theme=light] .glossary-card{color:#0f172a;background:#f8fafc;border-color:#00000014}[data-theme=light] .mobile-nav,[data-theme=light] .mobile-sticky-footer{background:#fffffffa;border-top:1px solid #0000001f}[data-theme=light] .mobile-nav .nav-link{color:#334155}[data-theme=light] .back-to-top{color:#475569;background:#0000000f}[data-theme=light] .sub-category-nav-wrapper,[data-theme=light] .sub-nav-link{color:#334155;background:0 0}[data-theme=light] .sub-nav-link.active{color:#0e7490;border-color:#0e7490}[data-theme=light] .custom-select-trigger,[data-theme=light] .glass-select,[data-theme=light] .styled-select{color:#0f172a;background:#e2e8f0;border-color:#00000026}[data-theme=light] .custom-select-options{background:#fff;border-color:#0000001f}[data-theme=light] .custom-select-option{color:#0f172a}[data-theme=light] .custom-select-option:hover{background:#f1f5f9}[data-theme=light] .controls-panel,[data-theme=light] .sidebar,[data-theme=light] .results-column{background:0 0}[data-theme=light] .section-title,[data-theme=light] .section-header{color:#0f172a}[data-theme=light] .section-subtitle,[data-theme=light] .section-desc{color:#475569}.formula-pills2{margin-bottom:3rem}.fp2-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.fp2-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=700px){.fp2-grid{grid-template-columns:repeat(2,1fr)}}.fp2-pill{background:#00f3ff0f;border:1px solid #00f3ff26;border-radius:10px;flex-direction:column;gap:4px;padding:.75rem 1rem;display:flex}[data-theme=light] .fp2-pill{background:#0e74900f;border-color:#0e749033}.fp2-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.fp2-eq{font-family:var(--font-mono);color:var(--cyan);font-size:.82rem;font-weight:600}[data-theme=light] .fp2-eq{color:#0e7490}.faq-section{margin-bottom:3rem}.faq-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--border)}.faq-item__question{cursor:pointer;color:var(--text-main);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"2";color:var(--cyan)}.faq-item__question:hover{color:var(--cyan)}.faq-item__answer{color:var(--text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#0e7490}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}[data-theme=light] .faq-item[open]{border-color:#0e749066 #0e749066 #0e749066 #0e7490;border-left-style:solid;border-left-width:3px}.how-title{margin-bottom:1.5rem;font-size:1.25rem;font-weight:700}.how-steps{flex-direction:column;gap:1rem;list-style:none;display:flex}.how-step{color:var(--text-dim,#88a);align-items:flex-start;gap:1rem;font-size:.9rem;line-height:1.7;display:flex}.how-num{background:var(--cyan,#00f3ff);color:#050510;font-family:var(--font-mono,monospace);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}[data-theme=light] .how-num{color:#fff;background:#0e7490}.how-step strong{color:var(--text-main,#fff)}.gloss-section2{margin-bottom:3rem}.gs2-title{margin-bottom:1rem;font-size:1.1rem;font-weight:700}.gs2-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=700px){.gs2-grid{grid-template-columns:1fr}}.gs2-item{background:var(--card,#ffffff0a);border:1px solid var(--border,#ffffff1a);color:var(--text-dim,#88a);border-radius:10px;padding:1rem;font-size:.83rem;line-height:1.7}[data-theme=light] .gs2-item{background:#fff;border-color:#0000001a;box-shadow:0 1px 3px #0000000d}.gs2-item strong{color:var(--text-main,#fff)}.toast{color:#fff;z-index:9999;pointer-events:none;border-radius:10px;padding:.75rem 1.25rem;font-size:.85rem;animation:.3s toastIn;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #0006}.toast-success{background:#00c896f2}.toast-warn{background:#f59e0bf2}.toast-error{background:#dc2626f2}.toast-info{background:#00a0c8f2}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.act-row{flex-wrap:wrap;gap:.5rem;display:flex}.act-btn{color:#00f3ff;cursor:pointer;background:#00f3ff14;border:1px solid #00f3ff4d;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;transition:background .2s,border-color .2s}.act-btn:hover{background:#00f3ff2e;border-color:#00f3ff}[data-theme=light] .act-btn{color:#0e7490;background:#0e749014;border-color:#0e74904d}[data-theme=light] .act-btn:hover{background:#0e749026}