.cee-tool.xs-tool{display:block;grid-template-columns:none}.cee-tool.xs-tool>*+*{margin-top:1.25rem}.xs-app{--xs-primary: #e87722;--xs-primary-hover: #c2500f;--xs-primary-glow: rgba(232, 119, 34, .2);--xs-accent: #1b2d4a;--xs-danger: #e5484d;--xs-mono: var(--font-mono, ui-monospace, "IBM Plex Mono", Consolas, monospace);--xs-bg: #ffffff;--xs-bg-alt: #f8f9fb;--xs-bg-panel: #ffffff;--xs-bg-inset: #f2f4f5;--xs-text: #1a1a2e;--xs-text-secondary: #5b6670;--xs-text-muted: #98a2ac;--xs-border: #ecedef;--xs-border-strong: #d1d5db;--xs-shadow: 0 1px 2px rgba(16, 24, 40, .04);--xs-radius-card: 16px;--xs-radius-control: 10px;--xs-radius-inner: 8px;width:100%;color:var(--xs-text)}.xs-app [hidden]{display:none!important}[data-theme=dark] .xs-app{--xs-primary: #f0913f;--xs-primary-hover: #f6b37b;--xs-primary-glow: rgba(240, 145, 63, .22);--xs-accent: #5aaef5;--xs-bg: #101b2f;--xs-bg-alt: #0f1a2e;--xs-bg-panel: #162033;--xs-bg-inset: #1b2740;--xs-text: #f1f5f9;--xs-text-secondary: #9ba4ac;--xs-text-muted: #7c8ca5;--xs-border: rgba(255, 255, 255, .08);--xs-border-strong: #2d3f59;--xs-shadow: none}.xs-app .xs-i{display:inline-block;flex:none;width:1.05em;height:1.05em;vertical-align:-.16em}.xs-studio{display:grid;grid-template-columns:268px minmax(0,1fr) 292px;grid-template-rows:auto minmax(420px,62vh) auto;grid-template-areas:"toolbar toolbar toolbar" "left    viewport right" "layers  layers   layers";gap:.75rem}.xs-toolbar{grid-area:toolbar;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.55rem .75rem;background:var(--xs-bg-panel);border:1px solid var(--xs-border);border-radius:var(--xs-radius-card);box-shadow:var(--xs-shadow)}.xs-toolbar .xs-tool-sep{width:1px;height:22px;background:var(--xs-border-strong);margin:0 .25rem}.xs-toolbar .xs-spacer{flex:1}.xs-app .xs-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .85rem;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-control);background:var(--xs-bg);color:var(--xs-text-secondary);font-family:var(--font-body, inherit);font-size:.82rem;font-weight:500;line-height:1.2;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;text-decoration:none;letter-spacing:0;height:auto;box-shadow:none}.xs-app .xs-btn--icon{padding:.42rem .6rem}.xs-app .xs-btn:hover:not(:disabled){color:var(--xs-primary);border-color:var(--xs-primary);box-shadow:0 0 0 3px var(--xs-primary-glow)}.xs-app .xs-btn:active:not(:disabled){background:var(--xs-bg-inset)}.xs-app .xs-btn:disabled{opacity:.45;cursor:not-allowed}.xs-app .xs-btn:focus-visible,.xs-app .xs-icon-btn:focus-visible,.xs-app .xs-vp-btn:focus-visible,.xs-app .xs-mat-tile:focus-visible,.xs-app .xs-insert-btn:focus-visible{outline:2px solid var(--xs-primary);outline-offset:2px}.xs-app .xs-btn.xs-btn--primary{background:var(--xs-primary);border-color:var(--xs-primary);color:#fff;font-weight:600}[data-theme=dark] .xs-app .xs-btn.xs-btn--primary{color:#0f1a2e}.xs-app .xs-btn.xs-btn--primary:hover:not(:disabled){background:var(--xs-primary-hover);border-color:var(--xs-primary-hover);color:#fff;box-shadow:0 4px 14px var(--xs-primary-glow)}[data-theme=dark] .xs-app .xs-btn.xs-btn--primary:hover:not(:disabled){color:#0f1a2e}.xs-app .xs-btn.xs-btn--danger:hover:not(:disabled){color:var(--xs-danger);border-color:var(--xs-danger);box-shadow:0 0 0 3px #e5484d26}.xs-app .is-busy{cursor:progress;opacity:.6}.xs-panel{background:var(--xs-bg-panel);border:1px solid var(--xs-border);border-radius:var(--xs-radius-card);box-shadow:var(--xs-shadow);overflow-y:auto;overflow-x:hidden}.xs-left{grid-area:left}.xs-right{grid-area:right}.xs-panel details{border-bottom:1px solid var(--xs-border);margin:0}.xs-panel details:last-child{border-bottom:none}.xs-panel summary{display:flex;align-items:center;gap:.55rem;padding:.7rem .9rem;font-family:var(--font-body, inherit);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--xs-text-muted);cursor:pointer;user-select:none;list-style:none}.xs-panel summary::-webkit-details-marker{display:none}.xs-panel summary .xs-i:first-child{color:var(--xs-primary);width:16px;height:16px}.xs-panel summary:after{content:"‹";margin-left:auto;font-size:1.1rem;color:var(--xs-text-muted);transform:rotate(-90deg);transition:transform .2s ease}.xs-panel details[open] summary:after{transform:rotate(90deg)}.xs-panel .xs-group{padding:.15rem .9rem .9rem}.xs-subhead{margin:.9rem 0 .35rem;font-family:var(--font-body, inherit);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--xs-text-muted)}.xs-field{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.45rem 0}.xs-field>label{flex:1;min-width:0;font-family:var(--font-body, inherit);font-size:.8rem;color:var(--xs-text-secondary);white-space:nowrap}.xs-field>label[title]{cursor:help}.xs-field .xs-unit{font-size:.68rem;color:var(--xs-text-muted);font-family:var(--xs-mono)}.xs-app input[type=number].xs-num{width:82px;padding:.32rem .45rem;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-inner);background:var(--xs-bg);color:var(--xs-text);font-family:var(--xs-mono);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right;height:auto}.xs-app input[type=number].xs-num:focus{border-color:var(--xs-primary);box-shadow:0 0 0 3px var(--xs-primary-glow);outline:none}.xs-app select.xs-select{padding:.32rem 1.6rem .32rem .5rem;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-inner);background:var(--xs-bg);color:var(--xs-text);font-size:.8rem;font-family:var(--font-body, inherit);max-width:150px;height:auto;cursor:pointer}.xs-app select.xs-select:focus{border-color:var(--xs-primary);outline:none}.xs-app input[type=range].xs-range{-webkit-appearance:none;appearance:none;width:100px;height:4px;border-radius:2px;background:var(--xs-border-strong);cursor:pointer}.xs-app input[type=range].xs-range:focus-visible{outline:2px solid var(--xs-primary);outline-offset:4px}.xs-app input[type=range].xs-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--xs-primary);border:2px solid var(--xs-bg);box-shadow:0 1px 4px #0000004d}.xs-app input[type=range].xs-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--xs-primary);border:2px solid var(--xs-bg)}.xs-app input[type=color].xs-color{width:34px;height:26px;padding:2px;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-inner);background:var(--xs-bg);cursor:pointer}.xs-app input[type=text].xs-text,.xs-app textarea.xs-textarea{width:100%;padding:.38rem .5rem;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-inner);background:var(--xs-bg);color:var(--xs-text);font-size:.82rem;font-family:var(--font-body, inherit);height:auto}.xs-app input[type=text].xs-text:focus,.xs-app textarea.xs-textarea:focus{border-color:var(--xs-primary);outline:none}.xs-app textarea.xs-textarea{resize:vertical;min-height:54px}.xs-field-note{font-size:.7rem;color:var(--xs-text-muted);margin:.2rem 0 .4rem;line-height:1.5}.xs-field-note strong{color:var(--xs-text-secondary);font-weight:600}.xs-check{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--xs-text-secondary);cursor:pointer}.xs-check input{accent-color:var(--xs-primary)}.xs-mini-btn-row{display:flex;gap:.4rem;margin-top:.55rem;flex-wrap:wrap}.xs-mini-btn-row .xs-btn{padding:.32rem .65rem;font-size:.75rem}.xs-viewport{grid-area:viewport;position:relative;border:1px solid var(--xs-border);border-radius:var(--xs-radius-card);overflow:hidden;box-shadow:var(--xs-shadow);background:repeating-conic-gradient(var(--xs-bg-inset) 0% 25%,var(--xs-bg-alt) 0% 50%) 50% / 22px 22px;min-height:420px}.xs-viewport canvas{display:block;width:100%;height:100%;outline:none}.xs-vp-tools{position:absolute;top:10px;right:12px;display:flex;gap:.3rem;opacity:.55;transition:opacity .15s ease}.xs-viewport:hover .xs-vp-tools,.xs-vp-tools:focus-within{opacity:1}.xs-app .xs-vp-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .6rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--xs-radius-inner);background:#0f172ab8;color:#e2e8f0;font-family:var(--font-body, inherit);font-size:.72rem;font-weight:500;line-height:1.2;cursor:pointer;backdrop-filter:blur(4px);transition:background .15s ease,color .15s ease}.xs-app .xs-vp-btn--icon{padding:.34rem .45rem}.xs-app .xs-vp-btn:hover:not(:disabled){background:var(--xs-primary);border-color:var(--xs-primary);color:#fff}.xs-app .xs-vp-btn:disabled{opacity:.5;cursor:progress}.xs-hud{position:absolute;left:12px;bottom:10px;padding:.3rem .65rem;border-radius:var(--xs-radius-inner);background:#0f172aa6;color:#e2e8f0;font-family:var(--xs-mono);font-size:.7rem;letter-spacing:.03em;pointer-events:none;backdrop-filter:blur(4px)}.xs-hud-right{position:absolute;right:12px;bottom:10px;padding:.3rem .65rem;border-radius:var(--xs-radius-inner);background:#0f172aa6;color:#94a3b8;font-family:var(--xs-mono);font-size:.7rem;pointer-events:none;backdrop-filter:blur(4px)}.xs-layers{grid-area:layers;background:var(--xs-bg-panel);border:1px solid var(--xs-border);border-radius:var(--xs-radius-card);box-shadow:var(--xs-shadow);padding:.65rem .75rem .75rem}.xs-layers-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem}.xs-layers-head h3{margin:0;font-family:var(--font-body, inherit);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--xs-text-muted);display:flex;align-items:center;gap:.5rem}.xs-layers-head h3 .xs-i{color:var(--xs-primary);width:16px;height:16px}.xs-layers-total{font-family:var(--xs-mono);font-size:.75rem;color:var(--xs-text-muted)}.xs-layers-head .xs-spacer{flex:1}.xs-layer-rows{display:flex;flex-direction:column;gap:.2rem}.xs-layer-insert{position:relative;height:12px;margin:-6px 0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease;z-index:1}.xs-layer-insert:hover,.xs-layer-insert:focus-within{opacity:1}.xs-layer-insert:before{content:"";position:absolute;left:4px;right:4px;top:50%;height:2px;margin-top:-1px;background:var(--xs-primary);border-radius:1px}.xs-app .xs-insert-btn{position:relative;display:inline-flex;align-items:center;gap:.3rem;padding:.08rem .6rem;border:1px solid var(--xs-primary);border-radius:999px;background:var(--xs-bg);color:var(--xs-primary);font-family:var(--font-body, inherit);font-size:.66rem;font-weight:600;letter-spacing:.03em;line-height:1.5;cursor:pointer;box-shadow:0 1px 4px #00000026}.xs-app .xs-insert-btn .xs-i{width:11px;height:11px}.xs-app .xs-insert-btn:hover{background:var(--xs-primary);color:#fff}[data-theme=dark] .xs-app .xs-insert-btn:hover{color:#0f1a2e}.xs-layer-row{display:grid;grid-template-columns:26px 44px minmax(120px,1.2fr) minmax(150px,1fr) 110px auto;align-items:center;gap:.6rem;padding:.35rem .55rem;border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-control);background:var(--xs-bg);transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.xs-layer-row:hover{border-color:var(--xs-text-muted)}.xs-layer-row.is-selected{border-color:var(--xs-primary);box-shadow:0 0 0 3px var(--xs-primary-glow)}.xs-layer-row.is-hidden{opacity:.55}.xs-layer-row.is-subgrade{border-style:dashed}.xs-layer-move{display:flex;flex-direction:column;gap:1px}.xs-app .xs-layer-move button{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--xs-text-muted);line-height:1;cursor:pointer;padding:2px 4px;border-radius:3px;box-shadow:none}.xs-app .xs-layer-move button .xs-i{width:12px;height:12px}.xs-app .xs-layer-move button:hover:not(:disabled){color:var(--xs-primary);background:var(--xs-bg-inset)}.xs-app .xs-layer-move button:disabled{opacity:.25;cursor:default}.xs-layer-swatch{width:44px;height:30px;border-radius:5px;border:1px solid var(--xs-border-strong);background-size:cover;background-position:center;flex-shrink:0}.xs-layer-name input{width:100%;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--xs-text);font-size:.85rem;font-weight:600;padding:.2rem .35rem;font-family:var(--font-body, inherit);height:auto}.xs-layer-name input:hover{border-color:var(--xs-border-strong)}.xs-layer-name input:focus{border-color:var(--xs-primary);background:var(--xs-bg);outline:none}.xs-layer-name .xs-layer-spec{display:block;font-family:var(--xs-mono);font-size:.64rem;color:var(--xs-text-muted);padding-left:.35rem;letter-spacing:.03em}.xs-layer-thick{display:flex;align-items:center;gap:.35rem;font-family:var(--xs-mono);font-size:.72rem;color:var(--xs-text-muted);white-space:nowrap}.xs-layer-thick .xs-inf{display:inline-flex;color:var(--xs-text-secondary)}.xs-layer-thick .xs-i{width:14px;height:14px}.xs-layer-actions{display:flex;gap:.15rem;justify-content:flex-end}.xs-app .xs-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:none;border-radius:6px;background:none;color:var(--xs-text-muted);padding:0;cursor:pointer;transition:color .15s ease,background .15s ease;box-shadow:none}.xs-app .xs-icon-btn .xs-i{width:15px;height:15px}.xs-app .xs-icon-btn:hover:not(:disabled){color:var(--xs-primary);background:var(--xs-bg-inset)}.xs-app .xs-icon-btn.xs-icon-btn--danger:hover:not(:disabled){color:var(--xs-danger);background:#e5484d1a}.xs-app .xs-icon-btn:disabled{opacity:.3;cursor:default}.xs-app .xs-icon-btn.is-active{color:var(--xs-primary)}.xs-mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.35rem}.xs-app .xs-mat-tile{border:1px solid var(--xs-border-strong);border-radius:var(--xs-radius-inner);background:var(--xs-bg);padding:.3rem;cursor:pointer;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:none;font-weight:400;font-size:inherit}.xs-app .xs-mat-tile:hover{border-color:var(--xs-primary)}.xs-app .xs-mat-tile.is-active{border-color:var(--xs-primary);box-shadow:0 0 0 3px var(--xs-primary-glow)}.xs-app .xs-mat-tile .xs-mat-thumb{display:block;width:100%;aspect-ratio:4 / 3;border-radius:5px;background-color:var(--xs-bg-inset);background-size:cover;background-position:center;border:1px solid var(--xs-border);margin-bottom:.25rem}.xs-mat-group-label{grid-column:1 / -1;margin:.45rem 0 -.1rem;font-family:var(--font-body, inherit);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--xs-text-muted)}.xs-mat-group-label:first-child{margin-top:.1rem}.xs-app .xs-mat-tile .xs-mat-label{display:block;font-size:.62rem;line-height:1.25;color:var(--xs-text-secondary);font-weight:500}.xs-selected-layer-tag{display:inline-block;max-width:calc(100% - 1.8rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.25rem .7rem;margin:.55rem .9rem 0;border-radius:999px;background:var(--xs-bg-inset);border:1px solid var(--xs-border-strong);color:var(--xs-primary);font-size:.72rem;font-weight:600;letter-spacing:.03em}.xs-toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:.4rem;pointer-events:none}.xs-toast{padding:.55rem 1.1rem;border-radius:var(--xs-radius-control);background:var(--xs-bg-panel);border:1px solid var(--xs-primary);color:var(--xs-text);font-size:.82rem;box-shadow:0 8px 24px #00000040;animation:xsToastIn .25s ease}@keyframes xsToastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.xs-app input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;flex:0 0 auto;width:17px;height:17px;margin:0;background:var(--xs-bg);border:1px solid var(--xs-border-strong);border-radius:4px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.xs-app input[type=checkbox]:hover{border-color:var(--xs-primary)}.xs-app input[type=checkbox]:checked{background:var(--xs-primary);border-color:var(--xs-primary)}.xs-app input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:46%;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(43deg)}[data-theme=dark] .xs-app input[type=checkbox]:checked:after{border-color:#0f1a2e}.xs-app input[type=checkbox]:focus-visible{outline:2px solid var(--xs-primary);outline-offset:2px}@media(max-width:1180px)and (min-width:720px){.xs-studio{grid-template-columns:clamp(220px,27vw,268px) minmax(0,1fr);grid-template-rows:auto minmax(380px,56vh) auto auto;grid-template-rows:auto minmax(380px,56dvh) auto auto;grid-template-areas:"toolbar toolbar" "left    viewport" "right   right" "layers  layers"}.xs-right{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:0 1rem;max-height:420px}.xs-mat-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}}@media(max-width:719px){.xs-studio{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(300px,52vh) auto auto auto;grid-template-rows:auto minmax(300px,52dvh) auto auto auto;grid-template-areas:"toolbar" "viewport" "left" "right" "layers";gap:.5rem}.xs-panel{max-height:none;overflow-y:visible}.xs-mat-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}}@media(max-width:1180px){.xs-toolbar{position:sticky;top:3.25rem;z-index:20;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.xs-toolbar::-webkit-scrollbar{display:none}.xs-toolbar>*{flex:0 0 auto}.xs-toolbar .xs-spacer{display:none}}@media(max-width:1180px)and (max-height:500px)and (orientation:landscape){.xs-studio{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(200px,72vh) auto auto auto;grid-template-rows:auto minmax(200px,72dvh) auto auto auto;grid-template-areas:"toolbar" "viewport" "left" "right" "layers";gap:.5rem}.xs-panel{max-height:none;overflow-y:visible}}@media(max-width:719px){.xs-layer-row{grid-template-columns:26px 40px minmax(0,1fr) 96px auto;grid-template-areas:"move swatch name  name  actions" "move swatch mat   thick actions";row-gap:.3rem;column-gap:.45rem;align-items:center}.xs-layer-move{grid-area:move}.xs-layer-swatch{grid-area:swatch}.xs-layer-name{grid-area:name}.xs-layer-mat-cell{grid-area:mat;display:block;min-width:0}.xs-layer-thick{grid-area:thick}.xs-layer-actions{grid-area:actions}.xs-layer-actions{display:grid;grid-template-columns:repeat(2,auto);gap:.15rem}.xs-layers-head{flex-wrap:wrap;row-gap:.4rem}}@media(pointer:coarse){.xs-app .xs-btn{min-height:44px}.xs-app .xs-icon-btn{min-width:40px;min-height:40px}.xs-app .xs-vp-btn,.xs-select,.xs-num,.xs-text{min-height:40px}.xs-app .xs-layer-move button{min-width:34px;min-height:24px}.xs-panel summary{min-height:48px}.xs-layer-name input{min-height:36px}.xs-check,.xs-app label:has(>input[type=checkbox]){min-height:40px}.xs-app input[type=checkbox]{width:20px;height:20px}.xs-app .xs-mat-tile{min-height:72px}.xs-app input[type=range].xs-range{height:40px;background:transparent}.xs-app input[type=range].xs-range::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:var(--xs-border-strong)}.xs-app input[type=range].xs-range::-moz-range-track{height:5px;border-radius:3px;background:var(--xs-border-strong)}.xs-app input[type=range].xs-range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8.5px}.xs-app input[type=range].xs-range::-moz-range-thumb{width:20px;height:20px}.xs-layer-row.is-selected{border-color:var(--xs-primary)}.xs-app input[type=color].xs-color{height:40px}}@media(hover:none){.xs-layer-insert{opacity:.45;height:28px;margin:-8px 0}.xs-layer-insert:focus-within{opacity:1}.xs-app .xs-insert-btn{min-height:26px;min-width:26px}.xs-vp-tools{opacity:1}}@media(prefers-reduced-motion:reduce){.xs-app .xs-btn,.xs-layer-row,.xs-app .xs-mat-tile,.xs-vp-tools,.xs-panel summary:after{transition:none}.xs-toast{animation:none}}
