:root{--panel-bg:#f6f5f2;--frame:#161616;--accent:#c0392b;--text:#161616;--text-muted:#5c584f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/145% system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100vw;height:100dvh;position:relative}.app canvas{touch-action:none;display:block}.toolbar{background:var(--panel-bg);border:2px solid var(--frame);width:280px;max-height:calc(100dvh - 32px);color:var(--text);border-radius:0;padding:16px;position:absolute;top:16px;left:16px;overflow-y:auto;box-shadow:6px 6px #1616162e}.toolbar h1{letter-spacing:-.2px;text-transform:uppercase;margin:0 0 12px;font-size:17px}.toolbar h1:last-child{margin-bottom:0}.toolbar h2{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--frame);margin:0 0 8px;padding-bottom:4px;font-size:12px}.toolbar section{margin-bottom:16px}.swatches{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.swatch{aspect-ratio:1;border:2px solid var(--frame);cursor:pointer;background:0 0;border-radius:0;width:100%;padding:0;overflow:hidden}.swatch.active{border-color:var(--accent);border-width:3px;box-shadow:3px 3px #c0392b59}.swatch:disabled{cursor:not-allowed;opacity:.35;filter:grayscale()}.panel-preview{width:100%;height:100%;display:block}.panel-preview-grid{background:var(--frame);gap:1px;display:grid}.panel-preview-xbrace{background-image:linear-gradient(45deg,#0000 47%,#e8e6df 48% 52%,#0000 53%),linear-gradient(-45deg,#0000 47%,#e8e6df 48% 52%,#0000 53%)}.panel-preview-tiltwindow{background-image:linear-gradient(45deg,#0000 47%,#6b6a63 48% 52%,#0000 53%),linear-gradient(-45deg,#0000 47%,#6b6a63 48% 52%,#0000 53%);border-left:1px solid #6b6a63;border-right:1px solid #6b6a63}.panel-preview-door{background-image:linear-gradient(60deg,#0000 47%,#6b6a63 48% 52%,#0000 53%);border-left:1px solid #6b6a63;border-right:1px solid #6b6a63}.panel-preview-opening{background:linear-gradient(45deg,#0000 48%,#9a968a 49% 51%,#0000 52%),linear-gradient(-45deg,#0000 48%,#9a968a 49% 51%,#0000 52%),#fff}.facade-label{color:var(--text-muted);white-space:nowrap;flex:none;font-size:12px;font-weight:600}.floating-bar{background:var(--panel-bg);border:2px solid var(--frame);max-width:calc(100vw - 32px);color:var(--text);align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:6px 6px #1616162e}.floating-bar.top{top:16px}.floating-bar.bottom{bottom:calc(16px + env(safe-area-inset-bottom))}.swatch-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.swatch-strip::-webkit-scrollbar{display:none}.swatch-strip .swatch{flex:none;width:44px;height:44px}.toolbar button:not(.swatch){font:inherit;border:2px solid var(--frame);color:var(--text);cursor:pointer;background:#fff;border-radius:0;padding:8px 10px;transition:background .1s,color .1s}.toolbar button:not(.swatch):hover:not(:disabled){background:var(--frame);color:#fff}.toolbar button:not(.swatch):disabled{opacity:.4;cursor:not-allowed}.toolbar section>button{width:100%}.row{flex-wrap:wrap;gap:6px;display:flex}.checkbox-row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-row input{cursor:pointer;margin:0}.debug-panel{left:auto;right:16px}.slider-row{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;margin-bottom:8px;display:grid}.slider-row label{color:var(--text-muted);font-size:12px}.slider-row input[type=range]{grid-column:1/-1;width:100%;margin:0}.slider-value{font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}@media (width<=640px){.toolbar{width:calc(100vw - 32px)}.floating-bar.top{top:92px}}.corner-actions{flex-direction:column;gap:10px;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.corner-actions.walk-mode{left:auto;right:calc(16px + env(safe-area-inset-right));top:calc(16px + env(safe-area-inset-top));transform:none}.round-action{cursor:pointer;background:#000000d9;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;display:flex}.info-glyph{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:30px;font-style:italic;font-weight:700;line-height:1}.confirm-overlay{z-index:10;background:#16161673;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--panel-bg);border:2px solid var(--frame);width:320px;max-width:calc(100vw - 32px);color:var(--text);padding:16px;box-shadow:6px 6px #1616162e}.confirm-dialog h1{letter-spacing:-.2px;text-transform:uppercase;margin:0 0 8px;font-size:17px}.confirm-dialog .hint{margin:0 0 16px}.confirm-dialog .hint a{color:var(--accent)}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-actions button{font:inherit;border:2px solid var(--frame);color:var(--text);cursor:pointer;background:#fff;border-radius:0;padding:8px 14px;transition:background .1s,color .1s}.confirm-actions button:hover{background:var(--frame);color:#fff}.confirm-actions .confirm-danger{background:var(--accent);border-color:var(--accent);color:#fff}.confirm-actions .confirm-danger:hover{background:#961f14;border-color:#961f14}.touch-joystick{bottom:calc(28px + env(safe-area-inset-bottom));touch-action:none;-webkit-tap-highlight-color:transparent;background:#00000059;border:3px solid #ffffffe6;border-radius:50%;width:130px;height:130px;position:absolute;left:24px}.touch-joystick-right{left:auto;right:24px}.touch-joystick-knob{pointer-events:none;background:#ffffffe6;border-radius:50%;width:56px;height:56px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
