.visualizer{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.visualizer-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;scroll-margin-top:100px;margin-bottom:1.5rem}.visualizer-toggle__btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;color:var(--color-text-light);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);cursor:pointer}.visualizer-toggle__btn--active,.visualizer-toggle__btn:hover{border-color:var(--color-primary);color:var(--color-text)}.visualizer-toggle__btn--active{background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600}.visualizer-toggle__btn svg{width:18px;height:18px;flex-shrink:0}.visualizer__main{position:relative;min-height:520px}.visualizer__panel{position:absolute;top:1rem;left:1rem;z-index:3;display:flex;flex-direction:column;max-height:calc(100% - 2rem);width:340px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden}.visualizer__tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--color-border);background:var(--color-bg-soft);scrollbar-width:none;flex-shrink:0}.visualizer__tabs::-webkit-scrollbar{display:none}.visualizer__tab{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .5rem;font-size:.7rem;font-weight:500;color:var(--color-text-light);white-space:nowrap;border:0;border-bottom:2px solid transparent;background:0 0;transition:all var(--transition-fast);flex:1;min-width:0;cursor:pointer}.visualizer__tab svg{width:20px;height:20px;flex-shrink:0}.visualizer__tab:hover{color:var(--color-text);background:rgba(255,255,255,.5)}.visualizer__tab--active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary);background:var(--color-white);font-weight:600}.visualizer__items{flex:1;overflow-y:auto;padding:.75rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.visualizer__items::-webkit-scrollbar{width:4px}.visualizer__items::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.visualizer__item{display:flex;align-items:center;padding:.55rem .75rem;background:var(--color-bg-soft);border-radius:var(--radius-md);margin-bottom:.4rem;gap:.6rem;transition:all var(--transition-fast);border:1px solid transparent}.visualizer__item--active{background:var(--color-primary-light);border-color:rgba(106,212,83,.3)}.visualizer__item-color{width:10px;height:10px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.visualizer__item-info{flex:1;min-width:0}.visualizer__item-name{font-size:.82rem;font-weight:500;color:var(--color-dark);line-height:1.3}.visualizer__empty p,.visualizer__item-vol{font-size:.7rem;color:var(--color-text-lighter)}.visualizer__item-controls{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.visualizer__item-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--color-dark);background:var(--color-white);transition:all var(--transition-fast);cursor:pointer;line-height:1;padding:0}.visualizer__item-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.visualizer__item-count{font-weight:600;min-width:22px;text-align:center;font-size:.85rem;color:var(--color-dark)}.visualizer__added{border-top:1px solid var(--color-border);flex-shrink:0}.visualizer__added-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .75rem;font-size:.8rem;font-weight:600;color:var(--color-text);background:var(--color-bg-soft);border:0;cursor:pointer;transition:background var(--transition-fast)}.visualizer__added-toggle:hover{background:var(--color-bg-alt)}.visualizer__added-toggle svg{width:16px;height:16px;transition:transform var(--transition-fast)}.visualizer__added--open .visualizer__added-toggle svg{transform:rotate(180deg)}.visualizer__added-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);margin-left:.5rem}.visualizer__added-list{max-height:0;overflow:hidden;transition:max-height .3s ease}.visualizer__added--open .visualizer__added-list{max-height:200px;overflow-y:auto}.visualizer__added-items{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem .65rem}.visualizer__added-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.72rem;font-weight:500;background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full)}.visualizer__added-chip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.visualizer__viewport{position:relative;width:100%;background:var(--color-bg-soft);min-height:520px;overflow:hidden}.unit-viewer__viewport canvas,.visualizer__viewport canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;display:block;touch-action:none;background:#f8faf8}.visualizer__viewport-label{position:absolute;top:.75rem;right:4rem;left:auto;background:rgba(31,31,31,.85);color:#fff;padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;z-index:2}.visualizer__viewport-label span{color:var(--color-primary)}.visualizer__viewport-hint{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.92);color:var(--color-text-light);padding:.35rem .85rem;border-radius:var(--radius-full);font-size:.72rem;display:flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-sm);pointer-events:none;z-index:2;transition:opacity .5s ease}.visualizer__viewport-hint svg{width:14px;height:14px}.visualizer__viewport-hint--hidden{opacity:0}.visualizer__viewport-reset{position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);z-index:2}.visualizer__viewport-reset svg{width:16px;height:16px;color:var(--color-text)}.visualizer__viewport-reset:hover{background:var(--color-white);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.visualizer__fill-indicator{position:absolute;bottom:.75rem;right:.75rem;width:60px;height:60px;z-index:2}.visualizer__fill-ring{width:100%;height:100%;transform:rotate(-90deg)}.visualizer__fill-ring-bg{fill:none;stroke:rgba(255,255,255,.7);stroke-width:4}.visualizer__fill-ring-progress{fill:none;stroke:var(--color-primary);stroke-width:4;stroke-linecap:round;stroke-dasharray:175.93;stroke-dashoffset:175.93;transition:stroke-dashoffset .6s cubic-bezier(.16,1,.3,1)}.visualizer__fill-ring-progress--warning{stroke:#f59e0b}.visualizer__fill-ring-progress--full{stroke:var(--color-error)}.visualizer__empty,.visualizer__fill-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.visualizer__fill-text{font-size:.78rem;font-weight:700;color:var(--color-dark)}.visualizer__empty{flex-direction:column;gap:.75rem;pointer-events:none;z-index:1;transition:opacity .4s ease}.visualizer__empty--hidden{opacity:0}.visualizer__empty svg{width:48px;height:48px;color:var(--color-text-lighter);opacity:.5}.visualizer__empty p{font-size:.85rem;text-align:center}.visualizer__tooltip{position:absolute;padding:.3rem .65rem;background:rgba(31,31,31,.9);color:#fff;font-size:.72rem;font-weight:500;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;z-index:3;transform:translate(-50%,-100%);margin-top:-8px;opacity:0;transition:opacity .15s ease}.visualizer__tooltip--visible{opacity:1}.visualizer__toast{position:absolute;top:.75rem;left:50%;transform:translateX(-50%) translateY(-20px);background:rgba(239,68,68,.92);color:#fff;font-size:.78rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-md);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;z-index:10;max-width:85%;text-align:center;line-height:1.4;opacity:0;transition:opacity .3s ease,transform .3s ease}.visualizer__toast--visible{opacity:1;transform:translateX(-50%) translateY(0)}.visualizer__result{padding:1.25rem 1.5rem;background:var(--color-primary-light);border-top:1px solid rgba(106,212,83,.2);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.visualizer__result-stats{display:flex;gap:2rem}.visualizer__result-stat{display:flex;flex-direction:column}.visualizer__result-label{font-size:.72rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.visualizer__result-value{font-size:1.2rem;font-weight:800;color:var(--color-dark);line-height:1.3}.visualizer__result-value--size{color:var(--color-primary-dark);font-size:1.4rem}.visualizer__result-value--price{color:var(--color-primary-dark)}.visualizer__result-actions{display:flex;align-items:center;gap:.5rem}.visualizer__action-btn{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;background:var(--color-white);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.visualizer__action-btn svg{width:18px;height:18px;color:var(--color-text-light);transition:color var(--transition-fast)}.visualizer__action-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.visualizer__action-btn:hover:not(:disabled) svg{color:var(--color-primary-dark)}.visualizer__action-btn--danger:hover:not(:disabled){border-color:var(--color-error);background:#fef2f2}.visualizer__action-btn--danger:hover:not(:disabled) svg{color:var(--color-error)}.visualizer__action-btn:disabled{opacity:.35;cursor:not-allowed}@media (max-width:1024px){.visualizer__main{min-height:450px}.visualizer__panel{width:300px}}@media (max-width:768px){.visualizer__main{display:flex;flex-direction:column;min-height:auto}.visualizer__panel{position:static;width:100%;max-height:none;background:var(--color-white);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;border:0;border-bottom:1px solid var(--color-border);box-shadow:none}.visualizer__viewport-label{left:.75rem;right:auto}.visualizer__items{max-height:220px}.visualizer__tab span{display:none}.visualizer__tab{flex:0 0 auto;padding:.65rem .85rem}.visualizer__viewport{min-height:300px;height:300px}.visualizer__result{flex-direction:column;text-align:center;padding:1rem}.visualizer__result-stats{justify-content:center;flex-wrap:wrap;gap:1.25rem}.visualizer__result-stat{align-items:center}.visualizer__result-actions{justify-content:center;width:100%}.visualizer-toggle{flex-wrap:wrap}.visualizer-toggle__btn{font-size:.82rem;padding:.5rem 1rem}}@media (max-width:480px){.visualizer__main{min-height:auto}.visualizer__viewport{min-height:180px}.calculator-overlay__ptab{width:30px;height:30px}.calculator-overlay__ptab svg{width:16px;height:16px}}.unit-viewer{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.unit-viewer__sizes{display:flex;gap:0;border-bottom:1px solid var(--color-border)}.unit-viewer__size-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.85rem .5rem;background:var(--color-bg-soft);border:0;border-right:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);position:relative}.unit-viewer__size-btn:last-child{border-right:none}.unit-viewer__size-btn:hover{background:var(--color-white)}.unit-viewer__size-btn--active{background:var(--color-primary-light)}.unit-viewer__size-btn--active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--color-primary);border-radius:3px 3px 0 0}.unit-viewer__size-label{font-size:1rem;font-weight:700;color:var(--color-dark);line-height:1}.unit-viewer__cam-btn:hover svg,.unit-viewer__size-btn--active .unit-viewer__size-label,.unit-viewer__size-btn--active .unit-viewer__size-volume{color:var(--color-primary-dark)}.unit-viewer__size-volume{font-size:.72rem;color:var(--color-text-light);font-weight:500}.unit-viewer__viewport{position:relative;background:var(--color-bg-soft);min-height:450px;overflow:hidden}.unit-viewer__info{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.15rem;z-index:2;pointer-events:auto;cursor:default}.unit-viewer__info-tooltip{position:absolute;top:calc(100% + .4rem);right:0;background:rgba(31,31,31,.92);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:400;padding:.4rem .65rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.unit-viewer__info:hover .unit-viewer__info-tooltip{opacity:1}.unit-viewer__info-size{font-size:1.4rem;font-weight:800;color:var(--color-primary-dark);line-height:1.1}.unit-viewer__info-dims{font-size:.82rem;color:var(--color-text);font-weight:500}.unit-viewer__info-area{font-size:.75rem;color:var(--color-text-light)}.unit-viewer__hint{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;padding:.35rem .75rem;border-radius:var(--radius-full);display:flex;align-items:center;gap:.35rem;pointer-events:none;transition:opacity .4s ease;z-index:2}.unit-viewer__cam-controls{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.4rem;z-index:2}.unit-viewer__cam-btn{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(255,255,255,.9);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);padding:0}.unit-viewer__cam-btn svg{width:16px;height:16px;color:var(--color-text-light)}.unit-viewer__cam-btn:hover{border-color:var(--color-primary);background:var(--color-white)}.unit-viewer__cam-btn--active{border-color:var(--color-primary);background:rgba(255,255,255,.95)}.unit-viewer__cam-btn--active svg{color:var(--color-primary-dark)}.unit-viewer__compare-picker{position:absolute;top:1rem;right:calc(1rem + 36px + .6rem);z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.6rem .75rem;display:none;min-width:160px}.unit-viewer__compare-picker--open{display:block}.unit-viewer__compare-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.unit-viewer__compare-close{background:0 0;border:0;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0 .15rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.unit-viewer__compare-close:hover{color:var(--color-text);background:var(--color-bg-soft)}.unit-viewer__compare-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.unit-viewer__compare-pill{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);font-size:.72rem;font-weight:600;cursor:pointer;text-align:center;transition:all var(--transition-fast);color:var(--color-text)}.unit-viewer__compare-pill--active,.unit-viewer__compare-pill:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.unit-viewer__compare-pill--active{color:var(--color-primary-dark)}.unit-viewer__compare-pill--disabled{opacity:.35;pointer-events:none}.unit-viewer__tooltip{position:absolute;pointer-events:none;background:rgba(0,0,0,.8);color:#fff;font-size:.75rem;padding:.3rem .6rem;border-radius:var(--radius-sm);transform:translate(-50%,-130%);opacity:0;transition:opacity .15s ease;z-index:10;white-space:nowrap}.unit-viewer__tooltip--visible{opacity:1}.unit-viewer__bottom{padding:1rem 1.5rem;background:var(--color-primary-light);border-top:1px solid rgba(106,212,83,.2);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.unit-viewer__bottom-info{display:flex;flex-direction:column;gap:.1rem}.unit-viewer__bottom-label{font-size:.72rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.unit-viewer__bottom-items{font-size:.9rem;font-weight:600;color:var(--color-dark)}.unit-viewer__size-group{border-bottom:1px solid rgba(0,0,0,.06)}.unit-viewer__size-group:last-child{border-bottom:none}.unit-viewer__size-header{display:flex;align-items:stretch}.unit-viewer__size-header .unit-viewer__size-btn{flex:1;border-bottom:none;border-right:none}.unit-viewer__expand-btn{display:flex;align-items:center;justify-content:center;width:36px;padding:0;background:0 0;border:0;border-left:1px solid rgba(0,0,0,.06);cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.unit-viewer__expand-btn:hover{background:rgba(106,212,83,.1)}.unit-viewer__expand-icon{width:12px;height:12px;color:var(--color-text-light);transition:color .2s ease}.unit-viewer__expand-btn--active .unit-viewer__expand-icon{color:var(--color-primary-dark)}.unit-viewer__expand-icon line:first-child{transition:opacity .2s ease}.unit-viewer__expand-btn--active .unit-viewer__expand-icon line:first-child{opacity:0}.unit-viewer__sub-sizes{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.16,1,.3,1)}.unit-viewer__size-btn--sub{padding-left:1.5rem;background:rgba(0,0,0,.02);border-bottom:1px solid rgba(0,0,0,.04)}.unit-viewer__size-btn--sub:last-child{border-bottom:none}.unit-viewer__size-btn--sub .unit-viewer__size-label{font-size:.85rem}.unit-viewer__size-btn--sub .unit-viewer__size-volume{font-size:.68rem}@media (min-width:769px){.unit-viewer{position:relative}.unit-viewer__sizes{position:absolute;top:1rem;left:1rem;z-index:3;flex-direction:column;border-bottom:none;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden;overflow-y:auto;max-height:calc(100% - 2rem);width:auto;min-width:160px}.unit-viewer__size-btn{flex:none;flex-direction:row;gap:.65rem;padding:.7rem 1rem;border-right:none;border-bottom:none;justify-content:flex-start;background:0 0}.unit-viewer__size-btn:hover{background:rgba(255,255,255,.6)}.unit-viewer__size-btn--active{background:var(--color-primary-light)}.unit-viewer__size-btn--active::after{top:0;bottom:0;left:-1px;right:auto;width:3px;height:auto;border-radius:0 3px 3px 0}.unit-viewer__size-label{font-size:1rem}.unit-viewer__size-volume{font-size:.72rem}.unit-viewer__viewport{min-height:600px;height:auto}.unit-viewer__info{left:auto;right:4rem;top:1rem}.unit-viewer__cam-controls{top:1rem;right:1rem}}@media (max-width:1024px) and (min-width:769px){.unit-viewer__sizes{min-width:120px}.unit-viewer__size-btn{padding:.6rem .85rem}.unit-viewer__viewport{min-height:450px}}@media (max-width:768px){.unit-viewer__viewport{min-height:300px;height:300px}.unit-viewer__sizes{display:flex;flex-direction:row;flex-wrap:wrap;overflow:visible}.unit-viewer__size-group{flex:1 0 calc(33.33% - 0px);border-bottom:none;border-right:1px solid var(--color-border)}.unit-viewer__size-group:nth-child(3n){border-right:none}.unit-viewer__size-group:nth-child(n+4){border-top:1px solid var(--color-border)}.unit-viewer__size-header .unit-viewer__size-btn{padding:.65rem .25rem;text-align:center;justify-content:center;flex-direction:column;gap:.15rem}.unit-viewer__expand-btn{width:28px}.unit-viewer__sub-sizes{background:var(--color-bg-soft);border-top:1px solid rgba(0,0,0,.06)}.unit-viewer__size-btn--sub{padding:.5rem .75rem;flex-direction:row;justify-content:center;gap:.5rem}.unit-viewer__bottom{flex-direction:column;text-align:center;padding:1rem}.unit-viewer__info-tooltip{right:auto;left:0}}@media (max-width:480px){.unit-viewer__viewport{min-height:260px;height:260px}.unit-viewer__info{padding:.5rem .75rem}.unit-viewer__info-size{font-size:1.1rem}}@media (min-height:900px){.visualizer__main{min-height:60vh}.visualizer__panel{max-height:calc(60vh - 2rem)}.unit-viewer__viewport,.visualizer__viewport{min-height:60vh}}@media (min-height:1100px){.visualizer__main{min-height:65vh}.visualizer__panel{max-height:calc(65vh - 2rem)}.unit-viewer__viewport,.visualizer__viewport{min-height:65vh}}.calculator-overlay{position:fixed;inset:0;z-index:9999;background:#fff;display:none;flex-direction:column;overflow:hidden}.calculator-overlay--open{display:flex}.calculator-overlay__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 2rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg, #fff);flex-shrink:0;gap:1.5rem}.calculator-overlay__brand{display:flex;align-items:center;gap:.75rem;min-width:max-content}.calculator-overlay__logo{height:32px;width:auto;display:block;flex-shrink:0}.calculator-overlay__header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text, #1f1f1f);white-space:nowrap}.calculator-overlay__toggle{margin:0!important;padding:0!important}.calculator-overlay__toggle .visualizer-toggle__btn{padding:.4rem 1rem;font-size:.82rem}.calculator-overlay__close{-webkit-appearance:none;appearance:none;border:0;background:0 0;padding:0;justify-self:end;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:0;cursor:pointer;box-shadow:none;outline:0;transition:background var(--transition-fast, 150ms ease)}.calculator-overlay__close:hover{background:rgba(0,0,0,.05)}.calculator-overlay__close svg{width:24px;height:24px;color:var(--color-text-light, #6b7280)}.calculator-overlay__view-select{display:none;position:relative}.calculator-overlay__view-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--color-bg-soft, #f8faf8);border:1.5px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);font-family:inherit;font-size:.9rem;font-weight:600;color:var(--color-dark, #1f1f1f);cursor:pointer;-webkit-appearance:none;appearance:none}.calculator-overlay__size-btn svg,.calculator-overlay__view-btn svg{transition:transform .2s;flex-shrink:0}.calculator-overlay__view-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:var(--color-white, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:10;display:none;flex-direction:column;overflow:hidden}.calculator-overlay__view-menu--open{display:flex}.calculator-overlay__view-option{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:0 0;border:0;font-family:inherit;font-size:.85rem;color:var(--color-text, #374151);cursor:pointer;text-align:left;transition:background .15s;-webkit-appearance:none;appearance:none}.calculator-overlay__size-option:hover,.calculator-overlay__view-option:hover{background:var(--color-bg-soft, #f8faf8)}.calculator-overlay__view-option--active{font-weight:600;color:var(--color-primary-dark, #52b93e);background:var(--color-primary-light, #e8f9e4)}.calculator-overlay__size-select{display:none;position:relative}.calculator-overlay__size-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--color-primary-dark, #52b93e);border:1.5px solid var(--color-primary-dark, #52b93e);border-radius:var(--radius-md, 8px);font-family:inherit;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;white-space:nowrap}.calculator-overlay__size-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:170px;max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--color-white, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:10;display:none;flex-direction:column;overflow-x:hidden}.calculator-overlay__size-menu--open{display:flex}.calculator-overlay__size-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;background:0 0;border:0;font-family:inherit;font-size:.85rem;color:var(--color-text, #374151);cursor:pointer;text-align:left;transition:background .15s;-webkit-appearance:none;appearance:none}.calculator-overlay__size-option--active{font-weight:600;color:var(--color-primary-dark, #52b93e);background:var(--color-primary-light, #e8f9e4)}.calculator-overlay__size-option--cat{font-weight:600;border-top:1px solid var(--color-border-light, #f3f4f6)}.calculator-overlay__size-option--cat:first-child{border-top:none}.calculator-overlay__size-option--sub{padding-left:1.25rem;font-size:.8rem}.calculator-overlay__size-area{color:var(--color-text-light, #6b7280);font-size:.75rem}.calculator-overlay__body{flex:1;overflow:hidden;min-height:0;padding-top:1.5rem;padding-bottom:.5rem;display:flex;flex-direction:column}.calculator-overlay__body .container{max-width:1600px;padding:0 2rem;flex:1;min-height:0;display:flex;flex-direction:column}.calculator-overlay__body .section{padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.calculator-overlay__body .visualizer,.calculator-overlay__body .visualizer__main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.calculator-overlay__body .visualizer__main{min-height:0!important}.calculator-overlay__body .visualizer__viewport{flex:1;min-height:0!important}.calculator-overlay__body .unit-viewer__viewport canvas,.calculator-overlay__body .visualizer__viewport canvas{width:100%!important;height:100%!important;display:block}.calculator-overlay__body .visualizer__panel{max-height:calc(100% - 2rem)!important;overflow:hidden}.calculator-overlay__body .visualizer__added{flex-shrink:0;background:var(--color-bg, #fff);box-shadow:0-4px 12px rgba(0,0,0,.06)}.calculator-overlay__body .visualizer__result{flex-shrink:0;padding:.5rem 1.25rem}.calculator-overlay__body .unit-viewer{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.calculator-overlay__body .unit-viewer__viewport{flex:1;min-height:0!important}.calculator-overlay__body .unit-viewer__bottom{flex-shrink:0;padding:.5rem 1.25rem}.calculator-overlay__body .calculator{flex:1;min-height:0;overflow-y:auto}@media (min-width:1200px){.calculator-overlay__header{padding:12px 3rem}.calculator-overlay__body .container{padding:0 3rem}}.calculator-overlay__planner-tabs{display:none}.calculator-overlay__ptab{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:0 0;border:0;color:var(--color-text-light, #6b7280);cursor:pointer;padding:0;flex-shrink:0;transition:background .15s,color .15s;-webkit-appearance:none;appearance:none}.calculator-overlay__ptab:hover{background:var(--color-bg-soft, #f8faf8)}.calculator-overlay__ptab--active{background:var(--color-primary-light, #e8f9e4);color:var(--color-primary-dark, #3a8a2a)}.calculator-overlay__ptab svg{width:18px;height:18px;flex-shrink:0}.visualizer__sheet-handle{display:none;align-items:center;gap:.5rem;height:48px;padding:0 1rem;cursor:pointer;user-select:none;-webkit-user-select:none;background:var(--color-bg-soft, #fafafa);position:relative}.visualizer__sheet-handle-bar{width:32px;height:4px;border-radius:2px;background:#d1d5db;position:absolute;top:6px;left:50%;transform:translateX(-50%)}.visualizer__sheet-handle-label{flex:1;font-size:.85rem;font-weight:600;color:var(--color-dark, #1f1f1f);padding-top:4px}.visualizer__sheet-handle-chevron{width:18px;height:18px;color:var(--color-text-light, #6b7280);flex-shrink:0;transition:transform .3s ease;margin-top:4px}.visualizer__panel--expanded .visualizer__sheet-handle-chevron{transform:rotate(180deg)}@media (max-width:768px){.calculator-overlay__header{display:flex;align-items:center;padding:1rem 1.25rem;gap:.5rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.calculator-overlay__brand{display:none}.calculator-overlay__toggle{display:none!important}.calculator-overlay__size-select,.calculator-overlay__view-select{display:flex}.unit-viewer__sizes{display:none!important}.calculator-overlay__close{width:36px;height:36px;border-radius:0;flex-shrink:0;margin-left:auto;background:0 0;border:0;box-shadow:none;outline:0}.calculator-overlay__close svg{width:20px;height:20px}.calculator-overlay__body .container{padding:0 .75rem}.calculator-overlay__body .unit-viewer__bottom-info,.unit-viewer__info-size{display:none}.calculator-overlay__body .section{padding:0}.calculator-overlay__body .visualizer{border-radius:0;border:0;box-shadow:none;flex:1;min-height:0;display:flex;flex-direction:column}.calculator-overlay__body .visualizer__main{flex:1;min-height:0}.calculator-overlay__planner-tabs--visible{display:flex;align-items:center;gap:.2rem}.calculator-overlay__body .visualizer__panel{order:2;border-bottom:none;border-top:1px solid var(--color-border, #e5e7eb);max-height:48px!important;overflow:hidden;transition:max-height .3s ease}.calculator-overlay__body .visualizer__panel--expanded{max-height:50vh!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.visualizer__tabs{display:none}.visualizer__sheet-handle{display:flex}.visualizer__items{max-height:none}.visualizer__viewport{flex:1;min-height:200px;height:auto}.visualizer__result{flex-direction:row;padding:.5rem .75rem;gap:.5rem;align-items:center;text-align:left}.visualizer__result-stats{flex-direction:row;gap:.75rem;flex:1;min-width:0}.visualizer__result-stat{flex-direction:row;gap:.35rem;align-items:center}.visualizer__result-label{display:none}.visualizer__result-value{font-size:.9rem}.visualizer__result-value--size{font-size:1rem}.visualizer__result-actions{gap:.35rem;flex-shrink:0}.visualizer__result-actions .btn{padding:.5rem 1rem;font-size:.8rem}}