.app{width:100vw;height:100vh;display:flex;flex-direction:column;background:#fff;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.top-bar{height:70px;width:100%;background:#fff;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0;display:flex;align-items:center;padding:0 32px;font-weight:600;font-size:18px;color:#2a2a2a}.top-bar a:hover{color:#ff8c42;transition:color .2s ease}.input-section{flex-shrink:0;display:flex;align-items:stretch;background:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.1);position:relative;width:100%;overflow:hidden}.input-content{flex:1;padding:0;height:100%;display:flex;flex-direction:column;gap:0;justify-content:flex-start}.row-control{flex-shrink:0}.filter-bar{flex:1;display:flex;flex-direction:column;gap:0;min-height:0;padding-left:0}.filters-container{position:relative;height:100%;display:flex;flex-direction:column}.filters-header{flex-shrink:0;height:28px;background:#f6f6f6;display:flex;align-items:center;justify-content:space-between;padding-right:16px}.filters-header-text{padding-left:24px;font-size:12px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.04em;line-height:28px}.filters-header-actions{display:flex;align-items:center;gap:8px}.filter-status{font-size:13px;color:#666}.filter-status.error{color:#b00020}.filter-fields-scroll{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:scroll;overflow-x:hidden;padding:6px 0;margin-right:0;margin-left:0;margin-top:0;background:#eee;scrollbar-width:thin;scrollbar-color:#000000 transparent;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.filter-action-button{padding:6px 12px;background:#000;color:#fff;border:none;border-radius:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 2px 4px #00000040}.filter-action-button:hover{background:#ff8c42;transform:translateY(-1px);box-shadow:0 3px 8px #0000004d}.filter-action-button:active{transform:translateY(0);box-shadow:0 2px 4px #00000040}.filter-fields-scroll::-webkit-scrollbar{width:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block!important;-webkit-overflow-scrolling:touch}.filter-fields-scroll::-webkit-scrollbar-track{background:transparent;border:none;margin:0;padding:0;border-radius:0;display:block!important}.filter-fields-scroll::-webkit-scrollbar-thumb{background:#000!important;border-radius:0!important;-webkit-border-radius:0!important;border:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;min-height:20px;-webkit-border-image:none;border-image:none}.filter-field{flex:0 0 auto;width:100%;display:flex;flex-direction:column;gap:6px;padding-left:24px;padding-right:24px}.filter-label{font-size:12px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.04em}.filter-options{display:flex;flex-wrap:wrap;gap:6px}.filter-options.dropdown{flex-wrap:wrap}.filter-chip{padding:6px 10px;border-radius:0;border:1px solid rgba(0,0,0,.15);background:#fff;font-size:12px;color:#000;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease;white-space:nowrap}.filter-chip.selected{background:#ff8c42;border-color:#ff8c42;color:#fff}.filter-chip:hover{transform:translateY(-1px)}.filter-pill-readonly{padding:4px 8px;border-radius:0;background:#e0e0e0;font-size:11px;color:#000;white-space:nowrap}.row-slider{width:200px;height:6px;border-radius:3px;background:#d0d0d0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.row-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#2a2a2a;cursor:pointer;transition:background .2s ease}.row-slider::-webkit-slider-thumb:hover{background:#ff8c42}.row-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#2a2a2a;cursor:pointer;border:none;transition:background .2s ease}.row-slider::-moz-range-thumb:hover{background:#ff8c42}.grid-container{flex:1;display:grid;gap:12px;padding:24px;overflow-y:auto;overflow-x:hidden;grid-template-columns:repeat(var(--cols, 10),var(--cell-size, 50px));grid-auto-rows:var(--cell-size, 50px);position:relative;justify-content:start;align-content:start;min-height:0;height:100%;background:#fafafa}.square{width:var(--cell-size, 50px);height:var(--cell-size, 50px);aspect-ratio:1;border-radius:0;border:1px solid rgba(0,0,0,.2);transition:transform .4s cubic-bezier(.4,0,.2,1),z-index .3s ease,box-shadow .4s ease,border-color .3s cubic-bezier(.4,0,.2,1),border-width .3s cubic-bezier(.4,0,.2,1),grid-column .4s ease,grid-row .4s ease,left .4s ease,top .4s ease,width .4s ease,height .4s ease;cursor:pointer;z-index:1;position:relative;box-shadow:0 1px 3px #0000001a;will-change:transform;pointer-events:auto;box-sizing:border-box;background:#fff;overflow:hidden}.square-image{position:absolute;top:50%;left:50%;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;transition:opacity .3s ease,transform .3s ease;opacity:1;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;image-rendering:auto;-webkit-image-rendering:auto;-webkit-perspective:1000px;perspective:1000px;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.square:hover,.square.hovered{z-index:10;box-shadow:0 8px 24px #00000026;border-color:#0003}.square.selected{z-index:20;box-shadow:0 8px 24px #00000026,0 2px 8px #0000001a;border:none;outline:1px solid rgba(0,0,0,.2);outline-offset:0;cursor:pointer;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.square.selected:hover{transform:translateY(-50%) scale(calc(var(--selected-scale, 1) * 1.05))}.grid-container .square{transition:transform .4s cubic-bezier(.4,0,.2,1),z-index .3s ease,box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),outline-color .4s cubic-bezier(.4,0,.2,1),grid-column .4s ease,grid-row .4s ease,left .4s ease,top .4s ease,width .4s ease,height .4s ease}.selected-square-text{position:fixed;font-size:48px;font-weight:700;color:#2a2a2a;line-height:1.2;margin-bottom:16px;z-index:25}.selected-square-actions{position:fixed;display:flex;flex-direction:column;gap:12px;z-index:25;transition:opacity .3s ease,bottom .5s ease,width .5s ease,left .5s ease}.action-button{padding:12px 20px;background:#000;color:#fff;border:none;border-radius:0;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;text-align:center;letter-spacing:.3px;text-transform:uppercase;box-shadow:0 2px 8px #0003,0 1px 3px #00000026}.action-button:hover{background:#ff8c42;transform:translateY(-1px);box-shadow:0 4px 16px #0000004d,0 2px 8px #0003}.action-button:active{transform:translateY(0);box-shadow:0 2px 6px #00000040,0 1px 3px #00000026}.continue-build-button{position:fixed;bottom:32px;right:32px;padding:16px 32px;background:#000;color:#fff;border:none;border-radius:0;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px;text-transform:uppercase;box-shadow:0 4px 16px #00000040,0 2px 8px #00000026;z-index:30}.continue-build-button:hover{background:#ff8c42;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d,0 3px 10px #0003}.continue-build-button:active{transform:translateY(0);box-shadow:0 2px 8px #00000040,0 1px 4px #00000026}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100vw;height:100vh}
