*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--sans, "Outfit", ui-sans-serif, system-ui, sans-serif);font-size:var(--fs-base, 12px);background:var(--bg, #0d0221);color:var(--text, #f0e6ff);line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb, 255,0,124),.25);border-radius:9px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.45)}::selection{background:rgba(var(--accent-rgb, 255,0,124),.35)}.mini{font-size:var(--fs-2xs, 9px);color:var(--muted);line-height:1.4}.hint{font-size:var(--fs-xs, 10px);color:var(--muted);line-height:1.5}#app{display:flex;flex-direction:column}header{flex-shrink:0;height:46px;display:flex;align-items:center;padding:0 10px;background:var(--panel2, #110629);border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.18);box-shadow:0 1px rgba(var(--accent-rgb),.06),0 4px 24px #00000080;position:relative;z-index:200;pointer-events:auto}.toolbar *{pointer-events:auto}.toolbar{display:flex;align-items:center;gap:4px;width:100%;min-width:0;overflow:hidden}.spacer{flex:1}.toolbarField{display:flex;align-items:center;gap:5px}.toolbarField label{font-size:var(--fs-xs, 10px);color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none;margin:0}.toolbarField input[type=number]{width:68px}button{font-family:var(--sans);font-size:var(--fs-sm, 11px);font-weight:500;padding:5px 11px;border-radius:var(--radius-sm, 8px);border:1px solid rgba(var(--accent-rgb, 255,0,124),.18);background:rgba(var(--accent-rgb, 255,0,124),.07);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s;line-height:1;-webkit-user-select:none;user-select:none}button:hover{background:rgba(var(--accent-rgb, 255,0,124),.18);border-color:rgba(var(--accent-rgb, 255,0,124),.45);box-shadow:0 0 12px rgba(var(--accent-rgb),.15)}button:active{background:rgba(var(--accent-rgb, 255,0,124),.28);box-shadow:0 0 8px rgba(var(--accent-rgb),.25)}button:focus-visible{outline:2px solid rgba(var(--accent-rgb),.6);outline-offset:2px}input,select,textarea{font-family:var(--sans);font-size:var(--fs-sm, 11px);padding:4px 9px;border-radius:var(--radius-sm, 8px);border:1px solid rgba(255,255,255,.08);background:#0000004d;color:var(--text);outline:none;line-height:1.5;transition:border-color .12s}input:hover,select:hover{border-color:rgba(var(--accent-rgb, 255,0,124),.28)}input:focus,select:focus,textarea:focus{border-color:rgba(var(--accent-rgb, 255,0,124),.55);box-shadow:0 0 0 2px rgba(var(--accent-rgb, 255,0,124),.1)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}textarea{resize:vertical;font-family:var(--mono);font-size:var(--fs-xs, 10px);line-height:1.6}label{font-size:var(--fs-xs, 10px);color:var(--muted);font-weight:500;display:block;margin-bottom:3px;text-transform:none;letter-spacing:0}.layout{display:grid;grid-template-columns:1fr 272px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"graph inspector" "palette inspector";flex:1;min-height:0;overflow:hidden}.panel{display:flex;flex-direction:column;background:var(--panel, #1a0935);border-right:1px solid rgba(var(--accent-rgb, 255,0,124),.1);overflow:hidden}.panel:last-child{border-right:none;border-left:1px solid rgba(var(--accent-rgb, 255,0,124),.1)}.panel h2{font-size:var(--fs-sm, 11px);font-weight:600;color:var(--muted);padding:8px 12px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.08);background:linear-gradient(to bottom,rgba(var(--accent-rgb, 255,0,124),.04) 0%,transparent 100%);flex-shrink:0;letter-spacing:0;text-transform:none}.panel .content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:7px}.graphWrap{grid-area:graph;background:var(--bg);border-right:1px solid rgba(var(--accent-rgb, 255,0,124),.1)!important;border-left:none!important;position:relative;overflow:hidden}.graphWrap h2{position:absolute;top:0;left:0;right:0;z-index:5;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%);border-bottom:none;padding:9px 14px}#graphViewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:default;isolation:isolate;z-index:1;background:transparent}#graphViewport.panning{cursor:grabbing}#graphBg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.bgStar{fill:var(--text);opacity:0;animation:bgStarTwinkle 3s ease-in-out infinite}@keyframes bgStarTwinkle{0%,to{opacity:0}50%{opacity:.85}}.bgSunBody{animation:bgSunPulse 5s ease-in-out infinite alternate}.bgSunOutline{stroke:var(--accent2);stroke-width:1.5;opacity:.6;animation:bgSunPulse 5s ease-in-out infinite alternate}@keyframes bgSunPulse{0%{opacity:.82}to{opacity:1}}.bgSunStripe{stroke:var(--bg);stroke-width:5;opacity:.55}.bgHorizon{stroke:var(--accent);stroke-width:1.5;opacity:.5;filter:drop-shadow(0 0 4px var(--accent))}.bgHLine{stroke:var(--accent);stroke-width:.7;opacity:.28}.bgVLine{stroke:var(--accent);stroke-width:.7;opacity:.2}.bgScan{position:absolute;left:0;right:0;height:1px;top:0;background:linear-gradient(to right,transparent 0%,rgba(var(--accent-rgb,255,0,124),.14) 25%,rgba(var(--accent-rgb,255,0,124),.14) 75%,transparent 100%);pointer-events:none;z-index:0;animation:bgScanSweep 6s linear infinite}@keyframes bgScanSweep{0%{top:0%}to{top:100%}}.twHex{fill:none;stroke:var(--accent);stroke-width:.8;opacity:.12}.twBubble{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:0;animation:twBubbleRise 8s ease-in infinite}@keyframes twBubbleRise{0%{transform:translateY(0);opacity:0}10%{opacity:.55}88%{opacity:.3}to{transform:translateY(-660px);opacity:0}}.gtStar{animation-duration:7s}.gtArch{fill:var(--panel);opacity:.75}.gtArchVoid{fill:var(--bg);opacity:.55}.gtBat{animation:gtBatFly 12s linear infinite}.gtBatWing{fill:var(--text);opacity:.65}@keyframes gtBatFly{0%{transform:translate(1150px)}20%{transform:translate(830px,-18px)}50%{transform:translate(500px,10px)}80%{transform:translate(170px,-14px)}to{transform:translate(-150px,6px)}}.gtFog{fill:var(--accent2);opacity:0;animation:gtFogPulse 9s ease-in-out infinite alternate}@keyframes gtFogPulse{0%{opacity:0}to{opacity:.09}}.adSunburst{animation:adRotate 90s linear infinite;transform-origin:500px 300px}.adRay{stroke:var(--accent);stroke-width:1.2;opacity:.14}.adDiamond{fill:none;stroke:var(--accent);stroke-width:1;opacity:.2}.adRing{fill:none;stroke:var(--accent);stroke-width:2.5;opacity:.35}.adRingInner{fill:var(--accent);opacity:.12}.adAxis{stroke:var(--accent);stroke-width:.6;opacity:.1}@keyframes adRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spPipe{stroke:var(--accent2);stroke-width:12;stroke-linecap:round;opacity:.28}.spGear{animation:spGearSpin 20s linear infinite}.spGearBody{fill:var(--accent2);opacity:.22;stroke:var(--accent);stroke-width:1.5}.spGearHub{fill:var(--panel2);stroke:var(--accent);stroke-width:1.5;opacity:.4}.spGearBolt{fill:var(--accent);opacity:.45}@keyframes spGearSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spSteamPuff{fill:var(--text);opacity:0;animation:spSteamRise 6s ease-out infinite}@keyframes spSteamRise{0%{transform:translate(0) scale(1);opacity:0}12%{opacity:.22}to{transform:translate(12px,-160px) scale(2.8);opacity:0}}.nbCloud{animation:nbDrift 22s ease-in-out infinite alternate}.nbCloud0{fill:var(--accent);opacity:.11}.nbCloud1{fill:var(--accent2);opacity:.09}.nbStar{animation-duration:5s}@keyframes nbDrift{0%{transform:translate(0)}to{transform:translate(28px,14px)}}.obHex{fill:none;stroke:var(--accent);stroke-width:.7;opacity:.1}.obDrop{stroke:var(--accent);stroke-width:1.5;opacity:0;animation:obDropFall 4s linear infinite}@keyframes obDropFall{0%{transform:translateY(-20px);opacity:0}8%{opacity:.8}92%{opacity:.45}to{transform:translateY(630px);opacity:0}}#graphSvg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:visible}#graphSvg path{fill:none;stroke:rgba(var(--accent-rgb, 255, 0, 124),.6);stroke-width:2px}#graphSvg path[stroke-dasharray]{stroke:#b985ffcc}#graphNodes{position:absolute;top:0;left:0;transform-origin:0 0;z-index:3}.node{position:absolute;min-width:152px;background:var(--panel);border:1px solid rgba(var(--accent-rgb, 255,0,124),.2);border-radius:var(--radius-md, 12px);box-shadow:0 8px 32px #0009,0 0 rgba(var(--accent-rgb),0);-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s}.node:hover{border-color:rgba(var(--accent-rgb, 255,0,124),.42);box-shadow:0 8px 32px #0009,0 0 16px rgba(var(--accent-rgb),.1)}.node.selected{border-color:rgba(var(--accent-rgb, 255,0,124),.8);box-shadow:0 8px 32px #0009,0 0 0 1px rgba(var(--accent-rgb),.35),0 0 28px rgba(var(--accent-rgb),.22)}.nodeHeader{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 7px 12px;cursor:move;gap:8px;background:linear-gradient(135deg,rgba(var(--accent-rgb, 255,0,124),.12),rgba(var(--accent-rgb, 255,0,124),.04));border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.12);border-radius:calc(var(--radius-md, 12px) - 1px) calc(var(--radius-md, 12px) - 1px) 0 0}.nodeTitle{font-size:var(--fs-sm, 11px);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.nodeTag{font-size:var(--fs-2xs, 9px);color:rgba(var(--accent-rgb, 255,0,124),.7);font-family:var(--mono);letter-spacing:.04em;margin-top:1px}.port{width:11px;height:11px;border-radius:50%;border:2px solid currentColor;background:var(--bg);cursor:crosshair;transition:transform .1s,box-shadow .1s;flex-shrink:0}.port.in{color:var(--accent2, #00d4ff)}.port.out{color:var(--accent, #ff007c)}.port:hover{transform:scale(1.5);box-shadow:0 0 8px currentColor}.port.out.active,.port.active{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.3),0 0 10px rgba(var(--accent-rgb),.5);transform:scale(1.3)}.ioRow{display:flex;align-items:center}.nodeDock{grid-area:palette;position:relative;border-right:none;border-top:1px solid rgba(var(--accent-rgb, 255,0,124),.18);min-height:0}.nodeDockResize{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:ns-resize;z-index:6}.nodeDockResize:hover{background:rgba(var(--accent-rgb),.25)}body.isResizingRows,body.isResizingRows *{cursor:ns-resize!important;-webkit-user-select:none!important;user-select:none!important}.nodeDockHeader{display:flex;align-items:center;gap:8px;padding:4px 8px;flex-shrink:0;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.08);background:linear-gradient(to bottom,rgba(var(--accent-rgb, 255,0,124),.04) 0%,transparent 100%)}.nodeDock .nodeDockHeader h2{padding:0;border:none;background:none;white-space:nowrap}.nodeDockToggle{padding:3px 6px;line-height:0;display:flex;align-items:center}.nodeDockHeader .nodePaletteSearch{width:240px;flex:0 1 240px}.nodeDockHint{margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nodeDockBody{flex:1;min-height:0;display:flex}.nodeFolders{flex:0 0 150px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px;border-right:1px solid rgba(var(--accent-rgb, 255,0,124),.08)}.nodeFolder{display:flex;align-items:center;gap:7px;width:100%;padding:4px 8px;text-align:left;font-size:var(--fs-xs, 10px);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 8px);flex-shrink:0}.nodeFolder svg{flex-shrink:0;opacity:.7}.nodeFolder:hover{color:var(--text);background:#ffffff0a}.nodeFolder.active{color:var(--accent);background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.25)}.nodeFolder.active svg{opacity:1}.nodeFolderCount{margin-left:auto;font-size:var(--fs-2xs, 9px);opacity:.6}.nodeGridScroll{flex:1;min-width:0;overflow-y:auto;padding:6px 10px 10px}.nodeGridGroup+.nodeGridGroup{margin-top:6px}.nodeGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.nodePaletteEmpty{font-size:var(--fs-xs, 10px);color:var(--muted);text-align:center;padding:24px 0;opacity:.5}.nodePaletteGroupHeader{display:flex;align-items:center;gap:8px;padding:2px 2px 4px;font-size:var(--fs-2xs, 9px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);opacity:.75}.nodePaletteGroupHeader span:last-child{color:var(--muted);font-weight:400;letter-spacing:0}.nodeTile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 4px 6px;border-radius:var(--radius-sm, 8px);border:1px solid transparent;background:#ffffff08;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s,transform .1s}.nodeTile:hover{background:rgba(var(--accent-rgb, 255,0,124),.12);border-color:rgba(var(--accent-rgb, 255,0,124),.3)}.nodeTile:active{cursor:grabbing;transform:scale(.97)}.nodeTileThumb{position:relative;width:56px;height:56px;border-radius:6px;overflow:hidden;background:#00000059;box-shadow:inset 0 0 0 1px #ffffff0f}.nodeTileThumb img{width:100%;height:100%;display:block;image-rendering:pixelated}.nodeTileThumb.isIcon{display:flex;align-items:center;justify-content:center;color:rgba(var(--accent-rgb),.75);background:rgba(var(--accent-rgb),.06);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.18)}.nodeTile:hover .nodeTileThumb.isIcon{color:var(--accent)}.nodeTilePorts{position:absolute;left:3px;top:3px;min-width:13px;padding:0 3px;font-size:8px;line-height:13px;text-align:center;color:var(--text);background:#000000a6;border-radius:7px}.nodeTileTitle{width:100%;font-size:var(--fs-2xs, 9px);line-height:1.25;text-align:center;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}.previewBlock{display:flex;flex-direction:column;gap:8px}.previewWrap{display:flex;justify-content:center;align-items:center;background:repeating-conic-gradient(rgba(255,255,255,.035) 0% 25%,transparent 0% 50%) 0 0 / 14px 14px;border-radius:var(--radius-md, 12px);border:1px solid rgba(var(--accent-rgb, 255,0,124),.12);overflow:hidden;aspect-ratio:1;max-height:196px;box-shadow:inset 0 0 30px #0000004d}#preview{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.previewInfo{display:flex;flex-direction:column;gap:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:5px}.field{display:flex;flex-direction:column;gap:3px}.field label{margin-bottom:0}.row{display:flex;gap:4px;align-items:center}.row select,.row input{flex:1;min-width:0}.hr{height:1px;background:rgba(var(--accent-rgb, 255,0,124),.08);flex-shrink:0;margin:2px 0}.inspectorBlock{flex:1;display:flex;flex-direction:column;min-height:0}.inspector{display:flex;flex-direction:column;flex:1;min-height:0;border-radius:var(--radius-md, 12px);border:1px solid rgba(var(--accent-rgb, 255,0,124),.1);overflow:hidden;background:#00000026}.inspectorHeader{font-size:var(--fs-sm, 11px);font-weight:600;color:var(--muted);padding:7px 12px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.08);background:#0003;flex-shrink:0;text-transform:none;letter-spacing:0}.inspectorTabs{display:flex;padding:5px;gap:3px;background:#0003;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.08);flex-shrink:0}.inspectorTab{flex:1;font-size:var(--fs-xs, 10px);font-weight:500;padding:4px 8px;border-radius:var(--radius-sm, 8px);border:1px solid transparent;background:transparent;color:var(--muted);text-align:center;transition:background .1s,color .1s}.inspectorTab:hover{background:rgba(var(--accent-rgb),.08);color:var(--text);border-color:transparent;box-shadow:none}.inspectorTab.active{background:rgba(var(--accent-rgb, 255,0,124),.16);border-color:rgba(var(--accent-rgb, 255,0,124),.32);color:var(--text);box-shadow:none}.inspectorPanel{display:none;flex:1;overflow-y:auto;min-height:0}.inspectorPanel.active{display:flex;flex-direction:column}.inspectorParams{padding:8px;font-size:var(--fs-xs, 10px);color:var(--muted);flex:1}.inspectorNodes{display:flex;flex-direction:column;gap:2px;padding:5px;flex:1}.inspectorNodeItem{display:flex;flex-direction:column;gap:1px;padding:5px 8px;border-radius:var(--radius-sm, 8px);border:1px solid transparent;cursor:pointer;font-size:var(--fs-sm, 11px);transition:background .1s}.inspectorNodeItem:hover{background:rgba(var(--accent-rgb),.08)}.inspectorNodeItem.active{background:rgba(var(--accent-rgb, 255,0,124),.14);border-color:rgba(var(--accent-rgb, 255,0,124),.3)}.inspectorNodeMeta{font-size:var(--fs-2xs, 9px);color:var(--muted);font-family:var(--mono)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--panel2);border:1px solid rgba(var(--accent-rgb, 255,0,124),.4);color:var(--text);font-size:var(--fs-sm, 11px);font-weight:500;padding:7px 18px;border-radius:999px;box-shadow:0 0 24px rgba(var(--accent-rgb),.22),0 8px 32px #00000080;z-index:9999;pointer-events:none;white-space:nowrap;animation:toastIn .16s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;background:var(--panel);border:1px solid rgba(var(--accent-rgb, 255,0,124),.2);border-radius:var(--radius-lg, 16px);color:var(--text);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.06),0 24px 80px #000000b3;padding:0;max-height:90vh;overflow:hidden;z-index:500}dialog:not([open]){display:none}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.infoDialog{width:400px;max-width:95vw}.infoDialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 18px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.1);flex-shrink:0;background:linear-gradient(135deg,rgba(var(--accent-rgb, 255,0,124),.08) 0%,transparent 60%)}.infoTitle{font-size:18px;font-weight:700;color:var(--accent);letter-spacing:-.01em}.infoSubtitle{font-size:var(--fs-xs, 10px);color:var(--muted);margin-top:3px}.infoClose{flex-shrink:0;padding:4px 12px;font-size:var(--fs-xs, 10px)}.infoBody{padding:18px 22px;display:flex;flex-direction:column;gap:13px;overflow-y:auto}.infoSection{display:flex;gap:16px;font-size:var(--fs-sm, 11px)}.infoLabel{font-size:var(--fs-xs, 10px);font-weight:700;color:var(--accent);min-width:88px;padding-top:1px;flex-shrink:0}.paletteDialog{width:660px;max-width:96vw;max-height:86vh}.paletteDialogHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.1);flex-shrink:0;background:linear-gradient(135deg,rgba(var(--accent-rgb, 255,0,124),.06) 0%,transparent 50%)}.paletteDialogTitle{font-size:var(--fs-md, 13px);font-weight:700;color:var(--text)}.paletteDialogHeaderActions{display:flex;gap:4px}.paletteDialogBody{display:flex;flex:1;min-height:0;overflow:hidden}.paletteColumn{display:flex;flex-direction:column;gap:8px;padding:12px;overflow-y:auto}.paletteColumn:first-child{width:190px;flex-shrink:0;border-right:1px solid rgba(var(--accent-rgb, 255,0,124),.08)}.paletteColumn:last-child{flex:1}.paletteList{display:flex;flex-direction:column;gap:3px}.paletteItem{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-radius:var(--radius-sm, 8px);border:1px solid transparent;background:#ffffff08;cursor:pointer;transition:background .1s}.paletteItem:hover{background:rgba(var(--accent-rgb),.09)}.paletteItem.active{background:rgba(var(--accent-rgb, 255,0,124),.14);border-color:rgba(var(--accent-rgb, 255,0,124),.32)}.paletteItemName{font-size:var(--fs-sm, 11px);font-weight:600}.paletteItemSwatches{display:flex;flex-wrap:wrap;gap:3px}.paletteItemSwatch{display:block;width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.08)}.paletteActions{display:flex;gap:4px;padding-top:6px;border-top:1px solid rgba(var(--accent-rgb, 255,0,124),.08)}.paletteIO{display:flex;flex-direction:column;gap:6px;margin-top:4px}.paletteIOActions{display:flex;gap:4px}#paletteIOText{width:100%;min-height:90px}.ui-color-list{display:flex;flex-direction:column;gap:4px}.ui-color-controls{display:flex;gap:4px}.ui-color-swatches{display:flex;flex-direction:column;gap:4px}.ui-color-swatch{display:flex;align-items:center;gap:5px}.ui-color-picker{width:34px;height:24px;padding:2px;border-radius:5px;cursor:pointer;flex-shrink:0}.ui-color-hex{flex:1;font-family:var(--mono);font-size:var(--fs-xs, 10px);min-width:0}.ui-color-index{font-size:var(--fs-2xs, 9px);color:var(--muted);min-width:14px;text-align:right;flex-shrink:0;font-family:var(--mono)}.ui-btn-small{font-size:var(--fs-2xs, 9px);padding:3px 8px}.ui-btn-accent{background:rgba(var(--accent-rgb, 255,0,124),.18);border-color:rgba(var(--accent-rgb, 255,0,124),.38);color:var(--text)}.ui-btn-accent:hover{background:rgba(var(--accent-rgb, 255,0,124),.3);box-shadow:0 0 10px rgba(var(--accent-rgb),.2)}.ui-btn-danger{background:#ff3c4b14;border-color:#ff3c4b40;color:var(--danger, #ff4d4d)}.ui-btn-danger:hover{background:#ff3c4b33;border-color:#ff3c4b73;box-shadow:0 0 8px #ff3c4b26;color:#fff}.exampleModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:400;display:flex;align-items:center;justify-content:center;padding:24px}.exampleModal{background:var(--panel);border:1px solid rgba(var(--accent-rgb, 255,0,124),.22);border-radius:var(--radius-lg, 16px);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.06),0 24px 80px #000000b3;width:680px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .18s cubic-bezier(.16,1,.3,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.exampleModalHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.1);flex-shrink:0;background:linear-gradient(135deg,rgba(var(--accent-rgb, 255,0,124),.08) 0%,transparent 50%)}.exampleModalHeader h2{font-size:var(--fs-md, 13px);font-weight:700;color:var(--text)}.exampleModalClose{padding:4px 10px}.exampleModalFilters{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.08);flex-shrink:0;background:#00000026}.exampleFilterBtn{font-size:var(--fs-xs, 10px);font-weight:500;padding:3px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--muted)}.exampleFilterBtn:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.3);color:var(--text);box-shadow:none}.exampleFilterBtn.active{background:rgba(var(--accent-rgb, 255,0,124),.2);border-color:rgba(var(--accent-rgb, 255,0,124),.45);color:var(--text);box-shadow:0 0 10px rgba(var(--accent-rgb),.15)}.exampleModalGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:8px;padding:12px;overflow-y:auto;flex:1}.exampleCard{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border-radius:var(--radius-md, 12px);border:1px solid rgba(var(--accent-rgb, 255,0,124),.1);background:#0003;cursor:pointer;text-align:left;width:100%;transition:background .12s,border-color .12s,transform .1s,box-shadow .12s}.exampleCard:hover{background:rgba(var(--accent-rgb, 255,0,124),.1);border-color:rgba(var(--accent-rgb, 255,0,124),.38);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--accent-rgb),.12)}.exampleCardBadge{font-size:var(--fs-2xs, 9px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:rgba(var(--accent-rgb, 255,0,124),.15);color:var(--accent);border:1px solid rgba(var(--accent-rgb, 255,0,124),.22)}.exampleCardName{font-size:var(--fs-sm, 11px);font-weight:700;color:var(--text);line-height:1.3}.exampleCardDesc{font-size:var(--fs-2xs, 9px);color:var(--muted);line-height:1.5}.ui-section{border:1px solid rgba(var(--accent-rgb, 255,0,124),.1);border-radius:var(--radius-sm, 8px);overflow:hidden;margin-bottom:3px}.ui-section-header{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:rgba(var(--accent-rgb, 255,0,124),.07);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.ui-section-header:hover{background:rgba(var(--accent-rgb, 255,0,124),.13)}.ui-section-title{font-size:var(--fs-xs, 10px);font-weight:600;color:var(--accent);letter-spacing:.04em}.ui-section-chevron{color:var(--muted);flex-shrink:0;transition:transform .18s}.ui-section-chevron.open{transform:rotate(0)}.ui-section-chevron:not(.open){transform:rotate(-90deg)}.ui-section-content{padding:7px;display:flex;flex-direction:column;gap:6px;background:#0000001f}.ui-section-content.collapsed{display:none}.ui-field{display:flex;flex-direction:column;gap:3px}.ui-label{font-size:var(--fs-2xs, 9px);font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}.ui-number-wrapper{display:flex;gap:2px;align-items:center}.ui-number{flex:1;min-width:0;text-align:center;font-family:var(--mono);font-size:var(--fs-sm, 11px)}.ui-number-btn{flex-shrink:0;width:22px;height:22px;padding:0;border-radius:var(--radius-sm, 8px);font-size:var(--fs-md, 13px);font-weight:400;display:flex;align-items:center;justify-content:center;line-height:1}.ui-slider-wrapper{display:flex;align-items:center;gap:8px}.ui-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:2px;border:none;padding:0;background:linear-gradient(to right,rgba(var(--accent-rgb, 255,0,124),.8) 0%,rgba(var(--accent-rgb, 255,0,124),.8) var(--fill-pct, 50%),rgba(255,255,255,.1) var(--fill-pct, 50%),rgba(255,255,255,.1) 100%);cursor:pointer;outline:none;box-shadow:none}.ui-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--text);border:2px solid var(--accent);cursor:grab;box-shadow:0 0 6px rgba(var(--accent-rgb),.5);transition:transform .1s}.ui-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2)}.ui-slider::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--text);border:2px solid var(--accent);cursor:grab}.ui-slider-value{font-size:var(--fs-2xs, 9px);font-family:var(--mono);color:var(--muted);min-width:34px;text-align:right;flex-shrink:0}.ui-select-wrapper{position:relative;display:grid;align-items:center}.ui-select{width:100%;padding-right:22px}.ui-select-arrow{position:absolute;right:7px;pointer-events:none;color:var(--muted);display:flex;align-items:center}.ui-palette-row{display:flex;align-items:center;gap:5px}.ui-palette-label{font-size:var(--fs-2xs, 9px);font-weight:600;color:var(--muted);min-width:38px;flex-shrink:0}.ui-palette-swatch{display:inline-block;width:15px;height:15px;border-radius:3px;border:1px solid rgba(255,255,255,.08)}.rightPanel{grid-area:inspector}.docNameInput{width:84px;margin-right:4px;font-weight:600}.layersPanel{display:flex;flex-direction:column;gap:6px;padding:8px}.layersToolbar{display:flex;gap:4px;align-items:center}.layersPicker{flex:1;min-width:0;font-size:var(--fs-xs, 10px)}.layersEmpty{padding:6px 2px}.layersList{display:flex;flex-direction:column;gap:3px}.layersNotice{padding:7px 9px;font-size:var(--fs-xs, 10px);line-height:1.45;color:var(--text);background:#ffaa0017;border:1px solid rgba(255,170,0,.35);border-radius:var(--radius-sm, 8px)}.layersNoticeActions{display:flex;flex-direction:column;gap:4px;margin-top:6px}.layersNoticeActions button{font-size:var(--fs-xs, 10px);padding:3px 8px}.layerItem{border:1px solid transparent;border-radius:var(--radius-sm, 8px);background:#ffffff08}.layerItem.selected{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08)}.layerItem.hidden .layerName{opacity:.45;text-decoration:line-through}.layerRow{display:flex;align-items:center;gap:2px;padding:3px 4px;cursor:pointer}.layerName{flex:1;min-width:0;padding:0 4px;font-size:var(--fs-sm, 11px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layerNameInput{flex:1;min-width:0;font-size:var(--fs-sm, 11px);padding:1px 4px}.layerBadge{font-size:var(--fs-2xs, 9px);color:var(--accent);opacity:.8;padding:0 3px}.layerBtn{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 3px;font-size:var(--fs-xs, 10px);line-height:1;background:transparent;border-color:transparent;color:var(--muted)}.layerBtn:hover:not(:disabled){color:var(--text);background:rgba(var(--accent-rgb),.15)}.layerBtn:disabled{opacity:.25;cursor:default}.layerDetails{display:flex;flex-direction:column;gap:5px;padding:4px 8px 8px}.layerField{display:flex;align-items:center;gap:6px}.layerField label{flex:0 0 48px;font-size:var(--fs-xs, 10px);color:var(--muted)}.layerField select,.layerField input[type=range]{flex:1;min-width:0}.layerValue{flex:0 0 34px;text-align:right;font-size:var(--fs-xs, 10px);color:var(--muted)}.layerSubHeader{margin-top:3px;font-size:var(--fs-2xs, 9px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.7}.layerEffect{display:flex;align-items:center;gap:2px;padding:2px 4px 2px 8px;cursor:pointer;font-size:var(--fs-xs, 10px);border:1px solid transparent;border-radius:6px;background:#0000002e}.layerEffect.selected{border-color:rgba(var(--accent-rgb),.45)}.layerEffectName{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layersParams{padding:8px;border-top:1px solid rgba(var(--accent-rgb),.1)}.workspaceSwitch{display:inline-flex;gap:0;margin-right:8px;border-radius:var(--radius-sm, 8px);overflow:hidden;border:1px solid rgba(var(--accent-rgb),.25)}.workspaceSwitch button{border:none;border-radius:0;background:transparent;padding:5px 12px}.workspaceSwitch button.active{background:rgba(var(--accent-rgb),.28);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.simpleToolbar{overflow:visible}.appMark{font-weight:700;letter-spacing:.02em;color:var(--accent);margin:0 10px 0 4px;white-space:nowrap}.themeSelect{max-width:120px;margin-right:8px}.simpleLayout{display:grid;grid-template-columns:44px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"tools stage side" "palette palette side";flex:1;min-height:0;overflow:hidden}.menuBar{display:flex;align-items:center;gap:1px}.menuRoot{position:relative}.menuTitle{background:transparent;border-color:transparent;padding:5px 10px}.menuTitle.open{background:rgba(var(--accent-rgb),.22);border-color:rgba(var(--accent-rgb),.4)}.menuPanel{position:absolute;top:calc(100% + 3px);left:0;z-index:500;min-width:210px;padding:4px;background:var(--panel2, #110629);border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-sm, 8px);box-shadow:0 12px 32px #0009}.menuSub .menuPanel{position:static;max-height:min(60vh,420px);overflow-y:auto}.menuSub{position:absolute;left:calc(100% - 2px);top:-5px;z-index:501}.menuItem{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:5px 10px;text-align:left;position:relative;font-size:var(--fs-sm, 11px);color:var(--text);background:transparent;border:none;border-radius:6px;box-shadow:none}.menuItem:hover:not(:disabled):not(.disabled),.menuItem.open{background:rgba(var(--accent-rgb),.22);box-shadow:none}.menuItem:disabled,.menuItem.disabled{opacity:.4;cursor:default}.menuShortcut,.menuArrow{color:var(--muted);font-size:var(--fs-xs, 10px)}.menuSeparator{height:1px;margin:4px 6px;background:rgba(var(--accent-rgb),.15)}.toolRail{grid-area:tools;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;background:var(--panel);border-right:1px solid rgba(var(--accent-rgb),.1)}.toolBtn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border-color:transparent}.toolBtn:hover:not(:disabled){color:var(--text)}.toolBtn.active{color:var(--accent);background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.45)}.toolBtn:disabled{opacity:.28;cursor:not-allowed}.toolRailSeparator{width:22px;height:1px;margin:4px 0;background:rgba(var(--accent-rgb),.2)}.toolBtn.colorSwatch{width:24px;height:24px;border:1px solid rgba(255,255,255,.35);border-radius:5px}.stageColumn{grid-area:stage;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.optionsBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:5px 10px;background:var(--panel2);border-bottom:1px solid rgba(var(--accent-rgb),.1)}.optionGroup{display:flex;align-items:center;gap:5px}.optionGroup label{font-size:var(--fs-xs, 10px);color:var(--muted)}.optionGroup input[type=number]{width:84px}.optionBarSpacer{flex:1}.segmented{gap:0;border:1px solid rgba(var(--accent-rgb),.25);border-radius:var(--radius-sm, 8px);overflow:hidden}.segmented button{border:none;border-radius:0;background:transparent;padding:4px 9px}.segmented button.active,button.toggleOn{background:rgba(var(--accent-rgb),.28);box-shadow:inset 0 -2px 0 var(--accent)}.zoomReadout{min-width:44px;text-align:center;font-size:var(--fs-xs, 10px);color:var(--muted)}.stageBanner{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:var(--fs-xs, 10px);background:#ffaa0017;border-bottom:1px solid rgba(255,170,0,.35)}.canvasStage{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,rgba(var(--accent-rgb),.06),transparent 70%),var(--bg);touch-action:none;-webkit-user-select:none;user-select:none}.canvasStage.dropActive{outline:2px dashed var(--accent);outline-offset:-6px}.canvasFrame{position:relative;flex:none;line-height:0;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.35),0 12px 40px #0000008c;background-color:#2a2f3a;background-image:linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%),linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%);background-size:16px 16px;background-position:0 0,8px 8px}.canvasDisplay{display:block;image-rendering:pixelated}.canvasGrid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.14) 1px,transparent 1px)}.canvasEmpty{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;height:fit-content;max-width:360px;display:flex;flex-direction:column;gap:6px;text-align:center;pointer-events:none;padding:18px 22px;color:var(--muted);font-size:var(--fs-sm, 11px);line-height:1.5;border:1px dashed rgba(var(--accent-rgb),.35);border-radius:var(--radius-md, 12px);background:#00000040}.canvasEmpty b{color:var(--text);font-size:var(--fs-base, 12px)}.statusBar{display:flex;align-items:center;gap:12px;padding:3px 10px;font-size:var(--fs-xs, 10px);color:var(--muted);background:var(--panel2);border-top:1px solid rgba(var(--accent-rgb),.1)}.statusSwatch{display:inline-block;width:9px;height:9px;margin-right:4px;border:1px solid rgba(255,255,255,.3);border-radius:2px;vertical-align:-1px}.sidePanel{grid-area:side;border-right:none;border-left:1px solid rgba(var(--accent-rgb),.1);min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.sideSection{display:flex;flex-direction:column;min-height:0;overflow:hidden}.sideSectionLayers{flex:1.1}.sideSectionProps{flex:.9;background:#00000014}.sideSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;font-size:var(--fs-sm, 11px);font-weight:600;color:var(--muted);background:linear-gradient(to bottom,rgba(var(--accent-rgb, 255,0,124),.05),#00000026);border-bottom:1px solid rgba(var(--accent-rgb, 255,0,124),.1);flex-shrink:0;-webkit-user-select:none;user-select:none}.sideSectionTitle{color:var(--text);font-weight:600;letter-spacing:.02em;display:flex;align-items:center;gap:6px}.sideSectionBadge{font-size:var(--fs-2xs, 9px);font-family:var(--mono);color:var(--accent);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.22);padding:1px 6px;border-radius:10px}.sideSectionSubtitle{font-size:var(--fs-xs, 10px);color:var(--accent);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.sideSectionDivider{height:1px;background:rgba(var(--accent-rgb, 255,0,124),.2);box-shadow:0 1px 3px #0000004d;flex-shrink:0}.sideScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sideScrollLayers,.sideScrollProps{padding:0}.inspectorTitle{font-size:var(--fs-sm, 11px);font-weight:600;color:var(--text);padding:4px 0 8px;border-bottom:1px solid rgba(var(--accent-rgb),.12);display:flex;align-items:center;gap:6px}.inspectorFields{padding-top:6px}.inspectorSplitPanel{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:hidden}.inspectorSplitTop{display:flex;flex-direction:column;flex:1.1;min-height:0;overflow:hidden}.inspectorLayersScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.inspectorSplitBottom{display:flex;flex-direction:column;flex:.9;min-height:0;overflow:hidden;background:#0000001a}.inspectorPropsScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.layerItem.dropTarget,.layerEffect.dropTarget{box-shadow:0 -2px 0 0 var(--accent)}.layerEffect.off .layerEffectName{opacity:.45;text-decoration:line-through}.dragGrip{flex:none;padding:0 2px;font-size:11px;line-height:1;letter-spacing:-2px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;opacity:.55}.dragGrip:hover{opacity:1;color:var(--text)}.layerRow[draggable=true],.layerEffect[draggable=true]{cursor:grabbing}.layerFxHeader{display:flex;align-items:center;justify-content:space-between}.layerFxHint{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);opacity:.8;margin-left:4px}.layerLink{padding:0 4px;font-size:var(--fs-2xs, 9px);color:var(--muted);background:transparent;border:none;text-transform:none;letter-spacing:0}.layerLink:hover{color:var(--accent);background:transparent;box-shadow:none}.effectPickerButton{width:100%;font-size:var(--fs-xs, 10px);text-align:left}.brushCursor{position:absolute;pointer-events:none;box-shadow:0 0 0 1px #fff,0 0 0 2px #000;mix-blend-mode:normal;z-index:2}.brushCursor.erase{box-shadow:0 0 0 1px #ff6b6b,0 0 0 2px #000}.paintOptions{flex-wrap:wrap;gap:8px}.paintTarget{padding:2px 8px;font-size:var(--fs-xs, 10px);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.35);border-radius:999px;white-space:nowrap}.paintTarget.none{color:var(--muted);border-style:dashed;border-color:rgba(var(--accent-rgb),.2)}.hexInput{width:76px;font-family:ui-monospace,monospace}.recentColors{display:flex;gap:3px}.recentColor{width:16px;height:16px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:4px}.recentColor:hover{border-color:#fff;box-shadow:none}.colorWell{position:relative;display:block;width:26px;height:26px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.4);cursor:pointer}.colorWell input[type=color]{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;width:40px;height:40px;padding:0;border:none;cursor:pointer;background:none}.layerPaintBtn{font-size:var(--fs-xs, 10px);padding:4px 8px}.layerFrame{position:absolute;z-index:0;pointer-events:none;border:1px dashed rgba(var(--accent-rgb),.3);border-radius:16px;background:rgba(var(--accent-rgb),.04)}.layerFrame.hidden{opacity:.45;border-style:dotted}.layerFrame span{position:absolute;top:3px;left:12px;font-size:var(--fs-2xs, 9px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.85}.layerThumb{flex:none;width:28px;height:28px;margin:0 4px;border-radius:4px;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #ffffff1f;background-color:#2a2f3a;background-image:linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%),linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%);background-size:8px 8px;background-position:0 0,4px 4px}.layerItem.hidden .layerThumb{opacity:.35}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modalCard{width:min(460px,100%);max-height:100%;overflow-y:auto;padding:18px 20px;background:var(--panel2, #110629);border:1px solid rgba(var(--accent-rgb),.35);border-radius:var(--radius-md, 12px);box-shadow:0 24px 60px #000000b3}.modalCard.wide{width:min(640px,100%)}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modalTitle{font-size:16px;font-weight:700;color:var(--text)}.modalSubtitle{font-size:var(--fs-sm, 11px);color:var(--muted);margin-top:2px}.modalSection{margin:14px 0 6px;font-size:var(--fs-2xs, 9px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.modalCheck{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:var(--fs-xs, 10px);color:var(--muted)}.welcomeTips{display:grid;gap:8px}.welcomeTip{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm, 11px)}.welcomeTip div{display:flex;flex-direction:column;gap:1px}.welcomeTip span:not(.welcomeStep){color:var(--muted);line-height:1.4}.welcomeStep{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:700;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.5)}.templateGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.templateCard{display:flex;flex-direction:column;gap:2px;padding:9px 11px;text-align:left;white-space:normal}.templateCard b{font-size:var(--fs-sm, 11px)}.templateCard span{font-size:var(--fs-xs, 10px);color:var(--muted);line-height:1.35}.shortcutGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));column-gap:24px}.shortcutRow{display:flex;align-items:baseline;gap:10px;padding:2px 0;font-size:var(--fs-sm, 11px)}.shortcutRow kbd{flex:0 0 auto;min-width:74px;padding:1px 6px;font-family:inherit;font-size:var(--fs-xs, 10px);color:var(--text);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.3);border-radius:5px}.shortcutRow span{color:var(--muted)}.errorScreen{max-width:520px;margin:12vh auto;padding:24px;display:flex;flex-direction:column;gap:12px}.errorScreen h1{font-size:20px;color:var(--accent)}.errorActions{display:flex;flex-wrap:wrap;gap:8px}.canvasEmpty .emptyActions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;pointer-events:auto}.canvasEmpty .emptyActions button{font-size:var(--fs-xs, 10px)}.sizeNote{font-size:var(--fs-2xs, 9px);color:var(--muted);cursor:help;border-bottom:1px dotted var(--muted)}.modalCard.extraWide{width:min(960px,100%);height:min(680px,100%);display:flex;flex-direction:column}.effectsTop{display:flex;align-items:center;gap:14px;margin-bottom:10px}.effectsSearch{flex:1}.effectsOriginal{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--fs-2xs, 9px);color:var(--muted)}.effectsOriginal img{height:44px;width:auto;max-width:88px;image-rendering:pixelated;border-radius:4px;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.4);background:#2a2f3a}.effectsTabs{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:8px;border-bottom:1px solid rgba(var(--accent-rgb),.15)}.effectsTab{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border-color:transparent;color:var(--muted)}.effectsTab span{font-size:var(--fs-2xs, 9px);opacity:.6}.effectsTab.active{color:var(--accent);background:rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.4)}.effectsNotice{padding:8px 0}.effectsGrid{flex:1;min-height:0;overflow-y:auto;padding:12px 2px 4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;align-content:start}.effectCard{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;text-align:left;white-space:normal;background:#ffffff08;border:1px solid transparent}.effectCard:hover{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.4)}.effectCard b{font-size:var(--fs-sm, 11px);font-weight:600}.effectCardHint{font-size:var(--fs-2xs, 9px);color:var(--muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.effectCardThumb{display:flex;align-items:center;justify-content:center;width:100%;max-height:120px;overflow:hidden;border-radius:6px;background-color:#2a2f3a;background-image:linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%),linear-gradient(45deg,#343a47 25%,transparent 25%,transparent 75%,#343a47 75%);background-size:10px 10px;background-position:0 0,5px 5px;box-shadow:inset 0 0 0 1px #ffffff14}.effectCardThumb img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;display:block}.effectCardThumb i{display:block;width:100%;height:100%;min-height:60px;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);background-size:200% 100%;animation:effectShimmer 1.2s linear infinite}.effectCardThumb i.noPreview{animation:none;background:none}@keyframes effectShimmer{to{background-position:-200% 0}}
