@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commit Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2) format("woff2"),url(/assets/commit-mono-latin-400-normal-s0S3qwFW.woff) format("woff")}:root{color-scheme:dark;--black: #000000;--white: #fdfdfd;--gray-bg: #16171aeb;--gray-fg: #fdfeffa6;--red-bg: #ff173f2d;--red-fg: #ff9592;--amber-bg: #fa820022;--amber-fg: #ffca16;--green-bg: #22ff991e;--green-fg: #46fea5d4;--blue-bg: #0077ff3a;--blue-fg: #70b8ff;--surface: #0a0a0b;--field: #101114;--field-focus: #131419;--hover: #16171a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #fdfdfd;--text-muted: rgba(253, 254, 255, .65);--text-dim: rgba(253, 254, 255, .42);--focus: #70b8ff;--gradient-font: linear-gradient(97deg, #ffffff 30%, rgba(255, 255, 255, .5) 100%);--gradient-smooth: linear-gradient(96deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .1) 100%);--gradient-border: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--font-mono: "Commit Mono", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;min-width:1040px;min-height:100vh;overflow:hidden;background:var(--black);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:20px;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{appearance:none;-webkit-appearance:none;border:0;font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed!important;opacity:.42}::placeholder{color:var(--text-dim);opacity:1}.app-shell{height:100vh;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}input,textarea,.prompt-box pre{-webkit-user-select:text;user-select:text}.topbar{position:relative;z-index:20;height:60px;flex:0 0 60px;padding:0 16px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);background:#000000b8;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.brand{width:242px;display:flex;align-items:center;gap:10px}.brand>div:last-child{display:flex;flex-direction:column;gap:2px}.brand b{font-size:15px;font-weight:620;letter-spacing:-.01em}.brand span{color:var(--text-dim);font-size:12px;letter-spacing:.01em}.logo{width:32px;height:32px;flex:0 0 32px;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--black)}.logo img{width:100%;height:100%;display:block;object-fit:cover}.project-name{flex:1;max-width:360px;min-width:160px;margin:auto;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);background:transparent;text-align:center;font-size:14px;transition:background .15s ease,border-color .15s ease}.project-name:hover,.project-name:focus{border-color:var(--border);background:var(--hover)}.header-actions{margin-left:auto;display:flex;gap:8px}.header-actions button,button.wide,.canvas-hud button{min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--gradient-smooth);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.01em;transition:color .15s ease,background .15s ease,border-color .15s ease}.header-actions button:hover:not(:disabled),button.wide:hover:not(:disabled),.canvas-hud button:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff1f;color:var(--white)}.header-actions .primary{border-color:transparent;color:var(--black);background:var(--white);box-shadow:0 1px #ffffff40 inset}.header-actions .primary:hover:not(:disabled){border-color:transparent;color:var(--black);background:#fff}.header-actions .primary:disabled{border-color:var(--border);color:var(--text-dim);background:var(--gray-bg);box-shadow:none;opacity:1}.header-actions .primary.pending:disabled{border-color:#ffca1647;color:var(--amber-fg);background:var(--amber-bg)}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 308px}.panel{position:relative;z-index:10;background:var(--surface)}.leftbar{min-height:0;padding:14px;display:flex;flex-direction:column;border-right:1px solid var(--border)}.rightbar{padding:14px;overflow:auto;border-left:1px solid var(--border)}.section-title{margin-bottom:10px;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.01em}.section-title.row{margin-top:18px;display:flex;align-items:center;justify-content:space-between}.section-title.row>span{min-width:23px;padding:2px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:transparent;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:0;font-variant-numeric:tabular-nums}.selection-toolbar{margin:-2px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.selection-toolbar button{min-height:34px;padding:6px 8px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;cursor:pointer;font-size:12px;font-weight:600;transition:color .15s ease,background .15s ease,border-color .15s ease}.selection-toolbar button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);background:var(--hover)}.selection-toolbar button.danger:not(:disabled){color:var(--red-fg)}.selection-toolbar button.danger:hover:not(:disabled){border-color:#ff173f4d;background:var(--red-bg)}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tool{height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);background:transparent;cursor:pointer;font-size:13px;font-weight:600;transition:color .15s ease,background .15s ease,border-color .15s ease}.tool svg{width:19px}.tool:hover{border-color:var(--border-strong);color:var(--text);background:var(--hover)}.tool.active{border-color:var(--white);color:var(--black);background:var(--white)}.element-list{min-height:0;display:flex;flex-direction:column;gap:4px;overflow:auto}.element{width:100%;min-height:46px;padding:7px;display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.element:hover,.element.active{border-color:var(--border);background:var(--hover)}.element.active{border-color:var(--border-strong);color:var(--text)}.element .badge{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;color:var(--black);background:var(--white);font-size:13px;font-weight:700}.element.active .badge{outline:2px solid rgba(255,255,255,.25);outline-offset:1px}.element b,.element small{display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element b{color:var(--text);font-size:13px;font-weight:600}.element small{margin-top:3px;color:var(--text-dim);font-size:12px}.empty,.inspector-empty{padding:14px;border:1px dashed rgba(255,255,255,.14);border-radius:var(--radius-md);color:var(--text-dim);font-size:13px;line-height:1.55}.bottom{width:100%;margin-top:auto;min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--red-fg);background:transparent;cursor:pointer;font-size:13px;font-weight:600;transition:color .15s ease,background .15s ease,border-color .15s ease}.bottom:hover:not(:disabled){border-color:#ff173f40;background:var(--red-bg)}.danger{color:var(--red-fg)!important}.canvas-area{position:relative;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;isolation:isolate;background-color:var(--black);background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;-webkit-user-select:none;user-select:none}.canvas-area:after{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.35) 100%)}.canvas-area[data-tool=pin] .canvas-wrap canvas,.canvas-area[data-tool=box] .canvas-wrap canvas{cursor:crosshair!important}.canvas-area[data-tool=select] .canvas-wrap canvas{cursor:default}.canvas-area.is-panning,.canvas-area.is-panning *{cursor:grabbing!important}.canvas-wrap{width:1100px;height:680px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-image:var(--gradient-border) 1;background:var(--surface);box-shadow:0 32px 90px #000000b3;will-change:transform}.canvas-hud{position:absolute;right:16px;bottom:16px;z-index:4;min-height:36px;padding:4px 5px 4px 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);background:var(--gray-bg);box-shadow:0 8px 32px #00000073;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);font-size:12px;pointer-events:auto}.canvas-hud>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.canvas-hud button{min-height:30px;padding:5px 9px;font-size:12px}.zoom-controls{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0006}.zoom-controls button{width:30px;min-height:28px;padding:0;border:0;border-radius:7px;background:transparent}.zoom-controls output{width:44px;color:var(--text-muted);text-align:center;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}.dropzone{width:min(520px,calc(100% - 64px));height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-lg);color:var(--text);background-color:var(--surface);background-image:var(--noise),var(--gradient-smooth);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.dropzone:hover{border-color:#fff6;background-color:var(--hover)}.dropzone svg{color:var(--text-muted)}.dropzone b{background:var(--gradient-font);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:16px;font-weight:640;letter-spacing:-.01em}.dropzone span{color:var(--text-dim);font-size:13px}.drop-overlay{position:absolute;inset:16px;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(255,255,255,.7);border-radius:var(--radius-lg);color:var(--text);background:#0000009e;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);pointer-events:none;animation:drop-overlay-in .16s ease-out}.drop-overlay svg{color:var(--text)}.drop-overlay b{font-size:16px;font-weight:640}.drop-overlay span{color:var(--text-muted);font-size:13px;font-weight:500}.canvas-area.is-dragging-image .dropzone,.canvas-area.is-dragging-image .canvas-wrap{border-color:#ffffff73;box-shadow:0 32px 90px #000000b3,0 0 0 1px #70b8ff40}.rightbar textarea{width:100%;height:96px;padding:11px 12px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:var(--field);font-size:14px;line-height:1.55;transition:border-color .15s ease,background .15s ease}.rightbar textarea:hover,.rightbar textarea:focus,.editor input:hover,.editor input:focus{border-color:var(--border-strong);background:var(--field-focus)}.rightbar textarea:focus,.editor input:focus{border-color:#70b8ff8c}.editor{margin-top:18px}.editor>label,.field-label{display:block;margin:12px 0;color:var(--text-muted);font-size:13px;font-weight:550}.editor input{width:100%;min-height:40px;margin-top:7px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--field);font-size:14px;transition:border-color .15s ease,background .15s ease}.custom-select{position:relative;margin-top:7px}.select-trigger{width:100%;min-height:52px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--field);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.select-trigger:hover,.custom-select.open .select-trigger{border-color:var(--border-strong);background:var(--field-focus)}.custom-select.open .select-trigger{border-color:#70b8ff8c}.select-trigger svg{color:var(--text-dim);transition:transform .18s ease}.custom-select.open .select-trigger svg{transform:rotate(180deg)}.select-trigger span,.select-menu button span{min-width:0;display:flex;flex-direction:column;gap:3px}.select-trigger b,.select-menu b{color:var(--text);font-size:14px;font-weight:600}.select-trigger small,.select-menu small{color:var(--text-dim);font-size:12px;font-weight:500}.select-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:50;padding:5px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--gray-bg);box-shadow:0 16px 44px #0000008c;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.select-menu button{width:100%;min-height:48px;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.select-menu button:hover,.select-menu button[aria-selected=true]{color:var(--text);background:#ffffff0f}.select-menu button>svg{flex:0 0 auto;color:var(--blue-fg)}.checks{margin-top:14px;display:flex;flex-direction:column;gap:7px}.switch-row{width:100%;min-height:48px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);background:transparent;text-align:left;cursor:pointer;font-size:13px;font-weight:550;transition:border-color .15s ease,background .15s ease,color .15s ease}.switch-row:hover{border-color:var(--border-strong);background:var(--hover);color:var(--text)}.switch-track{width:36px;height:20px;flex:0 0 36px;padding:2px;display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff14;transition:background .18s ease,border-color .18s ease}.switch-track>span{width:14px;height:14px;border-radius:50%;background:var(--text-muted);box-shadow:0 1px 4px #00000073;transition:transform .18s ease,background .18s ease}.switch-row[aria-checked=true] .switch-track{border-color:var(--white);background:var(--white)}.switch-row[aria-checked=true] .switch-track>span{background:var(--black);transform:translate(16px)}.coords{margin-top:14px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.coords span{padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--field);font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.icon-btn{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--hover)}.icon-btn.danger:hover:not(:disabled){border-color:#ff173f4d;color:var(--red-fg);background:var(--red-bg)}.icon-btn[data-tooltip]:after{position:absolute;right:0;bottom:calc(100% + 7px);z-index:80;padding:5px 7px;border:1px solid var(--border-strong);border-radius:6px;content:attr(data-tooltip);color:var(--text);background:var(--gray-bg);box-shadow:0 8px 24px #00000073;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);font-size:11px;font-weight:600;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.icon-btn[data-tooltip]:hover:after,.icon-btn[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.inspector-empty{margin-top:18px;padding:30px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.inspector-empty svg{color:var(--text-dim)}.inspector-empty b{color:var(--text-muted);font-weight:600}.multi-selection{margin-top:18px;padding:18px;display:grid;grid-template-columns:38px 1fr;gap:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field)}.multi-selection-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(112,184,255,.3);border-radius:var(--radius-md);color:var(--blue-fg);background:var(--blue-bg)}.multi-selection b,.multi-selection span{display:block}.multi-selection b{color:var(--text);font-size:14px;font-weight:600}.multi-selection>div>span{margin-top:5px;color:var(--text-dim);font-size:12px;line-height:1.45}.selected-labels{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px}.selected-labels span{min-width:24px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:var(--hover);text-align:center;font-family:var(--font-mono);font-size:11px;font-weight:400}.delete-selection{grid-column:1 / -1;min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,23,63,.25);border-radius:var(--radius-sm);color:var(--red-fg);background:var(--red-bg);cursor:pointer;font-size:13px;font-weight:600;transition:border-color .15s ease,background .15s ease}.delete-selection:hover{border-color:#ff173f73;background:#ff173f38}.context-menu{position:fixed;z-index:1000;width:232px;padding:6px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text);background:var(--gray-bg);box-shadow:0 24px 64px #0009;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);transform-origin:top left;animation:context-menu-in .16s cubic-bezier(.2,.8,.2,1)}.context-menu-header{padding:8px 9px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.context-menu-header>span{display:flex;align-items:center;gap:7px;color:var(--text);font-size:13px;font-weight:600}.context-menu-header small{color:var(--text-dim);font-size:11px;font-weight:550}.context-menu>button{width:100%;min-height:44px;padding:7px 9px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:8px;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.context-menu>button:hover:not(:disabled),.context-menu>button:focus-visible{color:var(--text);background:#ffffff0f}.context-menu>button:disabled{opacity:.34}.context-menu>button>svg{justify-self:center;color:var(--text-muted)}.context-menu>button.danger:not(:disabled)>svg{color:var(--red-fg)}.context-menu>button>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:550}.context-menu>button small{color:var(--text-dim);font-size:11px;font-weight:500}.context-divider{height:1px;margin:5px 7px;background:var(--border)}.toast{position:fixed;z-index:80;left:50%;bottom:22px;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 14px;border:1px solid rgba(70,254,165,.22);border-radius:999px;color:var(--green-fg);background:var(--green-bg);box-shadow:0 18px 45px #00000073;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);font-size:13px;font-weight:600;animation:toast-in .18s ease-out}.toast svg{color:var(--green-fg)}.toast.error{border-color:#ff959240;color:var(--red-fg);background:var(--red-bg)}.toast.error svg{color:var(--red-fg)}.prompt-box{margin-top:18px;border-top:1px solid var(--border)}.prompt-box pre{max-height:230px;padding:10px;overflow:auto;white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius-md);color:#fdfeffc7;background:#070809;font-family:var(--font-mono);font-size:12px;line-height:1.65;margin:0 0 10px}.wide{width:100%}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#ffffff29;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#ffffff47;background-clip:padding-box}@keyframes context-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drop-overlay-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(max-width:1240px){.workspace{grid-template-columns:220px minmax(0,1fr) 290px}.brand{width:210px}.leftbar,.rightbar{padding:12px}.header-actions button{padding-inline:10px}}@media(max-width:860px){html,body,#root{min-height:100%;height:auto}body{min-width:0;overflow:auto;background:var(--black)}.app-shell{min-height:100dvh;height:auto}.topbar{height:auto;min-height:0;flex:0 0 auto;padding:12px;display:grid;grid-template-columns:1fr;gap:10px;position:sticky;top:0;background:#000000e6}.brand{width:100%}.brand span{display:none}.project-name{width:100%;max-width:none;min-width:0;min-height:44px;margin:0;padding:10px 12px;border-color:var(--border);background:var(--field);text-align:left;font-size:16px}.header-actions{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.header-actions button{min-height:44px;padding:9px 10px;white-space:nowrap}.workspace{min-height:0;display:flex;flex-direction:column}.canvas-area{order:1;min-height:390px;height:min(62dvh,520px);padding:12px;border-bottom:1px solid var(--border);touch-action:none}.canvas-wrap{max-width:100%;max-height:100%}.dropzone{width:100%;height:260px;max-width:420px}.canvas-hud{right:10px;bottom:10px;left:10px;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:6px;font-size:11px}.canvas-hud>span{display:none}.zoom-controls{flex:1;justify-content:center}.canvas-hud button{min-height:36px}.leftbar{order:2;min-height:0;border-right:0;border-bottom:1px solid var(--border)}.rightbar{order:3;border-left:0;overflow:visible}.panel{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tool{min-height:64px;height:auto;padding:8px 4px}.selection-toolbar button,.switch-row,.select-menu button,.delete-selection,button.wide,.bottom{min-height:44px}.element-list{max-height:220px}.element b,.element small{max-width:calc(100vw - 118px)}.rightbar textarea{min-height:112px;height:112px;font-size:16px}.editor input{min-height:46px;font-size:16px}.prompt-box pre{max-height:260px;font-size:12px}.context-menu{width:min(276px,calc(100vw - 16px))}}@media(max-width:430px){.topbar{padding:10px}.header-actions{grid-template-columns:1fr}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-area{min-height:340px;height:54dvh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
