@media (max-width:575.98px){:root{--spacing-md:var(--mobile-padding);--font-size-md:var(--mobile-font-size);--control-btn-size:var(--mobile-btn-size);--control-panel-padding:var(--mobile-control-panel-padding)}.header{gap:var(--spacing-sm);padding:var(--spacing-sm)}.header,.header__nav{flex-direction:column}.header__nav{width:100%}.main-content{padding-top:120px}.sofa-grid{gap:var(--spacing-md);grid-template-columns:1fr}.sofa-item{padding:var(--spacing-md)}.sofa-item__image{height:120px}.control-panel{margin:var(--spacing-sm);padding:var(--spacing-md)}.materials-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.material-preview{height:40px;width:40px}.modal{padding:var(--spacing-sm)}.modal__content{margin:0;max-width:100%}.notification{left:var(--spacing-sm);max-width:none;right:var(--spacing-sm);top:var(--spacing-sm)}.btn{font-size:var(--btn-font-size-sm);padding:var(--btn-padding-sm)}.control-btn{height:var(--mobile-btn-size);width:var(--mobile-btn-size)}}@media (min-width:576px) and (max-width:767.98px){:root{--spacing-md:var(--tablet-padding);--font-size-md:var(--tablet-font-size);--control-btn-size:var(--tablet-btn-size);--control-panel-padding:var(--tablet-control-panel-padding)}.sofa-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.materials-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.material-preview{height:50px;width:50px}.control-panel{margin:var(--spacing-md);padding:var(--spacing-lg)}}@media (min-width:768px) and (max-width:991.98px){.sofa-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.materials-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.material-preview{height:60px;width:60px}.control-panel{margin:var(--spacing-lg);padding:var(--spacing-xl)}}@media (min-width:992px) and (max-width:1199.98px){.sofa-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.materials-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.material-preview{height:var(--material-preview-size);width:var(--material-preview-size)}}@media (min-width:1200px){.sofa-grid{gap:var(--spacing-xxl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.materials-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.control-panel{margin:var(--spacing-xl);padding:var(--spacing-xxl)}}@media (orientation:portrait){.header{flex-direction:column;gap:var(--spacing-md)}.main-content{padding-top:140px}.sofa-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.control-panel{border-radius:var(--control-panel-border-radius) var(--control-panel-border-radius) 0 0;bottom:0;left:0;margin:0;max-height:50vh;overflow-y:auto;position:fixed;right:0}}@media (orientation:landscape){.header{flex-direction:row}.main-content{padding-top:80px}.sofa-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.control-panel{margin:var(--spacing-md);position:relative}}@media (max-height:600px){.main-content{padding-top:60px}.header{padding:var(--spacing-sm)}.sofa-item__image{height:100px}.control-panel{max-height:40vh;overflow-y:auto}.modal__content{max-height:80vh;overflow-y:auto}}@media (min-height:900px){.sofa-item__image{height:200px}.control-panel{max-height:60vh}}@media (min-resolution:192dpi){.material-preview,.sofa-item__image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.btn,.control-btn{border-width:.5px}}@media (prefers-color-scheme:dark){/* CARAT light brand — dark OS theme tokens not defined; keep light UI */}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.animated-logo-overlay,.loading-overlay,.modal,.notification{transition:none}}@media (prefers-contrast:high){:root{--color-border:#000;--color-text-primary:#000;--color-background:#fff}.btn,.control-btn,.sofa-item{border-width:2px}.material-item{border-width:3px}}@media (prefers-reduced-motion:no-preference){.btn:focus,.control-btn:focus,.input:focus{animation:focusRing .3s ease-out}}@media print{.animated-logo-overlay,.control-panel,.header,.loading-overlay,.modal,.notification{display:none!important}.main-content{padding-top:0}#renderCanvas{border:1px solid #000;page-break-inside:avoid}.sofa-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sofa-item{-moz-column-break-inside:avoid;border:1px solid #000;break-inside:avoid}}@media (max-width:575.98px){.grid-mobile{display:grid;gap:var(--spacing-sm);grid-template-columns:1fr}.grid-mobile-2{grid-template-columns:repeat(2,1fr)}.grid-mobile-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:576px) and (max-width:991.98px){.grid-tablet{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.grid-tablet-3{grid-template-columns:repeat(3,1fr)}.grid-tablet-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:992px){.grid-desktop{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}.grid-desktop-4{grid-template-columns:repeat(4,1fr)}.grid-desktop-5{grid-template-columns:repeat(5,1fr)}.grid-desktop-6{grid-template-columns:repeat(6,1fr)}}@media (max-width:575.98px){.text-responsive{font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.text-responsive-lg{font-size:var(--font-size-md)}.text-responsive-xl{font-size:var(--font-size-lg)}}@media (min-width:576px) and (max-width:991.98px){.text-responsive{font-size:var(--font-size-md);line-height:var(--line-height-md)}.text-responsive-lg{font-size:var(--font-size-lg)}.text-responsive-xl{font-size:var(--font-size-xl)}}@media (min-width:992px){.text-responsive{font-size:var(--font-size-lg);line-height:var(--line-height-lg)}.text-responsive-lg{font-size:var(--font-size-xl)}.text-responsive-xl{font-size:var(--font-size-xxl)}}@media (max-width:575.98px){.spacing-responsive{margin:var(--spacing-sm);padding:var(--spacing-sm)}.spacing-responsive-lg{margin:var(--spacing-md);padding:var(--spacing-md)}}@media (min-width:576px) and (max-width:991.98px){.spacing-responsive{margin:var(--spacing-md);padding:var(--spacing-md)}.spacing-responsive-lg{margin:var(--spacing-lg);padding:var(--spacing-lg)}}@media (min-width:992px){.spacing-responsive{margin:var(--spacing-lg);padding:var(--spacing-lg)}.spacing-responsive-lg{margin:var(--spacing-xl);padding:var(--spacing-xl)}}@media (max-width:575.98px){.btn-responsive{font-size:var(--btn-font-size-sm);min-height:36px;padding:var(--btn-padding-sm)}.btn-responsive-lg{font-size:var(--btn-font-size-md);min-height:40px;padding:var(--btn-padding-md)}}@media (min-width:576px) and (max-width:991.98px){.btn-responsive{font-size:var(--btn-font-size-md);min-height:40px;padding:var(--btn-padding-md)}.btn-responsive-lg{font-size:var(--btn-font-size-lg);min-height:44px;padding:var(--btn-padding-lg)}}@media (min-width:992px){.btn-responsive{font-size:var(--btn-font-size-lg);min-height:44px;padding:var(--btn-padding-lg)}.btn-responsive-lg{font-size:var(--btn-font-size-xl);min-height:48px;padding:var(--btn-padding-xl)}}@media (max-width:575.98px){.modal-responsive{padding:var(--spacing-sm)}.modal-responsive .modal__content{border-radius:0;margin:0;max-width:100%}.modal-responsive .modal__body,.modal-responsive .modal__footer,.modal-responsive .modal__header{padding:var(--spacing-md)}}@media (min-width:576px) and (max-width:991.98px){.modal-responsive{padding:var(--spacing-md)}.modal-responsive .modal__content{max-width:90%}}@media (min-width:992px){.modal-responsive{padding:var(--spacing-lg)}.modal-responsive .modal__content{max-width:80%}}@media (max-width:575.98px){.notification-responsive{left:var(--spacing-sm);max-width:none;right:var(--spacing-sm);top:var(--spacing-sm)}.notification-responsive .notification__header,.notification-responsive .notification__message{padding:var(--spacing-sm)}}@media (min-width:576px){.notification-responsive{max-width:400px;right:var(--spacing-lg);top:var(--spacing-lg)}}@media (max-width:575.98px){.control-panel-responsive{border-radius:var(--control-panel-border-radius) var(--control-panel-border-radius) 0 0;bottom:0;left:0;margin:0;max-height:50vh;overflow-y:auto;position:fixed;right:0}.control-panel-responsive .control-panel__content{display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}}@media (min-width:576px) and (max-width:991.98px){.control-panel-responsive{margin:var(--spacing-md);position:relative}.control-panel-responsive .control-panel__content{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}}@media (min-width:992px){.control-panel-responsive{margin:var(--spacing-lg);position:relative}.control-panel-responsive .control-panel__content{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr)}}