.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--bg: #08080c;--panel: #131319;--panel-2: #1b1b23;--border: #2a2a35;--text: #f3f4f8;--muted: #8b8b9a;--accent-1: #9c8cff;--accent-2: #54e3ff;--accent: var(--accent-2);--accent-gradient: linear-gradient(100deg, var(--accent-1), var(--accent-2));--accent-contrast: #06121a;--danger: #f87171;--ok: #4ade80;--warning: #f59e0b;--input-bg: #0f172a;--code-bg: #0f172a;--bg-2: #060609;--canvas: #f8fafc;--canvas-text: #0f172a;--canvas-border: #cbd5e1;--canvas-muted: #64748b;--canvas-bg: #fff;--canvas-bg-2: #f1f5f9}:root[data-theme=light]{--bg: #f4f4f7;--panel: #ffffff;--panel-2: #eef0f4;--border: #dcdce4;--text: #16161d;--muted: #6b6b78;--accent-contrast: #06121a;--input-bg: #ffffff;--bg-2: #e7e8ee}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}body{margin:0;font-family:Outfit,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;height:44px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;min-width:0}.brand{display:flex;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;flex-shrink:0}.brand-logo{width:26px;height:26px;border-radius:6px;flex-shrink:0}.brand-wordmark{color:var(--text)}:root:not([data-theme=light]) .brand-wordmark{background:linear-gradient(100deg,#9c8cff,#54e3ff);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-version{font-family:Outfit,sans-serif;font-weight:500;font-size:10px;letter-spacing:0;color:var(--text-dim, #9aa4b2);opacity:.6;align-self:flex-end;margin-bottom:2px}.topbar-page-name{display:flex;align-items:center;gap:5px;margin-left:10px;padding-left:10px;border-left:1px solid var(--border);color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.crumb{display:flex;align-items:center;gap:5px;margin-left:6px;padding-left:10px;border-left:1px solid var(--border);font-size:12px;color:var(--muted)}.crumb-home{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer;padding:3px;border-radius:4px}.crumb-home:hover{color:var(--accent);background:var(--panel-2)}.crumb-sep{color:var(--border);flex-shrink:0}.crumb-item{white-space:nowrap}.crumb-current{color:var(--text);font-weight:500}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.8px;background:var(--panel-2);color:var(--muted);padding:2px 6px;border-radius:4px;margin-left:6px}.topbar-status{display:flex;align-items:center;gap:6px;color:var(--muted)}.topbar-zones{display:flex;align-items:center;gap:6px}.topbar-zone{display:flex;align-items:center;gap:4px}.topbar-divider{width:1px;height:20px;background:var(--border);margin:0 2px;flex-shrink:0}.topbar-zone-info{color:var(--muted);font-size:11px}.topbar-zone-config,.topbar-zone-actions{gap:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:6px;border:none;background:transparent;color:var(--text);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;line-height:1;transition:background .12s,border-color .12s,color .12s,opacity .12s}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#06242f}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:transparent;border:1px solid var(--border);color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn-icon{padding:4px 6px;border-radius:4px;background:none;border:1px solid transparent;color:var(--muted);min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:background .12s,border-color .12s,color .12s,opacity .12s}.btn-icon:hover:not(:disabled){color:var(--text);background:var(--panel-2);border-color:var(--border)}.btn-icon:disabled{opacity:.35;cursor:default;pointer-events:none}.btn-icon.danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.btn-icon.accent:hover:not(:disabled){color:var(--accent);background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-color:var(--accent-1)}.btn-text{background:none;border:none;color:var(--accent);cursor:pointer;padding:2px 4px;font-size:inherit;display:inline-flex;align-items:center;gap:4px;line-height:1}.btn-text:hover{text-decoration:underline}.btn-sm{padding:4px 8px;font-size:11px}.btn-xs{padding:1px 6px;font-size:10px;border-radius:4px}.btn-lg{padding:10px 20px;font-size:14px;border-radius:8px}.btn-block{width:100%;justify-content:center}.btn-gradient{background:var(--accent-gradient);color:var(--accent-contrast)}.btn-gradient:hover:not(:disabled){opacity:.9}.password-field-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.statusbar-debug-btn{font-size:11px;padding:0;position:relative}.canvas-bg-reset{width:14px;height:14px;padding:0}.btn-xs-danger:hover{background:#ef44441f}.btn-xs-link{background:transparent;border:none;color:var(--text-3, #888);text-decoration:none;margin-left:auto;font-size:11px;padding:3px 6px;border-radius:4px;transition:color .12s,background .12s}.btn-xs-link:hover{color:var(--text);background:var(--panel-2, rgba(0,0,0,.25))}.home-add-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 4px}.home-add-btn:hover{text-decoration:underline}.admin-panel-btn{display:flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.admin-panel-btn:disabled{opacity:.5;cursor:not-allowed}.publish-btn-primary{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;border:none;background:var(--accent-1);color:#fff;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.publish-btn-primary:hover{background:var(--accent-2);color:#06242f}.topbar-logout{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.topbar-logout:hover{background:var(--panel-2);color:var(--text)}.publish-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:11px;cursor:pointer}.publish-btn:hover{background:var(--accent);color:#06242f}.btn-danger-legacy{background:transparent;border:1px solid var(--border);color:var(--danger);padding:3px 8px;border-radius:6px;cursor:pointer;font-size:11px}.btn-danger-legacy:hover{border-color:var(--danger)}.explorer-actions button{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0 4px;font-size:11px}.explorer-actions button:hover{color:#ef4444}.explorer-create button{background:var(--accent);color:#06242f;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:11px;font-weight:600}@media (max-width: 1100px){.topbar-zone-info .dot-label,.topbar-badge,.publish-url,.topbar-logout span{display:none}}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:#fbbf24}.publish-btn{composes:btn btn-secondary btn-sm}.publish-url{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:10px}.canvas-width-picker{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted)}.canvas-width-picker select{background:transparent;border:none;color:var(--text);font-size:11px;cursor:pointer}.canvas-width-picker select:focus:not(:focus-visible){outline:none}.canvas-width-picker select option{background:var(--panel-2);color:var(--text)}.canvas-bg-swatch{width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer}.canvas-bg-swatch::-webkit-color-swatch-wrapper{padding:0}.canvas-bg-swatch::-webkit-color-swatch{border:none;border-radius:2px}.btn-icon{position:relative}.topbar-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:6px;background:var(--accent);color:#06242f;font-size:9px;font-weight:700;line-height:14px;text-align:center}.topbar-danger:hover:not(:disabled){background:var(--danger);color:#fff}.body{display:flex;flex:1;min-height:0}.explorer{width:220px;padding:8px 0;background:var(--bg-2);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.explorer-header{padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}.explorer-section{padding:4px 0}.explorer-row{display:flex;align-items:center;gap:6px;padding:5px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text);border:none;background:none;width:100%;text-align:left}.explorer-row:hover{background:#ffffff0a}.explorer-row.selected{background:#38bdf81f;color:var(--accent)}.explorer-row.dim{color:var(--muted);cursor:default}.explorer-row.dim:hover{background:none}.explorer-toggle{width:14px;font-size:9px;color:var(--muted);flex-shrink:0}.explorer-icon{width:14px;text-align:center;flex-shrink:0}.explorer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-actions{display:flex;gap:2px;opacity:0}.explorer-row:hover .explorer-actions{opacity:1}.explorer-actions button{composes:btn-icon danger}.explorer-children{padding-left:18px}.explorer-create{display:flex;gap:4px;padding:4px 12px}.explorer-create input{flex:1;background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:4px 6px;border-radius:4px;font-size:11px}.explorer-create input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.explorer-create button{composes:btn btn-primary btn-xs}.explorer-create button:disabled{opacity:.4;cursor:not-allowed}.explorer-loading{padding:8px 12px;color:var(--muted);font-size:11px}.explorer-empty{padding:8px 12px;color:var(--muted);font-size:11px;font-style:italic}.tools{width:200px;padding:10px 12px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.library-title{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:8px}.lib-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;margin-bottom:4px;padding:7px 10px;border-radius:6px;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid transparent;font-size:12px}.lib-item:hover{border-color:var(--accent)}.lib-item-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:var(--bg);color:var(--accent);font-size:12px;font-weight:600;flex-shrink:0}.ds-item{position:relative;display:flex;justify-content:space-between;align-items:center;padding:7px 10px;margin-bottom:4px;background:var(--panel-2);border-radius:6px;font-size:12px;border:1px solid transparent;cursor:pointer}.ds-item span{color:var(--muted)}.ds-item.selected{border-color:var(--accent);background:var(--panel-2)}.library-note{margin-top:8px;font-size:11px;color:var(--muted);line-height:1.4}.query-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.query-item-info .ds-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.query-item-actions{position:relative;display:flex;gap:2px;opacity:0;flex-shrink:0}.query-item:hover .query-item-actions{opacity:1}.query-item-actions:has(.publish-popover){opacity:1}.sidebar-tabs{display:flex;gap:2px;margin-bottom:12px;background:var(--panel-2);border-radius:6px;padding:2px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ws-empty-hint{font-size:11px;color:var(--muted);margin-bottom:6px;line-height:1.4}.sidebar-tab{flex:1;padding:5px 0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;font-weight:500}.sidebar-tab.active{background:var(--accent);color:#06242f}.sidebar-tab:hover:not(.active){color:var(--text)}.ds-panel{margin-top:4px}.ds-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ds-item-name{font-weight:500}.ds-item-kind{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:3px}.ds-item-icon{display:flex;align-items:center;color:var(--accent);flex-shrink:0;margin-right:6px}.ds-premium-notice{margin-top:-4px;margin-bottom:10px;padding:8px 10px;border-radius:6px;font-size:11.5px;line-height:1.5;color:var(--text);background:color-mix(in srgb,var(--accent-2, var(--accent)) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-2, var(--accent)) 30%,transparent)}.publish-popover{position:absolute;z-index:20;top:100%;right:0;margin-top:4px;width:220px;padding:10px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border);box-shadow:0 4px 16px #00000040}.publish-popover .field{margin-bottom:8px}.publish-popover .field label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.publish-popover .field input,.publish-popover .field select{width:100%;padding:5px 7px;border-radius:4px;background:var(--panel);color:var(--text);border:1px solid var(--border);font-size:12px}.publish-popover-actions{display:flex;gap:6px}.ds-form{margin-top:10px;padding:10px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border)}.ds-form .field{margin-bottom:8px}.ds-form .field label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.ds-form .field input,.ds-form .field select{width:100%;padding:5px 7px;border-radius:4px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:11px}.ds-form .field input:focus:not(:focus-visible),.ds-form .field select:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.field-row{display:flex;gap:6px}.field-row .field{flex:1}.password-field-row{position:relative;display:flex;align-items:center}.password-field-row input{flex:1;padding-right:28px}.rest-header-row{display:flex;gap:4px;margin-bottom:4px;align-items:center}.rest-header-key{flex:0 0 38%;min-width:60px;padding:5px 7px;border-radius:4px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:11px;font-family:var(--mono)}.rest-header-value{flex:1;min-width:60px;padding:5px 7px;border-radius:4px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:11px;font-family:var(--mono)}.rest-header-row .ws-btn-icon{flex:0 0 24px}.ds-form-actions{display:flex;gap:6px;margin-top:8px}.ds-status{margin-top:6px;font-size:10px;padding:3px 6px;border-radius:4px}.ds-status.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.ds-status.err{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.query-panel{margin-top:4px}.query-editor{margin-top:10px;padding:10px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border)}.query-editor .field{margin-bottom:8px}.query-editor .field label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.query-editor .field input,.query-editor .field select{width:100%;padding:5px 7px;border-radius:4px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:11px}.query-editor .field input:focus:not(:focus-visible),.query-editor .field select:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.sql-editor{width:100%;resize:vertical;padding:6px 8px;border-radius:6px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.4}.sql-editor:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.sql-hint{font-size:9px;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.query-param-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.query-param-index{font-size:10px;color:var(--muted);font-family:ui-monospace,monospace;flex-shrink:0;width:20px}.query-param-row input{flex:1;min-width:0}.sql-editor-cm{border:1px solid var(--border);border-radius:6px;overflow:hidden}.sql-editor-cm .cm-editor{background:var(--code-bg)}.sql-editor-cm .cm-editor.cm-focused{outline:2px solid var(--accent);outline-offset:-2px}.sql-editor-cm .cm-gutters{background:var(--code-bg);border-right:1px solid var(--border)}.sql-editor-cm .cm-content{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.sql-editor-cm .cm-activeLine{background:#38bdf80f}.js-editor-wrap{position:relative}.js-editor-expand-btn{position:absolute;top:4px;right:4px;z-index:2;background:#0f172ab3;opacity:0;transition:opacity .1s}.js-editor-wrap:hover .js-editor-expand-btn,.js-editor-expanded .js-editor-expand-btn{opacity:1}.js-editor-expand-btn:hover{background:var(--panel-2)}.js-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.js-editor-expanded .js-editor-cm{position:fixed;top:8%;right:12%;bottom:8%;left:12%;z-index:1000;resize:none;box-shadow:0 12px 48px #00000080}.js-editor-close-btn{position:fixed;top:calc(8% + 10px);right:calc(12% + 10px);z-index:1001;display:flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:5px 10px;font-size:11px;cursor:pointer;box-shadow:0 4px 16px #0006}.js-editor-close-btn:hover{background:var(--panel-2)}.js-editor-cm{border:1px solid var(--border);border-radius:6px;overflow:auto;resize:vertical}.js-editor-cm.has-error{border-color:var(--danger)}.js-editor-cm .cm-editor{background:var(--code-bg);height:100%}.js-editor-cm .cm-editor.cm-focused{outline:2px solid var(--accent);outline-offset:-2px}.js-editor-cm .cm-gutters{display:none}.js-editor-cm .cm-content{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.js-editor-cm .cm-activeLine{background:#38bdf80f}.js-editor-cm .cm-tooltip-autocomplete{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.query-results{margin-top:4px}.query-results-empty{padding:10px;text-align:center;font-size:11px;color:var(--muted);border:1px dashed var(--border);border-radius:4px}.query-results-table{max-height:200px;overflow:auto;border-radius:4px;border:1px solid var(--border)}.query-results-table table{width:100%;border-collapse:collapse;font-size:10px}.query-results-table th{text-align:left;padding:4px 6px;background:var(--panel-2);border-bottom:1px solid var(--border);position:sticky;top:0;font-weight:600;color:var(--muted)}.query-results-table td{padding:3px 6px;border-bottom:1px solid rgba(51,65,85,.3)}.qb-section{margin-bottom:8px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2)}.qb-label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.qb-row{margin-bottom:6px}.qb-table-select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text);font-size:12px}.qb-columns{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;padding:4px 0}.qb-cols-header{padding:4px 0;border-bottom:1px solid var(--border);margin-bottom:2px}.qb-check{display:flex;align-items:center;gap:6px;padding:3px 4px;font-size:11px;color:var(--text);cursor:pointer;border-radius:4px}.qb-check:hover{background:#38bdf814}.qb-check input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.qb-col-type{margin-left:auto;font-size:10px;color:var(--muted);font-style:italic}.qb-apply{margin-top:0;width:100%;padding:6px;font-size:11px}.qb-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.qb-filter-word{font-size:11px;color:var(--muted);flex-shrink:0}.qb-filter-col,.qb-filter-op,.qb-filter-val{font-size:11px;padding:4px 6px;border-radius:4px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.qb-filter-val{flex:1;min-width:60px}.qb-preview-sql{margin-top:6px;padding:6px 8px;font-size:11px;font-family:var(--mono, monospace);color:var(--muted);background:var(--panel);border-radius:4px;word-break:break-word}.qb-actions{display:flex;gap:6px;margin-top:6px}.qb-actions .qb-apply{margin-top:0}.rest-editor{margin-top:8px;padding:12px;background:var(--panel-2);border-radius:8px;border:1px solid var(--border)}.rest-url-bar{display:flex;margin-bottom:8px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--input-bg)}.rest-url-bar:focus-within{border-color:var(--accent)}.rest-method-select{flex-shrink:0;width:96px;padding:9px 8px;border:none;border-right:1px solid var(--border);background:var(--panel);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.3px}.rest-method-select:focus:not(:focus-visible){outline:none}.rest-method-badge{flex-shrink:0;width:96px;padding:9px 8px;border-right:1px solid var(--border);background:var(--panel);color:var(--ok);font-size:12px;font-weight:700;letter-spacing:.3px;text-align:center;display:flex;align-items:center;justify-content:center}.rest-path-input{flex:1;min-width:0;padding:9px 10px;border:none;background:none;color:var(--text);font-size:13px;font-family:ui-monospace,SF Mono,Menlo,monospace}.rest-path-input:focus:not(:focus-visible){outline:none}.rest-headers-note{font-size:11px;color:var(--muted);margin-bottom:10px;line-height:1.4}.rest-headers-note strong{color:var(--text)}.rest-body-editor{font-size:12px!important}.active-query-section{margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.canvas-area{flex:1;overflow:auto;padding:16px;background:#0b1220}.canvas{position:relative;min-height:100%;min-width:700px;background-color:var(--canvas);border-radius:8px;color:var(--canvas-text)}.canvas-readonly{min-width:0;width:100%;border-radius:0}.canvas-readonly[style*=zoom]{transform-origin:top left}.frame{position:absolute;outline:1px solid transparent;outline-offset:-1px;border-radius:6px;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden;transition:outline-color .15s,box-shadow .15s}.frame:hover{outline-color:var(--canvas-border)}.frame.selected{outline-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.frame.has-error{outline-color:var(--danger)}.frame.hidden-widget{opacity:.35}.frame.frame-readonly.hidden-widget{display:none}.frame.frame-disabled{opacity:.5}.frame.frame-readonly.frame-disabled{pointer-events:none;cursor:not-allowed}.frame-label{position:absolute;top:-1px;left:-1px;font-size:9px;padding:1px 5px;background:var(--accent);color:#06242f;border-radius:4px 0;opacity:0;transition:opacity .1s}.frame:hover .frame-label,.frame.selected .frame-label{opacity:1}.frame-label-input{position:absolute;top:-1px;left:-1px;z-index:2;font-size:9px;padding:1px 5px;width:90px;background:#06242f;color:var(--accent);border:1px solid var(--accent);border-radius:4px 0}.frame-label-input:focus:not(:focus-visible){outline:none}.frame-body{width:100%;height:100%;padding:6px;overflow:auto}.frame-container{outline:2px dashed var(--border);outline-offset:-2px;background:#38bdf808}.frame-container-body{display:block;position:relative;overflow:auto}.frame-container-free{min-height:60px}.frame-child{position:absolute!important}.frame-container-stack{display:flex;min-height:60px;padding:4px}.frame-container-stack-vertical{flex-direction:column}.frame-container-stack-horizontal{flex-direction:row;flex-wrap:wrap}.frame-stacked,.frame-child.frame-stacked{position:static!important;cursor:default;flex-shrink:0}.frame-reorder-btns{position:absolute;top:-1px;right:-1px;z-index:1;display:flex;gap:2px;opacity:0;transition:opacity .1s}.frame:hover .frame-reorder-btns,.frame.selected .frame-reorder-btns{opacity:1}.frame-reorder-btns button{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;border-radius:2px;background:var(--accent);color:#06242f;cursor:pointer}.frame-reorder-btns button:disabled{opacity:.3;cursor:not-allowed}.frame-readonly{cursor:default}.frame-readonly:hover{outline-color:transparent}.frame-readonly.frame-container{outline-color:transparent;background:transparent}.frame-container-empty .frame-body{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px dashed var(--border);border-radius:6px;background:#38bdf80a;color:var(--muted);font-size:12px}.frame-empty-hint{display:flex;align-items:center;justify-content:center;min-height:60px;padding:10px 16px;text-align:center;border:2px dashed var(--border);border-radius:6px;background:#38bdf80a;color:var(--canvas-muted);font-size:12px;line-height:1.5}.frame-pageoutlet{border:none}.frame-pageoutlet-hint{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:12px;border:2px dashed var(--accent);border-radius:6px;background:#54e3ff0f;color:var(--canvas-text, var(--text))}.frame-pageoutlet-hint span{font-size:13px;font-weight:600}.frame-pageoutlet-hint small{font-size:11px;color:var(--canvas-muted, var(--muted));max-width:220px}.frame-drop-zone .frame-container-body{background:#38bdf80f;border-radius:4px}.frame-drop-zone{outline-color:var(--accent)!important;background:#38bdf81a!important;box-shadow:0 0 12px #38bdf84d}.frame-drop-zone .frame-body{background:#38bdf80d}.drag-ghost{position:fixed;pointer-events:none;z-index:9999;background:var(--panel);border:1px solid var(--accent);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--text);font-weight:500;box-shadow:0 4px 12px #0006;opacity:.9}.w-container-child{padding:4px 8px;background:var(--canvas-bg-2);border:1px solid var(--canvas-border);border-radius:4px;font-size:11px;color:var(--canvas-muted)}.resize-handle{position:absolute;width:8px;height:8px;background:var(--accent);border:1.5px solid var(--panel, #fff);border-radius:2px;z-index:1;transition:transform .12s}.resize-handle-se{right:-4px;bottom:-4px;cursor:nwse-resize}.resize-handle-se:hover{transform:scale(1.35)}.resize-handle-s{left:50%;bottom:-4px;transform:translate(-50%);cursor:ns-resize}.resize-handle-s:hover{transform:translate(-50%) scale(1.35)}.resize-handle-w{top:50%;left:-4px;transform:translateY(-50%);cursor:ew-resize}.resize-handle-w:hover{transform:translateY(-50%) scale(1.35)}.resize-handle-e{top:50%;right:-4px;transform:translateY(-50%);cursor:ew-resize}.resize-handle-e:hover{transform:translateY(-50%) scale(1.35)}.w-text{font-size:13px;line-height:1.5}.w-button{padding:6px 14px;border-radius:6px;border:none;cursor:pointer;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.w-button,.w-button-primary{background:#2563eb;color:#fff}.w-button-secondary{background:var(--canvas-bg-2);color:var(--canvas-text)}.w-button-danger{background:#dc2626;color:#fff}.w-button-ghost{background:transparent;color:#2563eb;border:1px solid var(--canvas-border)}.w-button:disabled,.w-button-primary:disabled,.w-button-secondary:disabled,.w-button-danger:disabled,.w-button-ghost:disabled{background:var(--canvas-border);color:var(--canvas-muted);cursor:not-allowed;border-color:transparent}.w-spin{animation:w-spin-rotate .8s linear infinite}@keyframes w-spin-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.w-button-group{display:flex;gap:6px;align-items:center}.w-button-group-vertical{flex-direction:column;align-items:stretch}.w-button-group .w-button{flex-shrink:0}.w-button-group-vertical .w-button{width:100%;justify-content:center}.w-menu-button{display:inline-flex;flex-direction:column}.w-menu-button .w-button{gap:4px}.w-menu-button-dropdown{background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:200;padding:4px 0;max-height:250px;overflow-y:auto}.w-menu-button-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;border:none;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.w-menu-button-item:hover{background:var(--border-1)}.w-menu-button-separator{height:1px;margin:4px 0;background:var(--border)}.w-input{width:100%;padding:4px 9px;border:1px solid var(--canvas-border);border-radius:6px;font-size:12px;box-sizing:border-box}.w-field{display:flex;flex-direction:column;gap:4px;height:100%}.w-field-label{font-size:11px;color:var(--canvas-muted);font-weight:500;flex-shrink:0}.w-input-error{border-color:#dc2626!important}.w-switch.w-input-error .w-switch-slider,.w-checkbox.w-input-error{outline:1px solid #dc2626;outline-offset:3px;border-radius:4px}.w-field-error{font-size:10px;color:#dc2626;flex-shrink:0}.w-empty{font-size:12px;color:#94a3b8;padding:6px;display:flex;align-items:center;gap:5px}.w-empty-teaching{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 12px;gap:6px;color:var(--muted);min-height:80px}.w-empty-teaching p{margin:0;font-size:12.5px;color:var(--text)}.w-empty-teaching .w-empty-hint{font-size:11.5px;color:var(--muted);line-height:1.45;max-width:260px}.w-error{font-size:12px;color:#dc2626;padding:6px;display:flex;flex-direction:column;gap:4px}.friendly-error-main{display:flex;align-items:center;gap:5px}.friendly-error-hint{font-size:11px;color:var(--muted);padding-left:17px}.friendly-error-toggle{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;margin-left:17px;background:none;border:none;padding:0;cursor:pointer;font-size:10.5px;color:var(--muted);transition:color .15s}.friendly-error-toggle:hover{color:var(--text)}.friendly-error-technical{margin:0 0 0 17px;padding:6px 8px;font-size:10.5px;white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:4px;color:var(--muted);max-height:140px;overflow-y:auto}.ds-status .friendly-error-hint,.ds-status .friendly-error-toggle,.ds-status .friendly-error-technical{color:inherit;opacity:.8}.w-table{height:100%;display:flex;flex-direction:column;position:relative;border:1px solid var(--canvas-border);border-radius:6px;background:var(--canvas-bg);overflow:hidden}.w-table-scroll{flex:1;overflow:auto;min-height:0}.w-table-scroll table{min-width:100%}.w-table-loading-badge{position:absolute;top:4px;right:6px;z-index:1;display:flex;align-items:center;gap:4px;font-size:10px;color:var(--canvas-muted);background:color-mix(in srgb,var(--canvas-bg) 92%,transparent);padding:2px 6px;border-radius:4px;border:1px solid var(--canvas-border)}.w-table-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 10px;border-bottom:1px solid var(--canvas-border);background:var(--canvas-bg)}.w-table-search{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:var(--canvas-muted);background:var(--canvas-bg-2);border:1px solid transparent;border-radius:4px;padding:3px 8px;transition:border-color .1s}.w-table-search:focus-within{border-color:var(--accent-2)}.w-table-search input{flex:1;border:none;font-size:11px;padding:0;color:var(--canvas-text);background:transparent;outline:none}.w-table-search input::placeholder{color:var(--canvas-muted);opacity:.7}.w-table-export-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:var(--canvas-muted);border:1px solid var(--canvas-border);border-radius:4px;background:var(--canvas-bg);padding:4px 8px;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.w-table-export-btn:hover{background:color-mix(in srgb,var(--accent-2) 8%,var(--canvas-bg));border-color:color-mix(in srgb,var(--accent-2) 40%,var(--canvas-border));color:var(--canvas-text)}.w-table-checkbox-col{width:28px;text-align:center}.w-table-no-results{text-align:center;padding:20px 8px;color:var(--canvas-muted);font-size:11px}.w-table table{width:100%;border-collapse:collapse;font-size:11px}.w-table th{text-align:left;padding:6px 10px;background:var(--canvas-bg-2);border-bottom:2px solid var(--canvas-border);position:sticky;top:0;font-weight:600;color:var(--canvas-muted);z-index:1;letter-spacing:.02em;text-transform:uppercase;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w-table td{padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--canvas-bg-2) 70%,var(--canvas-border));color:var(--canvas-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w-table-header-cell{display:flex;align-items:center;gap:2px}.w-table-header-cell .w-table-header-input{flex:1;min-width:0}.w-table-header-input{width:100%;background:transparent;border:1px solid transparent;font-size:10px;font-weight:600;color:var(--canvas-text);padding:2px 4px;border-radius:3px;text-align:left;text-transform:uppercase;letter-spacing:.02em;transition:border-color .1s,background .1s}.w-table-header-input:hover{border-color:var(--canvas-muted);background:color-mix(in srgb,var(--canvas-bg) 60%,transparent)}.w-table-header-input:focus:not(:focus-visible){outline:none;border-color:var(--accent-2);background:var(--canvas-bg)}.w-table-header-name{flex:1;min-width:0;font-size:10px;font-weight:600;color:var(--canvas-text);padding:2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.w-table-sort-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--canvas-muted);cursor:pointer;border-radius:3px;transition:background .1s,color .1s}.w-table-sort-btn:hover{background:color-mix(in srgb,var(--accent-2) 14%,var(--canvas-bg-2));color:var(--canvas-text)}.w-table-sort-btn.active{color:var(--accent-2)}.w-table tbody tr{cursor:pointer;transition:background .1s}.w-table-striped tbody tr:nth-child(2n){background:color-mix(in srgb,var(--canvas-bg-2) 50%,var(--canvas-bg))}.w-table-bordered th,.w-table-bordered td{border:1px solid var(--canvas-border)}.w-table tbody tr:hover{background:color-mix(in srgb,var(--accent-2) 6%,var(--canvas-bg))}.w-table tbody tr.selected{background:color-mix(in srgb,var(--accent-2) 16%,var(--canvas-bg))}.w-table tbody tr.selected:hover{background:color-mix(in srgb,var(--accent-2) 22%,var(--canvas-bg))}.w-table-cell-input{width:100%;border:1px solid transparent;border-radius:3px;background:transparent;font-size:11px;color:var(--canvas-text);padding:2px 4px;transition:border-color .1s,background .1s}.w-table-cell-input:hover{border-color:var(--canvas-border)}.w-table-cell-input:focus{outline:none;border-color:var(--accent-2);background:var(--canvas-bg)}.w-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;color:#fff;line-height:1.5;white-space:nowrap}.w-table-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 10px;font-size:11px;color:var(--canvas-muted);border-top:1px solid var(--canvas-border);cursor:default;background:var(--canvas-bg)}.w-table-pagination button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--canvas-border);border-radius:4px;background:var(--canvas-bg);cursor:pointer;color:var(--canvas-muted);transition:background .1s,border-color .1s,color .1s}.w-table-pagination button:disabled{opacity:.35;cursor:not-allowed}.w-table-pagination button:not(:disabled):hover{background:color-mix(in srgb,var(--accent-2) 10%,var(--canvas-bg));border-color:color-mix(in srgb,var(--accent-2) 40%,var(--canvas-border));color:var(--canvas-text)}.w-select{width:100%;padding:4px 9px;border:1px solid var(--canvas-border);border-radius:6px;font-size:12px;background:var(--canvas-bg);cursor:pointer;box-sizing:border-box;color:var(--canvas-text)}.w-select-combo{position:relative;width:100%;flex:1;min-height:0}.w-select-trigger{width:100%;height:100%;padding:4px 6px;border:1px solid var(--canvas-border);border-radius:6px;font-size:12px;line-height:1;background:var(--canvas-bg);cursor:pointer;box-sizing:border-box;display:flex;align-items:center;gap:4px;text-align:left;color:var(--canvas-text);transition:border-color .1s}.w-select-trigger:hover{border-color:var(--canvas-muted)}.w-select-placeholder{color:var(--canvas-muted)}.w-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-select-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.w-select-caret{flex-shrink:0;color:var(--canvas-muted)}.w-select-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--canvas-muted);cursor:pointer;border-radius:3px;transition:background .1s,color .1s}.w-select-clear:hover{background:color-mix(in srgb,var(--canvas-border) 40%,var(--canvas-bg));color:var(--canvas-text)}.w-select-trigger:disabled{cursor:not-allowed;background:var(--canvas-bg-2);color:var(--canvas-muted);opacity:.7}.w-select-chips{display:flex;flex-wrap:wrap;gap:3px;flex:1;min-width:0}.w-select-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 4px 1px 7px;border-radius:10px;background:color-mix(in srgb,var(--accent-2) 15%,var(--canvas-bg));color:var(--canvas-text);font-size:11px;white-space:nowrap}.w-select-chip button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--canvas-muted);cursor:pointer;padding:2px;border-radius:3px;transition:background .1s,color .1s}.w-select-chip button:hover{background:color-mix(in srgb,var(--danger) 15%,var(--canvas-bg));color:var(--danger)}.w-select-dropdown{z-index:1000;background:var(--canvas-bg);border:1px solid var(--canvas-border);border-radius:6px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.w-select-search{width:100%;padding:6px 9px;border:none;border-bottom:1px solid var(--canvas-border);font-size:12px;box-sizing:border-box;background:var(--canvas-bg);color:var(--canvas-text)}.w-select-search::placeholder{color:var(--canvas-muted)}.w-select-search:focus:not(:focus-visible){outline:none;background:var(--canvas-bg-2)}.w-select-options{max-height:180px;overflow-y:auto;padding:2px 0}.w-select-option{display:flex;align-items:center;gap:6px;padding:6px 9px;font-size:12px;color:var(--canvas-text);cursor:pointer;transition:background .1s}.w-select-option:hover{background:color-mix(in srgb,var(--accent-2) 6%,var(--canvas-bg))}.w-select-option.selected{background:color-mix(in srgb,var(--accent-2) 12%,var(--canvas-bg));color:var(--canvas-text)}.w-select-option input[type=checkbox]{accent-color:var(--accent-2)}.w-select-option span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-select-empty{padding:10px 9px;font-size:12px;color:var(--canvas-muted);text-align:center}.w-container{height:100%;border:1px solid var(--canvas-border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.w-container-title{padding:6px 10px;background:var(--canvas-bg-2);font-size:12px;font-weight:600;color:var(--canvas-text);border-bottom:1px solid var(--canvas-border)}.w-container-body{flex:1;padding:8px;overflow:auto}.w-form{height:100%;display:flex;flex-direction:column}.w-form-title{padding:8px 10px;background:var(--canvas-bg-2);font-size:12px;font-weight:600;color:var(--canvas-text);border-bottom:1px solid var(--canvas-border)}.w-form-body{flex:1;padding:10px;overflow:auto}.w-form-field{margin-bottom:10px}.w-form-field label{display:block;font-size:11px;color:var(--canvas-muted);margin-bottom:3px}.w-form-field input,.w-form-field textarea{width:100%;padding:6px 8px;border:1px solid var(--canvas-border);border-radius:4px;font-size:12px;resize:vertical}.w-form-footer{padding:8px 10px;border-top:1px solid var(--canvas-border);background:var(--canvas)}.w-form-submit{width:100%;padding:8px 16px;background:var(--accent);color:#06242f;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}.w-form-submit:hover{background:var(--accent-2, #0ea5e9)}.form-submit-bar{padding:8px 10px;border-top:1px solid var(--canvas-border);background:var(--canvas-bg-2);border-radius:0 0 4px 4px}.form-submit-btn{width:100%;padding:8px 16px;background:var(--accent);color:#06242f;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}.form-submit-btn:hover{background:var(--accent-2, #0ea5e9)}.w-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.w-modal{position:relative;background:var(--canvas-bg);border-radius:8px;box-shadow:0 8px 32px #0003;min-width:300px;max-width:90%;max-height:80%;overflow:auto}.w-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--canvas-border);font-weight:600;font-size:14px;color:var(--canvas-text)}.w-modal-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:16px;cursor:pointer;color:var(--canvas-muted);padding:4px}.w-modal-close:hover{color:var(--canvas-text)}.w-modal-body{position:relative;padding:16px}.w-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000}.w-drawer{position:fixed;background:var(--canvas-bg);box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;overflow:auto}.w-drawer-left{top:0;left:0;height:100%}.w-drawer-right{top:0;right:0;height:100%}.w-drawer-top{top:0;left:0;width:100%}.w-drawer-bottom{bottom:0;left:0;width:100%}.w-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--canvas-border);font-weight:600;font-size:14px;color:var(--canvas-text);flex-shrink:0}.w-drawer-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:16px;cursor:pointer;color:var(--canvas-muted);padding:4px}.w-drawer-close:hover{color:var(--canvas-text)}.w-drawer-body{position:relative;padding:16px;flex:1}.w-drawer-editor-preview{outline:2px solid var(--accent, #22d3ee);outline-offset:-2px}.w-drawer-editor-preview:before{content:"Vista previa";position:absolute;top:-20px;left:0;background:var(--accent, #22d3ee);color:#06242f;font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:4px 4px 0 0}.w-drawer-right.w-drawer-editor-preview:before{left:auto;right:0;border-radius:4px 4px 0 0}.frame-modal{background:var(--canvas-bg);border:2px solid var(--accent);border-radius:8px;box-shadow:0 4px 16px #0003}.panel{width:300px;background:var(--panel);border-left:1px solid var(--border);padding:12px;overflow-y:auto}.panel-empty{color:var(--muted);font-size:12px;line-height:1.5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 12px;text-align:center;flex:1}.panel-empty p{margin:0}.panel-empty svg{opacity:.4;color:var(--muted)}.panel-empty-hint{font-size:11px;opacity:.6}.panel-empty-hint kbd{font-size:10px;padding:1px 5px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);font-family:monospace}.panel-empty-teaching{padding:32px 20px;gap:12px;align-items:stretch}.panel-empty-teaching h3{margin:0;font-size:14px;font-weight:600;color:var(--text);text-align:center}.panel-empty-teaching>p{text-align:center;font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}.panel-empty-icon{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;align-self:center}.panel-empty-shortcuts{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border)}.panel-empty-shortcut{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.panel-empty-shortcut kbd{font-family:monospace;font-size:10.5px;padding:2px 6px;border-radius:4px;background:var(--bg);border:1px solid var(--border);color:var(--text);min-width:36px;text-align:center}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.panel-title{font-weight:600}.panel-sub{color:var(--muted);font-size:11px}.panel-section{margin-bottom:18px}.panel-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-2);font-weight:700;margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}.panel-section-title:hover{color:var(--text)}.panel-section-arrow{font-size:9px}.panel-search{display:flex;align-items:center;gap:6px;padding:6px 8px;margin-bottom:12px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px}.panel-search-icon{color:var(--muted);flex-shrink:0}.panel-search-input{flex:1;background:none;border:none;color:var(--text);font-size:12px}.panel-search-input::placeholder{color:var(--muted)}.panel-search-clear{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.panel-search-clear:hover{color:var(--text)}.field-dynamic{border-left:2px solid var(--accent);padding-left:6px}.field-hint{margin-top:3px;font-size:10px;color:var(--muted);font-style:italic;line-height:1.3}.field{margin-bottom:14px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.field textarea{width:100%;resize:vertical;padding:6px 8px;border-radius:6px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.45}.field textarea:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.field textarea.input-error{border-color:var(--danger)}.field-preview{margin-top:4px;font-size:11px;color:var(--ok);font-family:ui-monospace,Menlo,monospace;word-break:break-all}.field-error{margin-top:4px;font-size:11px;color:var(--danger);line-height:1.4}.panel-hint{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);line-height:1.7}.panel-hint code{background:var(--input-bg);padding:1px 4px;border-radius:4px;font-size:11px;display:inline-block}.statusbar{display:flex;gap:16px;align-items:center;height:26px;padding:0 14px;background:var(--panel);border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.statusbar .spacer{flex:1}.statusbar .err{color:var(--danger)}.statusbar-error-badge{background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:14px;height:14px;padding:0 3px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.debug-drawer{background:var(--panel);border-top:1px solid var(--border);flex-shrink:0}.debug-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}.debug-drawer-body{display:flex;gap:28px;padding:12px 16px}.debug-stat{display:flex;flex-direction:column;gap:2px}.debug-stat-value{font-size:16px;font-weight:700;color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace}.debug-stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.debug-stat.err .debug-stat-value{color:var(--danger)}.landing,.auth-gate{--bg: #f7f8fa;--panel: #ffffff;--panel-2: #eef1f5;--border: #dde1e7;--text: #14181f;--muted: #5b6472;--input-bg: #ffffff;--accent-1: #1e3a6e;--accent-2: #1e3a6e;--accent: #1e3a6e;--accent-contrast: #ffffff}.auth-gate{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg);position:relative;overflow:hidden}.auth-gate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;background:radial-gradient(1.5px 1.5px at 18% 28%,var(--accent) 0%,transparent 60%),radial-gradient(1.5px 1.5px at 82% 22%,var(--accent-1, var(--accent)) 0%,transparent 60%),radial-gradient(1px 1px at 62% 68%,var(--accent) 0%,transparent 60%),radial-gradient(2px 2px at 32% 78%,var(--accent-1, var(--accent)) 0%,transparent 60%),radial-gradient(1px 1px at 92% 62%,var(--accent) 0%,transparent 60%),radial-gradient(1px 1px at 8% 60%,var(--accent-1, var(--accent)) 0%,transparent 60%),radial-gradient(700px circle at 50% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%)}.auth-form{position:relative;z-index:1;width:340px;padding:32px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px -24px color-mix(in srgb,var(--accent) 30%,transparent);opacity:0;animation:cx-rise .5s ease-out forwards}@media (prefers-reduced-motion: reduce){.auth-form{animation:none;opacity:1}}.auth-theme-toggle{position:absolute;top:16px;right:16px}.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.auth-logo-img{width:40px;height:40px;border-radius:8px;box-shadow:0 0 0 1px var(--border),0 0 16px -4px var(--accent)}.auth-logo-text{font-family:Outfit,sans-serif;font-weight:700;font-size:22px;color:var(--text);letter-spacing:-.01em}.auth-form h2{margin:0 0 20px;font-size:16px;font-weight:500;color:var(--muted);text-align:center}.auth-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:14px;font-weight:500}.auth-form input{width:100%;margin-top:6px;padding:9px 12px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:13px}.auth-form input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.auth-form input::placeholder{color:#475569}.auth-split-form label{display:block;font-size:11.5px;color:var(--muted);font-weight:500}.auth-split-form .input-icon input{width:100%;padding:11px 12px 11px 38px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.auth-split-form .input-icon input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.auth-split-form .input-icon input::placeholder{color:var(--muted)}.auth-split-form button[type=submit]{width:100%;padding:11px;margin-top:8px;border:none;border-radius:8px;background:var(--accent);color:var(--accent-contrast);font-weight:600;font-size:13.5px;cursor:pointer;transition:filter .12s,transform .12s}.auth-split-form button[type=submit]:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.auth-split-form button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.auth-split-form .auth-link{text-decoration:none}.auth-split-form .auth-link:hover{color:var(--text);text-decoration:underline}.auth-form button[type=submit]{width:100%;padding:10px;margin-top:6px;border:none;border-radius:6px;background:var(--accent);color:var(--accent-contrast);font-weight:600;cursor:pointer;font-size:13px}.auth-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.auth-error{margin:8px 0;padding:7px 10px;border-radius:6px;background:#f8717126;color:var(--danger);font-size:12px}.auth-switch{margin-top:16px;font-size:12px;color:var(--muted);text-align:center;line-height:1.4}.auth-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;font-weight:500;padding:0;text-decoration:underline}.auth-link:hover{color:var(--text)}.auth-pending{text-align:center}.auth-pending p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 20px}.auth-pending strong{color:var(--text)}.auth-link-btn{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:6px;padding:10px 16px;font-weight:600;font-size:13px;cursor:pointer}.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);width:100%;max-width:1080px;min-height:560px;max-height:92vh;background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative;z-index:1;box-shadow:0 32px 80px -24px color-mix(in srgb,var(--accent) 35%,transparent);opacity:0;animation:cx-rise .5s ease-out forwards}@media (prefers-reduced-motion: reduce){.auth-split{animation:none;opacity:1}}.auth-split-side{position:relative;padding:48px 40px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,var(--panel)) 0%,var(--panel) 60%);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:22px;justify-content:center;overflow:hidden}.auth-split-side:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.3;background:radial-gradient(1.5px 1.5px at 12% 18%,var(--accent) 0%,transparent 60%),radial-gradient(1.5px 1.5px at 88% 26%,var(--accent-1, var(--accent)) 0%,transparent 60%),radial-gradient(1px 1px at 58% 72%,var(--accent) 0%,transparent 60%),radial-gradient(2px 2px at 26% 84%,var(--accent-1, var(--accent)) 0%,transparent 60%),radial-gradient(1px 1px at 92% 58%,var(--accent) 0%,transparent 60%)}.auth-split-side>*{position:relative;z-index:1}.auth-split-eyebrow{font-family:var(--mono, ui-monospace, monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.auth-split-side h1{font-family:Outfit,sans-serif;font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0}.auth-split-side h1 span{background:linear-gradient(135deg,var(--accent-1, var(--accent)),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.auth-split-side p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.auth-split-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.auth-split-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text);line-height:1.4}.auth-split-bullets li svg{color:var(--accent);flex-shrink:0;margin-top:2px}.auth-split-quote{margin-top:4px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:12.5px;color:var(--muted);line-height:1.5}.auth-split-quote strong{color:var(--text)}.auth-split-form{position:relative;display:flex;flex-direction:column;justify-content:center;padding:48px 40px;gap:16px;background:var(--bg)}.auth-split-form .auth-theme-toggle{position:absolute;top:16px;right:16px}.auth-split-form h2{margin:0 0 4px;font-family:Outfit,sans-serif;font-size:22px;font-weight:600;color:var(--text);letter-spacing:-.01em}.auth-split-form .auth-sub{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.5}.auth-split-form .input-icon{position:relative;display:block}.auth-split-form .input-icon svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.auth-split-form .input-icon input{padding-left:36px}.auth-password-rules{list-style:none;padding:8px 10px;margin:-4px 0 4px;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted)}.auth-password-rules li{display:flex;align-items:center;gap:6px}.auth-password-rules li svg{flex-shrink:0}.auth-password-rules li.met{color:var(--ok, #22c55e)}.auth-password-rules li.met svg{color:var(--ok, #22c55e)}@media (max-width: 860px){.auth-split{grid-template-columns:1fr;max-height:none;min-height:0}.auth-split-side{padding:32px 24px;border-right:none;border-bottom:1px solid var(--border)}.auth-split-form{padding:32px 24px}.auth-split-side h1{font-size:24px}}.landing{min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow-x:hidden}.landing-nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.landing-nav-inner{max-width:1200px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-brand{display:flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-weight:700;font-size:19px;color:var(--text);text-decoration:none}.landing-brand-icon{width:30px;height:30px;border-radius:7px;box-shadow:0 0 0 1px var(--border)}.landing-nav-links{display:flex;gap:4px}.landing-nav-link{color:var(--muted);text-decoration:none;font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px;transition:color .12s,background .12s}.landing-nav-link:hover{color:var(--text);background:var(--panel-2)}.landing-nav-actions{display:flex;align-items:center;gap:8px}.landing-btn-ghost{background:none;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .12s,border-color .12s}.landing-btn-ghost:hover{background:var(--panel-2);border-color:var(--accent)}.landing-btn-primary{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:filter .12s,transform .12s}.landing-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.landing-btn-lg{padding:13px 24px;font-size:14px;border-radius:8px}.landing-btn-block{width:100%;justify-content:center}.landing-hero{position:relative;padding:64px 32px 48px;overflow:visible}.landing-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}.landing-hero-copy{position:relative;z-index:1}.landing-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono, ui-monospace, monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;padding:5px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,transparent);opacity:0;animation:cx-rise .5s ease-out .1s forwards}.landing-eyebrow-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.landing-hero h1{font-family:Outfit,sans-serif;font-size:52px;font-weight:700;line-height:1.08;margin:0 0 20px;letter-spacing:-.02em;opacity:0;animation:cx-rise .6s ease-out .25s forwards}.landing-hero-accent{background:linear-gradient(135deg,var(--accent-1, var(--accent)),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-hero-lead{color:var(--muted);font-size:17px;line-height:1.55;margin:0 0 22px;max-width:520px;opacity:0;animation:cx-rise .6s ease-out .4s forwards}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;opacity:0;animation:cx-rise .6s ease-out .5s forwards}.landing-constellation{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(900px,120vw);height:220px;overflow:hidden;pointer-events:none;z-index:0;opacity:.22}.landing-constellation .cx-line{fill:none;stroke:var(--accent);stroke-width:1;opacity:.22;stroke-dasharray:240;stroke-dashoffset:240;animation:cx-draw 1.8s ease-out forwards}.landing-constellation .cx-star{fill:var(--accent);animation:cx-twinkle 4.5s ease-in-out infinite}.landing-constellation .cx-star.cx-major{fill:var(--accent-1, var(--accent))}@keyframes cx-draw{to{stroke-dashoffset:0}}@keyframes cx-twinkle{0%,to{opacity:.55}50%{opacity:1}}@keyframes cx-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.landing-eyebrow,.landing-hero h1,.landing-hero-lead,.landing-hero-actions{animation:none;opacity:1;transform:none}.landing-constellation .cx-line{animation:none;stroke-dashoffset:0}.landing-constellation .cx-star{animation:none;opacity:.8}.landing-eyebrow-dot{animation:none}}.landing-hero-showcase{position:relative;z-index:1;opacity:0;animation:cx-rise .7s ease-out .45s forwards}.landing-hero-frame{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 24px 64px -12px color-mix(in srgb,var(--text) 22%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);transform:perspective(1200px) rotateY(-3deg) rotateX(2deg);transition:transform .4s cubic-bezier(.2,.8,.3,1)}.landing-hero-frame:hover{transform:perspective(1200px) rotateY(0) rotateX(0)}.landing-hero-frame-chrome{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--panel-2);border-bottom:1px solid var(--border);font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--muted)}.landing-hero-frame-dot{width:11px;height:11px;border-radius:50%}.landing-hero-frame-url{margin-left:10px;padding:2px 10px;background:var(--bg);border-radius:4px;font-size:10px}.landing-hero-img{display:block;width:100%;height:auto}.landing-hero-tag{position:absolute;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 22px -6px color-mix(in srgb,var(--text) 18%,transparent);font-size:11px;white-space:nowrap;animation:cx-tag-in .5s ease-out backwards}.landing-hero-tag-label{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.landing-hero-tag-value{color:var(--text);font-weight:600;font-size:12px}.landing-hero-tag-1{top:18%;left:-8%;animation-delay:.8s}.landing-hero-tag-2{top:12%;right:-6%;animation-delay:1s}.landing-hero-tag-3{bottom:20%;left:14%;animation-delay:1.2s}@keyframes cx-tag-in{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){.landing-hero-tag{animation:none;opacity:1}.landing-hero-frame{transform:none}}.landing-section-eyebrow{display:inline-block;font-family:var(--mono, ui-monospace, monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.landing-section-title{font-family:Outfit,sans-serif;font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0 0 16px;max-width:720px}.landing-section-title-accent{background:linear-gradient(135deg,var(--accent-1, var(--accent)),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-icp{padding:80px 32px;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-icp>.landing-section-eyebrow,.landing-icp>.landing-section-title{display:block;margin-left:auto;margin-right:auto;max-width:1200px}.landing-icp-grid{max-width:1200px;margin:32px auto 0;display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:18px}.landing-icp-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px;transition:border-color .15s,transform .15s}.landing-icp-card:hover{border-color:var(--accent);transform:translateY(-2px)}.landing-icp-card-featured{grid-row:1 / 3;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 10%,var(--bg)),var(--bg));border-color:color-mix(in srgb,var(--accent) 35%,var(--border));display:flex;flex-direction:column;justify-content:center}.landing-icp-card-featured .landing-icp-icon{width:48px;height:48px;background:color-mix(in srgb,var(--accent) 20%,transparent)}.landing-icp-card-featured h3{font-size:19px}.landing-icp-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-bottom:14px}.landing-icp-card h3{font-family:Outfit,sans-serif;font-size:17px;font-weight:600;margin:0 0 8px;line-height:1.3}.landing-icp-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}.landing-tour{padding:80px 32px;max-width:1200px;margin:0 auto}.landing-tour-grid{margin-top:32px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.landing-tour-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px;transition:border-color .15s,transform .15s}.landing-tour-card:hover{border-color:var(--accent);transform:translateY(-2px)}.landing-tour-card-icon{width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-bottom:14px}.landing-tour-card h3{font-family:Outfit,sans-serif;font-size:18px;font-weight:600;margin:0 0 8px;line-height:1.3}.landing-tour-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.landing-tour-card code{font-family:var(--mono, ui-monospace, monospace);font-size:12px;padding:1px 5px;border-radius:4px;background:var(--bg);border:1px solid var(--border);color:var(--accent)}.landing-pricing{padding:80px 32px;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-pricing-inner{max-width:1200px;margin:0 auto}.landing-pricing-lead{color:var(--muted);font-size:16px;margin:0 0 36px;max-width:620px;line-height:1.55}.landing-pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.landing-pricing-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;position:relative;transition:border-color .15s,transform .15s}.landing-pricing-card:hover{transform:translateY(-2px)}.landing-pricing-card-featured{border-color:var(--accent);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 10%,var(--bg)) 0%,var(--bg) 60%);box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 14%,transparent)}.landing-pricing-tag{display:inline-block;align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--panel-2);color:var(--muted)}.landing-pricing-tag-accent{background:var(--accent);color:var(--accent-contrast)}.landing-pricing-amount{display:flex;align-items:baseline;gap:4px;font-family:Outfit,sans-serif;font-size:36px;font-weight:700;line-height:1;letter-spacing:-.02em}.landing-pricing-currency{font-size:18px;opacity:.7}.landing-pricing-period{font-size:12px;color:var(--muted);margin-top:-10px}.landing-pricing-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.landing-pricing-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.landing-pricing-features li svg{color:var(--accent);flex-shrink:0}.landing-pricing-card .landing-btn-primary,.landing-pricing-card .landing-btn-ghost{margin-top:auto}.landing-pricing-foot{margin:28px 0 0;font-size:12px;color:var(--muted);text-align:center}.landing-about{padding:80px 32px;max-width:1200px;margin:0 auto}.landing-about-inner{max-width:760px;margin:0 auto;text-align:center}.landing-about-lead{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 36px}.landing-about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}.landing-about-stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 12px;display:flex;flex-direction:column;gap:4px}.landing-about-stat-num{font-family:Outfit,sans-serif;font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--accent-1, var(--accent)),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;line-height:1}.landing-about-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.landing-about-cta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px}.landing-about-mail{font-family:var(--mono, ui-monospace, monospace);font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;padding:10px 16px;background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.landing-about-mail:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.landing-about-cta-note{font-size:12px;color:var(--muted)}.landing-final-cta{padding:64px 32px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 12%,var(--panel)) 0%,var(--panel) 50%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-final-cta-inner{max-width:720px;margin:0 auto;text-align:center}.landing-final-cta h2{font-family:Outfit,sans-serif;font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0 0 12px}.landing-final-cta p{color:var(--muted);font-size:15px;margin:0 0 24px;line-height:1.55}.landing-final-cta-actions{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:center}.landing-footer{padding:32px;border-top:1px solid var(--border);background:var(--panel)}.landing-footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.landing-footer-brand{display:flex;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-weight:700;font-size:15px}.landing-footer-links{display:flex;flex-wrap:wrap;gap:18px}.landing-footer-link{color:var(--muted);text-decoration:none;font-size:12px;font-weight:500;transition:color .12s}.landing-footer-link:hover{color:var(--accent)}.landing-footer-copy{font-size:12px;color:var(--muted)}@media (max-width: 980px){.landing-hero-inner{grid-template-columns:1fr;gap:36px}.landing-hero h1{font-size:40px}.landing-hero-showcase{max-width:560px;margin:0 auto}.landing-hero-tag-1{left:-4%}.landing-hero-tag-2{right:-4%}.landing-icp-grid{grid-template-columns:1fr}.landing-icp-card-featured{grid-row:auto}.landing-tour-grid{grid-template-columns:1fr}.landing-pricing-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}.landing-about-stats{grid-template-columns:repeat(2,1fr)}.landing-nav-links{display:none}.landing-hero-frame{transform:none}.landing-section-title{font-size:30px}.landing-final-cta h2{font-size:26px}}@media (max-width: 600px){.landing-nav-inner{padding:12px 16px}.landing-nav-actions .landing-btn-ghost{display:none}.landing-hero{padding:36px 16px 24px}.landing-hero h1{font-size:32px}.landing-hero-actions{flex-direction:column}.landing-hero-actions .landing-btn-lg{width:100%;justify-content:center}.landing-section-title{font-size:24px}.landing-icp,.landing-tour,.landing-pricing,.landing-about,.landing-final-cta{padding:48px 16px}.landing-footer-inner{flex-direction:column;align-items:flex-start}}.viewer{display:flex;flex-direction:column;height:100vh;background:var(--canvas)}.viewer-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;height:44px;background:var(--panel);border-bottom:1px solid var(--border)}.viewer-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.viewer-page-nav{display:flex;align-items:center;gap:2px;padding:0 14px;height:36px;background:var(--panel-2);border-bottom:1px solid var(--border);overflow-x:auto}.viewer-page-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;white-space:nowrap}.viewer-page-tab:hover{background:var(--panel);color:var(--text)}.viewer-page-tab.active{background:#54e3ff1f;color:var(--accent-2)}.viewer-canvas{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.viewer-chrome{width:100%;display:flex;justify-content:center;border-bottom:1px dashed var(--border);padding-bottom:16px}.viewer-page{width:100%;display:flex;justify-content:center}.viewer-published .viewer-canvas{padding:0;justify-content:stretch}.viewer-layout-frame{position:relative;width:100%}.viewer-layout-outlet{position:absolute;overflow:visible}.viewer-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--canvas-muted);font-size:13px}.viewer-footer{display:flex;gap:16px;padding:6px 14px;background:var(--panel);border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--text)}.viewer-error h2{color:var(--danger);margin-bottom:8px}.workspace-sidebar{padding:8px 0;border-bottom:1px solid var(--border)}.ws-section{padding:4px 12px}.ws-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}.ws-select{width:100%;padding:4px 6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px}.ws-loading{font-size:11px;color:var(--muted);padding:4px 0}.ws-list{list-style:none;margin:0;padding:0}.ws-item{padding:6px 8px;font-size:12px;cursor:pointer;border-radius:4px;margin-bottom:2px}.ws-item:hover{background:var(--panel-2)}.ws-item.selected{background:var(--accent);color:#06242f}.ws-create{display:flex;gap:4px;margin-top:6px}.ws-input{flex:1;padding:4px 6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:11px}.ws-input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.toast-container{display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #0000004d;pointer-events:auto;animation:toast-in .2s ease-out;max-width:360px}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700}.toast-info{background:#1e40af;color:#e0f2fe}.toast-info .toast-icon{background:#3b82f6;color:#fff}.toast-success{background:#166534;color:#dcfce7}.toast-success .toast-icon{background:#22c55e;color:#fff}.toast-error{background:#991b1b;color:#fef2f2}.toast-error .toast-icon{background:#ef4444;color:#fff}.toast-warning{background:#92400e;color:#fef3c7}.toast-warning .toast-icon{background:#f59e0b;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.action-alert-fields{display:flex;flex-direction:column;gap:6px;margin-top:4px}.action-alert-row{display:flex;flex-direction:column;gap:2px}.action-alert-row label{font-size:10px;color:var(--muted)}.action-alert-row select,.action-alert-row input{width:100%;padding:4px 6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:11px}.action-alert-row select:focus:not(:focus-visible),.action-alert-row input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.action-alert-fields input{flex:1}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.field-label-row label{margin-bottom:0}.field-hint{font-size:11px;color:var(--muted);margin-top:2px}.list-field-rows{display:flex;flex-direction:column;gap:4px}.list-field-empty{font-size:11px;color:var(--muted);font-style:italic;padding:6px 0}.list-field-row{border:1px solid var(--border);border-radius:6px;background:var(--panel-2);overflow:hidden}.list-field-row-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer}.list-field-row-title{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-field-row-input{flex:1;min-width:0;padding:3px 6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px}.list-field-row-input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.list-field-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.list-field-row-actions .btn-xs{padding:2px 4px;line-height:0}.list-field-row-body{padding:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.list-field-pair{flex:1;display:flex;gap:4px;min-width:0}.list-field-pair .list-field-row-input{flex:1;min-width:0}.list-field-pair .list-field-row-input:first-child{flex:1.2}.table-columns-row{padding:8px;display:flex;flex-direction:column;gap:6px}.table-columns-row-top{display:flex;align-items:center;justify-content:space-between}.table-columns-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace}.table-columns-key-input{flex:1;min-width:0;background:var(--panel-2, rgba(0,0,0,.25));border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text);font-size:11px;font-weight:600;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:border-color .12s,background .12s}.table-columns-key-input:hover{border-color:var(--text-3, #888)}.table-columns-key-input:focus:not(:focus-visible){outline:none;border-color:var(--accent);background:var(--panel-3, rgba(0,0,0,.35))}.table-columns-actions{display:flex;gap:6px;margin-top:12px;padding-top:10px;flex-wrap:wrap;align-items:center;border-top:1px dashed var(--border)}.table-columns-available-label{font-size:10px;color:var(--text-3, #888);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-right:2px;flex-shrink:0}.table-columns-chip{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:500;padding:3px 8px;background:var(--panel-2, rgba(0,0,0,.25));border:1px solid var(--border);border-radius:12px;color:var(--text-2, #aaa);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:3px}.table-columns-chip:before{content:"+";font-size:11px;font-weight:700;color:var(--accent);line-height:1}.table-columns-chip:hover{background:var(--accent-bg, rgba(124, 92, 255, .15));border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.table-columns-alias,.table-columns-format,.table-columns-currency,.table-columns-locale{width:100%;padding:5px 8px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px;font-family:inherit;transition:border-color .12s,background .12s}.table-columns-alias:hover,.table-columns-format:hover,.table-columns-currency:hover,.table-columns-locale:hover{border-color:var(--text-3, #888)}.table-columns-alias:focus:not(:focus-visible),.table-columns-format:focus:not(:focus-visible),.table-columns-currency:focus:not(:focus-visible),.table-columns-locale:focus:not(:focus-visible){outline:none;border-color:var(--accent);background:var(--panel-3, rgba(0,0,0,.35))}.field-list-item{margin-bottom:0}.field-list-item label{font-size:11px}.list-field-add{margin-top:6px;display:inline-flex;align-items:center;gap:4px}.field-toggle{display:flex;align-items:center;justify-content:space-between}.field-toggle label:first-child{margin-bottom:0}.field-toggle-condition,.condition-builder{display:flex;flex-direction:column;gap:6px}.condition-builder-row{display:flex;align-items:center;gap:6px}.condition-builder-row select,.condition-builder-row input{font-size:11px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.condition-builder-word{font-size:11px;color:var(--muted);flex-shrink:0}.condition-builder-dot{font-size:11px;color:var(--muted)}.condition-builder-field{flex:1;min-width:0;font-family:var(--mono, monospace)}.condition-builder-value{flex:1;min-width:0}.field-color-row{display:flex;gap:6px;align-items:center}.field-color-input{width:32px;height:28px;padding:1px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2);cursor:pointer;flex-shrink:0}.field-color-input::-webkit-color-swatch-wrapper{padding:2px}.field-color-input::-webkit-color-swatch{border:none;border-radius:2px}.field-color-text{flex:1;min-width:0;font-size:12px;font-family:var(--mono)}.toggle{position:relative;display:inline-block;width:34px;height:18px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--panel-2);border:1px solid var(--border);border-radius:18px;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:12px;height:12px;left:2px;bottom:2px;background:var(--muted);border-radius:50%;transition:.2s}.toggle input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(16px);background:#06242f}.field select{width:100%;padding:5px 8px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer}.field select:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.field input[type=number]{width:100%;padding:5px 8px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px}.field input[type=number]:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.field>input[type=text],.field>input:not([type]){width:100%;padding:5px 8px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px;margin-top:4px}.field>input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.field-label-actions{display:flex;gap:4px;align-items:center}.binding-picker-trigger{font-weight:500}.binding-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}.binding-picker{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:320px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.binding-picker-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:12px}.binding-picker-search{margin:8px;padding:6px 8px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:12px}.binding-picker-search:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.binding-picker-list{overflow-y:auto;flex:1;padding:0 8px 8px}.binding-picker-section{margin-bottom:8px}.binding-picker-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:4px 0}.binding-picker-group{margin-bottom:4px}.binding-picker-widget-name{font-size:11px;font-weight:600;color:var(--text);padding:2px 0}.binding-picker-type{font-weight:400;color:var(--muted);font-size:10px}.binding-picker-active{font-size:9px;background:var(--ok);color:#06242f;padding:1px 4px;border-radius:4px;margin-left:4px;font-weight:600}.binding-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 8px;background:none;border:1px solid transparent;border-radius:4px;color:var(--accent);font-family:monospace;font-size:11px;cursor:pointer;text-align:left}.binding-picker-item:hover{background:var(--panel-2);border-color:var(--border)}.binding-picker-item-label{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px}.binding-picker-item-alias{color:var(--muted);border-top:1px solid var(--border);margin-top:2px;padding-top:3px}.binding-picker-item-alias:hover{color:var(--accent)}.binding-picker-item-hint{padding:4px 8px;color:var(--muted);font-size:11px;line-height:1.4;font-style:italic}.binding-picker-empty{text-align:center;color:var(--muted);padding:16px;font-size:12px}.w-switch{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.w-switch input{display:none}.w-switch-slider{position:relative;width:36px;height:20px;background:var(--border);border-radius:20px;transition:.2s;flex-shrink:0}.w-switch-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;bottom:3px;background:var(--text);border-radius:50%;transition:.2s}.w-switch input:checked+.w-switch-slider{background:var(--accent)}.w-switch input:checked+.w-switch-slider:before{transform:translate(16px);background:#06242f}.w-switch-label{font-size:12px;color:var(--canvas-text)}.w-textarea{width:100%;flex:1;min-height:0;box-sizing:border-box;padding:6px 10px;background:var(--canvas-bg);color:var(--canvas-text);border:1px solid var(--canvas-border);border-radius:6px;font-size:13px;font-family:inherit;resize:vertical}.w-textarea:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.w-tabs{display:flex;flex-direction:column;border:1px solid var(--canvas-border);border-radius:6px;overflow:hidden;background:var(--canvas-bg)}.w-tabs-header{display:flex;border-bottom:1px solid var(--border)}.w-tab{flex:1;padding:8px 12px;background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:.15s}.w-tab:hover{color:var(--canvas-text)}.w-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#38bdf80d}.w-tabs-body{padding:12px;min-height:60px}.tabs-header{display:flex;border-bottom:1px solid #cbd5e1;background:#f1f5f9}.tabs-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:.15s}.tabs-tab:hover{color:var(--text);background:#38bdf80f}.tabs-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.w-datepicker{display:flex;flex-direction:column;gap:4px;position:relative}.w-datepicker-label{font-size:12px;color:var(--canvas-text);font-weight:500}.w-datepicker-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:4px 9px;min-height:28px;background:var(--canvas-bg);color:var(--canvas-text);border:1px solid var(--canvas-border);border-radius:6px;font-size:12px;font-family:inherit;cursor:pointer;box-sizing:border-box}.w-datepicker-trigger:hover{border-color:var(--canvas-muted)}.w-datepicker-trigger svg{flex-shrink:0;color:var(--canvas-muted)}.w-datepicker-placeholder{color:var(--canvas-muted)}.w-datepicker-hint{font-size:10px;color:var(--canvas-muted)}.w-datepicker-popup{z-index:1000;width:220px;padding:8px;background:var(--canvas-bg);border:1px solid var(--canvas-border);border-radius:8px;box-shadow:0 8px 24px #00000026}.w-datepicker-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--canvas-text)}.w-datepicker-nav button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--canvas-muted);cursor:pointer;border-radius:4px}.w-datepicker-nav button:hover{background:var(--canvas-bg-2);color:var(--canvas-text)}.w-datepicker-weekdays,.w-datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.w-datepicker-weekdays span{font-size:10px;color:var(--canvas-muted);text-align:center;font-weight:600}.w-datepicker-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:none;background:transparent;border-radius:4px;font-size:11px;color:var(--canvas-text);cursor:pointer}.w-datepicker-cell.empty{cursor:default}.w-datepicker-cell:not(.empty):hover{background:var(--canvas-bg-2)}.w-datepicker-cell.today{font-weight:700;color:var(--accent-2, #0ea5e9)}.w-datepicker-cell.selected{background:#38bdf8;color:#06242f;font-weight:700}.w-datepicker-cell.disabled{color:var(--canvas-border);cursor:not-allowed}.w-datepicker-cell.disabled:hover{background:transparent}.w-datepicker-trigger:disabled{cursor:not-allowed;background:var(--canvas-bg-2);color:var(--canvas-muted);opacity:.7}.w-chart{width:100%;height:100%;display:flex;flex-direction:column;padding:8px;border:1px solid var(--canvas-border);border-radius:6px;background:var(--canvas-bg);overflow:hidden}.w-chart-title{text-align:center;font-size:13px;font-weight:600;color:var(--canvas-text, var(--text));padding:0 4px 8px;letter-spacing:.01em;flex-shrink:0}.w-chart-canvas-wrap{flex:1;min-height:0;position:relative}.w-chart-canvas-wrap canvas,.w-chart-pie-canvas-wrap canvas{width:100%!important;height:100%!important}.w-chart-pie-layout{display:flex;align-items:center;gap:12px;width:100%;height:100%;min-height:0}.w-chart-pie-canvas-wrap{position:relative;flex:0 0 auto;width:55%;max-width:180px;aspect-ratio:1}.w-chart-donut-total{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.w-chart-donut-total-value{font-size:15px;font-weight:700;color:var(--text);line-height:1.1}.w-chart-donut-total-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.w-chart-pie-legend{flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.w-chart-pie-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.2;padding:2px 4px;border-radius:4px;cursor:pointer;transition:background .1s}.w-chart-pie-legend-item:hover,.w-chart-pie-legend-item.hovered{background:color-mix(in srgb,var(--accent-2) 8%,transparent)}.w-chart-pie-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.w-chart-pie-legend-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-chart-pie-legend-val{font-weight:600;white-space:nowrap}.w-gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:8px;box-sizing:border-box}.w-gauge-svg{width:100%;max-width:200px;aspect-ratio:2/1;overflow:visible}.w-gauge-label{font-size:20px;font-weight:700;line-height:1.1;text-align:center;color:var(--canvas-text, var(--text))}.w-gauge-label-sm{font-size:14px}.w-gauge-label-lg{font-size:28px}.w-gauge-sublabel{font-size:11px;color:var(--canvas-muted, var(--text-dim));text-align:center;margin-top:2px}.w-iframe{width:100%;height:100%;border:none;border-radius:inherit;background:var(--canvas-panel, #fff)}.w-jsonform{width:100%;height:100%;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:8px}.w-jsonform-title{font-size:13px;font-weight:600;color:var(--canvas-text, var(--text));margin-bottom:2px}.w-jsonform-field{display:flex;flex-direction:column;gap:3px}.w-jsonform-field label{font-size:11px;color:var(--canvas-muted, var(--text-dim));text-transform:capitalize}.w-jsonform-field input[type=text],.w-jsonform-field input[type=number]{padding:5px 7px;border-radius:4px;font-size:13px;background:var(--canvas-input-bg, var(--input-bg));border:1px solid var(--canvas-border, var(--border));color:var(--canvas-text, var(--text))}.w-jsonform-field-bool{flex-direction:row;align-items:center;gap:6px}.w-jsonform-field-bool span{font-size:13px;color:var(--canvas-text, var(--text));text-transform:capitalize}.w-richtext{display:flex;flex-direction:column;height:100%;border:1px solid var(--canvas-border);border-radius:6px;background:var(--canvas-bg);overflow:hidden}.w-richtext-toolbar{display:flex;gap:2px;padding:4px 6px;border-bottom:1px solid var(--canvas-border);background:var(--canvas);flex-shrink:0;flex-wrap:wrap}.w-richtext-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--canvas-text);cursor:pointer;font-size:12px;font-family:inherit}.w-richtext-toolbar button:hover{background:var(--canvas-border)}.w-richtext-toolbar button.active{background:var(--accent, #38bdf8);color:#06242f}.w-richtext-content{flex:1;min-height:0;overflow:auto;padding:8px 10px;font-size:13px;line-height:1.5;color:var(--canvas-text)}.w-richtext-content:focus:not(:focus-visible){outline:none}.w-richtext-content .tiptap{min-height:100%}.w-richtext-content .tiptap:focus:not(:focus-visible){outline:none}.w-richtext-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--canvas-muted);pointer-events:none;height:0}.w-richtext-content h1{font-size:1.6em;font-weight:700;margin:.4em 0}.w-richtext-content h2{font-size:1.3em;font-weight:600;margin:.3em 0}.w-richtext-content h3{font-size:1.1em;font-weight:600;margin:.3em 0}.w-richtext-content ul,.w-richtext-content ol{padding-left:1.4em;margin:.3em 0}.w-richtext-content blockquote{border-left:3px solid var(--accent, #38bdf8);padding-left:10px;margin:.3em 0;color:var(--canvas-muted);font-style:italic}.w-richtext-content a{color:var(--accent, #0ea5e9);text-decoration:underline}.w-richtext-placeholder{position:absolute;top:36px;left:10px;color:var(--canvas-muted);font-size:13px;pointer-events:none}.w-treeselect{position:relative;width:100%}.w-treeselect-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:32px;padding:4px 8px;border:1px solid var(--canvas-border);border-radius:6px;background:var(--canvas-bg);cursor:pointer;font-size:13px;color:var(--canvas-text);text-align:left;transition:border-color .1s}.w-treeselect-trigger:hover{border-color:var(--canvas-muted)}.w-treeselect-placeholder{color:var(--canvas-muted)}.w-treeselect-dropdown{background:var(--canvas-bg);border:1px solid var(--canvas-border);border-radius:6px;box-shadow:0 8px 24px #0000001f;z-index:1000;max-height:280px;display:flex;flex-direction:column;overflow:hidden}.w-treeselect-search{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--canvas-border);color:var(--canvas-muted);flex-shrink:0}.w-treeselect-search input{flex:1;border:none;background:transparent;font-size:13px;color:var(--canvas-text)}.w-treeselect-list{overflow-y:auto;padding:4px 0;flex:1;min-height:0}.w-treeselect-empty{padding:10px 12px;color:var(--canvas-muted);font-size:12px;text-align:center}.w-treeselect-node{display:flex;align-items:center;gap:4px;padding:5px 8px;cursor:pointer;font-size:13px;color:var(--canvas-text);transition:background .1s}.w-treeselect-node:hover{background:color-mix(in srgb,var(--accent-2) 6%,var(--canvas-bg))}.w-treeselect-node.selected{background:color-mix(in srgb,var(--accent-2) 12%,var(--canvas-bg));color:var(--canvas-text);font-weight:500}.w-treeselect-node-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--canvas-muted);cursor:pointer;border-radius:4px;flex-shrink:0;transition:transform .15s,background .1s}.w-treeselect-node-chevron:hover{background:color-mix(in srgb,var(--canvas-border) 40%,var(--canvas-bg))}.w-treeselect-node-chevron.expanded{transform:rotate(90deg)}.w-treeselect-node-spacer{width:16px;flex-shrink:0}.w-treeselect-checkbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1.5px solid var(--canvas-border);border-radius:4px;flex-shrink:0;transition:background .1s,border-color .1s}.w-treeselect-checkbox.checked{background:var(--accent-2);border-color:var(--accent-2);color:var(--canvas-bg)}.w-treeselect-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-switchgroup,.w-checkboxgroup{display:flex;flex-direction:column;gap:4px}.w-switchgroup-horizontal,.w-checkboxgroup-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px}.w-switchgroup-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--canvas-text, var(--text))}.w-switchgroup-item input{display:none}.w-switchgroup-slider{position:relative;width:32px;height:18px;flex-shrink:0;background:#cbd5e1;border-radius:8px;transition:background .2s}.w-switchgroup-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s}.w-switchgroup-item input:checked+.w-switchgroup-slider{background:var(--accent, #38bdf8)}.w-switchgroup-item input:checked+.w-switchgroup-slider:after{transform:translate(14px)}.w-switchgroup-label{-webkit-user-select:none;user-select:none}.w-checkboxgroup-item{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--canvas-text, var(--text))}.w-checkboxgroup-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent, #38bdf8);cursor:pointer}.w-map{width:100%;border-radius:6px;overflow:hidden}.w-map-container{width:100%;height:100%}.w-map-marker-icon{background:none!important;border:none!important}.leaflet-popup-content-wrapper{border-radius:6px}.w-signature{display:flex;flex-direction:column;gap:6px}.w-signature-label{font-size:13px;font-weight:500;color:var(--canvas-text, var(--text))}.w-signature-canvas{width:100%;height:200px;border:1px solid var(--canvas-border, #333);border-radius:6px;cursor:crosshair;touch-action:none}.w-signature-clear{align-self:flex-end;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.w-signature-clear:hover{color:var(--danger, #ef4444);background:#ef44441a}.w-toast{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:13px;color:var(--canvas-text, var(--text));transition:opacity .3s,transform .3s}.w-toast-hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.w-toast-icon{flex-shrink:0;display:flex}.w-toast-message{flex:1}.w-toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--muted);padding:2px;border-radius:4px;display:flex}.w-toast-close:hover{color:var(--canvas-text, var(--text));background:#ffffff1a}.w-fileupload{display:flex;flex-direction:column;gap:6px;cursor:pointer}.w-fileupload-input{display:none}.w-fileupload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--canvas-bg-2);border:1px dashed var(--canvas-border);border-radius:6px;color:var(--canvas-muted);font-size:12px;transition:.15s}.w-fileupload:hover .w-fileupload-btn{border-color:var(--accent);background:#38bdf80d}.w-fileupload-list{display:flex;flex-direction:column;gap:2px}.w-fileupload-file{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--accent);padding:2px 0;text-decoration:none}.w-fileupload-file:hover{text-decoration:underline}.w-fileupload-input:disabled+.w-fileupload-btn{opacity:.6;cursor:not-allowed}.w-image{width:100%;height:100%;overflow:hidden;border-radius:6px;background:var(--canvas-bg-2)}.w-image img{width:100%;height:100%;display:block}.w-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--canvas-text)}.w-checkbox input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.w-divider{width:100%;border:none;border-top:1px solid var(--canvas-border);margin:0}.w-radiogroup{display:flex;flex-direction:column;gap:6px}.w-radiogroup-item{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--canvas-text)}.w-radiogroup-item input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.w-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--canvas-text)}.w-stat{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.w-stat-label{font-size:11px;color:var(--canvas-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.w-stat-value{font-weight:700;line-height:1.1;color:var(--canvas-text, #1e293b)}.w-stat-sm .w-stat-value{font-size:16px}.w-stat-sm .w-stat-label{font-size:10px}.w-stat-md .w-stat-value{font-size:24px}.w-stat-md .w-stat-label{font-size:11px}.w-stat-lg .w-stat-value{font-size:32px}.w-stat-lg .w-stat-label{font-size:12px}.w-stat-xl .w-stat-value{font-size:42px}.w-stat-xl .w-stat-label{font-size:13px}.w-stat-trend{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.w-stat-trend-up{color:var(--ok)}.w-stat-trend-down{color:var(--danger)}.w-stat-trend-label{font-weight:400;color:var(--muted);margin-left:2px}.w-badge-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap}.w-progress{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:4px}.w-progress-label{font-size:11px;color:var(--canvas-muted)}.w-progress-track{width:100%;height:8px;border-radius:4px;background:var(--canvas-bg-2);overflow:hidden}.w-progress-fill{height:100%;width:100%;border-radius:4px;transform-origin:left;transition:transform .2s}.w-link{display:inline-flex;align-items:center;color:var(--accent);font-size:13px;text-decoration:none;border:none;background:transparent;padding:0;cursor:pointer;font-family:inherit}.w-link:hover{text-decoration:underline}.w-avatar{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:600;flex-shrink:0}.w-avatar img{width:100%;height:100%;object-fit:cover}.w-avatar-small{font-size:10px}.w-avatar-medium{font-size:13px}.w-avatar-large{font-size:18px}.w-rating{display:flex;align-items:center;gap:2px;height:100%}.w-rating-star{padding:0;border:none;background:transparent;cursor:pointer;color:#eab308;display:flex;align-items:center;transition:transform .1s}.w-rating-star:hover{transform:scale(1.15)}.w-taginput{flex:1;min-height:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--canvas-border);border-radius:6px;background:var(--canvas-bg);overflow:auto}.w-taginput-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:10px;background:var(--canvas-bg-2);color:var(--canvas-text);font-size:11px;white-space:nowrap}.w-taginput-chip button{display:flex;align-items:center;padding:1px;border:none;background:transparent;color:var(--canvas-muted);cursor:pointer;border-radius:3px;transition:background .1s,color .1s}.w-taginput-chip button:hover{background:color-mix(in srgb,var(--danger) 15%,var(--canvas-bg));color:var(--danger)}.w-taginput-input{flex:1;min-width:60px;border:none;background:transparent;font-size:12px;color:var(--canvas-text)}.w-slider{position:relative;flex:1;min-height:20px;display:flex;align-items:center}.w-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;margin:0;z-index:1;position:relative}.w-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #0000004d;cursor:grab;position:relative;z-index:2;transition:transform .12s}.w-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}.w-slider input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.05)}.w-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #0000004d;cursor:grab;transition:transform .12s}.w-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}.w-slider input[type=range]:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.05)}.w-slider-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;background:var(--canvas-border);overflow:hidden;pointer-events:none}.w-slider-fill{height:100%;width:100%;background:var(--accent);border-radius:2px;transform-origin:left;transition:transform .18s ease}.w-slider-value{font-size:11px;color:var(--canvas-muted);min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.rail-group{display:flex;flex-shrink:0}.rail-dock{width:44px;padding:10px 0;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-2);border-right:1px solid var(--border)}.rail-dock-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.rail-dock-btn:hover{background:var(--panel-2);color:var(--text)}.rail-dock-btn.active{background:var(--accent-gradient);color:var(--accent-contrast)}.rail-panel{width:232px;flex-shrink:0;padding:12px;overflow-y:auto;background:var(--panel);border-right:1px solid var(--border)}.rail-panel-wide{width:380px}.widget-palette{display:flex;flex-direction:column;gap:14px}.palette-search{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.palette-search input{flex:1;background:none;border:none;color:var(--text);font-size:13px}.palette-search input:focus:not(:focus-visible){outline:none}.palette-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600;margin-bottom:6px}.palette-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.palette-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:11px;text-align:center}.palette-item:hover{border-color:var(--accent-1);color:var(--accent-2)}.explorer-panel{display:flex;flex-direction:column;padding:0 10px}.wtree{display:flex;flex-direction:column;gap:1px}.wtree-row{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text)}.wtree-row:hover{background:var(--panel-2)}.wtree-row.selected{background:#54e3ff1f;color:var(--accent-2)}.wtree-icon{flex-shrink:0;opacity:.8}.wtree-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pages-panel{display:flex;flex-direction:column;gap:2px;padding:0 2px}.pages-list{display:flex;flex-direction:column;gap:1px}.pages-list-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}.pages-list-item:hover{background:var(--panel-2)}.pages-list-item.selected{background:#54e3ff1a;color:var(--accent-2)}.pages-list-item.selected .pages-list-idx{background:var(--accent-2);color:var(--accent-contrast)}.pages-list-idx{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:10px;font-weight:600;background:var(--panel-2);color:var(--muted);transition:background .1s,color .1s}.pages-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pages-list-rename-input{flex:1;min-width:0;background:var(--input-bg);border:1px solid var(--accent-2);border-radius:4px;color:var(--text);font-size:12px;padding:2px 6px}.pages-list-home-badge{flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-2);background:#54e3ff1a;border-radius:4px;padding:1px 5px}.pages-list-trigger-dot{flex-shrink:0;font-size:10px;opacity:.6}.pages-list-icon{flex-shrink:0;opacity:.7}.pages-list-item.chrome-item{margin-bottom:2px;padding:6px 10px;border:1px solid var(--border);border-style:dashed;background:var(--panel);font-size:12px}.pages-list-item.chrome-item.selected{border-color:var(--accent-2);border-style:solid;background:#54e3ff0f}.page-ctx-menu{position:relative;flex-shrink:0}.page-ctx-trigger{background:none;border:none;color:var(--muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .15s,color .1s}.pages-list-item:hover .page-ctx-trigger{opacity:1}.page-ctx-trigger:hover{color:var(--text);background:var(--panel-2)}.page-ctx-dropdown{position:absolute;right:0;top:calc(100% + 2px);z-index:200;min-width:180px;padding:4px 0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006}.page-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:none;color:var(--text);font-size:12px;cursor:pointer;text-align:left;transition:background .08s}.page-ctx-item:hover:not(:disabled){background:var(--panel-2)}.page-ctx-item:disabled{opacity:.3;cursor:not-allowed}.page-ctx-item.danger{color:var(--danger)}.page-ctx-item.danger:hover{background:#f871711a}.page-ctx-sep{height:1px;background:var(--border);margin:4px 8px}.page-triggers-panel{padding:4px 0 6px 26px;display:flex;flex-direction:column;gap:0}.page-trigger-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;cursor:pointer;transition:background .08s}.page-trigger-row:hover{background:#ffffff08}.page-trigger-label{flex:1;font-size:11px;color:var(--muted)}.page-trigger-count{flex-shrink:0;font-size:10px;color:var(--muted);opacity:.7}.page-trigger-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s}.page-trigger-chevron.open{transform:rotate(180deg)}.page-trigger-detail{padding:4px 8px 4px 0}.trigger-actions{display:flex;flex-direction:column;gap:2px}.trigger-action-item{border-radius:6px;overflow:hidden;border:1px solid transparent;transition:border-color .1s}.trigger-action-item.open{border-color:var(--border);background:var(--panel-2)}.trigger-action-head{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;border-radius:6px;transition:background .08s}.trigger-action-head:hover{background:#ffffff08}.trigger-action-item.open .trigger-action-head{border-radius:0}.trigger-action-name{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-family:Outfit,monospace}.trigger-action-head-actions{display:flex;gap:2px;flex-shrink:0}.trigger-action-del{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;opacity:0;transition:opacity .1s,color .1s}.trigger-action-head:hover .trigger-action-del{opacity:1}.trigger-action-del:hover{color:var(--danger)}.trigger-action-editor{padding:8px;border-top:1px solid var(--border)}.trigger-action-editor .field{margin-bottom:0}.trigger-action-editor .field label{font-size:10px}.trigger-action-editor select{font-size:11px}.trigger-action-add{align-self:flex-start;margin-top:2px;padding:3px 8px;font-size:11px;border-radius:4px;border:1px dashed var(--border);background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:4px;transition:border-color .1s,color .1s}.trigger-action-add:hover{border-color:var(--accent-2);color:var(--accent-2)}.tree-ws{font-weight:500}.tree-app,.tree-page{padding-left:8px}.tree-children{padding-left:14px}.tree-chevron{width:12px;font-size:9px;color:var(--muted);flex-shrink:0;text-align:center}.tree-icon{width:14px;text-align:center;flex-shrink:0;font-size:12px}.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.tree-action{opacity:0}.explorer-row:hover .tree-action{opacity:1}.ws-inline-create{display:flex;gap:4px;padding:4px 12px;align-items:center}.ws-inline-create .ws-input{flex:1}.ws-inline-create-row{padding:2px 0 4px}.ws-btn-icon{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer;min-width:24px;min-height:24px;padding:4px;font-size:11px;border-radius:4px}.ws-btn-icon:hover{color:var(--text);background:var(--panel-2)}.tools-content{display:flex;flex-direction:column;gap:4px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.confirm-dialog{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px 24px;min-width:320px;max-width:400px;box-shadow:0 16px 48px #0006;animation:slideUp .2s ease}.confirm-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.confirm-message{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-btn{padding:7px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:.15s}.confirm-btn.cancel{background:var(--panel-2);color:var(--text);border-color:var(--border)}.confirm-btn.cancel:hover{background:#ffffff0f}.confirm-btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.confirm-btn.danger:hover{background:#b91c1c}.confirm-btn.primary{background:var(--accent);color:#06242f}.confirm-btn.primary:hover{opacity:.9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.home{height:100vh;display:flex;flex-direction:column;background:var(--bg)}.home-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;flex-shrink:0;background:var(--panel);box-shadow:0 1px 0 0 var(--border)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;flex-shrink:0}.theme-toggle-btn:hover{background:var(--panel-2);color:var(--text)}.home-header-actions{display:flex;align-items:center;gap:8px}.admin-btn-with-badge{position:relative}.admin-btn-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:var(--danger);color:#fff;font-size:10px;font-weight:700;border-radius:999px;line-height:1}.home-body{flex:1;overflow-y:auto;padding:32px 40px 60px;max-width:920px;margin:0 auto;width:100%;overflow-anchor:none;scrollbar-width:none;-ms-overflow-style:none}.home-body::-webkit-scrollbar{display:none}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:100px}.admin-panel{width:480px;max-height:60vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 48px #0006}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}.admin-panel-header span{display:flex;align-items:center;gap:6px}.admin-panel-tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--border)}.admin-panel-tab{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--muted);font-size:12px;padding:8px 10px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-org-stats{font-size:11px;color:var(--muted)}.admin-org-plan-select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12px}.admin-panel-empty{padding:32px 16px;text-align:center;color:var(--muted);font-size:13px}.admin-panel-error{color:var(--danger)}.admin-panel-list{overflow-y:auto}.admin-panel-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}.admin-panel-row:last-child{border-bottom:none}.admin-panel-row-info{display:flex;flex-direction:column;gap:2px}.admin-panel-row-email{font-size:13px;color:var(--text)}.admin-panel-row-date{font-size:11px;color:var(--muted)}.admin-panel-row-actions{display:flex;gap:6px}.admin-panel-btn.approve:hover{border-color:var(--ok);color:var(--ok)}.admin-panel-btn.reject:hover{border-color:var(--danger);color:var(--danger)}.home-section{margin-bottom:32px}.home-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.home-section-title{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600}.home-audit-visibility-toggle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.home-audit-visibility-toggle input{accent-color:var(--accent);cursor:pointer}.home-loading,.home-empty{font-size:12px;color:var(--muted);padding:10px 0;line-height:1.5}.home-skeleton{height:32px;border-radius:6px;background:linear-gradient(90deg,var(--panel-2) 0%,color-mix(in srgb,var(--panel-2) 50%,var(--panel)) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:home-skeleton-shimmer 1.6s ease-in-out infinite}.home-skeleton-pill{width:40%;margin-bottom:6px}.home-skeleton-card{width:100%;height:110px;border-radius:10px}@keyframes home-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.home-skeleton{animation:none}}.home-empty-teaching{padding:14px 16px;background:var(--panel-2);outline:1px dashed var(--border);outline-offset:-1px;border-radius:10px;display:flex;flex-direction:column;gap:6px}.home-empty-teaching p{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.home-empty-teaching p strong{color:var(--accent);font-weight:600}.home-empty-teaching .home-empty-hint{font-size:12px;color:var(--muted)}.home-empty-teaching-apps{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel-2)) 0%,var(--panel-2) 100%);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.home-context{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:5px 10px;background:color-mix(in srgb,var(--accent) 8%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));outline-offset:-1px;border-radius:999px;font-size:12px;color:var(--muted)}.home-context-eyebrow{font-family:var(--mono, ui-monospace, monospace);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.home-context-name{color:var(--text);font-weight:500}.home-plan-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.home-plan-piloto{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.home-plan-pro{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.home-plan-empresarial{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#f59e0b}.home-plan-upgrade{font-size:11px;color:var(--accent);text-decoration:none;margin-left:2px}.home-plan-upgrade:hover{text-decoration:underline}.home-plan-upgrade-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#0b0b12;background:var(--accent);border:none;border-radius:999px;padding:5px 10px;margin-left:2px;cursor:pointer;transition:opacity .15s}.home-plan-upgrade-btn:hover{opacity:.85}.home-plan-upgrade-btn:disabled{opacity:.6;cursor:not-allowed}.home-pill-row{display:flex;flex-wrap:wrap;gap:8px}.home-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:none;outline:1px solid var(--border);outline-offset:-1px;background:var(--panel);color:var(--text);font-size:13px;cursor:pointer}.home-pill:hover{outline-color:var(--accent-1)}.home-pill.active{background:var(--accent-gradient);color:var(--accent-contrast);outline-color:transparent;font-weight:600}.home-pill-del{display:inline-flex;opacity:.55;border-radius:50%;padding:2px}.home-pill-del:hover{opacity:1;background:#00000026}.home-members-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.home-members-list-loading,.home-pill-row-loading{opacity:.55;pointer-events:none}.home-member-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel);font-size:13px}.home-member-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-member-role{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:999px;color:var(--muted);background:var(--panel-2)}.home-member-role-admin{color:var(--accent);background:#38bdf81f}.home-member-del{display:inline-flex;opacity:.55;border-radius:50%;padding:3px;background:none;border:none;color:var(--text);cursor:pointer}.home-member-del:hover{opacity:1;color:var(--danger);background:#f871711a}.home-member-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.home-member-add-input{flex:1 1 160px;min-width:0;max-width:280px;padding:7px 10px;border-radius:6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-size:13px}.home-member-add-role{padding:7px 8px;border-radius:6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-size:13px}.home-member-error{font-size:12px;color:var(--danger);margin-top:6px}.home-member-hint{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}.home-audit-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.home-audit-row{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel);font-size:12px}.home-audit-time{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.home-audit-action{font-size:11px;text-transform:uppercase;letter-spacing:.3px;padding:1px 6px;border-radius:999px;color:var(--accent);background:#38bdf81f;flex-shrink:0}.home-audit-actor{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.home-audit-empty{font-size:12px;color:var(--muted);padding:8px 0}.inline-create{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.inline-create-input{flex:1 1 80px;min-width:0;max-width:280px;padding:7px 10px;border-radius:6px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-size:13px}.inline-create-input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.inline-create-btn{flex-shrink:0;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:12px;cursor:pointer;display:inline-flex;align-items:center}.inline-create-btn.ok{background:var(--accent-gradient);color:var(--accent-contrast);border-color:transparent;font-weight:600}.inline-create-btn:disabled{opacity:.4;cursor:not-allowed}.home-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.app-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 12px;border-radius:10px;outline:1px solid var(--border);outline-offset:-1px;background:var(--panel);cursor:pointer;transition:outline-color .15s,transform .1s}.app-card:hover{outline-color:var(--accent-1)}.app-card:active{transform:scale(.98)}.home-app-grid-loading{opacity:.55;pointer-events:none}.home-app-grid-badge{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);font-size:11.5px;font-weight:500;margin-bottom:6px}.app-card-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--accent-2)}.app-card-name{font-size:13px;text-align:center;word-break:break-word;max-width:100%}.app-card-del{position:absolute;top:6px;right:6px;background:none;border:none;color:var(--muted);opacity:0;cursor:pointer;padding:3px;border-radius:4px}.app-card:hover .app-card-del{opacity:1}.app-card-del:hover{color:var(--danger);background:#f871711a}.app-card-rename{position:absolute;top:6px;right:46px;background:none;border:none;color:var(--muted);opacity:0;cursor:pointer;padding:3px;border-radius:4px}.app-card:hover .app-card-rename{opacity:1}.app-card-rename:hover{color:var(--accent-2);background:#54e3ff1a}.app-card-export{position:absolute;top:6px;right:26px;background:none;border:none;color:var(--muted);opacity:0;cursor:pointer;padding:3px;border-radius:4px}.app-card:hover .app-card-export{opacity:1}.app-card-export:hover{color:var(--accent);background:#54e3ff1a}.app-card-rename-input{font-size:13px;text-align:center;max-width:100%;width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--accent-1);border-radius:6px;padding:3px 6px}.app-card-new{border-style:dashed;color:var(--muted)}.app-card-new:hover{color:var(--accent);border-color:var(--accent-1)}.print-header{display:none}.print-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center}.print-preview-modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:90vw;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.print-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.print-preview-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text)}.print-preview-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px}.print-preview-close:hover{color:var(--text);background:var(--border-1)}.print-preview-info{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border)}.print-preview-sep{opacity:.4}.print-preview-canvas{flex:1;overflow:auto;padding:16px;background:#fff;border-radius:0 0 10px 10px;min-height:300px;max-height:65vh}.print-preview-canvas .canvas{box-shadow:none;border-radius:0;min-width:0;width:100%}.print-preview-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}.print-preview-actions .btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none}.print-preview-actions .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.print-preview-actions .btn-secondary:hover{border-color:var(--accent)}.print-preview-actions .btn-primary{background:var(--accent);color:#06242f}.print-preview-actions .btn-primary:hover{opacity:.9}@media print{.viewer-topbar,.viewer-footer,.topbar,.explorer,.tools,.panel,.debug-drawer,.statusbar,.toast-container,.resize-handle,.left-rail,.property-panel,.pages-panel,.ds-panel,.query-panel,.query-editor,.js-objects-panel,.print-preview-overlay{display:none!important}.print-header{display:flex!important;justify-content:space-between;align-items:baseline;padding:0 0 8px;margin-bottom:12px;border-bottom:2px solid #1a1a23}.print-header-brand{font-size:16px;font-weight:700;color:#1a1a23}.print-header-date{font-size:11px;color:#666}html,body{height:auto!important;overflow:visible!important}.viewer,.body,.app{height:auto!important;display:block!important}.viewer-canvas,.canvas-area{padding:0!important;overflow:visible!important;background:#fff!important;display:block!important}.canvas{box-shadow:none!important;border-radius:0!important;min-width:0!important;min-height:0!important;width:100%!important}.frame{outline:none!important;box-shadow:none!important;cursor:default!important}.frame.selected{outline:none!important;box-shadow:none!important}.frame:hover{outline-color:transparent!important}.frame-label{display:none!important}.frame-container{outline:none!important;background:transparent!important}.w-btn,.w-select-trigger,.w-datepicker-trigger{pointer-events:none!important}.w-table-scroll{overflow:visible!important}.w-table th,.w-table td{border-color:#e2e8f0!important}.w-input,.w-select,.w-textarea,.w-datepicker{pointer-events:none!important}.w-table,.w-image img{page-break-inside:avoid}.modal-overlay{background:transparent!important}.modal-content{box-shadow:none!important;border:1px solid #e2e8f0!important}p,h1,h2,h3,h4{orphans:3;widows:3}.viewer-layout-outlet{position:static!important;overflow:visible!important;width:100%!important;height:auto!important}.viewer-layout-frame{width:100%!important}}.tpl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.tpl-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px 32px;max-width:780px;width:95%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.tpl-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.tpl-title{font-size:20px;font-weight:700;margin:0 0 4px}.tpl-sub{font-size:13px;color:var(--muted);margin:0}.tpl-blank-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.tpl-blank-btn:hover{border-color:var(--accent);color:var(--accent)}.tpl-blank-btn:disabled{opacity:.5;cursor:not-allowed}.tpl-header-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.tpl-close-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;padding:0}.tpl-close-btn:hover{background:var(--panel-2);color:var(--text)}.tpl-close-btn:disabled{opacity:.4;cursor:not-allowed}.tpl-close-btn:disabled:hover{background:transparent;color:var(--muted)}.tpl-ai-btn{border-color:var(--accent-1);color:var(--accent-1)}.tpl-ai-btn:hover{background:var(--accent-gradient);color:var(--accent-contrast);border-color:transparent}.tpl-ai-modal{max-width:520px}.tpl-ai-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 4px;gap:12px}.tpl-ai-result-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.tpl-ai-result-ok .tpl-ai-result-icon{background:#4ade8026;color:var(--ok)}.tpl-ai-result-warn .tpl-ai-result-icon{background:#f8717126;color:var(--danger)}.tpl-ai-result-message{font-size:14px;color:var(--text);line-height:1.5;margin:0;max-width:400px}.tpl-ai-result-actions{display:flex;gap:10px;margin-top:4px}.tpl-title{display:flex;align-items:center;gap:7px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tpl-card{background:var(--canvas-bg);border:2px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;text-align:left;transition:border-color .15s;display:flex;flex-direction:column;gap:10px}.tpl-card:hover{border-color:var(--accent-2)}.tpl-card-selected{border-color:var(--accent);background:#6366f10f}.tpl-card-icon{width:40px;height:40px;border-radius:8px;background:#6366f11f;color:var(--accent);display:flex;align-items:center;justify-content:center}.tpl-card-thumb{position:relative;width:100%;height:64px;background:var(--canvas-bg-2);border:1px solid var(--canvas-border);border-radius:6px;overflow:hidden;flex-shrink:0}.tpl-card-thumb-block{position:absolute;background:color-mix(in srgb,var(--accent) 35%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:2px}.tpl-card-body{flex:1}.tpl-card-name{font-size:13px;font-weight:600;margin-bottom:4px}.tpl-card-desc{font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:6px}.tpl-card-meta{display:flex;align-items:center;gap:8px}.tpl-complexity{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tpl-footer{margin-top:20px;display:flex;justify-content:flex-end}.tpl-use-btn{background:var(--accent-gradient);color:var(--accent-contrast);border:none;padding:9px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.tpl-use-btn:hover{opacity:.9}.tpl-use-btn:disabled{opacity:.6;cursor:not-allowed}.canvas-toolbar{display:flex;align-items:center;gap:4px;padding:4px 10px;min-height:32px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.canvas-toolbar-group{display:flex;align-items:center;gap:3px}.canvas-toolbar-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-right:2px;white-space:nowrap}.canvas-toolbar-btn.active{color:var(--accent);background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-color:var(--accent-1)}.canvas-toolbar-danger{color:var(--danger)}.canvas-toolbar-danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.canvas-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 4px;flex-shrink:0}.canvas-toolbar-icon-active{color:var(--accent)}.canvas-toolbar-icon-inactive{color:var(--muted);opacity:.5}.canvas-toolbar-select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer}.canvas-toolbar-select option{background:var(--panel);color:var(--text)}.canvas-toolbar-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;color:var(--muted)}.canvas-toolbar-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-1);cursor:pointer}.canvas-toolbar-toggle-label{font-size:11px}.cmdpalette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.cmdpalette{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:520px;max-width:95vw;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden}.cmdpalette-input-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.cmdpalette-search-icon{color:var(--muted);flex-shrink:0}.cmdpalette-input{flex:1;background:none;border:none;color:var(--text);font-size:14px;font-family:inherit}.cmdpalette-input::placeholder{color:var(--muted)}.cmdpalette-kbd{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);font-family:monospace;flex-shrink:0}.cmdpalette-list{max-height:340px;overflow-y:auto;padding:6px}.cmdpalette-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}.cmdpalette-group{margin-bottom:4px}.cmdpalette-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:6px 8px 3px;font-weight:600}.cmdpalette-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;transition:background .08s;font-size:13px;color:var(--text)}.cmdpalette-item:hover,.cmdpalette-item.selected{background:var(--panel-2)}.cmdpalette-item-icon{color:var(--muted);flex-shrink:0;display:flex}.cmdpalette-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdpalette-item-hint{font-size:10px;color:var(--muted);background:var(--panel-2);padding:1px 6px;border-radius:4px;flex-shrink:0}.canvas-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;-webkit-user-select:none;user-select:none;color:var(--canvas-muted, #94a3b8);max-width:480px;padding:20px}.canvas-empty-state-icon{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--canvas-bg-2, #f1f5f9) 80%,transparent);border:1px solid var(--canvas-border, #e2e8f0);color:var(--canvas-text, #334155);display:flex;align-items:center;justify-content:center}.canvas-empty-state h3{font-size:18px;font-weight:600;margin:0;color:var(--canvas-text, #334155);letter-spacing:-.01em}.canvas-empty-state-sub{font-size:13px;margin:0;color:var(--canvas-muted, #94a3b8);max-width:360px;line-height:1.5}.canvas-empty-state-sub kbd{font-size:11px;padding:1px 5px;border-radius:4px;background:var(--canvas-bg-2, #f1f5f9);border:1px solid var(--canvas-border, #e2e8f0);font-family:monospace;color:var(--canvas-text, #334155)}.canvas-empty-state-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.canvas-empty-state-suggestion{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;background:var(--canvas-bg, #ffffff);border:1px solid var(--canvas-border, #e2e8f0);color:var(--canvas-text, #334155);font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s,transform .12s,background .12s}.canvas-empty-state-suggestion:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--canvas-bg, #ffffff));transform:translateY(-1px)}.canvas-empty-state-readonly{opacity:.6}.canvas-chrome-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;margin:0 0 8px;background:#54e3ff14;border:1px solid rgba(84,227,255,.25);border-radius:6px;font-size:12px;color:var(--accent-2)}.canvas-chrome-banner button{background:none;border:1px solid var(--accent-2);color:var(--accent-2);border-radius:4px;padding:3px 10px;font-size:12px;cursor:pointer}.canvas-chrome-banner button:hover{background:#54e3ff26}.w-menu{font-size:14px;padding:8px;border-radius:10px;background:var(--canvas-panel, rgba(148, 163, 184, .05));border:1px solid var(--canvas-border, #cbd5e1)}.w-menu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.w-menu-horizontal{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px}.w-menu-item-wrap{display:block}.w-menu-item{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:6px;color:var(--canvas-text, #0f172a);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background-color .12s ease,color .12s ease}.w-menu-horizontal .w-menu-item{width:auto}.w-menu-item:hover{background:#94a3b82e}.w-menu-item-active{background:#54e3ff24;color:var(--menu-active-color, var(--accent-2));font-weight:600;box-shadow:inset 3px 0 0 0 var(--menu-active-color, var(--accent-2))}.w-menu-horizontal .w-menu-item-active{box-shadow:inset 0 -2px 0 0 var(--menu-active-color, var(--accent-2))}.w-menu-icon-slot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;opacity:.85}.w-menu-item-active .w-menu-icon-slot{opacity:1}.w-menu-chevron{flex-shrink:0;margin-left:auto;transition:transform .15s;opacity:.5}.w-menu-chevron.expanded{transform:rotate(90deg)}.w-menu-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-menu-list .w-menu-list{margin:2px 0 2px 23px;padding-left:10px;border-left:1px solid var(--canvas-border, #cbd5e1)}.w-menu-icon-only{padding:8px 4px}.w-menu-icon-only .w-menu-item{justify-content:center;padding:8px}.w-menu-icon-only .w-menu-item-active{box-shadow:inset 0 0 0 1.5px var(--menu-active-color, var(--accent-2))}.w-menu-icon-only .w-menu-list .w-menu-list{margin-left:0;border-left:none;padding-left:0}.shortcuts-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.shortcuts-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px 28px;min-width:340px;box-shadow:0 16px 48px #0006}.shortcuts-panel h3{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--text)}.shortcuts-grid{display:flex;flex-direction:column;gap:6px}.shortcut-row{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text)}.shortcut-row kbd{min-width:90px;text-align:center;font-size:11px;padding:3px 8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);font-family:monospace;color:var(--muted);flex-shrink:0}.ai-spike-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 24px;width:480px;max-width:92vw;box-shadow:0 16px 48px #0006}.ai-spike-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ai-spike-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px}.ai-spike-hint{margin:0 0 14px;font-size:12px;color:var(--muted);line-height:1.5}.ai-spike-ds-field{display:block;margin-bottom:10px}.ai-spike-ds-field span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.ai-spike-ds-field select{width:100%;padding:6px 8px;border-radius:6px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:12px;font-family:inherit}.ai-spike-textarea{width:100%;box-sizing:border-box;resize:vertical;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;margin-bottom:10px}.ai-spike-result{margin-top:14px;padding:10px 12px;border-radius:8px;display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45}.ai-spike-result-ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--text)}.ai-spike-result-ok svg{color:var(--ok);flex-shrink:0;margin-top:1px}.ai-spike-result-err{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--text)}.ai-spike-result-err svg{color:var(--danger);flex-shrink:0;margin-top:1px}.icon-picker-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border-radius:4px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);font-size:11px;cursor:pointer;text-align:left}.icon-picker-trigger:hover{border-color:var(--accent)}.icon-picker-trigger-icon{color:var(--text);flex-shrink:0}.icon-picker-trigger-empty{display:inline-block;width:16px;height:16px;border:1px dashed var(--border);border-radius:4px;flex-shrink:0}.icon-picker-trigger-label{flex:1;min-width:0}.icon-picker-trigger-label:not(:empty){font-family:monospace}.icon-picker-trigger-clear{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;color:var(--muted);cursor:pointer}.icon-picker-trigger-clear:hover{color:var(--text);background:var(--panel-2)}.icon-picker-popover{position:fixed;z-index:1000;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;max-height:360px;display:flex;flex-direction:column}.icon-picker-search{position:relative;padding:6px 8px;border-bottom:1px solid var(--border)}.icon-picker-search input{width:100%;padding:4px 24px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:11px}.icon-picker-search input:focus:not(:focus-visible){outline:none;border-color:var(--accent)}.icon-picker-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.icon-picker-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;display:flex}.icon-picker-search-clear:hover{color:var(--text)}.icon-picker-grid-scroll{overflow-y:auto;padding:4px}.icon-picker-section{margin-bottom:6px}.icon-picker-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:4px 6px 3px}.icon-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.icon-picker-cell{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background:none;border:1px solid transparent;border-radius:4px;color:var(--text);cursor:pointer;padding:0}.icon-picker-cell:hover{background:var(--panel-2);border-color:var(--border)}.icon-picker-cell.selected{background:var(--accent);color:#06242f;border-color:var(--accent)}.icon-picker-empty{padding:16px;text-align:center;color:var(--muted);font-size:11px}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0000008c;pointer-events:auto}.onboarding-spotlight{position:fixed;z-index:10001;border-radius:8px;box-shadow:0 0 0 4000px #0000008c;cursor:pointer;transition:left .2s ease,top .2s ease}.onboarding-tooltip{position:fixed;z-index:10002;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;box-shadow:0 8px 32px #00000059;animation:onboard-fade-in .2s ease}@keyframes onboard-fade-in{0%{opacity:0;transform:translateY(6px)}}.onboarding-tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.onboarding-step-badge{font-size:10px;font-weight:700;background:var(--accent);color:#06242f;padding:1px 6px;border-radius:4px}.onboarding-tooltip-title{font-size:13px;font-weight:600;color:var(--text)}.onboarding-tooltip-body{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 12px}.onboarding-tooltip-actions{display:flex;align-items:center;gap:6px}
