@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-vietnamese-wght-normal-B-JM5mJH.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-ext-wght-normal-EP2r9iG4.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-wght-normal-Bn_gnr7w.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sulphur Point;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sulphur-point-latin-ext-400-normal-Cqt_fEQe.woff2)format("woff2"),url(/assets/sulphur-point-latin-ext-400-normal-CT9q6D6W.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sulphur Point;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sulphur-point-latin-400-normal-B2KPWscm.woff2)format("woff2"),url(/assets/sulphur-point-latin-400-normal-DZa1PDHd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sulphur Point;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sulphur-point-latin-ext-700-normal-ctxqtsNr.woff2)format("woff2"),url(/assets/sulphur-point-latin-ext-700-normal-DRkpOKtb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sulphur Point;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sulphur-point-latin-700-normal-CREEV9Qy.woff2)format("woff2"),url(/assets/sulphur-point-latin-700-normal-XqmiyxTc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff")}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.google-location-backdrop[data-v-3664f5a1]{z-index:1000;background:#17151266;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.google-location-dialog[data-v-3664f5a1]{overscroll-behavior:contain;border-radius:var(--radius-soft);background:var(--surface);width:min(480px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);gap:18px;padding:24px;display:grid;overflow-y:auto}.google-location-dialog header h2[data-v-3664f5a1]{margin:0;font-size:26px}.google-location-dialog header p[data-v-3664f5a1]{color:var(--ink-soft);margin-top:8px;font-size:15px;line-height:1.5}.google-location-dialog footer[data-v-3664f5a1]{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.google-location-error[data-v-3664f5a1]{color:var(--danger);font-size:14px}.google-location-note[data-v-3664f5a1]{color:var(--ink-faint);font-size:12.5px;line-height:1.4}@media (width<=480px){.google-location-dialog[data-v-3664f5a1]{padding:18px}}.walk-backdrop[data-v-21dd3339]{z-index:950;background:#1715126b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.walk[data-v-21dd3339]{overscroll-behavior:contain;background:var(--surface);width:min(460px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);border-radius:16px;flex-direction:column;gap:16px;padding:12px 24px 24px;display:flex;overflow-y:auto}.walk[data-v-21dd3339]:focus{outline:none}.walk-top[data-v-21dd3339]{align-items:center;gap:16px;display:flex}.walk-progress[data-v-21dd3339]{flex:1;gap:6px;display:flex}.walk-progress button[data-v-21dd3339]{cursor:pointer;background:0 0;border:0;flex:1;align-items:center;min-height:44px;padding:0;display:flex}.walk-progress span[data-v-21dd3339]{background:var(--line);border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.walk-progress span[data-v-21dd3339]:after{content:"";background:var(--ember);transform-origin:0;transition:transform .45s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.walk-progress .is-reached span[data-v-21dd3339]:after{transform:scaleX(1)}.walk-skip[data-v-21dd3339]{min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px 0 8px;font-size:15px}.walk-progress button[data-v-21dd3339]:focus-visible,.walk-skip[data-v-21dd3339]:focus-visible,.walk-swatch[data-v-21dd3339]:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:6px}.walk-stage[data-v-21dd3339]{touch-action:pan-y;flex-direction:column;gap:20px;display:flex}.walk-art[data-v-21dd3339]{aspect-ratio:3/2;border-radius:var(--radius-photo);background:var(--paper-dim);box-shadow:var(--shadow-photo);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.walk-art.is-compare[data-v-21dd3339]{cursor:ew-resize}.walk-scene[data-v-21dd3339]{width:100%;height:100%;display:block}.walk-sofa[data-v-21dd3339]{fill:var(--sofa);transition:fill .45s var(--ease)}.walk-viewfinder path[data-v-21dd3339]{fill:none;stroke:#171512;stroke-opacity:.55;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.walk-detect>g[data-v-21dd3339]{transform-box:fill-box;transform-origin:50%;animation:walk-detect-in-21dd3339 .45s var(--ease) var(--delay) both}.walk-detect-box[data-v-21dd3339]{fill:none;stroke:var(--ember);stroke-width:1.8px;stroke-dasharray:5 4}.walk-detect-line[data-v-21dd3339]{fill:none;stroke:var(--ember);stroke-width:1.8px;stroke-linecap:round}.walk-detect-chip[data-v-21dd3339]{fill:#fff}.walk-detect-label[data-v-21dd3339]{fill:var(--ember-ink);font-family:var(--font-body);text-anchor:middle;font-size:11px;font-weight:700}.walk-fade-leave-active[data-v-21dd3339]{transition:opacity .2s}.walk-fade-leave-to[data-v-21dd3339]{opacity:0}.walk-flash[data-v-21dd3339]{z-index:5;pointer-events:none;background:#fff;animation:.6s ease-out both walk-flash-21dd3339;position:absolute;inset:0}.walk-pin[data-v-21dd3339]{z-index:4;box-shadow:var(--shadow-pop);color:var(--ink);white-space:nowrap;animation:walk-pin-in-21dd3339 .45s var(--ease) .75s both;background:#fff;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;position:absolute;top:26%;left:54%;transform:translate(-50%,-100%)}.walk-swatches[data-v-21dd3339]{z-index:6;box-shadow:var(--shadow-pop);white-space:nowrap;animation:walk-swatches-in-21dd3339 .45s var(--ease) .65s both;background:#fffffff0;border-radius:999px;align-items:center;padding:2px 2px 2px 14px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.walk-swatch-name[data-v-21dd3339]{min-width:4.4em;color:var(--ink);margin-right:2px;font-size:14px}.walk-swatch[data-v-21dd3339]{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid}.walk-swatch span[data-v-21dd3339]{background:var(--swatch);border-radius:50%;width:22px;height:22px;transition:box-shadow .2s;box-shadow:inset 0 0 0 1px #0000001f}.walk-swatch[aria-pressed=true] span[data-v-21dd3339]{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--swatch)}.compare-divider.is-sweeping[data-v-21dd3339]{box-shadow:0 0 0 1px #0000001f,0 0 22px 6px #fff9}.walk-handle[data-v-21dd3339]{pointer-events:none}.walk-handle[data-v-21dd3339]:after{content:"";opacity:0;border-radius:50%;animation:1s ease-out .8s walk-handle-pulse-21dd3339;position:absolute;inset:0;box-shadow:0 0 0 2px #fff}.walk-handle.is-focused[data-v-21dd3339]{outline:2px solid var(--ember);outline-offset:3px}.walk-side[data-v-21dd3339]{z-index:4;color:#fff;background:#1715128c;border-radius:999px;padding:3px 9px;font-size:12px;position:absolute;top:10px}.walk-side-before[data-v-21dd3339]{left:10px}.walk-side-after[data-v-21dd3339]{right:10px}.walk-copy[data-v-21dd3339]{min-height:170px}.walk-copy h2[data-v-21dd3339]{margin:0 0 8px;font-size:26px;line-height:1.15}.walk-copy p[data-v-21dd3339]{max-width:40ch;color:var(--ink-soft);margin:0;font-size:16px;line-height:1.55}.walk-copy .walk-tokens[data-v-21dd3339]{border-radius:var(--radius-soft);background:var(--paper-dim);color:var(--ink);margin-top:14px;padding:10px 12px;font-size:14px;line-height:1.45}.walk-actions[data-v-21dd3339]{justify-content:flex-end;gap:8px;display:flex}.walk-next-enter-active[data-v-21dd3339],.walk-next-leave-active[data-v-21dd3339],.walk-prev-enter-active[data-v-21dd3339],.walk-prev-leave-active[data-v-21dd3339]{transition:opacity .16s ease, transform .2s var(--ease)}.walk-next-enter-from[data-v-21dd3339],.walk-prev-leave-to[data-v-21dd3339]{opacity:0;transform:translate(16px)}.walk-next-leave-to[data-v-21dd3339],.walk-prev-enter-from[data-v-21dd3339]{opacity:0;transform:translate(-16px)}.walk-backdrop.is-native[data-v-21dd3339]{background:var(--paper);place-items:stretch stretch;padding:0}.is-native .walk[data-v-21dd3339]{gap:var(--native-space-3);width:100%;height:100dvh;max-height:none;padding:max(var(--native-space-2), env(safe-area-inset-top)) max(var(--native-gutter), env(safe-area-inset-right)) max(var(--native-space-4), env(safe-area-inset-bottom)) max(var(--native-gutter), env(safe-area-inset-left));background:var(--paper);box-shadow:none;border-radius:0}.is-native .walk-progress button[data-v-21dd3339]{min-height:var(--native-control-height)}.is-native .walk-skip[data-v-21dd3339]{min-height:var(--native-control-height);font-size:var(--native-text-small)}.is-native .walk-stage[data-v-21dd3339]{gap:var(--native-space-6);padding-top:var(--native-space-2);flex:1}.is-native .walk-swatch[data-v-21dd3339]{width:44px;height:44px}.is-native .walk-copy[data-v-21dd3339]{min-height:0}.is-native .walk-copy h2[data-v-21dd3339]{font-size:var(--native-title-page);line-height:1.2}.is-native .walk-copy p[data-v-21dd3339]{font-size:var(--native-text-body);line-height:1.5}.is-native .walk-copy .walk-tokens[data-v-21dd3339]{background:var(--surface);font-size:var(--native-text-small)}.is-native .walk-actions .btn[data-v-21dd3339]{width:100%}@keyframes walk-flash-21dd3339{0%{opacity:0}12%{opacity:.95}to{opacity:0}}@keyframes walk-detect-in-21dd3339{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes walk-pin-in-21dd3339{0%{opacity:0;transform:translate(-50%,-70%)}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes walk-swatches-in-21dd3339{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes walk-handle-pulse-21dd3339{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@media (width<=480px){.walk-backdrop:not(.is-native) .walk[data-v-21dd3339]{padding:8px 18px 18px}.walk-copy h2[data-v-21dd3339]{font-size:23px}}@media (prefers-reduced-motion:reduce){.walk-detect>g[data-v-21dd3339],.walk-pin[data-v-21dd3339],.walk-swatches[data-v-21dd3339],.walk-handle[data-v-21dd3339]:after{animation:none}.walk-progress span[data-v-21dd3339]:after,.walk-sofa[data-v-21dd3339],.walk-next-enter-active[data-v-21dd3339],.walk-next-leave-active[data-v-21dd3339],.walk-prev-enter-active[data-v-21dd3339],.walk-prev-leave-active[data-v-21dd3339]{transition:none}}.native-appbar[data-v-03403e6e]{z-index:30;height:var(--topbar-h);padding:env(safe-area-inset-top) max(var(--native-gutter), env(safe-area-inset-right)) 0 max(4px, env(safe-area-inset-left));background:var(--paper);border-bottom:1px solid #0000;flex-shrink:0;align-items:center;gap:4px;display:flex;position:sticky;top:0}.native-appbar.is-scrolled[data-v-03403e6e]{border-bottom-color:var(--line)}.native-appbar.is-dark[data-v-03403e6e]{color:#f4f1ec;background:#171512}.native-appbar-back[data-v-03403e6e]{width:48px;height:48px;color:inherit;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.native-appbar-back[data-v-03403e6e]:active{background:var(--paper-dim)}.is-dark .native-appbar-back[data-v-03403e6e]:active{background:#ffffff1a}.native-appbar-back[data-v-03403e6e]:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.native-appbar-back svg[data-v-03403e6e]{width:24px;height:24px}.native-appbar-title[data-v-03403e6e]{min-width:0;font-size:var(--native-title-card);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.update-required[data-v-32d65b75]{z-index:4000;gap:var(--native-space-6);padding:calc(env(safe-area-inset-top,0px) + var(--native-space-8)) var(--native-space-6) calc(env(safe-area-inset-bottom,0px) + var(--native-space-6));background:var(--surface);overscroll-behavior:contain;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}.update-required-body[data-v-32d65b75]{align-self:center;gap:var(--native-space-3);justify-items:start;display:grid}.update-required-logo[data-v-32d65b75]{margin-bottom:var(--native-space-4)}.update-required h1[data-v-32d65b75]{font-size:var(--native-title-page);margin:0;line-height:1.2}.update-required p[data-v-32d65b75],.update-offer p[data-v-32d65b75]{color:var(--ink-soft);font-size:var(--native-text-body);margin:0;line-height:1.5}.update-required .btn[data-v-32d65b75]{min-height:var(--native-control-height)}.update-required .update-note[data-v-32d65b75],.update-offer .update-note[data-v-32d65b75]{color:var(--ink-faint);font-size:var(--native-text-small)}.update-offer-backdrop[data-v-32d65b75]{z-index:1100;background:#17151266;align-items:flex-end;display:flex;position:fixed;inset:0}.update-offer[data-v-32d65b75]{gap:var(--native-space-3);width:100%;padding:var(--native-space-6) var(--native-space-4) calc(env(safe-area-inset-bottom,0px) + var(--native-space-4));border-radius:var(--native-radius-card) var(--native-radius-card) 0 0;background:var(--surface);box-shadow:var(--shadow-pop);animation:.24s ease-out both update-offer-in-32d65b75;display:grid}.update-offer h2[data-v-32d65b75]{font-size:var(--native-title-section);margin:0;line-height:1.3}.update-offer footer[data-v-32d65b75]{gap:var(--native-space-2);margin-top:var(--native-space-2);grid-template-columns:auto 1fr;display:grid}.update-offer .btn[data-v-32d65b75]{min-height:var(--native-control-height)}@keyframes update-offer-in-32d65b75{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.update-offer[data-v-32d65b75]{animation:none}}.customer-activity-note{background:var(--ember-soft);color:var(--ember-ink);overflow-wrap:anywhere;border-radius:8px;margin:0;padding:6px 9px;font-size:.8125rem;font-weight:700;line-height:1.4}:root{--paper:#fff;--paper-dim:#f1f1f0;--surface:#fff;--ink:#171512;--ink-soft:#5b564d;--ink-faint:#8a8478;--line:#dedad1;--line-strong:#c7c1b4;--blue:#2e4374;--blue-ink:#1c2c50;--blue-soft:#eaeef6;--ember:#7d3658;--ember-ink:#55223b;--ember-soft:#f6e8ee;--moss:#445943;--moss-soft:#e8ede6;--danger:#b23a2e;--danger-soft:#fbeae7;--font-brand:"Big Shoulders Display Variable", "Arial Narrow", sans-serif;--font-display:"Sulphur Point", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Sulphur Point", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-photo:16px;--radius-soft:10px;--radius-sharp:3px;--radius-btn:10px;--shadow-photo:0 24px 48px -22px #17151261;--shadow-pop:0 14px 30px -14px #1715123d;--shadow-lift:0 8px 18px -10px #17151233;--ease:cubic-bezier(.22, 1, .36, 1);--topbar-h:68px;color:var(--ink);background:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}::selection{background:var(--ember);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.display-1{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(48px,6.6vw,104px);font-weight:800;line-height:.92}.display-2{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(34px,4.2vw,58px);font-weight:800;line-height:.96}.display-3{font-family:var(--font-display);font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1}.lede{max-width:46ch;color:var(--ink-soft);font-size:18px;line-height:1.6}.body-text{max-width:62ch;color:var(--ink-soft);font-size:15px;line-height:1.6}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}.topbar{z-index:30;height:var(--topbar-h);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffdb;justify-content:space-between;align-items:center;gap:24px;padding:0 clamp(18px,3.4vw,40px);display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;display:inline-flex}.brand-logo{--brand-door:var(--ember);color:var(--ink);align-items:center;gap:9px;display:inline-flex}.brand-logo-mark{flex:none;width:28px;height:28px;overflow:visible}.brand-logo-walls{stroke:currentColor;stroke-width:3.2px;stroke-linecap:square;stroke-linejoin:miter}.brand-logo-swing{stroke:var(--brand-door);stroke-width:1.8px;opacity:.55}.brand-logo-door{stroke:var(--brand-door);stroke-width:3.2px;stroke-linecap:square;transform-box:view-box;transform-origin:15px 28px;transition:transform .45s var(--ease)}.brand:hover .brand-logo-door,.brand:focus-visible .brand-logo-door{transform:rotate(38deg)}.brand-logo-word{font-family:var(--font-brand);letter-spacing:.01em;font-size:27px;font-weight:800;line-height:1;transform:translateY(-1px)}.brand-logo-tag{border:1px solid var(--line-strong);color:var(--ink-soft);font-family:var(--font-body);border-radius:999px;align-self:center;margin-left:2px;padding:3px 8px;font-size:11.5px;font-weight:600;line-height:1.2}.nav-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);justify-content:center;align-items:center;width:40px;height:40px;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{content:"";background:var(--ink);width:16px;height:2px;transition:transform .2s,opacity .2s;display:block;position:relative}.nav-toggle span:before{position:absolute;top:-5px}.nav-toggle span:after{position:absolute;top:5px}.nav-toggle[aria-expanded=true] span{background:0 0}.nav-toggle[aria-expanded=true] span:before{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{transform:translateY(-5px)rotate(-45deg)}.app-topbar{border-bottom-color:var(--line);background:#ffffffc7;transition:border-color .2s,box-shadow .2s,background .2s}.app-topbar.is-scrolled{border-bottom-color:var(--line);background:#ffffffeb;box-shadow:0 6px 20px -16px #17151259}.app-topbar-start,.app-topbar-end{align-items:center;min-width:0;display:flex}.app-topbar-start{gap:clamp(20px,3vw,40px)}.app-topbar-end{gap:10px}.app-nav{align-items:center;gap:2px;display:flex}.app-nav-link{height:36px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 12px;font-size:14.5px;font-weight:500;transition:color .16s,background .16s;display:inline-flex}.app-nav-link:hover{color:var(--ink);background:var(--paper-dim)}.app-nav-link.is-active{color:var(--ink);background:var(--paper-dim);font-weight:600}.app-nav-badge{background:var(--ember);color:#fff;border-radius:999px;place-items:center;min-width:19px;height:19px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.btn.compact.app-cta{border-radius:999px;min-height:32px;padding:0 13px 0 10px;font-size:13px}.btn.compact.app-cta:hover{border-color:var(--ember-ink);background:var(--ember-ink);box-shadow:none;transform:none}.app-cta svg{flex:none;width:16px;height:16px}.token-chip{border:1px solid var(--line);height:32px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default;border-radius:999px;align-items:center;gap:5px;padding:0 4px 0 9px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.token-chip svg{width:13px;height:13px;fill:var(--ember);flex:none}.token-chip.is-empty{background:var(--danger-soft);color:var(--danger);border-color:#0000}.token-chip.is-empty svg{fill:var(--danger)}.token-chip-add{border:0;border-left:1px solid var(--line);width:23px;height:23px;color:var(--ember-ink);font:inherit;cursor:pointer;background:0 0;border-radius:0 999px 999px 0;place-items:center;margin-left:2px;padding:0;font-size:17px;font-weight:500;line-height:1;transition:background .16s,color .16s;display:grid}.token-chip-add:hover{background:var(--ember-soft);color:var(--ember)}.token-chip-add:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.token-chip-description{z-index:40;border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--ink);width:max-content;max-width:220px;color:var(--surface);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;gap:3px;padding:10px 12px;line-height:1.3;transition:opacity .16s,transform .16s,visibility .16s;display:grid;position:absolute;top:calc(100% + 11px);right:0;transform:translateY(-4px);box-shadow:0 12px 28px #1715122e}.token-chip-description:before{content:"";background:var(--ink);width:9px;height:9px;position:absolute;top:-5px;right:14px;transform:rotate(45deg)}.token-chip-description strong{font-size:12px}.token-chip-description small{color:#ffffffb3;font-size:11px}.token-chip:hover .token-chip-description,.token-chip:focus .token-chip-description,.token-chip:focus-within .token-chip-description{opacity:1;visibility:visible;transform:translateY(0)}.account{position:relative}.account-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 3px;transition:background .16s,border-color .16s;display:inline-flex}.account-btn:hover,.account-btn[aria-expanded=true]{background:var(--paper-dim)}.account-avatar{background:var(--blue);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:inline-grid}.account-caret{width:16px;height:16px;transition:transform .2s var(--ease)}.account-btn[aria-expanded=true] .account-caret{transform:rotate(180deg)}.account-menu{z-index:40;border:1px solid var(--line);background:var(--surface);width:260px;box-shadow:var(--shadow-pop);transform-origin:100% 0;border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.account-menu-head{border-bottom:1px solid var(--line);gap:2px;margin-bottom:6px;padding:10px 10px 12px;display:grid}.account-menu-head strong{font-size:14.5px}.account-menu-head span,.app-mobile-user span{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);font-size:13px;overflow:hidden}.account-menu-tokens{background:var(--paper-dim);color:var(--ink-soft);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 10px;font-size:13.5px;display:flex}.account-menu-tokens strong{color:var(--ink);font-variant-numeric:tabular-nums}.account-menu-tokens.is-empty{background:var(--danger-soft);color:var(--danger)}.account-menu-tokens.is-empty strong{color:var(--danger)}.account-menu-item{text-align:left;width:100%;min-height:38px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--paper-dim)}.account-menu-attention{color:var(--ember-ink);font-weight:600}.account-menu-attention:before{content:"";background:var(--ember);border-radius:50%;width:7px;height:7px;margin-right:8px}.account-btn{position:relative}.account-attention-dot{border:2px solid var(--paper);background:var(--ember);border-radius:50%;width:9px;height:9px;position:absolute;top:2px;left:26px}.account-menu-enter-active,.account-menu-leave-active{transition:opacity .14s ease, transform .18s var(--ease)}.account-menu-enter-from,.account-menu-leave-to{opacity:0;transform:translateY(-4px)scale(.98)}.app-nav-toggle{border-radius:999px}.app-mobile-panel{display:none}.page{max-width:1200px;margin:0 auto;padding:48px clamp(18px,3.4vw,40px) 88px}.auth-resend-form{gap:16px;min-width:0;display:grid}.auth-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:.875rem;line-height:1.45;display:block}.login-panel input[aria-invalid=true],.sign-in-form input[aria-invalid=true]{border-color:var(--danger)}.auth-feedback{border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere;border-radius:12px;padding:12px 14px;line-height:1.5}.auth-feedback.error{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 5%, var(--surface))}.login-panel .admin-message{overflow-wrap:anywhere}.login-shell{background:linear-gradient(180deg, #eaeef68c, #fff0 240px), var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-pop);gap:18px;padding:24px;display:grid}.login-copy{gap:6px;display:grid}.google-button{justify-content:center;display:flex}.login-register-link{text-align:center;color:var(--ink-soft);font-size:13.5px}.login-register-link:hover{color:var(--ink)}.login-forgot-link{color:var(--ink-soft);justify-self:end;margin-top:-6px;font-size:13px}.login-forgot-link:hover{color:var(--ink)}.login-demo{color:var(--ink-faint);gap:6px;padding-top:6px;font-size:12px;display:grid}.login-demo code{color:var(--ink-soft);font-family:var(--font-mono)}.btn{--btn-bg:var(--ink);--btn-fg:#fff;border:1px solid var(--btn-bg);border-radius:var(--radius-btn);background:var(--btn-bg);min-height:46px;color:var(--btn-fg);letter-spacing:.01em;cursor:pointer;transition:transform .16s var(--ease), box-shadow .16s var(--ease), background .16s ease, border-color .16s ease, opacity .16s ease;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14.5px;font-weight:600;display:inline-flex}.btn:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn.primary{--btn-bg:var(--ember);border-color:var(--ember)}.btn.secondary{--btn-bg:transparent;--btn-fg:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{border-color:var(--ink);background:var(--paper-dim)}.btn.ghost{--btn-bg:transparent;--btn-fg:var(--ink-soft);border-color:#0000;min-height:40px;padding:0 12px}.btn.ghost:hover{color:var(--ink);background:var(--paper-dim);box-shadow:none;transform:none}.btn.danger{--btn-bg:var(--danger);border-color:var(--danger)}.btn.accent{--btn-bg:var(--ember-soft);--btn-fg:var(--ember-ink);border-color:var(--ember)}.btn.accent:hover{--btn-bg:var(--ember);--btn-fg:#fff}.btn.compact{min-height:38px;padding:0 16px;font-size:13.5px}.btn.full{width:100%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field{gap:7px;display:grid}.field-label{color:var(--ink-soft);font-size:13px;font-weight:600}.field-hint{color:var(--ink-soft);opacity:.8;font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);min-height:46px;padding:0 14px;transition:border-color .14s,box-shadow .14s}.field textarea{resize:vertical;min-height:92px;padding-top:12px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.field-suffix{position:relative}.field-suffix input{padding-right:46px}.field-suffix span{font-family:var(--font-mono);color:var(--ink-faint);font-size:13px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.hero{padding-top:20px;padding-bottom:clamp(48px,7vw,96px)}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,5vw,64px);display:grid}.hero-copy{gap:20px;max-width:540px;display:grid}.hero-title{margin-top:2px;font-size:clamp(42px,5.2vw,78px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:6px;display:flex}.hero-note{color:var(--ink-faint);font-size:13.5px}.section{border-top:1px solid var(--line);padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,4vw,44px);display:flex}.section-head .lede{margin-top:10px}.steps-strip{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.step-tile{background:var(--paper);gap:12px;padding:28px 26px;display:grid}.step-tile .step-num{font-family:var(--font-display);color:var(--line-strong);font-size:40px;font-weight:800;line-height:1}.step-tile strong{font-size:18px}.step-tile p{color:var(--ink-soft);max-width:34ch;font-size:14.5px;line-height:1.55}.room-links{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.room-link{border-radius:var(--radius-photo);color:#fff;isolation:isolate;min-height:180px;transition:box-shadow .22s var(--ease);align-items:flex-end;padding:18px;display:flex;position:relative;overflow:hidden}.room-link:hover{box-shadow:var(--shadow-photo)}.room-link img{object-fit:cover;z-index:-2;width:100%;height:100%;transition:transform .5s var(--ease);position:absolute;inset:0}.room-link:hover img{transform:scale(1.06)}.room-link:after{content:"";z-index:-1;background:linear-gradient(190deg,#1715120a 30%,#171512c7 100%);position:absolute;inset:0}.room-link span{text-shadow:0 2px 10px #00000040;font-size:17px;font-weight:600}.compare{aspect-ratio:4/3;border-radius:var(--radius-photo);width:100%;box-shadow:var(--shadow-photo);background:var(--paper-dim);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.compare>img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.compare-after{z-index:1}.compare-before{z-index:2;clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0)}.compare-after-overlays{z-index:7;clip-path:inset(0 0 0 var(--reveal,50%));pointer-events:none;position:absolute;inset:0}.compare-after-overlays>*{pointer-events:auto}.compare-divider{top:0;bottom:0;left:var(--reveal,50%);z-index:8;pointer-events:none;background:#fff;width:2px;position:absolute;transform:translate(-1px);box-shadow:0 0 0 1px #0000001f}.compare-handle{top:50%;left:var(--reveal,50%);z-index:9;width:44px;height:44px;box-shadow:var(--shadow-pop);pointer-events:auto;touch-action:none;cursor:ew-resize;background:#fff;border-radius:50%;place-items:center;margin:-22px 0 0 -22px;display:grid;position:absolute}.compare-handle svg{width:18px;height:18px}.compare-range{z-index:6;opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-soft);padding:24px}.card-photo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-photo);transition:box-shadow .2s var(--ease), transform .2s var(--ease);overflow:hidden}.card-photo img{aspect-ratio:4/3;object-fit:cover;background:var(--paper-dim);width:100%}.card-body{gap:6px;padding:16px;display:grid}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.wizard-shell{--wizard-fill:max(360px, calc(100dvh - var(--topbar-h) - 196px - var(--step-title-space,0px)));min-height:calc(100vh - var(--topbar-h));min-height:calc(100dvh - var(--topbar-h));grid-template-rows:minmax(0,1fr) auto;display:grid}.app-topbar-context{align-items:center;min-width:0;display:flex}.app-topbar-context:empty{display:none}.wizard-progress-label{border-right:1px solid var(--line-strong);border-left:1px solid var(--line-strong);box-sizing:border-box;white-space:nowrap;pointer-events:none;justify-content:center;align-items:baseline;gap:10px;width:min(760px,100% - 48px);min-width:0;min-height:28px;margin:0;padding:0 14px;line-height:1.2;display:flex;position:absolute;left:50%;transform:translate(-50%)}.wizard-progress-label strong{color:var(--ink);text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.wizard-progress-label span{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}@media (width>=761px){.wizard-progress-label.stage-wide{width:min(1180px,100% - 48px)}}@media (width>=761px) and (width<=980px){.wizard-progress-label:not(.stage-wide){width:min(560px,100% - 48px)}}@media (width<=760px){.wizard-progress-label{width:min(100% - 28px,420px)}.wizard-progress-label strong{font-size:13px}.wizard-progress-label span{display:none}}.wizard-progress{background:var(--line);width:min(760px,100% - 48px);height:3px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.wizard-progress-fill{background:var(--ember);border-radius:0 3px 3px 0;height:100%;transition:width .45s cubic-bezier(.65,0,.35,1);display:block}@media (width>=761px){.wizard-progress.stage-wide{width:min(1180px,100% - 48px)}}@media (width>=761px) and (width<=980px){.wizard-progress:not(.stage-wide){width:min(560px,100% - 48px)}}@media (width<=760px){.wizard-progress{width:min(100% - 28px,420px)}}.wizard-stage{width:min(760px,100% - 48px);margin:0 auto;padding:40px 0;display:grid;position:relative}.step-loader{z-index:5;-webkit-backdrop-filter:blur(3px);background:#ffffffc7;place-items:center;padding:24px 16px;display:grid;position:absolute;inset:0}.step-loader-card{text-align:center;text-wrap:balance;justify-items:center;gap:6px;max-width:320px;display:grid;position:sticky;top:24px;bottom:24px}.step-loader-mark{width:64px;height:64px;margin-bottom:12px;overflow:visible}.step-loader-walls{stroke:var(--ink);stroke-width:2.6px;stroke-linecap:square;stroke-dasharray:100;animation:step-loader-walls 2.4s var(--ease) infinite}.step-loader-swing{stroke:var(--ember);stroke-width:1.6px;opacity:.55;stroke-dasharray:100;animation:step-loader-swing 2.4s var(--ease) infinite}.step-loader-door{stroke:var(--ember);stroke-width:2.6px;stroke-linecap:square;transform-box:view-box;transform-origin:15px 28px;animation:step-loader-door 2.4s var(--ease) infinite}.step-loader-card strong{color:var(--ink);font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.05}.step-loader-card span{color:var(--ink-soft);font-size:14px;line-height:1.4}.step-loader-steps{justify-items:center;gap:8px;margin:0;padding:0;list-style:none;display:grid}.step-loader-steps li{animation:step-loader-step-in .38s var(--ease) both;justify-items:center;gap:4px;display:grid}.step-loader-steps li.done{grid-auto-flow:column;align-items:center;gap:6px}.step-loader-steps li.done strong{color:var(--ink-soft);font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1.3}.step-loader-steps li.done span{display:none}.step-loader-check{width:16px;height:16px;stroke:var(--moss);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}@keyframes step-loader-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.step-loader-progress{background:var(--ember-soft);display:block;overflow:hidden}.step-loader-progress i{background:var(--ember);transform-origin:0;height:100%;transition:transform .2s linear;display:block}.step-loader-card .step-loader-progress{border-radius:999px;width:180px;height:4px;margin-top:10px}@keyframes step-loader-walls{0%{stroke-dashoffset:100px;opacity:1}40%,86%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes step-loader-swing{0%,40%{stroke-dashoffset:100px;opacity:.55}66%,86%{stroke-dashoffset:0;opacity:.55}to{stroke-dashoffset:0;opacity:0}}@keyframes step-loader-door{0%,40%{opacity:1;transform:rotate(90deg)}66%,86%{opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(0)}}.step-loader-enter-active{transition:opacity .25s var(--ease) .18s}.step-loader-leave-active{transition:opacity .2s var(--ease)}.step-loader-enter-from,.step-loader-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.step-loader-walls,.step-loader-swing,.step-loader-door,.step-loader-steps li{animation:none}}.wizard-screen{min-height:var(--wizard-fill);grid-template-columns:minmax(280px,400px) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,60px);display:grid}.wizard-screen.wide{grid-template-columns:1fr}.wizard-screen.photo-choice{min-height:0}.wizard-shell.compact{grid-template-rows:none;align-content:start}.wizard-shell.compact .wizard-stage{padding:16px 0}.wizard-screen.photo-step{align-items:start;min-height:0}.wizard-shell.upload-fill{grid-template-rows:minmax(0,1fr) auto}.wizard-shell.upload-fill .wizard-screen.photo-step{align-items:stretch}.wizard-shell.upload-fill .upload-col,.wizard-shell.upload-fill .capture-choice-panel{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto;align-content:stretch}.wizard-shell.upload-fill .capture-choice-card{display:grid}@media (width>=761px){.wizard-shell.upload-fill:has(.capture-preview){--wizard-w:880px}.wizard-shell.upload-fill .capture-preview{align-content:center;height:100%}.wizard-shell.upload-fill .upload-preview-sketch img{width:min(var(--wizard-w), calc(100vw - 64px - var(--checklist-w,0px)), calc((var(--wizard-fill) + 24px) * var(--photo-ratio,1.333)))}}.photo-step .upload-col{gap:12px}.wizard-screen{grid-template-columns:1fr}.wizard-screen>.screen-copy{display:none}.screen-copy{align-content:start;gap:14px;display:grid}.screen-copy .lede{margin-top:2px}.wizard-shell:has(.step-title){--step-title-space:46px}.wizard-screen:has(>.step-title){grid-template-rows:auto minmax(0,1fr);row-gap:14px}.step-title{font-family:var(--font-display);letter-spacing:-.01em;text-align:left;text-wrap:balance;color:var(--ink);margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.15}@media (width<=760px){.wizard-shell:has(.step-title){--step-title-space:38px}.wizard-screen:has(>.step-title){row-gap:10px}.step-title{font-size:21px}}.step-guide-screen{place-items:center}.step-guide-card{border:1px solid var(--line-strong);border-radius:var(--radius-soft);background-color:var(--surface);width:min(680px,100%);box-shadow:var(--shadow-lift);background-image:linear-gradient(#1f1d1a09 1px,#0000 1px),linear-gradient(90deg,#1f1d1a09 1px,#0000 1px);background-size:24px 24px;gap:22px;padding:clamp(28px,5vw,52px);display:grid;position:relative;overflow:hidden}.step-guide-card:after{content:"";border-radius:calc(var(--radius-soft) - 5px);pointer-events:none;border:1px solid #7d365824;position:absolute;inset:12px}.step-guide-head{gap:10px;max-width:590px;display:grid}.step-guide-head h2{text-wrap:balance;margin:0}.step-guide-head>p:last-child{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.wizard-screen>.screen-copy.perspective-copy{display:grid}.perspective-screen{align-content:center;gap:0}.perspective-copy{gap:6px}.perspective-task-progress{color:var(--ink-faint);align-items:center;gap:8px;margin-top:7px;font-size:12px;font-weight:700;display:flex}.perspective-task-progress span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.perspective-task-progress b{border:1px solid var(--line-strong);background:var(--surface);width:21px;height:21px;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:11px;display:grid}.perspective-task-progress i{background:var(--line-strong);width:28px;height:1px}.perspective-task-progress span.done{color:var(--ink)}.perspective-task-progress span.done b{border-color:var(--ember);background:var(--ember);color:#fff}.wizard-summary{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);gap:8px;margin-top:8px;padding:12px;display:grid}.wizard-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-summary div{gap:2px;min-width:0;display:grid}.wizard-summary span{color:var(--ink-faint);font-family:var(--font-mono);font-size:11px}.wizard-summary strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;overflow:hidden}.choice-grid{gap:12px;display:grid}.room-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{border:1px solid var(--line-strong);border-radius:var(--radius-soft);background:var(--surface);text-align:left;cursor:pointer;min-height:148px;transition:border-color .16s ease, box-shadow .16s ease, transform .16s var(--ease);align-content:end;gap:8px;padding:18px;display:grid;position:relative}.choice-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.choice-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice-card strong{font-size:16.5px}.choice-card small{color:var(--ink-soft);font-size:13.5px;line-height:1.4}.choice-mark{border:2px solid var(--line-strong);background:var(--surface);border-radius:50%;width:18px;height:18px;position:absolute;top:14px;right:14px}.choice-card.selected .choice-mark{border-color:var(--ember);background:var(--ember);box-shadow:inset 0 0 0 3px var(--surface)}.room-choice-grid .choice-card{color:#fff;isolation:isolate;border-color:#0000;min-height:180px;padding:0;overflow:hidden}.room-choice-grid .choice-card img{object-fit:cover;z-index:-2;width:100%;height:100%;transition:transform .4s var(--ease);position:absolute;inset:0}.room-choice-grid .choice-card:hover img{transform:scale(1.05)}.room-choice-grid .choice-card:after{content:"";z-index:-1;background:linear-gradient(190deg,#1715120d 40%,#171512cc 100%);position:absolute;inset:0}.room-choice-grid .choice-card.selected{box-shadow:inset 0 0 0 2px #fff}.room-choice-grid .choice-card span{text-shadow:0 2px 10px #0000004d;padding:16px;font-size:18px;font-weight:600}.upload-col{align-content:start;gap:20px;display:grid}.second-photo{z-index:5;aspect-ratio:4/3;background:var(--ink);border:2px solid #ffffffeb;border-radius:9px;width:clamp(96px,16%,132px);position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 8px 22px #17151257}.second-photo-thumb{object-fit:cover;width:100%;height:100%;display:block}@media (width<=560px){.second-photo{border-radius:7px;width:clamp(84px,25%,108px);top:8px;right:8px}}.second-ask{z-index:7;border-radius:var(--radius-photo);background:linear-gradient(#17151214,#1715122e 45%,#1715129e);place-items:end center;padding:16px;display:grid;position:absolute;inset:0}.upload-preview-sketch.second-photo-prompt>.upload-room-badge,.upload-preview-sketch.second-photo-prompt>.furniture-quads,.upload-preview-sketch.second-photo-prompt>.furniture-quad-tag,.upload-preview-sketch.second-photo-prompt>.furniture-corner-handle,.upload-preview-sketch.second-photo-prompt>.upload-add-bar,.upload-preview-sketch.second-photo-prompt>.step-loader{visibility:hidden;pointer-events:none}.second-ask-card{border-radius:var(--radius-soft);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-photo);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:16px 18px;display:grid}.second-ask-plan{flex:none;width:104px;height:auto}.second-ask-plan .plan-room{fill:var(--paper-dim);stroke:var(--ink);stroke-width:2.5px}.second-ask-plan .plan-cone{stroke:none}.second-ask-plan .plan-cone.first{fill:#17151214}.second-ask-plan .plan-cone.second{fill:#7d365833}.second-ask-plan .plan-walk{fill:none;stroke:var(--ember);stroke-width:1.6px;stroke-dasharray:3 3}.second-ask-plan .plan-cam{stroke:var(--surface);stroke-width:1.5px}.second-ask-plan .plan-cam.first{fill:var(--ink-faint)}.second-ask-plan .plan-cam.second{fill:var(--ember)}.second-ask-plan .plan-num{fill:#fff;font:700 7.5px var(--font-body);text-anchor:middle}.second-ask-copy{gap:6px;min-width:0;display:grid}.second-ask-copy strong{color:var(--ink);font-size:17px;line-height:1.2}.second-ask-copy p{max-width:46ch;color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.45}.second-ask-actions{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;display:flex}.second-photo-pick{cursor:pointer}.second-photo-pick.busy{opacity:.7;cursor:progress}.second-photo-pick:has(input:focus-visible){outline:2px solid var(--ember);outline-offset:2px}.second-ask-enter-active{transition:opacity .3s}.second-ask-enter-active .second-ask-card{transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .3s}.second-ask-enter-from{opacity:0}.second-ask-enter-from .second-ask-card{opacity:0;transform:translateY(14px)}.second-ask-leave-active{transition:opacity .2s}.second-ask-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.second-ask-enter-active,.second-ask-enter-active .second-ask-card,.second-ask-leave-active{transition:none}}@media (width<=560px){.second-ask{padding:10px}.second-ask-card{grid-template-columns:1fr;gap:10px;padding:14px}.second-ask-plan{width:76px}.second-ask-copy p{font-size:13px}}.upload-zone{border-radius:var(--radius-photo);background:var(--paper-dim);cursor:pointer;place-items:center;min-height:440px;display:grid;position:relative;overflow:hidden}.upload-zone:before{content:"";pointer-events:none;background-image:linear-gradient(var(--line-strong) 2px, transparent 2px), linear-gradient(90deg, var(--line-strong) 2px, transparent 2px), linear-gradient(var(--line-strong) 2px, transparent 2px), linear-gradient(90deg, var(--line-strong) 2px, transparent 2px);background-position:0 0,0 0,100% 100%,100% 100%;background-repeat:no-repeat;background-size:22px 22px;border-radius:8px;transition:inset .16s,opacity .16s;position:absolute;inset:14px}.upload-zone.active:before,.upload-zone:hover:before{opacity:.8;inset:8px}.upload-zone.filled:before{display:none}.upload-zone input{opacity:0;cursor:pointer;z-index:4;position:absolute;inset:0}.upload-preview-sketch{border-radius:var(--radius-photo);background:0 0;place-self:start center;place-items:start;width:fit-content;max-width:100%;display:grid;position:relative;overflow:hidden}.upload-preview-sketch.analyzing:before,.upload-preview-sketch.analyzing:after{content:"";z-index:1;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.upload-preview-sketch.analyzing:before{animation:room-scan 2.6s var(--ease) infinite;background:linear-gradient(120deg,#0000 0%,#ffffff42 46%,#ffffff75 50%,#ffffff3d 54%,#0000 100%),#17151229;transform:translate(-120%)}.upload-preview-sketch.analyzing:after{box-shadow:inset 0 0 0 2px #7d36586b,inset 0 0 0 999px #7d36580a}.upload-preview-sketch img{width:min(var(--wizard-w,1180px), calc(100vw - 64px - var(--checklist-w,0px)), calc(var(--wizard-fill) * var(--photo-ratio,1.333)));border-radius:var(--radius-photo);object-fit:contain;height:auto;display:block}.upload-room-badge{z-index:3;max-width:calc(100% - 24px);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#ffffffe6;border:1px solid #ffffff57;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 10px 28px -18px #171512bf}@keyframes room-scan{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}.upload-empty{justify-items:center;gap:8px;display:grid}.upload-empty strong{font-size:19px}.upload-empty small{color:var(--ink-soft);font-weight:500}.capture-choice-panel{grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px;display:grid}.capture-choice-card{width:100%;position:relative}.capture-choice{--corner:22px;background-color:var(--paper);text-align:center;cursor:pointer;background-image:linear-gradient(#7d36580e 1px,#0000 1px),linear-gradient(90deg,#7d36580e 1px,#0000 1px);background-position:50%;background-size:24px 24px;border:1px solid #7d365842;border-radius:20px;align-content:center;justify-items:center;gap:18px;width:100%;min-height:380px;padding:44px 32px;transition:background-color .2s,border-color .2s;display:grid;position:relative}.capture-choice:before{content:"";background:linear-gradient(var(--ember), var(--ember)) left top / var(--corner) 2px, linear-gradient(var(--ember), var(--ember)) left top / 2px var(--corner), linear-gradient(var(--ember), var(--ember)) right top / var(--corner) 2px, linear-gradient(var(--ember), var(--ember)) right top / 2px var(--corner), linear-gradient(var(--ember), var(--ember)) left bottom / var(--corner) 2px, linear-gradient(var(--ember), var(--ember)) left bottom / 2px var(--corner), linear-gradient(var(--ember), var(--ember)) right bottom / var(--corner) 2px, linear-gradient(var(--ember), var(--ember)) right bottom / 2px var(--corner);pointer-events:none;background-repeat:no-repeat;position:absolute;inset:14px}.capture-choice:hover,.capture-choice-card:hover .capture-choice{background-color:#fbf4f7;border-color:#7d36586b}.capture-choice:focus-within{border-color:var(--ember);outline:none;box-shadow:0 0 0 4px #7d36582e}.capture-choice-icon{background:var(--ink);color:#fff;border-radius:16px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 12px 22px -14px #171512cc}.capture-choice-icon svg{width:27px;height:27px}.capture-choice-text{justify-items:center;gap:6px;display:grid}.capture-choice strong{letter-spacing:-.015em;font-size:22px;line-height:1.15}.capture-choice small{max-width:46ch;color:var(--ink-soft);font-size:13.5px;line-height:1.5}.capture-choice-tips{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.capture-choice-tips li{border:1px solid var(--line);color:var(--ink-soft);background:#ffffffeb;border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 9px;font-size:12.5px;font-weight:600;line-height:1.3;display:inline-flex}.capture-choice-tips li:before{content:"";background:var(--ember);border-radius:1px;flex:none;width:6px;height:6px}.capture-tips-toggle{white-space:nowrap;color:var(--ember);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:14px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.capture-tips-toggle:hover{color:var(--ember-ink)}.capture-tips-toggle:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}.photo-tips{width:100%}.photo-tips-backdrop{display:none}.photo-tips-sheet{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:22px 24px 24px}.photo-tips-sheet:focus{outline:none}.photo-tips-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.photo-tips-head h2{font-family:var(--font-body);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.photo-tips-close{border:1px solid var(--line);background:var(--paper);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.photo-tips-close:hover{background:var(--paper-dim);color:var(--ink)}.photo-tips-close:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.photo-tips-close svg{width:16px;height:16px}.photo-tips-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.photo-tips-group{--marker:var(--ember)}.photo-tips-group.helps{--marker:#7d365873}.photo-tips-group.minor{--marker:var(--line-strong)}.photo-tips-group h3{border-bottom:2px solid var(--marker);font-family:var(--font-body);color:var(--ink);margin:0 0 10px;padding-bottom:8px;font-size:13.5px;font-weight:700}.photo-tips-group ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.photo-tips-group li{gap:2px;padding-left:15px;display:grid;position:relative}.photo-tips-group li:before{content:"";background:var(--marker);border-radius:1px;width:6px;height:6px;position:absolute;top:.5em;left:0}.photo-tips-group strong{font-size:13.5px;font-weight:700;line-height:1.35}.photo-tips-group span{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.photo-tips-enter-active,.photo-tips-leave-active{transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1)}.photo-tips-enter-from,.photo-tips-leave-to{opacity:0;transform:translateY(-6px)}@media (width<=760px){.photo-tips{z-index:70;align-items:flex-end;display:flex;position:fixed;inset:0}.photo-tips-backdrop{background:#1715126b;display:block;position:absolute;inset:0}.photo-tips-sheet{overscroll-behavior:contain;width:100%;max-height:84vh;padding:0 18px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;position:relative;overflow-y:auto}.photo-tips-head{z-index:1;background:var(--paper);margin:0 -18px 12px;padding:18px 18px 12px;position:sticky;top:0}.photo-tips-groups{grid-template-columns:1fr;gap:20px}.photo-tips-enter-from,.photo-tips-leave-to{transform:none}.photo-tips-enter-active .photo-tips-sheet,.photo-tips-leave-active .photo-tips-sheet{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.photo-tips-enter-from .photo-tips-sheet,.photo-tips-leave-to .photo-tips-sheet{transform:translateY(100%)}}@media (width>=761px){.photo-tips-close{display:none}}.capture-preview{align-content:start;gap:10px;display:grid}.capture-preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.photo-object-review{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.photo-object-review strong{display:block}.photo-object-review p{color:var(--ink-soft);margin:3px 0 0;font-size:13px;line-height:1.4}.photo-object-review>span{background:var(--paper-dim);color:var(--ink-soft);border-radius:999px;flex:none;padding:5px 8px;font-size:12px;font-weight:700}.photo-dimension-fields{flex:0 360px;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px;display:grid}.photo-dimension-fields>label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;gap:5px;font-size:11px;font-weight:700;display:grid}.photo-dimension-input{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:#fff;align-items:center;min-height:40px;display:flex;overflow:hidden}.photo-dimension-input:focus-within{border-color:var(--ember);box-shadow:0 0 0 2px color-mix(in srgb, var(--ember) 16%, transparent)}.photo-dimension-input input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:9px 4px 9px 10px;font-size:15px;font-weight:700}.photo-dimension-input small{color:var(--ink-soft);text-transform:none;font-size:11px}.photo-dimension-input button,.photo-dimension-input .confirmed{background:var(--ember);color:#fff;border:0;align-self:stretch;place-items:center;min-width:38px;margin-left:5px;font-size:15px;font-weight:800;display:grid}.photo-dimension-input button{cursor:pointer}.photo-dimension-input .confirmed{color:var(--ember);background:0 0}@media (width<=760px){.photo-object-review{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.photo-object-review>span{align-self:flex-start}.photo-dimension-fields{flex-basis:auto;width:100%}}.dimension-wizard{gap:12px;display:grid}.dimension-step-layout{gap:18px;display:grid}.dimension-photo-card,.dimension-entry-card{min-width:0}.dimension-photo-card{justify-items:center;display:grid}.dimension-photo-wrap{border-radius:var(--radius-photo);background:var(--paper-dim);width:fit-content;max-width:100%;box-shadow:var(--shadow-photo);position:relative;overflow:hidden}.dimension-photo-wrap img{object-fit:contain;width:min(640px,72vw);max-height:520px;display:block}.dimension-complete-strip{z-index:3;border-radius:var(--radius-soft);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#171512c7;border:1px solid #ffffff5c;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 14px 32px -18px #171512ad}.dimension-complete-strip span{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;gap:2px;min-width:0;font-size:11px;font-weight:700;display:grid;overflow:hidden}.dimension-complete-strip strong{color:#fff;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dimension-entry-card{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);gap:14px;padding:18px;display:grid}.dimension-floor-plan-panel{justify-self:center;width:min(100%,620px)}.dimension-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dimension-tabs button{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);min-height:38px;color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:800}.dimension-tabs button.active{border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.dimension-tabs button.done{border-color:var(--moss);color:var(--moss);background:var(--moss-soft)}.dimension-current .dim-input-row{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.dimension-current input{box-shadow:none;background:0 0;border:0}.dimension-current input:focus-visible{box-shadow:none}.dim-unit{color:var(--ink-soft);font-family:var(--font-mono);padding-right:14px;font-size:13px;font-weight:700}.product-image-upload{border-radius:var(--radius-sharp);min-height:260px}.product-image-upload img{min-height:260px}.product-image-actions{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:-6px;font-size:13px;font-weight:600;display:flex}.product-image-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.product-image-tile{align-content:start;gap:8px;min-width:0;display:grid}.product-image-tile img{aspect-ratio:1;object-fit:cover;background:var(--paper-dim);border:1px solid var(--line);border-radius:7px;width:100%}.product-image-tile span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-size:12px;font-weight:700;overflow:hidden}.product-image-tile .btn{justify-content:center;width:100%}.product-pieces-list{gap:12px;display:grid}.dialog-add-piece{justify-self:start;width:fit-content}.product-piece-remove{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;place-items:center;font-size:20px;line-height:1;display:grid}.product-piece-remove:hover{border-color:var(--ink-faint);background:var(--paper-dim)}.product-piece-row{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)) 72px auto;align-items:end;gap:10px;padding:12px;display:grid}.product-piece-row .field{min-width:0}.product-piece-row .field input{width:100%;min-width:0}@media (width<=720px){.product-piece-row{grid-template-columns:1fr 1fr}}.product-material-list{gap:14px;display:grid}.product-material-card{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);gap:12px;padding:14px;display:grid}.product-material-card:first-child{border-color:var(--ink-faint)}.product-material-head{align-items:end;gap:10px;display:flex}.product-material-head .field{flex:1 1 0;min-width:0}.product-material-head .field+.field{flex:0 140px}.product-material-head .field input{width:100%;min-width:0}.product-material-add-color{justify-self:start}.product-color-list{gap:8px;display:grid}.product-color-row{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);grid-template-columns:38px minmax(0,1fr) auto;align-items:end;gap:10px;padding:10px 12px;display:grid}.product-color-base{background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);padding:0}.product-color-row .field{min-width:0}.product-color-row .field input,.product-color-row .field select{width:100%;min-width:0}.product-color-swatch{border:1px solid var(--line);width:38px;height:38px;box-shadow:inset 0 0 0 3px var(--surface);cursor:pointer;border-radius:50%;position:relative}.product-color-swatch:focus-within{outline:2px solid var(--ink);outline-offset:2px}.product-color-swatch input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.product-color-list>.field-label{align-items:baseline;gap:8px;display:flex}.product-color-list>.field-label small{color:var(--ink-faint);font-variant-numeric:tabular-nums}.product-color-picker{flex-wrap:wrap;gap:6px;padding-bottom:4px;display:flex}.product-color-chip{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 6px;font-size:.86rem;display:inline-flex}.product-color-chip:hover:not(:disabled){border-color:var(--ink)}.product-color-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.product-color-chip.selected{border-color:var(--ink);background:var(--ink);color:var(--surface)}.product-color-chip.retired{border-style:dashed}.product-color-chip:disabled{opacity:.45;cursor:not-allowed}.product-color-chip-dot{border:1px solid #0000002e;border-radius:50%;flex:none;width:20px;height:20px}.product-color-row>.product-color-swatch{cursor:default;align-self:center}.product-color-name{align-self:center;gap:2px;min-width:0;display:grid}.product-color-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-color-name small{color:var(--ink-soft)}.product-color-first{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:.8rem;text-decoration:underline}.product-color-first:hover{color:var(--ink)}.product-color-price{white-space:nowrap;gap:4px;padding-bottom:9px;display:grid}.product-color-images{border-top:1px dashed var(--line);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:8px;display:flex}.product-color-thumb{flex:none;width:76px;height:76px;position:relative}.product-color-thumb img{border:1px solid var(--line);object-fit:cover;background:var(--surface);border-radius:6px;width:100%;height:100%}.product-color-thumb:first-child img{border-color:var(--ink)}.product-color-thumb-badge{background:var(--ink);color:var(--surface);border-radius:999px;padding:1px 6px;font-size:.68rem;font-weight:700;position:absolute;bottom:4px;left:4px}.product-color-thumb-badge.new{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.product-color-thumb-actions{gap:3px;display:flex;position:absolute;top:4px;right:4px}.product-color-thumb-actions button{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.8rem;line-height:1;display:grid}.product-color-thumb-actions button:hover{border-color:var(--ink)}.product-color-thumb-actions button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.product-color-upload{border:1px dashed var(--ink-faint);background:var(--surface);width:76px;height:76px;color:var(--ink-soft);cursor:pointer;border-radius:6px;flex:none;align-content:center;place-items:center;gap:2px;display:grid;position:relative}.product-color-upload:hover{border-color:var(--ink);color:var(--ink)}.product-color-upload:focus-within{outline:2px solid var(--ink);outline-offset:2px}.product-color-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.product-color-upload span{font-size:1.4rem;line-height:1}.product-color-upload small{font-size:.72rem}.product-color-images-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:160px;font-size:.8rem}.product-color-images.missing .product-color-upload{border-color:var(--danger);color:var(--danger)}.product-color-images.missing .product-color-images-count{color:var(--danger);font-weight:600}.catalog-color-name{align-items:center;gap:10px;display:inline-flex}.catalog-color-dot{border:1px solid #0000002e;border-radius:50%;flex:none;width:22px;height:22px}.catalog-color-hex{font-family:var(--font-mono);color:var(--ink-soft);font-size:.85rem}.catalog-color-dialog{max-width:560px}.catalog-material-dialog{max-width:760px}.material-category-groups{gap:10px;max-height:46vh;padding-right:4px;display:grid;overflow-y:auto}.material-category-group{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);margin:0;padding:8px 12px 10px}.material-category-group legend{padding:0 4px}.material-category-group-toggle{color:var(--ink)}.material-category-group-count{color:var(--ink-soft);font-variant-numeric:tabular-nums}.material-category-list{max-width:none}.material-category-list .room-checkbox.inactive{opacity:.6}.product-material-warning{color:var(--danger);margin:8px 0 0;font-size:13px}.catalog-color-preview{grid-template-columns:64px minmax(0,1fr);align-items:end;gap:14px;display:grid}.catalog-color-swatch{width:64px;height:64px}.catalog-color-delete,.catalog-material-delete{color:var(--danger);margin-right:auto}.product-color-price strong{font-variant-numeric:tabular-nums}@media (width<=720px){.product-material-head{flex-wrap:wrap}.product-material-head .field:first-child{flex-basis:100%}.product-color-base{grid-template-columns:38px minmax(0,1fr)}}.side-panel{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);padding:20px}.side-panel.scroll{max-height:var(--wizard-fill);align-content:start;gap:14px;display:grid;overflow-y:auto}.side-panel.scroll.page-flow{max-height:none;overflow:visible}.side-panel .btn.compact{justify-self:end}.spec-group.stencil-board{border:0;gap:16px;padding:0}.product-type-panel{align-content:start;gap:14px;display:grid}.stencil-title{gap:3px;display:grid}.stencil-board .stencil-title strong{font-size:17px}.stencil-title span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.stencil-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px 10px;display:grid}.stencil-cluster{gap:12px;padding:0;display:grid}.stencil-section-separator{color:var(--ink-soft);align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.stencil-section-separator:before,.stencil-section-separator:after{content:"";background:var(--line-strong);height:1px}.stencil-section-separator:before{width:24px}.stencil-section-separator:after{flex:1}.stencil{color:var(--ink-faint);cursor:pointer;align-content:start;gap:7px;display:grid;position:relative}.stencil input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.stencil-plate{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius-soft);background-color:var(--paper-dim);background-image:linear-gradient(color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px);background-position:-1px -1px;background-size:12px 12px;place-items:center;transition:border-color .14s,box-shadow .14s,background-color .14s;display:grid;position:relative}.stencil:hover .stencil-plate{border-color:var(--ink-faint)}.stencil:has(input:focus-visible) .stencil-plate{outline:2px solid var(--blue);outline-offset:2px}.stencil-plate:after{content:"";border:1.5px solid var(--line-strong);background:var(--surface);border-radius:4px;width:18px;height:18px;position:absolute;top:8px;right:8px}.furniture-symbol{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:62%;height:76%;overflow:visible}.furniture-symbol .f{fill:var(--surface)}.furniture-symbol .s{fill:color-mix(in srgb, currentColor 22%, var(--surface))}.furniture-symbol .d{stroke-dasharray:2.5 2.5;stroke-width:1.2px}.furniture-symbol .h{stroke-width:3px}.furniture-symbol .tv{fill:currentColor}.stencil strong{color:var(--ink);padding:0 2px;font-size:14px;font-weight:500;line-height:1.25}.stencil-note{color:var(--ink-faint);margin-top:-4px;padding:0 2px;font-size:12px;line-height:1.3}.stencil.blocked{cursor:not-allowed}.stencil.blocked .stencil-plate{opacity:.45;border-style:dashed}.stencil.blocked:hover .stencil-plate{border-color:var(--line)}.stencil.blocked strong{color:var(--ink-faint)}.stencil.selected{color:var(--ember)}.stencil.selected .stencil-plate{border-color:var(--ember);box-shadow:inset 0 0 0 1px var(--ember);background-color:var(--ember-soft)}.stencil.selected .stencil-plate:after{border-color:var(--ember);background:var(--ember) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 12px no-repeat}.stencil.selected .furniture-symbol .f{fill:color-mix(in srgb, var(--ember) 14%, var(--surface))}.stencil.selected strong{font-weight:600}.stencil.selected .furniture-symbol{animation:stencil-stamp .28s var(--ease)}@keyframes stencil-stamp{0%{transform:scale(.9)}to{transform:scale(1)}}.companion-suggestion{z-index:4;border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));width:fit-content;max-width:100%;color:var(--ink);background:color-mix(in srgb, var(--surface) 92%, var(--blue));text-align:center;border-radius:999px;margin:0 auto 10px;padding:9px 13px;font-size:13px;position:sticky;top:8px;box-shadow:0 8px 24px #16344e24}.stencil.companion-attention:not(.blocked) .stencil-plate{animation:1.1s ease-in-out 2 companion-attention}@keyframes companion-attention{0%,to{border-color:var(--line);box-shadow:none}50%{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb, var(--blue) 18%, transparent)}}@media (prefers-reduced-motion:reduce){.stencil.companion-attention:not(.blocked) .stencil-plate{border-color:var(--blue);animation:none}}.spec-group{border:1px solid var(--line);border-radius:var(--radius-sharp);gap:10px;padding:16px;display:grid}.spec-group+.spec-group{margin-top:-2px}.replacement-step-group{border-color:color-mix(in srgb, var(--ember) 28%, var(--line));margin-bottom:16px}.spec-head>div{gap:3px;display:grid}.spec-head>div>small{color:var(--ember);letter-spacing:.12em;font-size:10px;font-weight:700}.spec-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.spec-head strong{font-size:15px}.spec-head small{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;font-size:12px}.furniture-sketch{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);position:relative;overflow:hidden}.furniture-sketch img{width:100%;height:auto;display:block}.furniture-quads{pointer-events:none;filter:drop-shadow(0 1px 2px #17151259);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.furniture-quad{fill:none;stroke:#ffffffe6;stroke-width:1.5px;stroke-dasharray:6 5;opacity:.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:furniture-box-in .5s cubic-bezier(.2, .8, .2, 1) calc(var(--i,0) * 90ms) backwards;transition:stroke .15s,stroke-width .15s}.furniture-quad.uncertain{stroke-dasharray:6 5}.furniture-quad.selected,.furniture-quad.resizing{fill:#7d36581a;stroke:var(--ember);stroke-width:2.5px}.furniture-quad-tag{z-index:calc(3 + var(--i,0));align-items:stretch;gap:3px;max-width:40%;display:inline-flex;position:absolute;transform:translate(12px)}.furniture-quad-tag.edge-right{transform:translate(calc(-100% - 12px))}.furniture-quad-tag.edge-bottom{transform:translate(12px,calc(-100% - 6px))}.furniture-quad-tag.edge-right.edge-bottom{transform:translate(calc(-100% - 12px),calc(-100% - 6px))}.furniture-quad-tag:hover,.furniture-quad-tag:focus-within{z-index:40}.furniture-quad-label{color:#fff;opacity:.5;white-space:nowrap;cursor:default;min-width:0;animation:furniture-box-in .5s cubic-bezier(.2, .8, .2, 1) calc(var(--i,0) * 90ms) backwards;background:#171512d1;border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:3px 8px 3px 6px;font-family:inherit;font-size:11.5px;font-weight:700;line-height:1.25;display:inline-flex;position:relative;box-shadow:0 2px 8px #17151247}.furniture-quad-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.furniture-quad-label:before{content:"";background:#ffffffe6;border-radius:1px;flex:none;width:6px;height:6px}.furniture-quad-label.uncertain{border-style:dashed;border-color:var(--ember)}.furniture-quad-label.selected{background:var(--ember);border-color:var(--ember);color:#fff}.furniture-quad-label.selected:before{background:#fff}.furniture-quad-action{border:1px dashed var(--ember);width:24px;color:var(--ember);cursor:pointer;animation:furniture-box-in .5s cubic-bezier(.2, .8, .2, 1) calc(var(--i,0) * 90ms) backwards;background:#fffffff0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.furniture-quad-action svg{width:14px;height:14px}.furniture-quad-action:hover{background:var(--ember);color:#fff;border-style:solid}.furniture-quad-action:focus-visible{outline-offset:1px;box-shadow:0 0 0 4px var(--ember);outline:2px solid #fff}.furniture-corner-handle{z-index:2;touch-action:none;cursor:grab;width:30px;height:30px;animation:furniture-box-in .5s cubic-bezier(.2, .8, .2, 1) calc(var(--i,0) * 90ms) backwards;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%)}.furniture-corner-handle.resizing{cursor:grabbing}.furniture-corner-handle:before{content:"";border:2px solid var(--ember);background:#fff;border-radius:50%;width:12px;height:12px;transition:width .15s,height .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #17151266}.furniture-corner-handle:hover:before,.furniture-corner-handle:focus-visible:before,.furniture-corner-handle.resizing:before{width:16px;height:16px}.furniture-corner-handle:focus-visible{outline-offset:-3px;box-shadow:0 0 0 2px var(--ember);outline:2px solid #fff}@media (pointer:coarse){.furniture-corner-handle{width:40px;height:40px}.furniture-corner-handle:before{width:16px;height:16px}}.furniture-type-chips{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;display:flex}.furniture-type-chip{border:1px solid var(--line-strong);background:var(--paper);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:13.5px;font-weight:600}.furniture-type-chip:hover{background:var(--paper-dim);border-color:var(--ink)}.furniture-type-chip:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.furniture-add-button:before{content:"+";margin-right:6px;font-size:17px;line-height:1}@keyframes furniture-box-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.furniture-quad,.furniture-quad-label,.furniture-quad-action,.furniture-corner-handle{animation:none}}.floor-plan-block{gap:10px;margin-top:8px;display:grid}.floor-plan{border:2px solid var(--ink);border-radius:var(--radius-sharp);background-color:#f7f3eb;background-image:linear-gradient(#1f1d1a14 1px,#0000 1px),linear-gradient(90deg,#1f1d1a14 1px,#0000 1px);background-size:24px 24px;justify-self:center;width:min(100%,520px);min-height:220px;max-height:520px;position:relative;overflow:hidden}.wizard-stage:has(.room-plan){padding-block:12px}.room-plan{--plan-extra-h:56px;width:100%;height:calc(var(--wizard-fill) + var(--plan-extra-h));margin:0 auto;display:grid}.room-plan-panel{top:14px;left:calc(var(--plan-side) + 14px);z-index:3;max-width:min(320px, calc(100% - var(--plan-side) - 28px));background:var(--surface);box-shadow:var(--shadow-photo);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45;position:absolute}.room-plan-panel:empty{display:none}.room-plan-legend{z-index:2;width:var(--plan-side);color:var(--ink-soft);border-right:1px dashed #1f1d1a2e;flex-direction:column;justify-content:center;gap:12px;padding:18px 12px 18px 16px;display:flex;position:absolute;inset:0 auto 0 0}.room-plan-legend-head{border-bottom:1px solid #1f1d1a24;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.room-plan-legend strong{color:var(--ink);font-size:13px;font-weight:750}.room-plan-legend-toggle{display:none}.room-plan-legend ul{gap:10px;margin:0;padding:0;font-size:12px;line-height:1.35;list-style:none;display:grid}.room-plan-legend li{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;display:grid}.room-plan-key{width:22px;height:22px;color:var(--ember);place-items:center;font-weight:800;line-height:1;display:grid}.room-plan-key.key-move{border:2px solid var(--ember);background:color-mix(in srgb, var(--ember) 14%, transparent);border-radius:3px;width:20px;height:16px}.room-plan-key.key-rotate,.room-plan-key.key-remove{background:#ffffffe6;border:1px solid;border-radius:50%;font-size:13px}.room-plan-key.key-remove{color:var(--danger);font-size:16px}.room-plan-key.key-resize{border-right:3px solid var(--ink-soft);border-bottom:3px solid var(--ink-soft);border-radius:0 0 4px;justify-self:center;width:14px;height:14px}.room-plan-key.key-approx{border:1px solid var(--line-strong);background:var(--surface);width:auto;height:20px;color:var(--ink);font-family:var(--font-mono);border-radius:999px;justify-self:start;padding:0 7px;font-size:12px}.room-plan-frame{--plan-side:0px;border-radius:var(--radius-photo);min-height:0;box-shadow:var(--shadow-photo);background:#efe9de;align-self:stretch;position:relative;overflow:hidden}.room-plan-frame:has(>.room-plan-legend){--plan-side:172px}.room-plan-sheet{padding-left:var(--plan-side);background-color:#efe9de;place-items:center;display:grid;position:absolute;inset:0;container-type:size}.room-plan-sheet .floor-plan-dims{--plan-width:min(calc(100cqw - 20px - 100px), calc((100cqh - 20px - 100px) * var(--room-ratio)))}.room-plan-sheet .floor-plan-dims>.floor-plan-dim-width{width:var(--plan-width);justify-self:center}.room-plan-sheet .floor-plan.room-plan-floor{width:var(--plan-width);min-height:0;max-height:none}.room-plan-panel>.floor-plan-note{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;display:flex}.room-plan-panel>.floor-plan-note+.floor-plan-note{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.furniture-quad.discarded{fill:#fff0;stroke:var(--ember);stroke-dasharray:2 4}.furniture-quad-label.discarded{background:var(--ember);color:#fff;text-decoration:line-through}.furniture-step .furniture-quad,.furniture-step .furniture-quad-label{opacity:1}.furniture-step .furniture-quad{fill:#fff0;pointer-events:all;cursor:pointer}.furniture-step .furniture-quad:hover{stroke-width:2.5px}.furniture-step .furniture-quad.discarded{fill:#fff0}.furniture-quad-label.pickable{cursor:pointer}.furniture-step-hint{color:var(--ink-soft);margin:-4px 0 0;font-size:14px;line-height:1.45}.furniture-pick-list{width:100%;max-width:var(--wizard-w,880px);grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;gap:12px;display:grid}.furniture-pick-group{border:1px solid color-mix(in srgb, var(--moss) 25%, var(--line));border-radius:var(--radius-soft);background:color-mix(in srgb, var(--moss) 4%, var(--surface));align-content:start;gap:11px;min-width:0;padding:14px;display:grid}.furniture-pick-heading{color:var(--ink);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.furniture-pick-heading strong{font-size:14px}.furniture-pick-status-icon{background:color-mix(in srgb, var(--moss) 14%, var(--surface));width:25px;height:25px;color:var(--moss);border-radius:50%;place-items:center;display:grid}.furniture-pick-status-icon svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.furniture-pick-count{background:color-mix(in srgb, var(--moss) 10%, var(--paper-dim));min-width:23px;color:var(--ink-soft);font-family:var(--font-mono);text-align:center;border-radius:999px;padding:2px 7px;font-size:11px}.furniture-pick-group.removed{border-color:color-mix(in srgb, var(--ember) 28%, var(--line));background:color-mix(in srgb, var(--ember) 4%, var(--surface))}.furniture-pick-group.removed .furniture-pick-status-icon,.furniture-pick-group.removed .furniture-pick-count{background:var(--ember-soft);color:var(--ember)}.furniture-pick-items{flex-wrap:wrap;align-items:center;gap:7px;min-height:29px;display:flex}.furniture-pick-none,.furniture-pick-empty{color:var(--ink-soft);margin:0;font-size:13px}.furniture-pick-empty{grid-column:1/-1}.furniture-pick-none{opacity:.72;font-style:italic}.furniture-pick-chip{border:1px solid color-mix(in srgb, var(--moss) 28%, var(--line));background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 9px 6px 11px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.furniture-pick-chip:after{content:"×";color:var(--ink-faint);font-size:15px;font-weight:500;line-height:1}.furniture-pick-chip:hover{border-color:var(--ember);background:var(--paper-dim);transform:translateY(-1px)}.furniture-pick-chip.removed{border-color:color-mix(in srgb, var(--ember) 45%, var(--line));background:var(--ember-soft);color:var(--ember);text-decoration:line-through}.furniture-pick-chip.removed:after{content:"↩";color:var(--ember);font-size:13px;text-decoration:none}.furniture-pick-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (width<=620px){.furniture-pick-list{grid-template-columns:1fr}.furniture-pick-group{padding:12px}}.upload-add-bar{z-index:4;scrollbar-width:none;pointer-events:none;gap:6px;display:none;position:absolute;bottom:12px;left:12px;right:12px;overflow-x:auto}.upload-add-bar::-webkit-scrollbar{display:none}.upload-add-bar>*{pointer-events:auto;flex:none}.upload-add-furniture,.upload-add-chip{color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:inherit;cursor:pointer;transition:background-color .18s var(--ease), color .18s var(--ease);background:#ffffffe6;border:1px solid #ffffff57;border-radius:999px;align-items:center;gap:6px;padding:8px 13px 8px 11px;font-size:12px;font-weight:850;display:inline-flex;box-shadow:0 10px 28px -18px #171512bf}.upload-add-chip{padding:8px 13px;font-weight:700}.upload-add-chip:hover{background:#fff}.upload-add-furniture:before{content:"+";font-size:17px;line-height:1}.upload-add-furniture{gap:1px;padding:6px 10px 6px 8px}.upload-add-furniture svg{flex:none;width:20px;height:20px}.upload-add-furniture:hover{background:#fff}.upload-add-furniture.active{background:var(--ember);color:#fff;border-color:#0000}.upload-add-furniture:before{transition:transform .18s var(--ease)}.upload-add-furniture.active:before{transform:rotate(45deg)}.upload-add-chip:focus-visible,.upload-add-furniture:focus-visible{outline-offset:2px;outline:2px solid #fff;box-shadow:0 0 0 4px #7d365899}@media (width<=760px){.upload-preview-sketch,.upload-preview-sketch img{width:100%}.wizard-shell.upload-fill .capture-preview:has(.second-photo,.second-photo-prompt){border-radius:var(--radius-photo);width:100%;min-width:0;overflow:hidden}.wizard-shell.upload-fill .capture-preview:has(.second-photo,.second-photo-prompt) .upload-preview-sketch{width:max(100%, calc(min(62dvh, 560px) * var(--photo-ratio,1.333)));justify-self:center;max-width:none}.wizard-shell.upload-fill .capture-preview:has(.second-photo) .second-photo{right:calc(50% + min(100vw - 12px,460px)/-2 + 8px)}.wizard-shell.upload-fill .capture-preview:has(.second-photo) .upload-room-badge{left:calc(50% + min(100vw - 12px,460px)/-2 + 8px)}.wizard-shell.upload-fill:has(.capture-preview){grid-template-rows:none;align-content:start;min-height:0}.wizard-shell.upload-fill:has(.capture-preview) .wizard-stage{width:min(100% - 12px,460px);padding:12px 0 4px}.wizard-shell.upload-fill:has(.capture-preview) .upload-col{grid-template-rows:none;align-content:start}.second-ask{padding:8px}.second-ask-card{border:1px solid var(--line);width:min(100%,min(100vw - 12px,460px) - 16px);box-shadow:none;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px}.second-ask-plan{width:48px;margin-top:2px}.second-ask-copy{gap:3px}.second-ask-copy strong{font-size:15px}.second-ask-copy p{font-size:12.5px;line-height:1.35}.second-ask-actions{gap:6px 10px;margin-top:4px}.second-ask-actions .btn{min-height:34px;padding:6px 12px;font-size:13px}}.floor-plan-orientation{color:var(--ink-soft);text-align:center;justify-self:center;margin:0;font-size:12px;font-weight:650}.floor-plan-camera{background:var(--ember);color:#fff;border-radius:999px;justify-self:center;align-items:center;gap:6px;margin:2px 0 0;padding:5px 12px 5px 10px;font-size:12px;line-height:1.2;display:inline-flex;position:relative}.floor-plan-camera:before{content:"";border:6px solid #0000;border-bottom-color:var(--ember);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.floor-plan-camera svg{flex:none;width:16px;height:16px}.floor-plan-camera strong{font-weight:750}.floor-plan-camera span{opacity:.82}.floor-plan-camera-view{clip-path:polygon(50% 100%,0 0,100% 0);pointer-events:none;background:linear-gradient(#7d365800,#7d365833);width:84%;height:72%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.floor-plan-door{color:var(--ink);pointer-events:none;position:absolute}.floor-plan-door.balcony{color:var(--blue)}.floor-plan-door svg{width:100%;height:100%;display:block;overflow:visible}.floor-plan-door path{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}.floor-plan-door .door-swing{fill:currentColor;fill-opacity:.08;stroke-width:1px;stroke-dasharray:3 3}.floor-plan-door .door-leaf{stroke-width:2px}.floor-plan-door .door-opening{stroke-width:5px}.floor-plan-radiator{border:1px solid var(--danger);background:repeating-linear-gradient(45deg, var(--danger-soft) 0 3px, var(--danger) 3px 4px);pointer-events:none;min-width:3px;min-height:3px;position:absolute}.floor-plan-dims{grid-template-columns:auto auto;justify-content:center;place-items:center;gap:6px 10px;display:grid}.floor-plan-dims>*{grid-column:1}.room-plan-sheet-inner>.floor-plan-orientation{grid-row:1;align-self:end}.floor-plan-orientation-spacer{grid-row:1;min-height:1px}.room-plan-thumb{z-index:4;height:48px;aspect-ratio:var(--photo-ratio);border:2px solid var(--surface);cursor:zoom-in;transform-origin:100% 0;border-radius:6px;grid-area:1/2/3;place-self:end center;transition:transform .18s,box-shadow .18s;position:relative;box-shadow:0 1px 4px #0000002e}.room-plan-thumb img{object-fit:cover;border-radius:4px;width:100%;height:100%;display:block}.room-plan-thumb:hover,.room-plan-thumb:focus-visible{z-index:8;cursor:zoom-out;outline:none;transform:scale(4);box-shadow:0 2px 6px #00000038}.room-plan-thumb.shrunk:hover,.room-plan-thumb.shrunk:focus-visible{z-index:4;cursor:zoom-in;transform:none;box-shadow:0 1px 4px #0000002e}.room-plan-thumb.shrunk:focus-visible{outline:2px solid var(--ember);outline-offset:2px}@media (prefers-reduced-motion:reduce){.room-plan-thumb{transition:none}}.floor-plan-dims.check{grid-template-columns:minmax(0,520px) auto;width:100%;position:relative}.arrangement-photo-reference{z-index:2;cursor:zoom-in;width:42px;transition:width .22s var(--ease), filter .18s ease;background:0 0;border:0;grid-area:2/2;place-self:center;margin:0;padding:0;display:block;position:relative}.arrangement-photo-reference img{aspect-ratio:4/3;object-fit:cover;border:2px solid var(--surface);background:var(--paper-dim);border-radius:5px;width:100%;display:block;box-shadow:0 2px 7px #1816132e}.arrangement-photo-reference>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.arrangement-photo-reference:hover{filter:brightness(.96)}.arrangement-photo-reference:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:5px}.arrangement-photo-reference.expanded{z-index:30;cursor:zoom-out;grid-area:auto;width:min(320px,100% - 16px);position:absolute;top:8px;right:8px}.arrangement-photo-reference.expanded img{border-radius:var(--radius-soft);border-width:3px;box-shadow:0 14px 42px #18161352}.arrangement-camera-origin{grid-area:4/1;margin-top:4px}.arrangement-camera-origin span{opacity:1;font-weight:700;display:inline}.floor-plan-dim.floor-plan-dim-length{min-width:46px}@media (prefers-reduced-motion:reduce){.arrangement-photo-reference{transition:none}}.floor-plan-dims.check>.floor-plan{width:100%}.floor-plan-dim{color:var(--ink-soft);place-items:center;display:grid;position:relative}.floor-plan-dim:before,.floor-plan-dim:after{content:"";pointer-events:none;position:absolute}.floor-plan-dim-width{justify-self:stretch;min-height:28px}.floor-plan-dim-width:before{border-top:1px solid;top:50%;left:0;right:0}.floor-plan-dim-width:after{border-inline:1px solid;height:12px;top:calc(50% - 6px);left:0;right:0}.floor-plan-dim.floor-plan-dim-length{grid-area:3/2;place-self:stretch stretch}.floor-plan-dim-length:before{border-left:1px solid;top:0;bottom:0;left:50%}.floor-plan-dim-length:after{border-block:1px solid;width:12px;top:0;bottom:0;left:calc(50% - 6px)}.floor-plan-dim-value{z-index:1;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;align-items:baseline;gap:3px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.floor-plan-dim-input{cursor:text;padding:4px 9px;box-shadow:0 1px 2px #0000000f}.floor-plan-dim-input input{width:5ch;color:inherit;font:inherit;text-align:right;background:0 0;border:0;outline:none;padding:0}.floor-plan-dim-input input::placeholder{color:var(--ink-soft);font-weight:500}.floor-plan-dim-input.empty input{text-align:center;width:7ch}.floor-plan-dim-input:focus-within{border-color:var(--ember);box-shadow:0 0 0 3px #7d36582e}.floor-plan-dim-input.estimated{border-style:dashed;border-color:var(--ember);color:var(--ember-ink)}.floor-plan-dim-input.empty:not(:focus-within){border-color:var(--ember);animation:1.6s ease-in-out 2 axis-ask}.floor-plan-axis-approx{font-weight:800}.floor-plan-dim-confirm{border:1px solid var(--ember);background:var(--surface);width:20px;height:20px;color:var(--ember);cursor:pointer;border-radius:50%;align-self:center;place-items:center;margin:-2px -5px -2px 3px;padding:0;transition:background-color .15s,color .15s;display:inline-grid}.floor-plan-dim-confirm svg{width:12px;height:12px}.floor-plan-dim-confirm:hover{background:var(--ember);color:var(--surface)}.floor-plan-dim-confirm:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.floor-plan-dim-ok{width:12px;height:12px;color:var(--moss);align-self:center;margin-left:2px;animation:.25s ease-out dim-ok-in}@keyframes dim-ok-in{0%{opacity:0;transform:scale(.4)}}@media (hover:none){.floor-plan-dim-confirm{width:26px;height:26px;margin-block:-5px}}@keyframes axis-ask{50%{box-shadow:0 0 0 4px #7d365829}}@media (prefers-reduced-motion:reduce){.floor-plan-dim-input.empty:not(:focus-within),.floor-plan-dim-ok{animation:none}}.dim-callout{--callout-edge:#ffffff47;z-index:2;border-left:3px solid var(--callout-edge);border-radius:2px var(--radius-sharp) var(--radius-sharp) 2px;background:var(--ink);width:max-content;max-width:230px;color:var(--surface);font-family:var(--font-body);text-align:left;white-space:normal;cursor:default;opacity:0;visibility:hidden;pointer-events:none;gap:3px;padding:8px 11px 9px 12px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity .14s,transform .14s,visibility .14s;display:grid;position:absolute;box-shadow:0 14px 30px -12px #17151273}.dim-callout strong{font-family:var(--font-mono);letter-spacing:.01em;font-size:13px;font-weight:700}.dim-callout small{color:#ffffffb8;font-size:11.5px}.dim-callout.estimated{--callout-edge:var(--ember)}.dim-callout.estimated strong{color:#f3c9dc}.dim-callout.ok,.dim-callout.confirm{--callout-edge:var(--moss)}.dim-callout:before,.dim-callout:after{content:"";background:var(--ink);position:absolute}.floor-plan-dim-width .dim-callout{top:calc(100% + 13px);left:50%;transform:translate(-50%,-4px)}.floor-plan-dim-width .dim-callout:before{width:1px;height:13px;bottom:100%;left:calc(50% - .5px)}.floor-plan-dim-width .dim-callout:after{border-radius:50%;width:5px;height:5px;bottom:calc(100% + 11px);left:calc(50% - 2.5px)}.floor-plan-dim-length .dim-callout{top:50%;right:calc(100% + 13px);transform:translate(4px,-50%)}.floor-plan-dim-length .dim-callout:before{width:16px;height:1px;top:calc(50% - .5px);left:100%}.floor-plan-dim-length .dim-callout:after{border-radius:50%;width:5px;height:5px;top:calc(50% - 2.5px);left:calc(100% + 11px)}.floor-plan-dim-input:is(:hover,:focus-within){z-index:20}:is(.floor-plan-dim-input:is(:hover,:focus-within):not(:has(.floor-plan-dim-confirm:is(:hover,:focus-visible)))>.dim-callout,.floor-plan-dim-confirm:is(:hover,:focus-visible)>.dim-callout){opacity:1;visibility:visible}.floor-plan-dim-width .floor-plan-dim-input:is(:hover,:focus-within) .dim-callout{transform:translate(-50%)}.floor-plan-dim-length .floor-plan-dim-input:is(:hover,:focus-within) .dim-callout{transform:translateY(-50%)}.floor-plan-dim-ok{box-sizing:content-box;background:color-mix(in srgb, var(--moss) 16%, transparent);border-radius:50%;padding:2px}.floor-plan-dim-input:has(.floor-plan-dim-ok){border-color:color-mix(in srgb, var(--moss) 45%, var(--line-strong))}@media (prefers-reduced-motion:reduce){.dim-callout{transition:none}}@media (hover:none){.floor-plan-dim-input:hover:not(:focus-within)>.dim-callout{opacity:0;visibility:hidden}}.furniture-locked .floor-plan-object{cursor:not-allowed;opacity:.6}.furniture-locked .floor-plan-object>button{display:none}.furniture-locked .floor-plan-dim-input:is(.empty,.estimated):not(:focus-within){border-width:2px;border-color:var(--ember);animation:1.8s ease-in-out infinite dim-call}.furniture-locked.nudge-odd .floor-plan-dim-input:is(.empty,.estimated){animation:.45s ease-in-out dim-shake-a,1.8s ease-in-out .45s infinite dim-call}.furniture-locked.nudge-even .floor-plan-dim-input:is(.empty,.estimated){animation:.45s ease-in-out dim-shake-b,1.8s ease-in-out .45s infinite dim-call}@keyframes dim-call{0%,to{box-shadow:0 0 #7d365873}60%{box-shadow:0 0 0 9px #7d365800}}@keyframes dim-shake-a{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes dim-shake-b{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.furniture-locked .floor-plan-dim-input:is(.empty,.estimated),.furniture-locked:is(.nudge-odd,.nudge-even) .floor-plan-dim-input:is(.empty,.estimated){animation:none;box-shadow:0 0 0 4px #7d365838}}.room-plan-estimate>.floor-plan-note.estimate{color:var(--ember-ink);margin:0}.floor-plan-object{border:2px solid var(--ember);background:#7d365829;border-radius:5px;align-content:center;place-items:center;gap:2px;min-width:48px;min-height:36px;padding:3px;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #ffffffa6}.floor-plan-object.existing{color:var(--ink-soft);border-color:var(--line-strong);background:#5c564c24}.floor-plan-object.existing.fit-blocked{border-color:var(--danger);background:#b23a2e29}.floor-plan-object.existing.removed{opacity:.55;background:0 0;border-style:dashed}.floor-plan-object.planned{z-index:2;color:var(--blue);border-color:var(--blue);background:#3068ac2e}.floor-plan-object.has-plan-symbol{box-shadow:none;clip-path:none;background:0 0;border-color:#0000}.floor-plan-object.has-plan-symbol.fit-tight,.floor-plan-object.has-plan-symbol.fit-blocked,.floor-plan-object.has-plan-symbol.confirmed{background:0 0;border-color:#0000}.floor-plan-object-symbol.furniture-symbol{z-index:1;width:100%;height:100%;color:inherit;stroke-width:1.2px;pointer-events:none;position:absolute;inset:0;overflow:visible}.plan-symbol .icon-only{display:none}.floor-plan-object.structured-footprint .floor-plan-object-symbol.furniture-symbol .f{fill:none;stroke:none}.floor-plan-object-symbol.furniture-symbol *{vector-effect:non-scaling-stroke}.floor-plan-object-symbol.furniture-symbol .d{stroke-width:.9px;stroke-dasharray:3 3}.floor-plan-object-symbol.furniture-symbol .f{fill:currentColor;fill-opacity:.2}.floor-plan-object-symbol.furniture-symbol .s{fill:currentColor;fill-opacity:.34}.floor-plan-object-symbol.furniture-symbol .tv{fill:currentColor;fill-opacity:.78}.floor-plan-object.seating-symbol .floor-plan-object-symbol.furniture-symbol{z-index:2}.floor-plan-object.has-plan-symbol.fit-tight{color:#9a6d08}.floor-plan-object.has-plan-symbol.fit-blocked{color:var(--danger)}.floor-plan-object.has-plan-symbol.confirmed{color:var(--moss)}.floor-plan-object.existing.removed .floor-plan-object-symbol{opacity:.48}.floor-plan-object.planned.confirmed{border-color:var(--moss);background:#42845c33}.floor-plan-object.planned.fit-tight{background:#e6b42847;border-color:#b8860b}.floor-plan-object.planned.fit-blocked{border-color:var(--danger);background:#b23a2e38}.floor-plan-object.structured-footprint{color:var(--blue);box-shadow:none;background:0 0;border-color:#0000}.floor-plan-object.structured-footprint.fit-tight{color:#b8860b;background:0 0;border-color:#0000}.floor-plan-object.structured-footprint.fit-blocked{color:var(--danger);background:0 0;border-color:#0000}.floor-plan-object.structured-footprint.confirmed{color:var(--moss);background:0 0;border-color:#0000}.floor-plan-object.structured-footprint{pointer-events:none}.floor-plan-object.structured-footprint.editable:active,.floor-plan-object.structured-footprint.editable.dragging{box-shadow:none;background:0 0;border-color:#0000}.floor-plan-object-label{display:contents}.floor-plan-object-label.anchored{z-index:3;pointer-events:auto;justify-items:center;gap:2px;max-width:100%;display:grid;position:absolute;transform:translate(-50%,-50%)}.floor-plan-object-label.anchored .floor-plan-rotate{position:static}.floor-plan-object-shape{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floor-plan-object-shape polygon{pointer-events:auto;fill:currentColor;fill-opacity:.2;stroke:currentColor;stroke-width:1.2px;vector-effect:non-scaling-stroke}.floor-plan-object-shape polygon.backrest{pointer-events:none;fill-opacity:.34}.floor-plan-object.l-shaped{--arm-x-rest:calc(100% - var(--arm-x,42%));--arm-y-rest:calc(100% - var(--arm-y,42%));clip-path:polygon(0 0, 100% 0, 100% var(--arm-y,42%), var(--arm-x,42%) var(--arm-y,42%), var(--arm-x,42%) 100%, 0 100%);padding-right:var(--arm-x-rest);border-radius:3px}.floor-plan-object.l-shaped.rotation-90{clip-path:polygon(0 0, 100% 0, 100% 100%, var(--arm-x-rest) 100%, var(--arm-x-rest) var(--arm-y,42%), 0 var(--arm-y,42%));padding:3px 3px 58% var(--arm-x-rest)}.floor-plan-object.l-shaped.rotation-180{clip-path:polygon(var(--arm-x-rest) 0, 100% 0, 100% 100%, 0 100%, 0 var(--arm-y-rest), var(--arm-x-rest) var(--arm-y-rest));padding:58% 3px 3px var(--arm-x-rest)}.floor-plan-object.l-shaped.rotation-270{clip-path:polygon(0 0, var(--arm-x,42%) 0, var(--arm-x,42%) var(--arm-y-rest), 100% var(--arm-y-rest), 100% 100%, 0 100%);padding:58% var(--arm-x-rest) 3px 3px}.floor-plan-rotate{z-index:4;width:24px;height:24px;color:var(--blue);cursor:pointer;background:#ffffffe6;border:1px solid;border-radius:50%;place-items:center;padding:0;font-size:16px;line-height:1;display:grid;position:absolute;top:4px;left:4px}.floor-plan-object.l-shaped.rotation-180 .floor-plan-rotate{left:auto;right:4px}.floor-plan-rotate:hover{background:#fff}.floor-plan-action{z-index:4;width:24px;height:24px;color:var(--blue);cursor:pointer;background:#ffffffe6;border:1px solid;border-radius:50%;place-items:center;padding:0;font-size:16px;line-height:1;display:grid;position:absolute;bottom:4px}.floor-plan-action svg{width:14px;height:14px}.floor-plan-action:hover{background:#fff}.floor-plan-action.remove{color:var(--danger);right:4px}.floor-plan-object.l-shaped.rotation-0 .floor-plan-action.remove{top:4px;bottom:auto}.floor-plan-object-label.anchored .floor-plan-action{position:static}.floor-plan-object-label.anchored{grid-template-columns:repeat(2,auto);align-items:center}.floor-plan-object-label.anchored>span,.floor-plan-object-label.anchored>small{grid-column:1/-1}.floor-plan-action:focus-visible,.floor-plan-rotate:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.floor-plan-remove,.floor-plan-restore{z-index:4;cursor:pointer;background:#ffffffe6;border:1px solid;place-items:center;height:24px;padding:0;font-weight:800;display:grid;position:absolute;top:4px}.floor-plan-remove{width:24px;color:var(--danger);border-radius:50%;font-size:17px;line-height:1;right:4px}.floor-plan-object.l-shaped.rotation-180 .floor-plan-remove{left:4px;right:auto}.floor-plan-restore{width:24px;color:var(--moss);border-radius:50%;right:4px}.floor-plan-restore svg{width:14px;height:14px}.floor-plan-object.l-shaped.rotation-180 .floor-plan-restore{left:4px;right:auto}.floor-plan-object.l-shaped.rotation-270 .floor-plan-remove,.floor-plan-object.l-shaped.rotation-270 .floor-plan-restore{inset:auto auto 4px 4px}.floor-plan-resize{z-index:4;border:0;border-right:3px solid var(--ink-soft);border-bottom:3px solid var(--ink-soft);cursor:nwse-resize;touch-action:none;background:0 0;border-radius:0 0 4px;width:16px;height:16px;padding:0;position:absolute;bottom:3px;right:3px}.floor-plan-resize:hover{border-color:var(--ink)}.floor-plan-resize:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.floor-plan-object.l-shaped.rotation-0 .floor-plan-resize{left:3px;right:auto}.floor-plan-arm-resize{z-index:4;background:var(--ink-soft);touch-action:none;border:0;border-radius:3px;padding:0;position:absolute}.floor-plan-arm-resize.arm-width{cursor:ew-resize;width:6px;height:22px}.floor-plan-arm-resize.arm-depth{cursor:ns-resize;width:22px;height:6px}.floor-plan-arm-resize:hover{background:var(--ink)}.floor-plan-arm-resize:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.floor-plan-remove:hover,.floor-plan-restore:hover{background:#fff}.floor-plan-remove:focus-visible,.floor-plan-restore:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.floor-plan-object.existing.restorable.removed{opacity:1;border-color:color-mix(in srgb, var(--line-strong) 55%, transparent)}.floor-plan-object.existing.restorable.removed>span,.floor-plan-object.existing.restorable.removed>small{opacity:.55}.editable-floor-plan{touch-action:none}.floor-plan-object.editable{cursor:grab;-webkit-user-select:none;user-select:none}.floor-plan-object.editable:active,.floor-plan-object.editable.dragging{cursor:grabbing;z-index:5;border-color:var(--blue);background:#2e43742e;box-shadow:0 12px 28px -18px #171512b3,inset 0 0 0 1px #ffffffa6}.floor-plan-object span,.floor-plan-object small{z-index:2;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.15;position:relative;overflow:hidden}.floor-plan-object span{color:var(--ink);font-size:11px;font-weight:800}.floor-plan-object small{color:var(--ink-soft);font-family:var(--font-mono);font-size:10px;font-weight:700}.layout-plan .floor-plan-object{min-width:0;min-height:0;padding:2px}.layout-plan .floor-plan-object-name{color:var(--ink);background:#f7f3ebd1;border-radius:3px;padding:0 3px;font-size:11px;font-weight:800}.layout-plan .floor-plan-object.existing{border:1.5px dashed color-mix(in srgb, var(--ink-soft) 70%, transparent);background:repeating-linear-gradient(135deg,#5c564c29 0 2px,#0000 2px 7px)}.layout-plan .floor-plan-object.existing.fit-blocked{background:0 0;border-color:#0000}.layout-plan .floor-plan-object.planned.has-plan-symbol.fit-blocked:not(.structured-footprint){border-color:#0000}.layout-plan .floor-plan-object.editable:active,.layout-plan .floor-plan-object.editable.dragging{box-shadow:none;background:0 0;border-color:#0000}.layout-plan .floor-plan-object.structured-footprint.editable:active,.layout-plan .floor-plan-object.structured-footprint.editable.dragging{background:0 0;border-color:#0000}.layout-plan .floor-plan-object.selected{z-index:4;box-shadow:none;background:0 0;border-color:#0000}.layout-plan .floor-plan-object.has-plan-symbol{min-width:0;min-height:0;padding:0}.layout-plan .floor-plan-object.has-plan-symbol,.layout-plan .floor-plan-object.has-plan-symbol.existing,.layout-plan .floor-plan-object.has-plan-symbol.planned,.layout-plan .floor-plan-object.has-plan-symbol.confirmed,.layout-plan .floor-plan-object.has-plan-symbol.fit-tight,.layout-plan .floor-plan-object.has-plan-symbol.fit-blocked,.layout-plan .floor-plan-object.has-plan-symbol.selected,.layout-plan .floor-plan-object.has-plan-symbol.layout-removed,.layout-plan .floor-plan-object.has-plan-symbol.editable:active,.layout-plan .floor-plan-object.has-plan-symbol.editable.dragging{box-shadow:none;background:0 0;border:0}.layout-plan .floor-plan-object.existing .floor-plan-object-symbol .f{stroke-dasharray:4 3}.layout-plan .floor-plan-object.selected .floor-plan-object-symbol{filter:drop-shadow(0 0 2px color-mix(in srgb, currentColor 55%, transparent))}.layout-plan .floor-plan-object.selected .floor-plan-object-symbol .f{fill-opacity:.3}.layout-plan .floor-plan-object.selected .floor-plan-object-symbol :not(.f,.s){stroke-width:1.8px}.layout-plan .floor-plan-object.selected.fit-blocked{border-color:#0000}.layout-plan .floor-plan-object.structured-footprint.selected{box-shadow:none;border-color:#0000}.layout-plan .floor-plan-object.structured-footprint.selected .floor-plan-object-shape polygon{fill-opacity:.32;stroke-width:2.4px}.layout-plan .floor-plan-object.structured-footprint.selected .floor-plan-object-shape polygon.backrest{fill-opacity:.5;stroke-width:1.2px}.layout-piece-toolbar{z-index:10;border:1px solid var(--line-strong);touch-action:manipulation;background:#fff;border-radius:12px;align-items:center;gap:6px;max-width:min(320px,100% - 8px);padding:5px 5px 5px 12px;display:flex;position:absolute;box-shadow:0 10px 26px -14px #1715128c}.layout-piece-toolbar-text{min-width:0;line-height:1.2;display:grid}.layout-piece-toolbar-text strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.layout-piece-toolbar-text span{color:var(--ink-soft);font-family:var(--font-mono);white-space:nowrap;font-size:11px;font-weight:700}.layout-piece-toolbar-text em{color:var(--danger);font-size:11px;font-style:normal;font-weight:700}.layout-piece-tool{border:1px solid var(--line-strong);background:var(--paper-dim,#f4f0e8);width:40px;height:40px;color:var(--blue);cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0;font-size:20px;line-height:1;display:grid}.layout-piece-tool.remove{color:var(--danger);font-size:22px}.layout-piece-tool.restore{border-color:var(--moss);width:auto;color:var(--moss);white-space:nowrap;padding:0 14px;font-size:14px;font-weight:800}.layout-plan .floor-plan-object.layout-removed{z-index:1;color:var(--ink-soft);opacity:.38;cursor:pointer;border-color:#0000}.layout-plan .floor-plan-object.layout-removed.selected{z-index:3;opacity:.6;box-shadow:none;border-color:#0000}.layout-plan .floor-plan-object.layout-removed .floor-plan-object-shape,.layout-plan .floor-plan-object.layout-removed .floor-plan-object-shape polygon{pointer-events:none}.layout-piece-tool:hover{background:#fff}.layout-piece-tool:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.floor-plan-dimensions{gap:6px;display:grid}.floor-plan-dimension-row{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.floor-plan-dimension-row span,.floor-plan-dimension-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floor-plan-dimension-row span{color:var(--ink-soft)}.floor-plan-dimension-row strong{font-family:var(--font-mono);flex:none;font-size:12px}.floor-plan-dimension-row.layout-row{grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;display:grid}.floor-plan-dimension-row.warning{background:#be842614;border-color:#be842666}.floor-plan-dimension-row .layout-row-warning{color:var(--ink-soft);white-space:normal;grid-column:1/-1;font-size:12px}.floor-plan-dimension-row.blocked{background:#b23f3f14;border-color:#b23f3f59}.wizard-error.inline{text-align:left;margin:0}.floor-plan-empty{color:var(--ink-soft);pointer-events:none;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.floor-plan-empty.ready{text-align:center;padding-inline:max(16px,50% - 140px);line-height:1.5}.floor-plan-note{color:var(--ink-soft);font-size:12px;line-height:1.35}.select-line{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);width:100%;min-height:44px;padding:0 12px}.select-line:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.picked-product{border-radius:var(--radius-sharp);background:var(--paper-dim);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;padding:8px;display:grid}.picked-product img{object-fit:cover;background:var(--surface);border-radius:5px;width:56px;height:52px}.picked-product div{gap:3px;min-width:0;display:grid}.picked-product strong,.picked-product span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picked-product span{color:var(--ink-soft);font-size:13px;font-family:var(--font-mono)}.auto-product-note{border-radius:var(--radius-sharp);background:var(--paper-dim);align-content:center;gap:3px;min-height:58px;padding:10px 12px;display:grid}.auto-product-note strong{font-size:14px}.auto-product-note span{color:var(--ink-soft);font-size:13px}.review-board{height:var(--wizard-fill);grid-template-columns:minmax(0,480px);justify-content:center;gap:20px;min-height:0;display:grid}.review-board:has(>.review-plan){grid-template-columns:minmax(0,1fr) 248px;grid-template-areas:"plan cart";justify-content:stretch}.review-board.arrangement:has(>.review-plan){grid-template-columns:minmax(0,1fr);grid-template-areas:"plan"}.review-plan{grid-area:plan;align-content:center;min-height:0;display:grid;position:relative}.review-view-bar{align-items:center;gap:8px;display:flex}.review-view-bar .floor-plan-camera{margin:0}.perspective-check-overlay .review-view-bar .floor-plan-camera:before{display:none}.review-view-bar.under-plan{grid-template-columns:1fr auto 1fr;justify-self:stretch;margin-top:2px;display:grid}.review-view-bar.under-plan .floor-plan-camera{grid-area:1/2}.review-view-bar.under-plan .review-plan-switch{grid-area:1/1;justify-self:start}.review-plan-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-dim) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:3px;display:inline-flex;box-shadow:0 1px 4px #1715121f}.review-plan-switch button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:5px 10px;font-size:13px;display:inline-grid}.review-plan-switch button svg{width:18px;height:18px;display:block}.review-plan-switch button:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.review-plan-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1715121f}.perspective-check{min-height:0;display:grid}.perspective-check-stage{border-radius:var(--radius-soft);background:var(--paper-dim);touch-action:none;justify-content:center;min-height:0;display:flex;position:relative;overflow:hidden}.perspective-check-stage>svg{width:100%;height:auto;max-height:calc(var(--wizard-fill,70vh) - 80px);-webkit-user-select:none;user-select:none;display:block}.perspective-review .perspective-check-stage>svg{max-height:calc(var(--wizard-fill,70vh) - 150px)}@media (width>=761px){.wizard-shell:has(.perspective-screen){--wizard-w:880px}.perspective-review .perspective-check-stage>svg{width:min(100%, calc((var(--wizard-fill,70vh) - 134px) * var(--photo-ratio,1.333)));flex:none;max-height:none}}.perspective-review-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.perspective-review-head p{color:var(--ink-soft);margin:0;font-size:14px}.perspective-measure-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:999px;flex:none;justify-items:start;gap:0;margin:0;padding:7px 12px;display:grid}.perspective-measure-chip strong{white-space:nowrap;font-size:11.5px;line-height:1.25}.perspective-measure-chip:hover{border-color:var(--ink);background:var(--paper-dim)}.perspective-measure-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.dimension-dialog-backdrop{z-index:12;border-radius:var(--radius-soft);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1715126b;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.dimension-dialog{background:#fffffff7;border:1px solid #ffffffb8;border-radius:16px;gap:20px;width:min(440px,100%);max-height:calc(100dvh - 48px);padding:22px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #17151257}.dimension-dialog>header{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;display:grid}.dimension-dialog-icon{background:var(--ember-soft);width:42px;height:42px;color:var(--ember);border-radius:12px;place-items:center;display:grid}.dimension-dialog-icon svg{width:24px;height:24px}.dimension-dialog header strong{color:var(--ink);font-size:19px;line-height:1.15;display:block}.dimension-dialog header p{color:var(--ink-soft);margin:4px 0 0;font-size:13px;line-height:1.35}.dimension-dialog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dimension-dialog-fields>label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;gap:6px;font-size:10.5px;font-weight:700;display:grid}.dimension-dialog-confirm{justify-self:end;min-width:176px}.dimension-dialog-confirm svg{width:19px;height:19px}.leave-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1715126b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.leave-dialog-text{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.leave-dialog-text strong{color:var(--ink)}.leave-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.leave-dialog-actions .btn{min-width:132px}@media (width<=520px){.leave-dialog-actions{flex-direction:column-reverse}.leave-dialog-actions .btn{width:100%}}.dimension-dialog-enter-active,.dimension-dialog-leave-active{transition:opacity .18s}.dimension-dialog-enter-active .dimension-dialog,.dimension-dialog-leave-active .dimension-dialog{transition:transform .24s var(--ease), opacity .18s ease}.dimension-dialog-enter-from,.dimension-dialog-leave-to{opacity:0}.dimension-dialog-enter-from .dimension-dialog,.dimension-dialog-leave-to .dimension-dialog{opacity:0;transform:translateY(10px)scale(.98)}.perspective-floor{fill:#2e437424;stroke:#6f8ccc;stroke-width:2px;vector-effect:non-scaling-stroke}.perspective-edge{stroke:#6f8ccc;stroke-width:2px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.perspective-guides line{stroke:#fff;stroke-width:1.5px;stroke-dasharray:3 4;opacity:.85;vector-effect:non-scaling-stroke;pointer-events:none}.perspective-dimension-labels{pointer-events:auto}.perspective-dimension-input{box-sizing:border-box;color:#fff;width:100%;height:100%;font-family:var(--font-mono);cursor:pointer;background:#171512d1;border:1px solid #ffffffe6;border-radius:999px;justify-content:center;align-items:baseline;gap:.2em;padding:0;font-weight:700;line-height:2.2;display:flex;box-shadow:0 3px 12px #0003}.perspective-dimension-input strong{font:inherit}.perspective-dimension-input small{color:#ffffffb8;font-size:.68em}.perspective-dimension-input.empty{background:#17151299;border-style:dashed}.perspective-dimension-input:hover,.perspective-dimension-input.open{background:#171512f5;border-style:solid;border-color:#ffd24a;outline:0;box-shadow:0 0 0 3px #ffd24a73,0 3px 12px #00000040}.perspective-measure-line{stroke:#ffd24a;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 3px #00000073)}.perspective-measures{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:10px;display:grid}.perspective-measure-field{border:1px solid var(--line-strong);border-radius:var(--radius-soft);background:var(--surface);cursor:text;grid-template-columns:auto minmax(0,1fr) minmax(108px,136px);align-items:center;gap:10px;padding:8px 8px 8px 12px;transition:border-color .15s,box-shadow .15s;display:grid}.perspective-measure-field.active{border-color:var(--ink);box-shadow:0 0 0 3px #ffd24a80}.perspective-measure-glyph{flex:none;width:32px;height:22px}.perspective-measure-glyph .floor{fill:var(--paper-dim);stroke:var(--line-strong);stroke-width:1.2px;stroke-linejoin:round}.perspective-measure-glyph .wall{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.perspective-measure-field.active .perspective-measure-glyph .wall{stroke:#d9a400}.perspective-measure-name{color:var(--ink);font-size:14px;font-weight:600;line-height:1.25}.perspective-measure-box{background:var(--paper-dim);border-radius:8px;align-items:baseline;min-width:0;padding:0 10px;display:flex}.perspective-measure-box input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-mono);text-align:right;background:0 0;border:0;outline:0;padding:8px 0;font-size:20px;font-weight:700}.perspective-measure-box input::placeholder{color:var(--ink-faint);font-family:var(--font-body);font-size:14px;font-weight:500}.perspective-measure-box small{width:2.2ch;color:var(--ink-soft);flex:none;margin-left:6px;font-size:13px;font-weight:600}.perspective-measure-field.empty:not(.active) .perspective-measure-box{box-shadow:inset 0 0 0 1.5px var(--ember)}.perspective-measures-hint{color:var(--ink-faint);grid-column:1/-1;margin:0;font-size:12px;line-height:1.45}@media (width<=640px){.perspective-measures{gap:8px}.perspective-measure-field{grid-template-columns:auto minmax(0,1fr);gap:6px 8px;padding:8px}.perspective-measure-glyph{width:26px;height:18px}.perspective-measure-name{font-size:12.5px}.perspective-measure-box{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.perspective-measure-field{transition:none}}.perspective-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}.perspective-handle.active{cursor:grabbing}.perspective-handle-hit{fill:#0000}.perspective-handle-dot{fill:#2e4374;stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke}.perspective-handle:hover .perspective-handle-dot,.perspective-handle:focus-visible .perspective-handle-dot,.perspective-handle.active .perspective-handle-dot{stroke:#ffd24a;stroke-width:3.5px}.perspective-check-overlay{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;margin-top:8px;display:grid}.perspective-check-overlay .review-view-bar{display:contents}.perspective-check-overlay .review-plan-switch{grid-area:1/1;justify-self:start}.perspective-check-overlay .floor-plan-camera{grid-area:1/2}.perspective-check-overlay .perspective-check-reset{grid-area:1/1;justify-self:start}.perspective-check-overlay .perspective-check-actions{grid-area:1/3}.perspective-check-overlay .perspective-measure-chip{grid-area:1/2}.perspective-check-overlay .perspective-check-note{grid-area:2/1/auto/-1;justify-self:start}.perspective-check-overlay .perspective-dimensions{border:1px solid var(--line);border-radius:var(--radius-soft);background:linear-gradient(135deg, var(--surface), var(--paper-dim));grid-area:3/1/auto/-1;grid-template-columns:minmax(220px,1fr) minmax(300px,420px);align-items:center;gap:18px;margin-top:4px;padding:13px 14px;display:grid}.room-dimensions-only{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);--dim-width:var(--blue);--dim-width-ink:var(--blue-ink);--dim-length:var(--ember);--dim-length-ink:var(--ember-ink);place-self:center;gap:26px;width:min(620px,100%);padding:clamp(24px,4vw,42px);display:grid;box-shadow:0 14px 42px #18161314}.room-dimensions-only.has-photo{justify-self:stretch;width:100%;padding:0 0 clamp(22px,4vw,34px);overflow:hidden}.room-dimensions-only.has-photo .room-dimensions-fields{box-sizing:border-box;justify-self:center;width:min(760px,100%);padding:0 clamp(18px,4vw,34px)}.room-dimensions-photo{width:100%;aspect-ratio:var(--photo-ratio,4 / 3);background:var(--paper-dim);margin:0;position:relative;overflow:hidden}.room-dimensions-photo img,.room-dimensions-photo svg{width:100%;height:100%;position:absolute;inset:0}.room-dimensions-photo img{object-fit:cover}.room-dimensions-photo svg{pointer-events:none;overflow:hidden}.room-dimension-guide{transition:opacity .18s}.room-dimension-guide line,.room-dimension-guide path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.room-dimension-guide .guide-halo{stroke:#ffffffeb;stroke-width:7px}.room-dimension-guide .guide-line{stroke-width:3.5px;transition:stroke-width .18s}.guide-width .guide-line{stroke:var(--dim-width)}.guide-length .guide-line{stroke:var(--dim-length)}.room-dimensions-only.active-width .guide-length,.room-dimensions-only.active-length .guide-width{opacity:.3}.room-dimensions-only.active-width .guide-width .guide-halo,.room-dimensions-only.active-length .guide-length .guide-halo{stroke-width:10px}.room-dimensions-only.active-width .guide-width .guide-line,.room-dimensions-only.active-length .guide-length .guide-line{stroke-width:6px}.room-dimension-tag{color:#fff;font:700 13px/1.1 var(--font-body);white-space:nowrap;cursor:pointer;border:2px solid #fff;border-radius:999px;align-items:baseline;gap:6px;padding:5px 10px;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000038}.room-dimension-tag b{font:600 12px/1 var(--font-mono)}.tag-width{background:var(--dim-width-ink);transform:translate(-50%,calc(-100% - 10px))}.tag-length{background:var(--dim-length-ink)}.room-dimensions-only.active-width .tag-length,.room-dimensions-only.active-length .tag-width{opacity:.35}.room-dimensions-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.room-dimensions-fields>label{color:var(--ink);gap:7px;font-size:13px;font-weight:750;display:grid}.room-dimensions-fields>label>span:first-child{align-items:center;gap:8px;display:inline-flex}.room-dimensions-fields>label.dim-width{--dim:var(--dim-width);--dim-ink:var(--dim-width-ink)}.room-dimensions-fields>label.dim-length{--dim:var(--dim-length);--dim-ink:var(--dim-length-ink)}.room-dimensions-fields>label>span:first-child{color:var(--dim-ink)}.room-dimension-swatch{background:var(--dim);border-radius:2px;width:22px;height:3px;position:relative}.room-dimension-swatch:before,.room-dimension-swatch:after{content:"";background:var(--dim);border-radius:2px;width:3px;height:11px;position:absolute;top:-4px}.room-dimension-swatch:before{left:0}.room-dimension-swatch:after{right:0}.room-dimensions-fields .room-dimension-field{border-color:color-mix(in srgb, var(--dim) 55%, var(--line-strong));box-shadow:inset 4px 0 0 var(--dim)}.room-dimensions-fields .room-dimension-field:focus-within{border-color:var(--dim);box-shadow:inset 4px 0 0 var(--dim), 0 0 0 3px color-mix(in srgb, var(--dim) 22%, transparent)}.room-dimension-field{border:1.5px solid var(--line-strong);background:#fff;border-radius:10px;align-items:center;min-height:58px;display:flex;overflow:hidden}.room-dimension-field:focus-within{border-color:var(--ember);box-shadow:0 0 0 3px color-mix(in srgb, var(--ember) 15%, transparent)}.room-dimension-field input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-mono);background:0 0;border:0;outline:0;padding:14px 6px 14px 16px;font-size:22px;font-weight:700}.room-dimension-field input::placeholder{color:var(--ink-faint);font-family:var(--font-body);font-size:14px;font-weight:500}.room-dimension-field small{color:var(--ink-soft);padding-right:16px;font-size:13px;font-weight:700}.room-dimensions-times{color:var(--ink-faint);font-family:var(--font-mono);align-self:center;margin-top:8px;font-size:22px}@media (prefers-reduced-motion:reduce){.room-dimension-guide,.room-dimension-guide .guide-line,.room-dimension-tag{transition:none}}@media (width<=560px){.room-dimensions-only{gap:20px;padding:22px 18px}.room-dimensions-only.has-photo{padding:0 0 22px}.room-dimensions-only.has-photo .room-dimensions-fields{padding:0 18px}.room-dimension-tag{padding:4px 8px;font-size:12px}.room-dimensions-fields{grid-template-columns:1fr;gap:14px}.room-dimensions-times{display:none}}.perspective-dimensions header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.perspective-dimensions header>div{min-width:0}.perspective-dimensions header strong{font-size:14px;display:block}.perspective-dimensions header p{color:var(--ink-soft);margin:2px 0 0;font-size:11.5px;line-height:1.35}.perspective-dimensions header>span{background:var(--ember-soft);color:var(--ember-ink);white-space:nowrap;border-radius:999px;flex:none;padding:4px 8px;font-size:10.5px;font-weight:700}.perspective-dimensions header>span.done{background:var(--moss-soft);color:var(--moss)}.perspective-dimensions .photo-dimension-fields{flex-basis:auto}.perspective-check-note,.perspective-check-actions button,.perspective-check-reset button{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-soft);font:inherit;border-radius:999px;margin:0;padding:4px 10px;font-size:12px;line-height:1.4;box-shadow:0 1px 4px #1715121f}.perspective-check-note{font-family:var(--font-mono)}.perspective-check-note.warn{border-color:var(--danger);border-radius:var(--radius-sharp);max-width:34em;color:var(--danger);font-family:inherit}.perspective-check-reset button{color:var(--ink);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.perspective-check-reset button svg{width:16px;height:16px}.perspective-check-actions{flex-wrap:wrap;justify-content:end;gap:6px;margin-left:auto;display:flex}.perspective-check-actions button{color:var(--ink);cursor:pointer}.perspective-check-actions button:hover,.perspective-check-reset button:hover{border-color:var(--line-strong);background:var(--surface)}.perspective-check-actions button.confirm{border-color:var(--ember);background:var(--ember);color:#fff;align-items:center;gap:6px;height:30px;padding:0 14px 0 11px;font-weight:600;display:inline-flex}.perspective-check-actions button.confirm svg{width:16px;height:16px}.perspective-check-actions button.confirm:hover{border-color:var(--ember);background:color-mix(in srgb, var(--ember) 85%, var(--ink))}.perspective-check-actions button:focus-visible,.perspective-check-reset button:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.review-plan .floor-plan-dims.check{grid-template-columns:minmax(0, min(560px, calc((var(--wizard-fill) - 48px) * var(--room-ratio)))) auto;justify-content:center}.review-cart{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);grid-area:cart;grid-template-rows:auto minmax(0,1fr) auto;align-self:center;min-height:0;max-height:100%;display:grid}.review-cart-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:14px 16px 12px;display:flex}.review-cart-head strong{font-size:14px}.review-cart-head small{color:var(--ink-faint);font-family:var(--font-mono);white-space:nowrap;font-size:11px}.review-cart-list{min-height:0;margin:0;padding:4px 16px;list-style:none;overflow-y:auto}.review-cart-item{grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:10px;padding:10px 0;display:grid}.review-cart-item+.review-cart-item{border-top:1px dashed var(--line)}.review-cart-item img,.review-cart-thumb{border-radius:var(--radius-sharp);background:var(--paper-dim);object-fit:cover;grid-row:1/3;width:40px;height:40px}.review-cart-thumb{color:var(--ember);font-family:var(--font-mono);place-items:center;font-size:11px;font-weight:700;display:grid}.review-cart-item.auto .review-cart-thumb{border:1px dashed var(--ember);background:0 0}.review-cart-name{gap:2px;min-width:0;display:grid}.review-cart-name strong,.review-cart-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-cart-name strong{font-size:13px}.review-cart-name small{color:var(--ink-soft);font-size:12px}.review-cart-item.auto .review-cart-name strong{color:var(--ink-soft);font-weight:600}.review-cart-price{color:var(--ink);font-family:var(--font-mono);grid-column:2;font-size:12px}.review-cart-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:start;gap:10px;margin:0 16px;padding:12px 0 14px;display:flex}.review-cart-total span{gap:2px;font-size:13px;font-weight:600;display:grid}.review-cart-total small{color:var(--ink-faint);font-size:11px;font-weight:400}.review-cart-total strong{font-family:var(--font-mono);white-space:nowrap;font-size:15px}@media (width<=760px){:is(.review-board,.review-board:has(>.review-plan)){grid-template-columns:minmax(0,1fr);grid-template-areas:"plan""cart";height:auto}.review-plan .floor-plan-dims.check{grid-template-columns:minmax(0,520px) auto}.review-cart{align-self:start;max-height:none}}.product-choice-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quantity-stepper{align-items:center;gap:8px;font-size:14px;display:flex}.quantity-stepper span{color:var(--ink-soft);margin-right:auto}.quantity-stepper strong{text-align:center;font-variant-numeric:tabular-nums;min-width:20px}.quantity-stepper button{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;font-size:18px;line-height:1}.quantity-stepper button:disabled{opacity:.4;cursor:default}.quantity-stepper button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.product-selection-screen{align-items:start;min-height:0}.product-selection-panel{gap:18px;width:100%;display:grid}.product-selection-header{justify-content:space-between;align-items:end;gap:32px;padding:0 2px;display:flex}.product-selection-header>div:first-child{gap:6px;max-width:620px;display:grid}.product-selection-header h2{margin:0}.product-selection-header p{color:var(--ink-soft);margin:0}.product-selection-overview{grid-template-columns:auto minmax(110px,180px);align-items:center;gap:3px 14px;min-width:250px;display:grid}.product-selection-count{align-items:baseline;gap:6px;display:flex}.product-selection-count strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:19px}.product-selection-count span,.product-selection-overview>small{color:var(--ink-faint);font-size:12px}.product-selection-overview>small{text-align:right;grid-column:1/-1}.product-selection-progress{background:var(--line);border-radius:999px;height:5px;overflow:hidden}.product-selection-progress span{border-radius:inherit;background:var(--ember);height:100%;transition:width .28s var(--ease);display:block}.product-selection-grid{max-height:calc(var(--wizard-fill) - 100px);scrollbar-gutter:stable;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:2px 6px 2px 2px;display:grid;overflow-y:auto}.product-selection-card{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);min-width:0;min-height:242px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);grid-template-rows:auto 1fr auto;gap:14px;padding:16px;display:grid}.product-selection-card.complete{border-color:color-mix(in srgb, var(--moss) 34%, var(--line));box-shadow:inset 0 3px 0 color-mix(in srgb, var(--moss) 70%, transparent)}.product-selection-card-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.product-selection-card-head>div{min-width:0;display:grid}.product-selection-card-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.product-selection-card-head small{color:var(--ink-faint);font-size:11px}.product-selection-index{background:var(--paper-dim);width:30px;height:30px;color:var(--ink-soft);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;display:grid}.product-selection-state{background:var(--ember-soft);color:var(--ember-ink);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:700}.product-selection-card.complete .product-selection-state{background:color-mix(in srgb, var(--moss) 13%, var(--surface));color:var(--moss)}.selected-product-showcase{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0;display:grid}.selected-product-showcase:focus-visible,.product-selection-empty:focus-visible,.product-selection-change:focus-visible,.product-selection-clear:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.selected-product-image{border-radius:var(--radius-sharp);background:var(--paper-dim);place-items:center;width:92px;height:84px;display:grid;overflow:hidden}.selected-product-image img{object-fit:cover;width:100%;height:100%;transition:transform .25s var(--ease)}.selected-product-showcase:hover img{transform:scale(1.035)}.selected-product-placeholder{border:1px solid var(--line-strong);border-radius:3px;width:38px;height:30px}.selected-product-copy{gap:3px;min-width:0;display:grid}.selected-product-copy strong,.selected-product-copy span,.selected-product-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-product-copy strong{font-size:16px}.selected-product-copy span{color:var(--ink-soft);font-size:13px}.selected-product-copy small{color:var(--ink-faint);font-size:11px}.selected-product-price{white-space:nowrap;align-self:end;justify-items:end;display:grid}.selected-product-price strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px}.selected-product-price small{color:var(--ink-faint);font-size:10px}.product-selection-card-foot{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:32px;padding-top:11px;display:flex}.product-selection-single{color:var(--ink-faint);margin-right:auto;font-size:12px}.compact-stepper{gap:6px;margin-right:auto}.compact-stepper span{margin-right:2px;font-size:12px}.compact-stepper button{width:28px;height:28px}.product-selection-change,.product-selection-clear{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.product-selection-change{color:var(--blue);font-weight:600}.product-selection-clear{color:var(--ink-faint)}.product-selection-change:hover,.product-selection-clear:hover{text-decoration:underline}.product-selection-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sharp);background:color-mix(in srgb, var(--paper-dim) 54%, transparent);min-height:154px;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);place-content:center;justify-items:center;gap:5px;padding:20px;display:grid}.product-selection-empty:hover:not(:disabled){border-color:var(--ember);background:var(--ember-soft);transform:translateY(-1px)}.product-selection-empty:disabled{opacity:.62;cursor:not-allowed}.product-selection-empty small{color:var(--ink-soft);text-align:center;font-size:12px}.product-selection-plus{width:34px;height:34px;color:var(--ember);font-family:var(--font-mono);border:1px solid;border-radius:50%;place-items:center;margin-bottom:4px;font-size:22px;font-weight:300;display:grid}.product-selection-hint{color:var(--ember-ink);text-align:right;margin:0;font-size:12px}.product-selection-hint.complete{color:var(--moss)}.product-selection-loading{min-height:280px;color:var(--ink-soft);place-content:center;justify-items:center;gap:5px;display:grid}.product-selection-loading strong{color:var(--ink)}.product-selection-loading small{color:var(--ink-faint)}.product-selection-loading-mark{border:2px solid var(--line);border-top-color:var(--ember);border-radius:50%;width:28px;height:28px;margin-bottom:8px;animation:.75s linear infinite product-selection-spin}@keyframes product-selection-spin{to{transform:rotate(360deg)}}@media (width<=760px){.product-selection-header{flex-direction:column;align-items:start;gap:14px}.product-selection-overview{width:100%;min-width:0}.product-selection-grid{grid-template-columns:1fr;max-height:none;padding-right:2px;overflow:visible}.selected-product-showcase{grid-template-columns:76px minmax(0,1fr)}.selected-product-image{width:76px;height:72px}.selected-product-price{grid-column:2;align-self:start;justify-items:start}.product-selection-card-foot{flex-wrap:wrap}}@media (width>=761px){.wizard-shell{--wizard-w:800px}.wizard-shell.products-wide{--wizard-w:1200px}.wizard-shell .wizard-stage,.wizard-shell .wizard-foot{width:min(var(--wizard-w), calc(100% - 48px))}}.product-choice-screen{align-items:stretch;min-height:0}.product-schedule{height:var(--wizard-fill);grid-template-columns:300px minmax(0,1fr);gap:28px;min-height:460px;display:grid}.spec-list{border-right:1px solid var(--line);grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;padding-right:20px;display:grid}.spec-list-head{justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0 14px;display:flex}.spec-list-head h2{margin:0;font-size:20px;font-weight:700}.spec-list-head span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:14px}.spec-entries{align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.spec-entry{border-radius:var(--radius-soft);position:relative}.spec-entry:before{content:"";background:var(--ember);width:3px;transition:transform .22s var(--ease);border-radius:2px;position:absolute;top:10px;bottom:10px;left:-1px;transform:scaleY(0)}.spec-entry.active{background:var(--ember-soft)}.spec-entry.active:before{transform:scaleY(1)}.spec-entry-main{border-radius:var(--radius-soft);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:8px 10px 8px 8px;display:grid}.spec-entry:not(.active) .spec-entry-main:hover{background:var(--paper-dim)}.spec-entry-main:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.spec-plate{border:1px solid var(--line);background-color:var(--surface);background-image:linear-gradient(color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px);width:56px;height:48px;color:var(--ink-faint);background-size:8px 8px;border-radius:6px;place-items:center;display:grid;overflow:hidden}.spec-plate .furniture-symbol{stroke-width:2px;width:70%;height:80%}.spec-entry.active .spec-plate{border-color:color-mix(in srgb, var(--ember) 45%, var(--line));color:var(--ember)}.spec-plate img{object-fit:cover;width:100%;height:100%;animation:spec-photo-in .32s var(--ease)}@keyframes spec-photo-in{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}.spec-entry-text{gap:2px;min-width:0;display:grid}.spec-entry-text strong{color:var(--ink);font-size:15px;font-weight:700;line-height:1.2}.spec-entry-text small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.3;overflow:hidden}.spec-entry-text .spec-entry-empty{color:var(--ember-ink)}.spec-entry:not(.done):not(.active) .spec-entry-empty{color:var(--ink-faint)}.spec-entry-price{color:var(--ink);font-family:var(--font-mono);white-space:nowrap;align-self:start;padding-top:2px;font-size:13px;font-weight:600}.spec-entry-tools{justify-content:space-between;align-items:center;gap:10px;margin:-4px 10px 0 76px;padding-bottom:8px;display:flex}.spec-store{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.spec-quantity{align-items:center;gap:2px;display:inline-flex}.spec-quantity strong{min-width:48px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.spec-quantity button{border:1px solid var(--line-strong);background:var(--surface);width:26px;height:26px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:15px;line-height:1;display:grid}.spec-quantity button:hover:not(:disabled){border-color:var(--ink)}.spec-quantity button:disabled{opacity:.35;cursor:default}.spec-quantity button:focus-visible,.spec-remove:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.spec-remove{color:var(--ink-faint);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 0;font-size:12.5px}.spec-remove:hover{color:var(--danger);text-decoration-color:currentColor}.spec-variant{gap:8px;margin:0 10px 0 76px;padding-bottom:8px;display:grid}.spec-materials{flex-wrap:wrap;gap:6px;display:flex}.spec-material{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:baseline;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.spec-material small{color:var(--ink-faint);font-family:var(--font-mono);font-size:11.5px;font-weight:500}.spec-material:hover{border-color:var(--ink-faint);color:var(--ink)}.spec-material.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.spec-material.active small{color:color-mix(in srgb, var(--surface) 75%, transparent)}.spec-material:focus-visible,.spec-color:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.spec-colors{flex-wrap:wrap;gap:6px;display:flex}.spec-color{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--swatch);width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--surface);cursor:pointer;transition:box-shadow .15s var(--ease);border-radius:50%;padding:0}.spec-color:hover{box-shadow:inset 0 0 0 2px var(--surface), 0 0 0 1px var(--ink-faint)}.spec-color.active{box-shadow:inset 0 0 0 2px var(--surface), 0 0 0 2px var(--ink)}.spec-total{border-top:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:14px 10px 0 8px;display:flex}.spec-total span{color:var(--ink-soft);font-size:14px}.spec-total strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.catalog{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.catalog-head{gap:14px;padding-bottom:16px;display:grid}.catalog-search-row{grid-template-columns:minmax(190px,230px) minmax(240px,1fr) 46px 46px;align-items:stretch;gap:10px;display:grid}.catalog-sort-button{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);width:46px;height:46px;color:var(--ink-soft);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.catalog-sort-button:hover,.catalog-sort-button.active{border-color:var(--ink);color:var(--ink);background:var(--paper-dim)}.catalog-sort-button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.catalog-sort-button strong{font:700 12px/1 var(--font-mono);letter-spacing:-.04em}.catalog-sort-button>span{color:var(--blue);font-size:12px;font-weight:700;position:absolute;bottom:2px;right:4px}.catalog-filter-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);width:46px;height:46px;color:var(--ink-soft);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.catalog-filter-toggle:hover,.catalog-filter-toggle.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.catalog-filter-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.catalog-filter-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:22px;height:22px}.catalog-filter-toggle>span{border:2px solid var(--surface);background:var(--blue);color:#fff;min-width:19px;height:19px;font:700 10px/1 var(--font-mono);border-radius:999px;place-items:center;padding:0 5px;display:grid;position:absolute;top:-6px;right:-6px}.catalog-extra-filters{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--paper-dim);grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px 12px;padding:14px;display:grid}.catalog-width-range{align-self:end;gap:8px;padding:0 2px 5px;display:grid}.catalog-filter-field{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:600;display:grid}.catalog-filter-field select{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);width:100%;min-height:40px;color:var(--ink);font:inherit;padding:0 32px 0 11px;font-size:13px}.catalog-extra-reset{place-self:center start}.catalog-price{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);align-content:center;gap:4px;padding:6px 14px 4px;display:grid}.catalog-price-head{color:var(--ink-soft);justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.catalog-price-head strong{color:var(--ink);font-family:var(--font-mono);font-size:12.5px;font-weight:600}.catalog-price .price-range-fill{background:var(--ember)}.catalog-price .price-range-input::-webkit-slider-thumb{background:var(--ember);box-shadow:0 0 0 1px var(--ember)}.catalog-price .price-range-input::-moz-range-thumb{background:var(--ember);box-shadow:0 0 0 1px var(--ember)}.catalog-search{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);min-width:0;min-height:46px;padding:0 14px;font-size:14px}.catalog-search:hover{border-color:var(--ink-faint)}.catalog-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.catalog-sort,.catalog-delivery,.catalog-sort .search-select,.catalog-delivery .search-select,.catalog-sort .search-select-input,.catalog-delivery .search-select-input{height:100%;min-height:46px}.catalog-sort .search-select-input,.catalog-delivery .search-select-input{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);padding:0 32px 0 14px;font-size:13.5px}.catalog-sort .search-select-input:focus,.catalog-delivery .search-select-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.catalog-sort .search-select-clear,.catalog-delivery .search-select-clear{display:none!important}.catalog-sort .search-select-input.has-clear,.catalog-delivery .search-select-input.has-clear{padding-right:32px}.catalog-sort .search-select-caret,.catalog-delivery .search-select-caret{right:12px}.catalog-body{border-top:1px solid var(--line);min-height:0;margin-right:-12px;padding:4px 12px 16px 2px;overflow-y:auto}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:30px 22px;padding-top:18px;display:grid}.catalog-item{min-width:0;position:relative;container-type:inline-size}.catalog-item-select{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:auto auto auto auto 1fr;align-content:start;gap:0;padding:0;display:grid}.catalog-photo{aspect-ratio:5/4;border-radius:var(--radius-soft);background:var(--paper-dim);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .16s;display:block;position:relative;overflow:hidden}.catalog-photo img{object-fit:cover;mix-blend-mode:multiply;width:100%;height:100%;transition:transform .4s var(--ease)}.catalog-item:not(.blocked):hover .catalog-photo img{transform:scale(1.04)}.catalog-item:not(.blocked):hover .catalog-photo{box-shadow:inset 0 0 0 1px var(--ink-faint)}.catalog-item-select:focus-visible{outline:none}.catalog-item-select:focus-visible .catalog-photo{outline:2px solid var(--blue);outline-offset:3px}.catalog-item.selected .catalog-photo{box-shadow:inset 0 0 0 2px var(--ember)}.catalog-detail-button{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);cursor:pointer;background:#fffffff0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s;display:inline-flex;position:absolute;top:calc(80cqi - 38px);right:8px;box-shadow:0 2px 8px #18161324}.catalog-detail-button:hover{border-color:var(--ink);background:#fff}.catalog-detail-button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.catalog-detail-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.catalog-detail-note{color:var(--ink-soft);margin-right:auto;font-size:14px;font-weight:600}.catalog-detail-note.fits{border:1px solid color-mix(in srgb, var(--moss) 28%, var(--line));background:var(--moss-soft);color:var(--moss);border-radius:999px;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}.catalog-detail-note.fits:before{content:"✓";background:var(--moss);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:800;display:grid}.catalog-detail-note.risky{color:#9a6414}.catalog-detail-note.blocked{color:var(--danger)}.catalog-picked{background:var(--ember);color:#fff;border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 7px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:8px;left:8px}.catalog-picked:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") 50%/12px no-repeat;width:12px;height:12px}.catalog-kota{color:var(--ink-faint);justify-content:center;margin:8px 0 6px;display:flex;position:relative}.catalog-kota:before,.catalog-kota:after{content:"";pointer-events:none;position:absolute}.catalog-kota:before{border-top:1px solid;top:50%;left:0;right:0}.catalog-kota:after{border-inline:1px solid;height:8px;top:calc(50% - 4px);left:0;right:0}.catalog-kota span{background:var(--paper);color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:-.01em;padding:0 7px;font-size:11.5px;font-weight:600;position:relative}.catalog-kota span:after{content:" cm";font-weight:400}.catalog-item-select:not(:has(.catalog-kota)) .catalog-name{margin-top:10px}.catalog-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.catalog-store{color:var(--ink-faint);margin-top:2px;font-size:13px}.catalog-reach{color:var(--ink-soft);justify-self:start;align-items:center;gap:5px;margin-top:4px;font-size:12px;display:inline-flex}.catalog-reach:before{content:"";background:var(--ink-faint);border-radius:50%;width:6px;height:6px}.catalog-reach.is-delivers:before{background:var(--moss)}.catalog-reach.is-pickup-only:before{background:var(--ember)}.catalog-reach.is-out-of-zone{color:var(--danger)}.catalog-reach.is-out-of-zone:before{background:var(--danger)}.catalog-variants{min-width:0;color:var(--ink-soft);align-items:center;gap:8px;margin-top:6px;font-size:12.5px;display:flex}.catalog-swatches{flex:none;display:inline-flex}.catalog-swatches i{border:1px solid var(--surface);background:var(--swatch);width:12px;height:12px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 15%, transparent);border-radius:50%;margin-right:-3px}.catalog-variants span:last-child{text-overflow:ellipsis;white-space:nowrap;padding-left:3px;overflow:hidden}.catalog-foot{justify-content:space-between;align-self:end;align-items:baseline;gap:8px;margin-top:8px;display:flex}.catalog-price-tag{font-family:var(--font-mono);white-space:nowrap;font-size:16px;font-weight:600}.catalog-status{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.catalog-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.catalog-status.fits{color:var(--moss)}.catalog-status.risky{color:#9a6414}.catalog-status.blocked{color:var(--danger)}.catalog-item.blocked .catalog-item-select{cursor:pointer}.catalog-item.blocked .catalog-photo{opacity:.5}.catalog-item.blocked .catalog-name,.catalog-item.blocked .catalog-price-tag{color:var(--ink-faint)}.catalog-empty{max-width:44ch;color:var(--ink-soft);text-align:center;justify-items:center;gap:10px;margin:60px auto;font-size:15px;line-height:1.5;display:grid}.catalog-reset{color:var(--ember-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.catalog-more{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;justify-content:center;align-items:baseline;gap:8px;margin-top:30px;padding:13px 16px;font-size:14px;font-weight:700;display:flex}.catalog-more small{color:var(--ink-faint);font-size:13px;font-weight:400}.catalog-more:hover{border-color:var(--ink)}.catalog-more:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.catalog-hidden-note{margin-right:auto}.catalog-foot-bar{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:14px;padding-top:10px;font-size:13px;display:flex}@media (width<=980px){.product-schedule{grid-template-columns:250px minmax(0,1fr);gap:20px}.catalog-extra-filters{grid-template-columns:1fr 1fr}}@media (width<=760px){.product-schedule{grid-template-columns:1fr;gap:22px;height:auto;min-height:0}.spec-list{border-right:0;padding-right:0}.catalog-search-row{grid-template-columns:minmax(0,1fr) 46px 46px}.catalog-search-row>.catalog-price{grid-area:1/1/auto/-1}.catalog-search-row>.catalog-search{grid-area:2/1}.catalog-sort-button{grid-area:2/2}.catalog-filter-toggle{grid-area:2/3}.catalog-extra-filters{grid-template-columns:1fr}.catalog-extra-filters .catalog-price{grid-column:auto}.spec-entries{overflow:visible}.catalog-body{margin-right:0;padding-right:0;overflow:visible}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.catalog-name{font-size:14px}.catalog-foot{flex-direction:column;align-items:flex-start;gap:2px}.catalog-price-tag{font-size:15px}.catalog-kota span{padding:0 4px;font-size:10.5px}}@media (prefers-reduced-motion:reduce){.spec-plate img,.catalog-photo img,.spec-entry:before{transition:none;animation:none}}.customer-dialog-fields{border:0;min-width:0;margin:0;padding:0}.product-dialog-backdrop{z-index:60;background:#1118276b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.product-dialog{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);width:min(1240px,100%);height:min(860px,100vh - 48px);box-shadow:var(--shadow-lift);flex-direction:column;gap:14px;padding:20px;display:flex;overflow:hidden}.product-dialog-head{flex-shrink:0;justify-content:space-between;align-items:start;gap:16px;display:flex}.product-dialog-head h2{margin-top:4px;font-size:clamp(22px,3vw,32px)}.product-dialog-foot{border-top:1px solid var(--line);border-radius:0 0 var(--radius-soft) var(--radius-soft);background:var(--paper-dim);font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin:0 -20px -20px;padding:10px 20px;font-size:12.5px;display:flex}.product-dialog-foot .btn.ghost{border-color:var(--line-strong);background:var(--surface)}.product-dialog-foot .btn.ghost:hover{border-color:var(--ink-faint);background:var(--paper)}.dialog-close{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;place-items:center;font-size:25px;line-height:1;display:grid}.dialog-close:hover{border-color:var(--ink-faint);background:var(--paper-dim)}.product-dialog-actions{flex-wrap:wrap;flex-shrink:0;align-items:stretch;gap:10px;width:100%;display:flex}.product-dialog-price-filter{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);flex-direction:column;flex:320px;justify-content:center;gap:6px;min-width:0;padding:10px 16px;display:flex}.product-dialog-search{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);flex:2 220px;min-width:0;min-height:52px;padding:0 16px;font-size:14px;transition:border-color .14s,box-shadow .14s}.product-dialog-search:hover{border-color:var(--ink-faint)}.product-dialog-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.product-dialog-sort{flex:0 0 180px;min-height:52px}.product-dialog-sort .search-select,.product-dialog-sort .search-select-input{height:100%;min-height:52px}.product-dialog-sort .search-select-input{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);padding:0 34px 0 16px;font-size:13px}.product-dialog-sort .search-select-input:focus-visible,.product-dialog-sort .search-select-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.product-dialog-sort .search-select-clear{display:none}.product-dialog-sort .search-select-caret{right:14px}.price-filter-head{color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:12px;display:flex}.price-filter-head strong{font-family:var(--font-mono);color:var(--ink);font-size:13.5px}.price-range{align-items:center;height:16px;display:flex;position:relative}.price-range-track{background:var(--line-strong);border-radius:2px;height:3px;position:absolute;left:0;right:0}.price-range-fill{background:var(--ink);border-radius:2px;height:3px;position:absolute}.price-range-input{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;left:0;right:0}.price-range-input::-webkit-slider-runnable-track{background:0 0;height:3px}.price-range-input::-moz-range-track{background:0 0;height:3px}.price-range-input::-webkit-slider-thumb{pointer-events:all;appearance:none;background:var(--ink);border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--ink);cursor:pointer;border-radius:50%;margin-top:-5.5px}.price-range-input::-moz-range-thumb{pointer-events:all;background:var(--ink);border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--ink);cursor:pointer;border-radius:50%}.product-picker-grid{flex:auto;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-content:start;gap:18px;min-height:0;padding:2px 8px 2px 2px;display:grid;overflow-y:auto}.product-picker-card{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);text-align:left;cursor:pointer;min-height:292px;transition:box-shadow .2s var(--ease), transform .2s var(--ease), border-color .14s ease;grid-template-rows:172px minmax(120px,auto);padding:0;display:grid;overflow:hidden}.product-picker-card:hover{box-shadow:var(--shadow-photo);transform:translateY(-2px)}.product-picker-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.product-picker-card img,.product-picker-placeholder{object-fit:cover;background:var(--paper-dim);width:100%;height:172px;display:block}.product-picker-body{align-content:start;gap:7px;min-width:0;padding:14px;display:grid}.product-picker-body strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.product-picker-body .sku{font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.product-picker-dimensions{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:-.01em;font-size:12px;font-weight:700}.product-picker-body .price{font-family:var(--font-mono);font-size:18px;font-weight:700}.product-picker-fit{border:1px solid var(--line-strong);border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.product-picker-fit.fits{color:var(--moss);background:var(--moss-soft);border-color:var(--moss)}.product-picker-fit.risky{color:#8a5a12;background:#fff7e6;border-color:#b7791f}.product-picker-fit.blocked{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.style-row{flex-wrap:wrap;gap:10px;display:flex}.style-pill{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;min-height:44px;padding:0 16px;font-weight:500;transition:all .14s}.style-pill.selected{border-color:var(--ink);background:var(--ink);color:#fff}.dim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.wizard-error{border:1px solid var(--danger);border-radius:var(--radius-sharp);background:var(--danger-soft);color:var(--danger);border-left-width:4px;margin:18px 0 0;padding:12px 14px;font-size:14px;font-weight:500}.wizard-error-link{text-underline-offset:3px;font-weight:700;text-decoration:underline}.wizard-feedback{width:min(1200px,100% - 48px);margin:0 auto}.wizard-feedback .wizard-error{margin-top:0}.wizard-hint{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius-sharp);background:var(--blue-soft);color:var(--blue-ink);margin:0;padding:10px 14px;font-size:13px;font-weight:650}.wizard-foot{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(760px,100% - 48px);margin:0 auto;padding:18px 0 32px;display:grid}.wizard-foot .btn{min-width:140px}@media (width>=761px) and (height<=900px){.wizard-stage{padding:18px 0}.room-plan{--plan-extra-h:12px}.wizard-foot{padding:10px 0 18px}.wizard-shell{--wizard-fill:max(320px, calc(100dvh - var(--topbar-h) - 130px - var(--step-title-space,0px)))}.product-schedule{min-height:400px}}.wizard-foot .btn.wizard-nav-btn{min-width:88px;padding:0 20px}.wizard-foot:has(.wizard-nav-btn){border-top:0;gap:clamp(18px,4vw,48px)}.wizard-nav-back{grid-column:1}.wizard-nav-next{grid-column:3}.wizard-nav-btn svg{flex:none;width:30px;height:22px}.wizard-nav-btn,.wizard-nav-btn:hover,.wizard-nav-btn:active{box-shadow:none;transform:none}.wizard-nav-btn.primary:hover:not(:disabled){--btn-bg:var(--ember-ink);border-color:var(--ember-ink)}.wizard-nav-btn.secondary:hover:not(:disabled){border-color:var(--ink);background:var(--paper-dim)}.wizard-nav-btn.is-busy:disabled{opacity:.7;cursor:progress}.wizard-nav-next.primary:not(:disabled){animation:2.4s ease-in-out infinite wizard-next-pulse}.wizard-nav-next.primary:not(:disabled):hover,.wizard-nav-next.primary:not(:disabled):focus-visible{animation:none}@keyframes wizard-next-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ember) 45%, transparent)}70%,to{box-shadow:0 0 0 8px color-mix(in srgb, var(--ember) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.wizard-nav-next.primary:not(:disabled){animation:none}}.wizard-generate{gap:8px}.wizard-generate svg{width:24px;height:24px}.wizard-generate.is-busy svg{animation:1.1s ease-in-out infinite generate-twinkle}@keyframes generate-twinkle{50%{opacity:.6;transform:scale(.88)}}@media (prefers-reduced-motion:reduce){.wizard-generate.is-busy svg{animation:none}}.wizard-nav-spacer{min-width:88px;display:block}.generate-screen{align-content:start;gap:18px}.generate-sheet{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.generate-plate{gap:12px;margin:0;display:grid}.generate-photo{width:min(100%, calc(min(620px, 66vh) * var(--photo-ratio,1.333)));aspect-ratio:var(--photo-ratio,1.333);border-radius:var(--radius-photo);background:var(--paper-dim);box-shadow:var(--shadow-photo);position:relative;overflow:hidden}.generate-photo img{object-fit:cover;width:100%;height:100%;display:block}.generate-markup{pointer-events:none;filter:drop-shadow(0 0 1.5px #1715128c);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.generate-mark polygon,.generate-mark line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke-width .18s var(--ease)}.generate-mark polygon{stroke:#d6e4cf;stroke-width:2px;stroke-dasharray:7 6;animation:generate-trace .6s var(--ease) both;animation-delay:.1s}.generate-mark.removed polygon{fill:#7d365814;stroke:color-mix(in srgb, var(--ember) 58%, #fff);stroke-width:1.5px;stroke-dasharray:5 5}.generate-mark line{stroke:color-mix(in srgb, var(--ember) 72%, #fff);stroke-width:1.75px}.generate-mark.lit polygon{stroke-width:3.5px;stroke-dasharray:none}.generate-mark.lit line{stroke-width:2.5px}@keyframes generate-trace{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.generate-mark polygon{animation:none}}.generate-caption{width:min(100%, calc(min(620px, 66vh) * var(--photo-ratio,1.333)));color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;font-size:14px;display:flex}.generate-room{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.generate-room strong{color:var(--ink);font-size:15px}.generate-legend{gap:16px;font-size:13px;display:flex}.generate-legend-key{align-items:center;gap:7px;display:inline-flex}.generate-legend-key:before{content:"";border:2px dashed var(--moss);border-radius:2px;width:18px;height:12px}.generate-legend-key.removed:before{border:2px solid var(--ember);background:linear-gradient(to top right, transparent calc(50% - 1px), var(--ember) calc(50% - 1px), var(--ember) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to bottom right, transparent calc(50% - 1px), var(--ember) calc(50% - 1px), var(--ember) calc(50% + 1px), transparent calc(50% + 1px)), var(--ember-soft)}.generate-brief{align-content:start;display:grid}.generate-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(32px,3.6vw,46px);font-weight:700;line-height:1}.generate-lede{max-width:42ch;color:var(--ink-soft);margin:12px 0 0;font-size:16px;line-height:1.55}.generate-group{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.generate-group h4{color:var(--ink);margin:0 0 10px;font-size:15px;font-weight:700}.generate-products{gap:10px;margin:0;padding:0;list-style:none;display:grid}.generate-product{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.generate-product-plate{border:1px solid var(--line);background-color:var(--surface);background-image:linear-gradient(color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line-strong) 30%, transparent) 1px, transparent 1px);width:52px;height:44px;color:var(--ink-soft);background-size:8px 8px;border-radius:6px;place-items:center;display:grid;overflow:hidden}.generate-product-plate img{object-fit:cover;width:100%;height:100%}.generate-product-plate .furniture-symbol{stroke-width:2px;width:70%;height:80%}.generate-product-text{gap:2px;min-width:0;display:grid}.generate-product-text strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.25;overflow:hidden}.generate-product-text small{color:var(--ink-soft);font-size:13px;line-height:1.3}.generate-product-price{color:var(--ink);white-space:nowrap;font-size:15px;font-weight:700}.generate-total{border-top:1px dashed var(--line-strong);color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0 0;padding-top:10px;font-size:14px;display:flex}.generate-total strong{color:var(--ink);font-size:18px}.generate-pieces{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.generate-pieces li{border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:13.5px;line-height:1.4}.generate-pieces.removed li{background:var(--ember-soft);color:var(--ember-ink);border-color:#0000;text-decoration:line-through;text-decoration-thickness:1.5px}.generate-action{gap:10px;margin-top:28px;display:grid}.generate-button.btn{--btn-bg:var(--ember);border-color:var(--ember);width:100%;min-height:58px;font-size:17px}.generate-button.btn:hover:not(:disabled){--btn-bg:var(--ember-ink);border-color:var(--ember-ink)}.generate-button.btn:focus-visible{outline:3px solid color-mix(in srgb, var(--ember) 45%, transparent);outline-offset:3px}.generate-note{color:var(--ink-faint);margin:0;font-size:13px;line-height:1.45}@media (width<=900px){.generate-sheet{grid-template-columns:1fr}.generate-photo,.generate-caption{width:min(100%, calc(56vh * var(--photo-ratio,1.333)))}}@media (width<=760px){.wizard-nav-spacer{min-width:62px}.generate-heading{font-size:clamp(28px,8vw,36px)}.generate-photo{border-radius:var(--radius-soft)}}.wizard-checklist{grid-area:1/2;min-width:0}.wizard-checklist ol{--checklist-dot:28px;margin:0;padding:0;list-style:none;display:flex}.wizard-checklist-item{flex:1 1 0;justify-items:center;row-gap:6px;min-width:0;display:grid;position:relative}.wizard-checklist-item:not(:last-child):before,.wizard-checklist-item:not(:last-child):after{content:"";top:calc(var(--checklist-dot) / 2 - 1px);background:var(--line);width:100%;height:2px;position:absolute;left:50%}.wizard-checklist-item:not(:last-child):after{background:var(--ink);transform-origin:0;transition:transform .45s var(--ease);transform:scaleX(0)}.wizard-checklist-item.done:not(:last-child):after{transform:scaleX(1)}.wizard-checklist-item.before-gap:before,.wizard-checklist-item.before-gap:after{width:calc(100% + var(--checklist-gap))}.wizard-checklist-gap{z-index:1;height:var(--checklist-dot);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.wizard-checklist-station{place-items:center;width:16px;height:100%;display:grid;position:relative}.wizard-checklist-station:before{content:"";background:var(--line-strong);width:5px;height:5px;box-shadow:0 0 0 3px var(--paper);transition:transform .2s var(--ease), background-color .3s var(--ease);border-radius:50%}.wizard-checklist-station.done:before{background:var(--ink);width:7px;height:7px}.wizard-checklist-station:hover:before{transform:scale(1.5)}.wizard-checklist-station:after{content:attr(data-label);z-index:2;background:var(--paper);color:var(--ink-soft);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s var(--ease), transform .15s var(--ease);border-radius:4px;padding:1px 6px;font-size:13px;font-weight:600;line-height:19px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-3px)}.wizard-checklist-station:hover:after{opacity:1;transform:translate(-50%)}.wizard-checklist-number{z-index:1;width:var(--checklist-dot);height:var(--checklist-dot);border:1.5px solid var(--line-strong);background:var(--paper);color:var(--ink-faint);font-variant-numeric:tabular-nums;border-radius:50%;grid-row:1;place-items:center;font-size:13px;font-weight:700;line-height:1;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s;display:grid;position:relative}.wizard-checklist-item.done .wizard-checklist-number{border-color:var(--ink);background:var(--ink);color:var(--paper)}.wizard-checklist-item.current .wizard-checklist-number{border-color:var(--ember);background:var(--ember);color:var(--paper);box-shadow:0 0 0 5px var(--ember-soft)}.wizard-checklist-text{text-align:center;grid-row:2;justify-items:center;gap:3px;min-width:0;max-width:100%;padding-inline:4px;display:grid}.wizard-checklist-label{max-width:100%;color:var(--ink-faint);white-space:nowrap;align-items:center;gap:7px;font-size:15px;font-weight:600;line-height:19px;display:inline-flex;overflow:hidden}.wizard-checklist-item.done .wizard-checklist-label{color:var(--ink-soft)}.wizard-checklist-item.current .wizard-checklist-label{color:var(--ink);font-size:17px;font-weight:700}.wizard-checklist-tick{fill:none;width:12px;height:12px;stroke:var(--moss);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:wizard-checklist-tick .4s var(--ease) both;flex:none}@keyframes wizard-checklist-tick{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.wizard-checklist-note{max-width:100%;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}@media (width<=760px){.wizard-checklist ol{--checklist-dot:24px}.wizard-checklist-text,.wizard-checklist-station:after{display:none}}@media (prefers-reduced-motion:reduce){.wizard-checklist-item:after,.wizard-checklist-number,.wizard-checklist-station:before,.wizard-checklist-station:after{transition:none}.wizard-checklist-tick{animation:none}}.wizard-foot-status{text-align:center;flex:auto;gap:2px;min-width:0;padding:0 12px;display:grid}.wizard-save-status{right:20px;bottom:calc(var(--wizard-foot-h,78px) + 10px);z-index:24;background:color-mix(in srgb, var(--paper) 92%, transparent);color:var(--ink-faint);border-radius:999px;margin:0;padding:5px 9px;font-size:11.5px;position:fixed;box-shadow:0 2px 10px #14120f14}.wizard-save-status.failed{color:var(--danger)}.wizard-save-status button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.load-error-actions{justify-items:start;gap:10px;display:grid}.load-error-actions .wizard-error{margin:0}.processing-back-label{color:var(--ink-soft);align-self:center;font-size:13px;font-weight:600}.wizard-foot-status span{color:var(--ink-faint);font-family:var(--font-mono);font-size:11px}.wizard-foot-status strong{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.spec-sheet{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sharp);gap:1px;display:grid;overflow:hidden}.spec-row{background:var(--surface);grid-template-columns:100px minmax(0,1fr);align-items:baseline;gap:12px;padding:13px 14px;display:grid}.spec-row span{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-faint);font-size:11.5px}.spec-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list small{border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:500}.preview-frame{aspect-ratio:4/3;border-radius:var(--radius-photo);background:var(--paper-dim);border:1px solid var(--line);width:100%;overflow:hidden}.preview-frame img{object-fit:cover;width:100%;height:100%}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius-sharp);min-height:160px;color:var(--ink-faint);flex:auto;place-items:center;font-size:14px;font-weight:500;display:grid}.gen-stage{height:var(--wizard-fill);border-radius:var(--radius-photo);box-shadow:var(--shadow-photo);background-color:#efe9de;background-image:linear-gradient(#1f1d1a12 1px,#0000 1px),linear-gradient(90deg,#1f1d1a12 1px,#0000 1px);background-size:24px 24px;position:relative;overflow:hidden}.gen-photo{object-fit:cover;filter:grayscale()contrast(.85);mix-blend-mode:multiply;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.gen-stage .step-loader{background:#ffffff9e}.gen-preview{z-index:1;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gen-preview-enter-active,.gen-preview-leave-active{transition:opacity .8s var(--ease)}.gen-preview-enter-from,.gen-preview-leave-to{opacity:0}.gen-stage.has-preview .step-loader{-webkit-backdrop-filter:none;background:0 0;place-items:end center}.gen-stage.has-preview .step-loader-card{background:#ffffffe0;border-radius:14px;padding:14px 20px;box-shadow:0 6px 24px #1f1d1a29}.gen-stage.has-preview .step-loader-mark{width:40px;height:40px;margin-bottom:4px}@media (prefers-reduced-motion:reduce){.gen-preview-enter-active,.gen-preview-leave-active{transition:none}}.gen-fail{text-align:center;text-wrap:balance;background:#fffc;place-content:center;justify-items:center;gap:6px;padding:24px;display:grid;position:absolute;inset:0}.gen-fail strong{color:var(--danger);font-size:26px;font-weight:800;line-height:1.05}.gen-fail span{max-width:360px;color:var(--ink-soft);font-size:14px;line-height:1.4}.gen-fail strong+span{color:var(--ink);margin-top:6px}.gen-shell .wizard-foot{border-top:0}.result-top{gap:20px;display:grid}.result-shell{--wizard-w:1180px}.result-board{height:var(--wizard-fill);grid-template-columns:minmax(0,1fr) 300px;gap:20px;min-height:0;display:grid}.result-board:not(:has(>.result-cart)){grid-template-columns:minmax(0,1fr)}.result-visual{grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:9px;min-width:0;min-height:0;display:grid;position:relative}.result-visual .compare{width:min(100%, calc(var(--wizard-fill) * 4 / 3))}.upload-preview-sketch .step-loader{z-index:6;border-radius:var(--radius-photo);padding:12px}.upload-preview-sketch .step-loader-card{position:static}.result-visual .step-loader{border-radius:var(--radius-photo)}.result-image-zoom{left:max(10px, calc((100% - min(100%, calc(var(--wizard-fill) * 4 / 3))) / 2 + 10px));z-index:8;color:#fff;cursor:zoom-in;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171512b8;border:1px solid #ffffffb8;border-radius:999px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;bottom:48px}.result-image-zoom svg{width:22px;height:22px}.result-image-zoom:hover{background:#171512e6}.result-visual .plan-thumb{bottom:48px;right:max(10px, calc((100% - min(100%, calc(var(--wizard-fill) * 4 / 3))) / 2 + 10px));position:absolute}.result-visual:not(:has(.ai-process-cost)) .plan-thumb{bottom:10px}.plan-thumb{z-index:7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-in;transform-origin:100% 100%;max-width:88px;height:54px;transition:transform .22s var(--ease), box-shadow .22s var(--ease), background-color .22s var(--ease);background:#ffffffdb;border:1px solid #ffffffa3;border-radius:6px;padding:3px;display:block;box-shadow:0 3px 11px -4px #17151261,0 0 0 1px #1715120d}.plan-thumb svg{width:100%;height:100%;display:block;overflow:visible}.plan-thumb:hover,.plan-thumb:focus-visible{z-index:9;cursor:zoom-out;background:#fffffff5;outline:none;transform:scale(4);box-shadow:0 3px 10px -3px #1715124d,0 0 0 .3px #17151214}.plan-thumb.shrunk:hover,.plan-thumb.shrunk:focus-visible{z-index:7;cursor:zoom-in;background:#ffffffe0;transform:none;box-shadow:0 4px 14px -4px #17151259,0 0 0 1px #1715120f}.plan-thumb.shrunk:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.plan-thumb-floor{fill:#faf8f4}.plan-thumb-grid{fill:none;stroke:#5c564c1a;stroke-width:.4px;vector-effect:non-scaling-stroke}.plan-thumb-walls{fill:#3d3932}.plan-thumb-radiator{fill:var(--danger-soft);stroke:var(--danger);stroke-width:.5px;vector-effect:non-scaling-stroke}.plan-thumb-piece :is(rect,polygon){stroke-width:.8px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.plan-thumb-piece{filter:drop-shadow(0 .6px .6px #1715122e)}.plan-thumb-piece.existing :is(rect,polygon){fill:#e7e3db;stroke:#b3ac9e}.plan-thumb-piece.moved :is(rect,polygon){fill:#ece8e0;stroke:var(--ink-faint);stroke-dasharray:2 1.5}.plan-thumb-piece.planned :is(rect,polygon){fill:#c9d3e8;stroke:var(--blue)}.plan-thumb-door{color:var(--ink-soft)}.plan-thumb-door.balcony{color:var(--blue)}.plan-thumb-door path{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}.plan-thumb-door .gap{stroke:#faf8f4;vector-effect:none}.plan-thumb-door .swing{fill:currentColor;fill-opacity:.07;stroke-width:.6px}.plan-thumb-view{fill:var(--ember);fill-opacity:.16}.plan-thumb-camera{fill:var(--ember);stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke}@media (prefers-reduced-motion:reduce){.plan-thumb{transition:none}}.result-image-lightbox{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 10%,#ffffff12,#0000 34%),#0e0e0df0;place-items:center;padding:clamp(14px,3vw,36px);display:grid;position:fixed;inset:0}.result-image-lightbox-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(100%,1720px);height:100%;min-height:0;display:grid}.result-image-lightbox-head,.result-image-lightbox-foot{color:#ffffffb8;justify-content:space-between;align-items:center;gap:18px;display:flex}.result-image-lightbox-head>div{gap:2px;display:grid}.result-image-lightbox-head span{letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700}.result-image-lightbox-head strong{color:#fff;font-size:16px;font-weight:650}.result-image-lightbox-photo{background:#090908;border:1px solid #ffffff24;border-radius:12px;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden;box-shadow:0 24px 70px #0000006b}.result-image-lightbox img{object-fit:contain;width:100%;height:100%;display:block}.result-image-lightbox-close{color:#fff;cursor:pointer;width:40px;height:40px;transition:background .16s var(--ease), border-color .16s var(--ease);background:#ffffff14;border:1px solid #ffffff3d;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.result-image-lightbox-close svg{width:20px;height:20px}.result-image-lightbox-close:hover{background:#ffffff29;border-color:#ffffff80}.result-image-lightbox-close:focus-visible{outline-offset:3px;outline:2px solid #fff}.result-image-lightbox-foot{font-size:12px}.result-image-lightbox-foot span:last-child{color:#ffffff7a}@media (width<=600px){.result-image-lightbox{padding:12px}.result-image-lightbox-panel{gap:9px}.result-image-lightbox-head strong{font-size:14px}.result-image-lightbox-foot{justify-content:center}.result-image-lightbox-foot span:first-child{display:none}.result-image-lightbox-foot span:last-child{text-align:center}}.ai-process-cost{color:var(--ink-soft);justify-content:center;align-items:baseline;gap:8px;margin:0;font-size:12px;display:flex}.ai-process-cost strong{color:var(--ink);font-family:var(--font-mono);font-size:13px}.ai-process-cost small{color:var(--ink-faint)}.result-empty{border-radius:var(--radius-photo);width:100%;height:100%;color:var(--ink-soft);background:#efe9de;place-items:center;display:grid}.result-cart{transition:opacity .2s var(--ease);grid-area:auto;align-self:stretch}.result-cart.busy{opacity:.55;pointer-events:none}.result-cart-item{padding:12px 0;transition:opacity .16s}.result-cart-item+.result-cart-item{border-top:1px dashed var(--line)}.result-cart-item.off{opacity:.5}.result-cart-item.active .review-cart-name strong{color:var(--ember)}.result-cart-pick{cursor:pointer;grid-template-columns:auto 44px minmax(0,1fr);align-items:center;column-gap:10px;display:grid}.result-cart-pick input{width:16px;height:16px;accent-color:var(--ember);grid-row:1/3;margin:0}.result-cart-pick img{border-radius:var(--radius-sharp);background:var(--paper-dim);object-fit:cover;grid-row:1/3;width:44px;height:44px}.result-cart-pick .review-cart-price{grid-column:3}.result-cart-fit{color:var(--ember-ink);margin:8px 0 0 70px;font-size:12px;line-height:1.35}.result-cart-fit.blocked{color:var(--danger)}.result-cart-actions{gap:14px;margin:6px 0 0 70px;display:flex}.result-cart-actions button{color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.result-cart-actions button:hover:not(:disabled){color:var(--ember);text-decoration-color:currentColor}.result-cart-actions button:disabled{opacity:.45;cursor:not-allowed}.result-cart-actions button:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:2px}.result-tools{width:min(100%, calc(var(--wizard-fill) * 4 / 3));justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.result-tool-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-left:auto;display:flex}.result-tool{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.result-tool svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.result-tool:hover:not(:disabled){background:var(--paper-dim);color:var(--ink)}.result-tool.on{color:var(--blue)}.result-tool:disabled{opacity:.45;cursor:not-allowed}.result-tool:focus-visible{outline:2px solid var(--blue);outline-offset:1px}:is(.result-visual:has(.result-tools) .result-image-zoom,.result-visual:has(.result-tools) .plan-thumb){bottom:58px}.result-notice{color:var(--ink-soft);margin-top:10px;font-size:13.5px}.product-dialog.result-share-dialog{width:min(620px,100%);height:auto;max-height:calc(100vh - 48px)}.result-dialog-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:14px;display:flex}.result-share-lede{max-width:56ch;color:var(--ink-soft);font-size:14px;line-height:1.55}.result-share-row{gap:8px;display:flex}.result-share-input{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--paper-dim);min-width:0;color:var(--ink);font-family:var(--font-mono);flex:1;padding:9px 12px;font-size:13px}.result-share-status{min-height:1.4em;color:var(--blue);font-size:13px;font-weight:600}.product-dialog.result-new-design-dialog{width:min(560px,100%);height:auto;max-height:calc(100vh - 48px)}.result-new-design-lede{max-width:56ch;color:var(--ink-soft);font-size:14px;line-height:1.55}.result-new-design-options{gap:10px;display:grid}.result-new-design-option{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;padding:10px;display:grid}.result-new-design-option:hover:not(:disabled){border-color:var(--blue);background:var(--paper-dim)}.result-new-design-option:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.result-new-design-option:disabled{opacity:.55;cursor:wait}.result-new-design-option>img,.result-new-design-icon{aspect-ratio:4/3;border-radius:var(--radius-sharp);background:var(--paper-dim);object-fit:cover;width:88px}.result-new-design-icon{color:var(--ink-soft);place-items:center;display:grid}.result-new-design-icon svg{width:30px;height:30px}.result-new-design-option strong{font-size:16px;display:block}.result-new-design-option small{color:var(--ink-soft);margin-top:3px;font-size:13.5px;line-height:1.45;display:block}.result-new-design-note{color:var(--ink-soft);font-size:13px}@media (width<=560px){.result-tools{flex-wrap:wrap}}.result-foot{border-top:0}.result-foot-alt{grid-column:1}.result-foot .wizard-foot-status{grid-column:2;margin:0}@media (width<=760px){:is(.result-board,.result-board:not(:has(>.result-cart))){grid-template-columns:minmax(0,1fr);height:auto}.result-visual .compare{width:100%}.result-cart{max-height:none}}.product-overlay-pin{z-index:7;cursor:pointer;background:#7d36586b;border:2px solid #ffffffd9;border-radius:999px;place-items:center;width:30px;height:30px;animation:1.8s ease-out infinite product-pin-pulse;display:grid;position:absolute;transform:translate(-50%,-100%);box-shadow:0 0 #7d365870,0 8px 22px #1715123d}.product-overlay-pin:after{content:"";background:#ffffffdb;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 1px #7d365880}.product-overlay-pin:hover{background:#7d365899;transform:translate(-50%,-100%)scale(1.06)}@keyframes product-pin-pulse{0%{box-shadow:0 0 #7d36586b,0 8px 22px #1715123d}70%{box-shadow:0 0 0 14px #7d365800,0 8px 22px #1715123d}to{box-shadow:0 0 #7d365800,0 8px 22px #1715123d}}.product-overlay-pin.active{background:var(--ember);animation:none}@media (prefers-reduced-motion:reduce){.product-overlay-pin{animation:none}}.product-overlay-popover{z-index:8;border-radius:var(--radius-sharp);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(370px,100% - 32px);box-shadow:var(--shadow-pop);background:#ffffffeb;border:1px solid #ffffff8c;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid;position:absolute;bottom:16px;right:16px}.product-overlay-popover img{object-fit:cover;background:var(--paper-dim);border-radius:6px;width:64px;height:64px}.product-overlay-popover div{gap:3px;min-width:0;display:grid}.product-overlay-popover strong,.product-overlay-popover span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-overlay-popover span{color:var(--ink-soft);font-size:12.5px}.product-overlay-popover .product-dimensions{color:var(--ink);font-family:var(--font-mono);text-overflow:clip;white-space:normal;overflow:visible}.product-overlay-popover .btn.compact{min-height:34px;padding:0 12px;font-size:12.5px}.stage{border-radius:var(--radius-photo);background:var(--paper-dim);width:100%;box-shadow:var(--shadow-photo);position:relative;overflow:hidden}.stage img{width:100%;height:auto;display:block}.stage-empty{aspect-ratio:16/10;color:var(--ink-faint);place-items:center;display:grid}.order-list{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);overflow:hidden}.order-row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 16px;transition:background .14s;display:grid}.order-row:last-child{border-bottom:none}.order-row:hover{background:var(--paper-dim)}.order-row img{object-fit:cover;background:var(--paper-dim);border-radius:6px;width:44px;height:44px}.order-row-name{gap:2px;min-width:0;display:grid}.order-row-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:500;overflow:hidden}.order-row-name span{color:var(--ink-faint);font-size:12px}.order-row-qty{color:var(--ink-soft);white-space:nowrap;font-size:13px}.order-row-total{white-space:nowrap;font-size:14.5px;font-weight:700}.order-total{background:var(--paper-dim);border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:14px 16px;display:flex}.order-total span{color:var(--ink-soft);font-size:13px;font-weight:600}.order-total strong{font-size:20px;font-weight:700}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:20px;display:grid}.fit-plan{grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);align-items:start;gap:18px;display:grid}.fit-plan-svg{border:1px solid var(--line);background:var(--surface);width:100%;max-height:420px}.fit-plan-room{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.fit-plan-zone{fill:#206c5c1f;stroke:var(--moss);stroke-width:2px;stroke-dasharray:8 5}.fit-plan-product{fill:#1a56db29;stroke:#1a56db;stroke-width:2px}.fit-plan-product.risky{fill:#b7791f2e;stroke:#b7791f}.fit-plan-product.blocked{fill:#b23a2e29;stroke:var(--danger)}.fit-plan-label{fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-size:14px;font-weight:700}.fit-plan-dimension{fill:var(--ink-soft);font-family:var(--font-mono);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-size:13px;font-weight:700}.fit-plan-details{color:var(--ink-soft);gap:8px;font-size:13.5px;display:grid}.fit-plan-dialog{width:min(1040px,100%);max-height:min(860px,100vh - 48px);overflow-y:auto}.fit-plan-expanded{grid-template-columns:minmax(0,1fr) minmax(240px,.3fr)}.fit-plan-svg-expanded{max-height:620px}.fit-plan-list{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}.fit-plan-list strong{color:var(--ink)}.fit-plan-list span{line-height:1.35}.product-card-unselected{opacity:.55}.product-card-select{border-bottom:1px solid var(--line);background:var(--paper-dim);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.product-card-select input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue);cursor:pointer}.product-card-body{gap:8px;display:grid}.product-card-body .sku{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px}.product-card-body .product-dimensions{color:var(--ink-soft);font-family:var(--font-mono);font-size:13px;line-height:1.35}.product-card-body .price-line{font-family:var(--font-mono);justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.product-card-body .price-total{font-family:var(--font-mono);font-size:19px;font-weight:700}.product-card-actions{gap:8px;margin-top:4px;display:flex}.stock-note{font-size:12.5px}.stock-note.low{color:var(--danger)}.stock-note.ok{color:var(--moss)}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.admin-filters{flex-wrap:wrap;gap:12px;display:flex}.admin-filters .field{min-width:176px}.admin-count{color:var(--ink-faint);margin-bottom:14px;font-size:13.5px}.admin-message{color:var(--moss);margin-bottom:14px;font-size:13.5px}.admin-message.error{color:var(--danger)}.select-compact{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--surface);min-height:38px;color:var(--ink);padding:0 12px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sharp);overflow-x:auto}.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.category-dimensions{font-variant-numeric:tabular-nums;white-space:nowrap}.category-dimensions strong,.category-dimensions small{display:block}.category-dimensions small{color:var(--ink-faint);margin-top:2px}table{border-collapse:collapse;background:var(--surface);width:100%;min-width:1040px}thead th{text-align:left;letter-spacing:.03em;color:var(--ink-faint);font-size:11.5px;font-weight:600;font-family:var(--font-mono);border-bottom:1px solid var(--line);background:var(--paper-dim);padding:12px 14px}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--paper-dim)}.table-action-cell{z-index:1;background:var(--surface);min-width:112px;position:sticky;right:0}thead .table-action-cell,tbody tr:hover .table-action-cell{background:var(--paper-dim)}.admin-thumb{object-fit:cover;background:var(--paper-dim);border-radius:6px;width:50px;height:50px;display:block}.footprint-admin-cell{grid-template-columns:170px;justify-items:start;gap:5px;display:grid}.footprint-admin-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;padding:3px}.footprint-dimension-preview{border:1px solid var(--line);background:#fff;border-radius:6px;width:170px;height:130px;display:block}.footprint-dimension-shape{fill:#3068ac2e;stroke:var(--blue);stroke-width:1.5px;vector-effect:non-scaling-stroke}.footprint-dimension-lines{fill:var(--ink-faint);stroke:var(--ink-faint);stroke-width:1px;font-family:var(--font-mono);font-size:9px}.footprint-dimension-lines text{stroke:none}.admin-footprint-spec{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(0,1fr) 180px 220px;align-items:center;gap:16px;margin-top:8px;padding-top:16px;display:grid}.admin-footprint-spec-dimensions{color:var(--ink-soft);font-family:var(--font-mono);margin:5px 0 8px}.admin-footprint-spec .product-dimension-box{width:180px}.admin-footprint-spec .footprint-dimension-preview{width:220px;height:168px}.admin-row-actions{flex-wrap:wrap;gap:6px;min-width:150px;display:flex}.status-pill.success{color:var(--moss);background:#42845c1a;border-color:#42845c59}.table-input{border:1px solid var(--line);background:var(--surface);border-radius:5px;width:100%;min-height:38px;padding:6px 9px;transition:border-color .14s}.table-input:hover{border-color:var(--line-strong)}.table-input:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.product-name-input{min-width:240px}.price-cell{font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.price-input{width:92px;font-family:var(--font-mono)}.stock-input{width:70px;font-family:var(--font-mono)}.switch{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--line-strong);border-radius:999px;flex:none;width:34px;height:20px;transition:background .16s;position:relative}.switch-track:after{content:"";width:16px;height:16px;transition:transform .16s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.switch input:checked+.switch-track{background:var(--moss)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch span:last-child{color:var(--ink-soft);font-size:13px}.room-checkboxes{flex-wrap:wrap;gap:6px 12px;max-width:260px;display:flex}.room-checkbox{color:var(--ink-soft);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:inline-flex}.room-checkbox input{margin:0}.status-pill{border:1px solid var(--moss);min-height:26px;color:var(--moss);background:var(--moss-soft);border-radius:999px;align-items:center;padding:0 9px;font-size:12.5px;font-weight:600;display:inline-flex}.status-pill.inactive{border-color:var(--line-strong);color:var(--ink-faint);background:var(--paper-dim)}.status-pill.warning{color:#8a5a12;background:#fff7e6;border-color:#b7791f}.admin-dialog-backdrop{z-index:70;background:#1715126b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-dialog{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);width:min(620px,100%);max-height:min(720px,100vh - 48px);box-shadow:var(--shadow-pop);gap:18px;padding:20px;display:grid;overflow-y:auto}.store-admin-dialog{width:min(980px,100%)}.store-wizard-dialog{gap:20px}.store-wizard-steps{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper-dim);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.store-wizard-step{background:var(--surface);min-height:54px;color:var(--ink-soft);cursor:pointer;border:0;align-items:center;gap:9px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.store-wizard-step:disabled{cursor:not-allowed;opacity:.55}.store-wizard-step span{border:1px solid var(--line-strong);width:24px;height:24px;font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;font-size:12px;display:grid}.store-wizard-step.active{color:var(--ink)}.store-wizard-step.active span{color:#fff;background:var(--ink);border-color:var(--ink)}.store-wizard-step.done span{color:var(--moss);background:var(--moss-soft);border-color:var(--moss)}.product-admin-dialog{width:min(920px,100%)}.product-admin-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.metric-chip{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.metric-chip:hover{border-color:var(--ink-faint);color:var(--ink);background:var(--paper-dim)}.import-button{position:relative;overflow:hidden}.import-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.admin-dialog-head{justify-content:space-between;align-items:start;gap:16px;display:flex}.admin-dialog-head h2{margin-top:4px;font-size:clamp(22px,3vw,30px)}.admin-dialog-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dialog-tabs{border:1px solid var(--line);background:var(--paper-dim);border-radius:999px;gap:6px;width:fit-content;padding:6px;display:inline-flex}.dialog-tab{min-height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 22px;font-size:13px;font-weight:700}.dialog-tab:hover{color:var(--ink)}.dialog-tab.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1715121f}.product-images-tab,.product-model-3d-tab{grid-template-columns:1fr}.model-3d-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.model-3d-summary>div{border:1px solid var(--line);background:var(--paper-dim);border-radius:12px;gap:5px;padding:12px;display:grid}.model-3d-summary strong{overflow-wrap:anywhere}.model-3d-status.approved{color:var(--moss)}.model-3d-status.rejected{color:var(--danger,#9f2f28)}.model-3d-status.pending_review{color:var(--ink-soft)}.model-3d-parts{flex-wrap:wrap;gap:8px;display:flex}.model-3d-parts .btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.model-3d-review{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.model-3d-review-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-dialog-wide,.admin-dialog-switch{grid-column:1/-1}.location-picker{gap:18px;display:grid}.location-picker-city{position:relative}.location-picker-suggestions{z-index:20;border:1px solid var(--line-strong);border-radius:var(--radius-soft);background:var(--surface);box-shadow:var(--shadow-pop);max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.location-picker-suggestions li{border-radius:var(--radius-sharp);cursor:pointer;gap:2px;padding:9px 12px;display:grid}.location-picker-suggestions li span{color:var(--ink-soft);font-size:12px}.location-picker-suggestions li:hover,.location-picker-suggestions li.active{background:var(--blue-soft)}.location-picker-map-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-8px;font-size:13px;display:flex}.location-picker-status{color:var(--moss)}.location-picker-status.muted{color:var(--ink-faint)}.location-picker-link{color:var(--blue);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:600;text-decoration:underline}.location-picker-link:hover{color:var(--blue-ink)}.location-picker-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.location-picker-map{gap:8px;display:grid}.location-picker-canvas{border:1px solid var(--line);z-index:0;border-radius:14px;width:100%;height:260px;overflow:hidden}.delivery-radius-map{gap:10px;display:grid}.delivery-radius-map-canvas{border:1px solid var(--line);z-index:0;border-radius:14px;width:100%;height:280px;overflow:hidden}.delivery-radius-map-controls{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.delivery-radius-map-controls label{color:var(--ink);align-items:center;gap:10px;display:flex}.delivery-radius-map-controls input[type=range]{width:190px;accent-color:var(--ember)}.dialog-hint{color:var(--ink-faint);margin:-4px 0 0;font-size:12.5px}.admin-dialog-switch{width:fit-content}.admin-dialog-switches{flex-wrap:wrap;gap:10px 20px;display:flex}.dialog-checkboxes{border:1px solid var(--line-strong);border-radius:var(--radius-sharp);background:var(--surface);align-content:center;max-width:none;min-height:46px;padding:10px 12px}.admin-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.store-profile-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:18px;display:grid}.store-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.store-profile-preview{gap:16px;display:grid}.store-profile-preview h2{font-size:24px;line-height:1.15}.store-logo-preview{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--paper-dim);width:92px;height:92px;font-family:var(--font-display);color:var(--ink-faint);place-items:center;font-size:44px;font-weight:800;display:grid;overflow:hidden}.store-logo-preview img{object-fit:contain;width:100%;height:100%;padding:8px}.store-profile-side{gap:18px;display:grid;position:sticky;top:16px}.store-logo-upload{align-items:center;gap:16px;display:flex}.store-logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.store-logo-hint{color:var(--ink-faint);flex-basis:100%;font-size:12.5px}.store-profile-actions{align-items:center}.store-profile-dirty{color:var(--ember-ink);margin-right:auto;font-size:13px}.store-profile-checklist{color:var(--ink-soft);gap:6px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.store-profile-checklist li:before{content:"○";width:20px;color:var(--ink-faint);display:inline-block}.store-profile-checklist li.done{color:var(--ink)}.store-profile-checklist li.done:before{content:"✓";color:var(--ember-ink)}.store-products-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.store-products-summary span{border:1px solid var(--line);background:var(--paper-dim);border-radius:var(--radius-sharp);color:var(--ink-soft);gap:2px;padding:10px 12px;display:grid}.store-products-summary strong{color:var(--ink);font-size:20px}.store-products-list{border:1px solid var(--line);border-radius:var(--radius-sharp);display:grid;overflow:hidden}.store-product-row{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) 100px 100px;align-items:center;gap:12px;padding:10px 12px;display:grid}.store-product-row:last-child{border-bottom:none}.store-product-row img{object-fit:cover;background:var(--paper-dim);border-radius:6px;width:48px;height:48px}.store-product-main{gap:3px;min-width:0;display:grid}.store-product-main strong,.store-product-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.store-product-main small{color:var(--ink-faint)}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--surface);min-height:112px;transition:border-color .14s ease, box-shadow .14s ease, transform .14s var(--ease);gap:10px;padding:18px;display:grid}a.metric-card:hover{border-color:var(--ink-faint);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.metric-card span{color:var(--ink-soft);font-size:13px;font-weight:600}.metric-card strong{font-family:var(--font-display);align-self:end;font-size:42px;line-height:.9}.metric-card.warning strong{color:var(--ember)}.metric-card.danger strong{color:var(--danger)}.metric-card.wide{grid-column:span 2}.metric-card.wide strong{font-size:34px}.dashboard-section{gap:14px;display:grid}.dashboard-product-list{border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--line);gap:1px;display:grid;overflow:hidden}.dashboard-product-row{background:var(--surface);grid-template-columns:48px minmax(0,1fr) 110px 110px 72px;align-items:center;gap:12px;padding:10px 12px;display:grid}.dashboard-product-row:hover{background:var(--paper-dim)}.dashboard-product-row img{object-fit:cover;background:var(--paper-dim);border-radius:6px;width:48px;height:48px}.dashboard-product-main{gap:3px;min-width:0;display:grid}.dashboard-product-main strong,.dashboard-product-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-product-main small{color:var(--ink-faint)}.save-cell{gap:5px;min-width:106px;display:grid}.row-status{font-size:12px;font-weight:600}.row-status.saved{color:var(--moss)}.row-status.error{color:var(--danger)}.wizard-stage>.wizard-screen{grid-area:1/1}.wizard-shell{overflow-x:clip}.screen-forward-leave-active,.screen-back-leave-active{pointer-events:none}.screen-forward-enter-active,.screen-back-enter-active{z-index:1;background:var(--paper);position:relative}.screen-forward-leave-active,.screen-back-leave-active{transition:opacity .28s,transform .5s cubic-bezier(.65,0,.35,1)}.screen-forward-leave-to{opacity:0;transform:translate(-28px)scale(.985)}.screen-back-leave-to{opacity:0;transform:translate(28px)scale(.985)}.screen-forward-enter-active,.screen-back-enter-active{transition:opacity .3s,transform .55s cubic-bezier(.2,.8,.2,1),clip-path .55s cubic-bezier(.65,0,.35,1)}.screen-forward-enter-from{opacity:.2;clip-path:inset(0 100% 0 0);transform:translate(12px)}.screen-back-enter-from{opacity:.2;clip-path:inset(0 0 0 100%);transform:translate(-12px)}.screen-forward-enter-to,.screen-back-enter-to{clip-path:inset(0)}.wizard-stage.sweep-forward:after,.wizard-stage.sweep-back:after{content:"";z-index:2;background:linear-gradient(to left, var(--ember) 0 2px, #7d365821 2px, #7d365800);pointer-events:none;width:72px;animation:.55s cubic-bezier(.65,0,.35,1) both step-sweep-forward;position:absolute;top:16px;bottom:16px;-webkit-mask-image:linear-gradient(#0000,#000 16% 84%,#0000);mask-image:linear-gradient(#0000,#000 16% 84%,#0000)}.wizard-stage.sweep-back:after{background:linear-gradient(to right, var(--ember) 0 2px, #7d365821 2px, #7d365800);animation-name:step-sweep-back}@keyframes step-sweep-forward{0%{opacity:1;left:-72px}78%{opacity:1}to{opacity:0;left:calc(100% - 72px)}}@keyframes step-sweep-back{0%{opacity:1;left:100%}78%{opacity:1}to{opacity:0;left:0}}@media (prefers-reduced-motion:reduce){.wizard-stage.sweep-forward:after,.wizard-stage.sweep-back:after{display:none}}@media (width<=980px){.hero-grid,.wizard-screen{grid-template-columns:1fr}.wizard-stage,.wizard-foot{width:min(560px,100% - 48px)}.steps-strip{grid-template-columns:1fr}}@media (width<=760px){.model-3d-summary{grid-template-columns:1fr 1fr}.admin-footprint-spec{grid-template-columns:1fr}.admin-footprint-spec .product-dimension-box,.admin-footprint-spec .footprint-dimension-preview{justify-self:center}.capture-choice{--corner:16px;min-height:0;padding:38px 22px 62px}.nav-toggle{display:inline-flex}.app-nav,.app-signin,.app-designs-link,.account{display:none}.btn.compact.app-cta{justify-content:center;width:36px;min-height:36px;padding:0}.app-cta-label{display:none}.app-cta svg{width:18px;height:18px}.room-choice-grid{grid-template-columns:1fr}}@media (width<=1100px){.console-topbar .nav-toggle{display:inline-flex}.console-topbar .app-nav,.console-topbar .account{display:none}.app-mobile-panel{top:var(--topbar-h);z-index:29;border-bottom:1px solid var(--line);background:var(--paper);gap:4px;padding:10px clamp(18px,3.4vw,40px) 18px;display:grid;position:sticky;box-shadow:0 18px 30px -24px #17151266}.app-mobile-user{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;margin-bottom:4px;padding:6px 4px 14px;display:flex}.app-mobile-user div{min-width:0;display:grid}.app-mobile-link{text-align:left;min-height:46px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;padding:0 12px;font-size:16px;font-weight:500;display:flex}.app-mobile-link.is-active{background:var(--paper-dim);font-weight:600}.app-mobile-cta{border-radius:999px;width:100%;margin-top:8px}.app-mobile-signout{color:var(--ink-soft);margin-top:4px}.app-mobile-enter-active,.app-mobile-leave-active{transition:opacity .16s ease, transform .2s var(--ease)}.app-mobile-enter-from,.app-mobile-leave-to{opacity:0;transform:translateY(-6px)}}@media (width<=760px){.dim-grid,.wizard-summary.compact{grid-template-columns:1fr}.wizard-foot,.wizard-feedback{width:min(100% - 28px,1200px)}.wizard-stage{width:min(100% - 28px,420px);padding:16px 0 8px}.wizard-foot{width:min(100% - 28px,420px)}.step-guide-screen{align-items:center}.step-guide-card{gap:16px;padding:26px 20px}.step-guide-card:after{inset:7px}.step-guide-head{gap:7px}.step-guide-head .display-3{font-size:clamp(25px,8vw,34px)}.step-guide-head>p:last-child{font-size:14px;line-height:1.45}.room-plan{height:auto;container-type:inline-size}.room-plan-frame.view-plan{--plan-side:0px}.room-plan-frame.view-plan>.room-plan-sheet{height:min(calc((100cqw - 144px) / var(--room-ratio) + 146px), 72vh);position:relative}.room-plan-legend{border-bottom:1px dashed #1f1d1a2e;border-right:0;width:auto;padding:12px 14px;position:static}.room-plan-legend:not(.open){gap:0;padding-block:8px}.room-plan-legend:not(.open) .room-plan-legend-head{border-bottom:0;padding-bottom:0}.room-plan-legend:not(.open) ul{display:none}.room-plan-legend.room-plan-estimate{gap:6px}.room-plan-legend-toggle{min-height:32px;color:var(--ember);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 4px;font-size:12px;font-weight:700;display:inline-flex}.room-plan-legend-toggle svg{width:12px;height:12px;transition:transform .18s var(--ease)}.room-plan-legend.open .room-plan-legend-toggle svg{transform:rotate(180deg)}.room-plan-legend-toggle:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:4px}.room-plan-thumb{height:34px}.room-plan-sheet-inner>.floor-plan-orientation{font-size:11px}.floor-plan-camera span{display:none}.dimension-photo-wrap img{width:100%}.capture-choice-panel,.dimension-tabs,.store-profile-grid,.store-profile-form{grid-template-columns:1fr}.store-profile-side{position:static}.store-wizard-steps,.store-products-summary,.dashboard-metrics{grid-template-columns:1fr}.metric-card.wide{grid-column:span 1}.dashboard-product-row{grid-template-columns:48px minmax(0,1fr)}.dashboard-product-row>.mono,.dashboard-product-row>.status-pill{display:none}.store-product-row{grid-template-columns:48px minmax(0,1fr)}.store-product-row>.mono,.store-product-row>.status-pill{grid-column:2}.wizard-shell{--wizard-foot-h:calc(69px + env(safe-area-inset-bottom));padding-bottom:var(--wizard-foot-h);grid-template-rows:auto minmax(0,1fr)}.wizard-screen{align-items:start;min-height:0}.perspective-screen{gap:0}.perspective-copy .display-3{font-size:clamp(24px,7vw,30px)}.perspective-copy .lede{font-size:14px;line-height:1.45}.perspective-task-progress{margin-top:4px}.perspective-check-overlay .perspective-dimensions{grid-template-columns:1fr;gap:10px;padding:11px}.perspective-dimensions header{align-items:flex-start}.perspective-dimensions header p{max-width:32ch}.perspective-dimensions .photo-dimension-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.perspective-review .perspective-check-stage>svg{flex:none;width:100%;max-width:none;height:auto;max-height:none}.perspective-review-head{gap:10px;margin-bottom:8px}.perspective-review-head p{font-size:12px}.perspective-measure-chip{padding:6px 9px}.perspective-measure-chip strong{font-size:10.5px}.dimension-dialog-backdrop{border-radius:var(--radius-photo);padding:12px}.dimension-dialog{border-radius:14px;gap:16px;padding:18px}.dimension-dialog-fields{gap:8px}.dimension-dialog-confirm{justify-self:stretch;width:100%}.wizard-foot{z-index:25;width:auto;padding:10px max(14px, calc((100% - 420px) / 2)) max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;margin:0;position:fixed;bottom:0;left:0;right:0}.wizard-foot .btn{flex:1 1 0;min-width:0}.wizard-foot .btn.wizard-nav-btn{min-width:0;padding-inline:16px}.wizard-foot:has(.wizard-nav-btn){border-top:1px solid var(--line);gap:16px}.wizard-foot-status{display:none}.brochure{width:min(100px,40%);bottom:10px;right:10px}.brochure:hover,.brochure:focus-within{width:min(240px,74%)}.product-dialog-backdrop{padding:10px}.product-dialog{gap:10px;height:min(760px,100vh - 20px);padding:14px}.product-dialog-foot{margin:0 -14px -14px;padding:10px 14px}.product-dialog-actions{gap:8px}.product-dialog-price-filter{flex:100%;order:1;padding:8px 14px}.product-dialog-search{flex:auto;order:2;min-height:46px;font-size:13.5px}.product-dialog-sort{flex:0 0 130px;order:3;min-height:46px}.product-dialog-sort .search-select,.product-dialog-sort .search-select-input{min-height:46px}.product-dialog-sort .search-select-input{padding:0 26px 0 10px;font-size:12.5px}.product-picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.product-picker-card{grid-template-rows:118px minmax(84px,auto);min-height:200px}.product-picker-card img,.product-picker-placeholder{height:118px}.product-picker-body{gap:4px;padding:10px}.product-picker-body strong{font-size:13px}.product-picker-body .price{font-size:15px}.fit-plan,.fit-plan-expanded{grid-template-columns:1fr}.fit-plan-dialog{max-height:calc(100vh - 20px)}}.token-notice-card{max-width:680px;margin-inline:auto}.draft-open-screen{place-items:center}.draft-open-screen .step-loader{-webkit-backdrop-filter:none;animation:draft-open-in .25s var(--ease) .35s both;background:0 0;padding:0;position:static}@keyframes draft-open-in{0%{opacity:0}}.draft-open-failed{text-align:center;text-wrap:balance;justify-items:center;gap:6px;width:min(340px,100%);display:grid}.draft-open-mark{width:64px;height:64px;margin-bottom:12px;overflow:visible}.draft-open-walls,.draft-open-door{stroke-width:2.6px;stroke-linecap:square}.draft-open-walls{stroke:var(--ink)}.draft-open-door{stroke:var(--ember)}.draft-open-failed h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:26px;font-weight:800;line-height:1.05}.draft-open-failed p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.4}.draft-open-actions{gap:8px;width:100%;margin-top:18px;display:grid}@media (prefers-reduced-motion:reduce){.draft-open-screen .step-loader{animation:none}}.token-balance{background:#ecf6ffb3;border:1px solid #1c4e7933;border-radius:16px;gap:.3rem;margin:1.25rem 0;padding:1rem 1.1rem;display:grid}.token-balance span,.token-balance small{color:var(--muted)}.token-balance strong{font-size:1.35rem}.token-balance.insufficient{background:#fff1ebcc;border-color:#b7472a59}.token-drafts{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:14px}.token-notice-card .token-analysis-note{color:var(--ink-soft);font-size:13px;line-height:1.5}.token-drafts a{color:var(--ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.native-app{--native-title-page:1.75rem;--native-title-step:1.375rem;--native-title-section:1.25rem;--native-title-card:1.125rem;--native-text-body:1rem;--native-text-small:.875rem;--native-text-caption:.8125rem;--native-space-1:4px;--native-space-2:8px;--native-space-3:12px;--native-space-4:16px;--native-space-6:24px;--native-space-8:32px;--native-gutter:var(--native-space-4);--native-content-width:680px;--native-radius-card:16px;--native-radius-control:12px;--native-radius-small:8px;--native-control-height:3rem;--radius-photo:var(--native-radius-card);--radius-soft:var(--native-radius-card);--radius-btn:var(--native-radius-control);--topbar-h:calc(56px + env(safe-area-inset-top));--loader-mark-top:calc((100dvh - var(--topbar-h)) * .4 - 32px);-webkit-tap-highlight-color:transparent}.native-app body{overscroll-behavior-y:none}.native-app .btn{min-height:var(--native-control-height);border-radius:var(--native-radius-control);height:auto;font-size:var(--native-text-body);line-height:1.4}.native-app .btn.destructive{--btn-fg:var(--danger);color:var(--danger);background:0 0;border-color:#0000}.native-app .btn:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.native-app .btn.destructive:focus-visible,.native-app .btn.danger:focus-visible{outline-color:var(--danger)}html.native-app .customer-dialog-backdrop{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:none;backdrop-filter:none;background:#1715126b}html.native-app .customer-dialog[aria-modal]{gap:var(--native-space-4);width:min(480px,100%);min-width:0;height:auto;max-height:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));padding:var(--native-space-4);border:1px solid var(--line);border-radius:var(--native-radius-card);background:var(--surface);box-shadow:var(--shadow-lift);overscroll-behavior:contain;overflow-wrap:anywhere;flex-direction:column;display:flex;overflow-y:auto}html.native-app .customer-dialog>*{flex-shrink:0;min-width:0}html.native-app .customer-dialog h2,html.native-app .customer-dialog [role=heading]{font-size:var(--native-title-section);letter-spacing:normal;margin:0;line-height:1.3}html.native-app .customer-dialog p{font-size:var(--native-text-body);margin:0;line-height:1.5}html.native-app .customer-dialog header p{font-size:var(--native-text-small);margin-top:8px}html.native-app .customer-dialog .customer-dialog-actions{padding-top:var(--native-space-4);border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;margin:0;display:flex}html.native-app .customer-dialog .btn{width:100%;min-width:0;min-height:var(--native-control-height);white-space:normal;text-align:center;flex:none;padding:12px}html.native-app .customer-dialog .dialog-close,html.native-app .native-filter-close,html.native-app .result-image-lightbox-close{width:var(--native-control-height);height:var(--native-control-height);min-width:var(--native-control-height);border-radius:var(--native-radius-control);flex:none}html.native-app .customer-dialog .dialog-close{background:var(--paper-dim);border:0}html.native-app .customer-dialog button:focus-visible{outline:2px solid var(--ember);outline-offset:2px}html.native-app .customer-dialog .btn.danger:focus-visible,html.native-app .customer-dialog .btn.destructive:focus-visible{outline-color:var(--danger)}html.native-app .customer-dialog .result-new-design-option{border-radius:var(--native-radius-control);grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}html.native-app .customer-dialog .result-new-design-option>img,html.native-app .customer-dialog .result-new-design-icon{width:64px}html.native-app .customer-dialog .result-new-design-option strong{font-size:var(--native-text-body)}html.native-app .customer-dialog .result-new-design-option small{font-size:var(--native-text-small)}html.native-app .customer-dialog .result-share-row{flex-direction:column}html.native-app .customer-dialog .result-share-input{min-height:var(--native-control-height);font-size:var(--native-text-small)}html.native-app .customer-dialog-fields input,html.native-app .customer-dialog-fields select{min-width:0;min-height:var(--native-control-height);border-radius:var(--native-radius-control);font-size:var(--native-text-body)}html.native-app .customer-dialog-fields .field-label{font-size:var(--native-text-small)}html.native-app .customer-dialog-fields button{min-height:var(--native-control-height)}html.native-app .customer-dialog .google-location-note,html.native-app .customer-dialog .result-new-design-note,html.native-app .customer-dialog .result-share-status{font-size:var(--native-text-small)}html.native-app .customer-dialog .room-location-home{min-height:var(--native-control-height);font-size:var(--native-text-small)}html.native-app .result-image-lightbox-head>div{overflow-wrap:anywhere;min-width:0}html.native-app .result-image-lightbox-head strong{font-size:var(--native-text-body)}.native-app .step-title{font-size:var(--native-title-step);line-height:1.25}.native-app .login-copy h1,.native-app .legal-page h1,.native-app .shared-head h1{font-size:var(--native-title-page);line-height:1.2}.native-app .login-panel .lede{font-size:var(--native-text-body);line-height:1.5}.native-app button,.native-app .btn,.native-app nav,.native-app header,.native-app label{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.native-app input,.native-app textarea{-webkit-user-select:text;user-select:text}.native-app a,.native-app img{-webkit-user-drag:none}.native-app .btn:hover{box-shadow:none;transform:none}.native-app .btn:active:not(:disabled){transform:scale(.97)}.native-app .page{padding:var(--native-space-4) max(var(--native-gutter), env(safe-area-inset-right)) var(--native-space-8) max(var(--native-gutter), env(safe-area-inset-left))}.native-app .login-shell{min-height:100dvh;padding:calc(var(--native-space-8) + env(safe-area-inset-top)) max(var(--native-gutter), env(safe-area-inset-right)) calc(var(--native-space-6) + env(safe-area-inset-bottom)) max(var(--native-gutter), env(safe-area-inset-left));background:var(--paper);place-items:start stretch}.native-app .login-panel{justify-self:center;gap:var(--native-space-6);width:100%;max-width:480px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.native-app .login-panel .brand{margin-bottom:0}.native-app .login-panel .btn{min-height:var(--native-control-height);white-space:normal;min-width:0}.native-app .login-panel .login-copy h1{font-size:var(--native-title-page)}.native-app .login-panel .login-forgot-link,.native-app .login-panel .login-register-link{min-height:var(--native-control-height);font-size:var(--native-text-small);align-items:center;display:flex}.native-app .login-panel .login-register-link{justify-content:center}.native-app .login-panel .login-help-link{font-size:var(--native-text-caption)}.native-app .login-panel .admin-message{font-size:var(--native-text-small);margin:0;line-height:1.5}.native-app .login-panel .field input{min-height:var(--native-control-height);border-radius:var(--native-radius-control);font-size:var(--native-text-body)}.native-app .login-panel .field-label{font-size:var(--native-text-small)}.native-app .native-auth-screen.login-shell{min-height:calc(100dvh - var(--topbar-h));padding-top:var(--native-space-4)}.native-app .native-wizard{padding-bottom:0}.native-app .spec-entries{gap:12px}.native-app .spec-entry{border:1px solid var(--line);border-radius:var(--native-radius-card);background:var(--surface);overflow:hidden}.native-app .spec-entry.active{border-color:var(--ember)}.native-app .spec-entry:before{display:none}.native-app .spec-entry-main{min-height:var(--native-control-height);grid-template-columns:64px minmax(0,1fr);padding:12px}.native-app .spec-entry-main .native-product-summary{grid-column:1/-1}.native-app .spec-entry-text small{white-space:normal;overflow-wrap:anywhere}.native-app .spec-entry-tools{flex-wrap:wrap;margin:0;padding:0 12px 12px}.native-app .spec-quantity{gap:8px}.native-app .spec-quantity button{width:var(--native-control-height);height:var(--native-control-height);border-radius:var(--native-radius-control);font-size:var(--native-text-body)}.native-app .spec-quantity strong{font-size:var(--native-text-small)}.native-app .spec-remove{min-height:var(--native-control-height);font-size:var(--native-text-small);margin-left:auto;padding:8px}.native-app .native-wizard .wizard-screen:has(>.step-title){align-content:start;align-items:start;row-gap:var(--native-space-3);grid-template-rows:none;grid-auto-rows:auto}.native-app .native-wizard .wizard-screen>.furniture-step-hint{font-size:var(--native-text-small);color:var(--ink-soft);margin:0;line-height:1.5}.native-wizard:has(.native-token-notice,.design-expectations-notice)>.wizard-stage{width:100%;min-height:0;padding:0}.native-app .native-wizard:has(.wizard-foot){padding-bottom:var(--wizard-foot-h);--wizard-fill:max(300px, calc(100dvh - var(--topbar-h) - var(--wizard-foot-h) - 32px - var(--step-title-space,0px)))}.native-wizard .wizard-foot{z-index:25;width:auto;padding:12px max(var(--native-gutter), env(safe-area-inset-right), calc((100% - 560px) / 2)) max(12px, env(safe-area-inset-bottom)) max(var(--native-gutter), env(safe-area-inset-left), calc((100% - 560px) / 2));border-top:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:48px minmax(0,1fr);gap:10px;margin:0;position:fixed;inset:auto 0 0}.native-wizard .wizard-foot:has(.wizard-nav-btn){border-top:1px solid var(--line);gap:10px}.native-wizard-progress{font-size:var(--native-text-caption);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;line-height:1.3;display:grid}.native-wizard-progress-label{font-weight:700}.native-wizard-progress-count{color:var(--ink-soft);font-variant-numeric:tabular-nums}.native-wizard-progress-track{background:var(--line);border-radius:3px;grid-column:1/-1;height:3px;overflow:hidden}.native-wizard-progress-track i{border-radius:inherit;background:var(--ember);height:100%;display:block}.native-wizard .wizard-foot .btn.wizard-nav-btn{min-width:0;min-height:var(--native-control-height);border-radius:var(--native-radius-control);height:auto;padding:10px 12px}.native-wizard .wizard-nav-next{grid-column:2;gap:8px}.native-wizard .wizard-foot:not(:has(.wizard-nav-back)) .wizard-nav-next{grid-column:1/-1}.native-wizard .wizard-nav-btn svg{stroke-width:3px;width:22px;height:18px}.native-wizard .native-camera-button svg{stroke-width:2px;width:22px;height:22px}.native-wizard .wizard-nav-btn span{font-size:var(--native-text-body);white-space:normal;line-height:1.4}.native-wizard .wizard-nav-next.primary:not(:disabled){animation:none}.native-wizard .wizard-nav-spacer{display:none}.native-dimension-accessory{min-width:0;font-size:var(--native-text-caption);color:var(--ink-soft);grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.native-dimension-accessory button{border-radius:var(--native-radius-small);background:var(--ember-soft);min-height:44px;color:var(--ember);font:inherit;cursor:pointer;border:0;padding:6px 10px;font-weight:700}.native-dimension-accessory button:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.native-app .native-wizard>.wizard-stage>.step-loader,.native-app .native-wizard .wizard-screen.draft-open-screen{inset:var(--topbar-h) 0 0;padding:var(--loader-mark-top) var(--native-gutter) 24px;place-items:start center;position:fixed}.native-app .native-wizard .wizard-screen.draft-open-screen{clip-path:none;min-height:0;transform:none}.native-app .gen-shell .gen-stage:not(.has-preview) .step-loader{padding-top:var(--loader-mark-top);place-items:start center}.native-app .native-wizard .step-loader-card,.native-app .gen-shell .step-loader-card{position:static}.native-app .gen-shell:not(.native-gen){height:calc(100dvh - var(--topbar-h));flex-direction:column;min-height:0;padding-bottom:0;display:flex}.native-app .gen-shell:not(.native-gen)>.wizard-stage{flex:1;grid-template-rows:minmax(0,1fr);width:100%;min-height:0;padding:0}.native-app .gen-shell:not(.native-gen) .gen-stage{height:auto;box-shadow:none;border-radius:0}html[data-nav=forward]::view-transition-old(root){animation:.32s cubic-bezier(.22,1,.36,1) both vt-out-left}html[data-nav=forward]::view-transition-new(root){animation:.32s cubic-bezier(.22,1,.36,1) both vt-in-right;box-shadow:-10px 0 28px #17151224}html[data-nav=back]::view-transition-old(root){z-index:1;animation:.32s cubic-bezier(.22,1,.36,1) both vt-out-right;box-shadow:-10px 0 28px #17151224}html[data-nav=back]::view-transition-new(root){animation:.32s cubic-bezier(.22,1,.36,1) both vt-in-left}@keyframes vt-out-left{to{transform:translate(-25%)}}@keyframes vt-in-right{0%{transform:translate(100%)}}@keyframes vt-out-right{to{transform:translate(100%)}}@keyframes vt-in-left{0%{transform:translate(-25%)}}html[data-nav=hero] .vt-hero{view-transition-name:design-hero}.native-app::view-transition-group(design-hero){animation-duration:.4s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.native-app::view-transition-old(design-hero){object-fit:cover;height:100%}.native-app::view-transition-new(design-hero){object-fit:cover;height:100%}.native-app .skeleton{background:var(--paper-dim) linear-gradient(100deg, transparent 35%, #fff9 50%, transparent 65%) no-repeat;background-size:250% 100%;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-sheen;display:block}@keyframes skeleton-sheen{0%{background-position:110% 0}to{background-position:-10% 0}}@media (prefers-reduced-motion:reduce){.native-app .skeleton{animation:none}}
