.data-grid-node{width:100%;height:100%;box-sizing:border-box;border:var(--data-grid-border-width, 1px) solid var(--data-grid-border);border-radius:var(--data-grid-radius);background:var(--data-grid-bg);opacity:var(--data-grid-opacity);overflow:hidden;color:#e5f2ff;box-shadow:0 18px 45px #00000047,0 0 0 1px #1d90992e}.data-grid-node--page{-webkit-user-select:text;user-select:text;pointer-events:auto;max-width:100%}.data-grid-node.is-cell-mode-active{box-shadow:0 0 0 2px #1d90996b,0 18px 45px #00000047}.data-grid-node__grid{position:relative;display:block;width:100%;height:100%;overflow:hidden}.data-grid-cell{position:relative;display:flex;min-width:0;min-height:0;box-sizing:border-box;border-right:var(--data-grid-line-width, 1px) solid var(--data-grid-cell-border);border-bottom:var(--data-grid-line-width, 1px) solid var(--data-grid-cell-border);padding:8px 10px;line-height:1.25;overflow:hidden;transition:background-color .12s ease,outline-color .12s ease,opacity .12s ease}.data-grid-cell__value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;overflow-wrap:anywhere}.data-grid-cell--static{letter-spacing:.01em;font-weight:700!important}.data-grid-cell--hidden{visibility:hidden;background:transparent!important;color:transparent!important}.data-grid-node--board.is-selected .data-grid-cell--hidden.is-editor-visible,.data-grid-cell--hidden.is-selected{visibility:visible;opacity:.34;outline:1px dashed rgba(29,144,153,.75);outline-offset:-4px}.data-grid-cell.is-selected{z-index:1;outline:2px solid #22d3ee;outline-offset:-2px;background:rgba(29,144,153,.18)!important}.data-grid-cell.is-editing{z-index:2;outline:2px solid #67e8f9;outline-offset:-2px;background:rgba(29,144,153,.24)!important}.data-grid-cell__input,.data-grid-cell__page-input{width:100%;min-width:0;border:0;outline:0;background:rgba(15,23,42,.82);color:inherit;font:inherit;padding:2px 4px;border-radius:6px;caret-color:#67e8f9}.data-grid-cell__input:focus,.data-grid-cell__page-input:focus{box-shadow:0 0 0 1px #67e8f9b3}.data-grid-cell__page-input{background:rgba(15,23,42,.32)}.data-grid-node--page .data-grid-cell__page-input{-webkit-user-select:text;user-select:text}.data-grid-node--page .data-grid-cell__page-input::placeholder{color:#cbd5e1a6;opacity:1}.data-grid-node--page .data-grid-cell.is-page-placeholder-empty .data-grid-cell__page-input{color:inherit}.data-grid-cell__mode-badge{position:absolute;right:5px;bottom:4px;max-width:calc(100% - 10px);border-radius:999px;padding:1px 5px;background:rgba(15,23,42,.78);color:#67e8f9;font-size:8px;line-height:1.2;pointer-events:none;text-transform:uppercase;letter-spacing:.06em}.data-grid-node--page{box-shadow:0 18px 45px #00000038}.data-grid-node--page .data-grid-cell--hidden{visibility:hidden;opacity:0;border-color:transparent;background:transparent!important;pointer-events:none}.data-grid-node--page .data-grid-cell__mode-badge{display:none}.data-grid-resize-handle{position:absolute;z-index:4;opacity:0;transition:opacity .12s ease,background-color .12s ease}.data-grid-node.is-cell-mode-active .data-grid-resize-handle{opacity:.42}.data-grid-resize-handle--column{top:0;bottom:0;width:8px;transform:translate(-4px);cursor:col-resize}.data-grid-resize-handle--row{left:0;right:0;height:8px;transform:translateY(-4px);cursor:row-resize}.data-grid-resize-handle--column:after,.data-grid-resize-handle--row:after{content:"";position:absolute;background:rgba(29,144,153,.62)}.data-grid-resize-handle--column:after{top:0;bottom:0;left:3px;width:2px}.data-grid-resize-handle--row:after{left:0;right:0;top:3px;height:2px}.data-grid-resize-handle:hover,.data-grid-resize-handle.is-active{opacity:1}.data-grid-resize-handle.is-active:after{background:#22d3ee;box-shadow:0 0 10px #22d3ee8c}.data-grid-cell--dropdown{background-image:linear-gradient(135deg,rgba(29,144,153,.12),rgba(15,23,42,.08))}.data-grid-cell__dropdown-preview{align-items:center;color:#e2e8f0d1;display:flex;gap:6px;justify-content:space-between}.data-grid-cell__dropdown-arrow{color:#67e8f9;flex:0 0 auto;font-size:12px}.data-grid-cell__page-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;min-height:32px;touch-action:manipulation}.data-grid-cell__page-select:disabled{cursor:not-allowed;opacity:.68}.data-grid-cell.is-range-selected{outline:2px solid rgba(34,211,238,.72);outline-offset:-2px;z-index:1}.data-grid-cell.is-merged-parent{z-index:1}.data-grid-cell--count,.data-grid-cell--math{background-image:linear-gradient(135deg,rgba(29,144,153,.1),rgba(15,23,42,.06))}.data-grid-cell__math-preview{align-items:center;display:flex;gap:6px}.data-grid-cell__fx{border-radius:999px;background:rgba(34,211,238,.16);color:#67e8f9;flex:0 0 auto;font-size:10px;font-weight:700;line-height:1;padding:3px 5px}.data-grid-cell__page-readonly{cursor:default}@media (max-width: 720px){.data-grid-node--page .data-grid-cell__page-input,.data-grid-node--page .data-grid-cell__page-select{font-size:max(16px,1em)}}.data-grid-node,.data-grid-node__grid,.data-grid-cell{min-width:0;min-height:0;box-sizing:border-box}.data-grid-cell{position:absolute}.data-grid-node--debug{outline:2px solid rgba(250,204,21,.9);outline-offset:-2px}.data-grid-node--debug .data-grid-node__grid{outline:1px dashed rgba(56,189,248,.9);outline-offset:-1px}.data-grid-node--debug .data-grid-cell{outline:1px solid rgba(244,114,182,.65);outline-offset:-1px}.data-grid-node--debug .data-grid-cell.is-merged-parent{outline-color:#facc15f2;outline-width:2px}.data-grid-cell__input,.data-grid-cell__page-input,.data-grid-cell__page-select{max-width:100%;height:100%;box-sizing:border-box;line-height:1.2}.data-grid-cell__page-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:18px}@media (max-width: 720px){.data-grid-cell__input,.data-grid-cell__page-input,.data-grid-cell__page-select{font-size:max(16px,1em)}}.data-grid-overlay-node{position:absolute;box-sizing:border-box;pointer-events:auto;transform-origin:top left;will-change:transform}.data-grid-overlay-node .data-grid-node{width:100%;height:100%}.floating-menu{display:flex;flex-direction:column;pointer-events:auto;gap:calc(12px * var(--menu-scale))}.floating-menu[data-dragging=true]{z-index:1200;box-shadow:0 26px 56px #02061799,0 0 0 1px #94a3b847}.floating-menu__chrome{display:flex;align-items:center;justify-content:flex-start;gap:calc(12px * var(--menu-scale))}.floating-menu__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(30,41,59,.45);box-shadow:inset 0 0 0 1px #94a3b852;color:#e2e8f0eb;width:calc(20px * var(--menu-scale));height:calc(20px * var(--menu-scale));border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:calc(14px * var(--menu-scale));line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}.floating-menu__close:hover,.floating-menu__close:focus-visible{background:rgba(148,163,184,.3);color:#f8fafcfa}.floating-menu__close:focus-visible{outline:none;box-shadow:0 0 0 2px #3b82f68c}.floating-menu__drag{display:inline-flex;align-items:center;gap:calc(10px * var(--menu-scale));flex:1;cursor:grab;-webkit-user-select:none;user-select:none;font-size:calc(12px * var(--menu-scale));letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0c7;padding:calc(4px * var(--menu-scale)) calc(6px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));outline:none;touch-action:none}.floating-menu__drag:focus-visible{box-shadow:0 0 0 2px #3b82f68c}.floating-menu__drag[data-dragging=true]{cursor:grabbing}.floating-menu__drag[data-free=true]{color:#f1f5f9eb}.floating-menu__grip{width:calc(18px * var(--menu-scale));height:calc(18px * var(--menu-scale));border-radius:calc(6px * var(--menu-scale));display:inline-flex;align-items:center;justify-content:center;background:rgba(30,41,59,.55);box-shadow:inset 0 0 0 1px #94a3b852;position:relative}.floating-menu__grip:before,.floating-menu__grip:after{content:"";position:absolute;width:calc(10px * var(--menu-scale));height:calc(2px * var(--menu-scale));border-radius:999px;background:rgba(226,232,240,.8);left:calc(4px * var(--menu-scale))}.floating-menu__grip:before{top:calc(5px * var(--menu-scale))}.floating-menu__grip:after{bottom:calc(5px * var(--menu-scale))}.floating-menu__title{font-weight:600;color:inherit}.selection-toolbar{position:absolute;left:0;top:0;z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:calc(12px * var(--menu-scale));padding:calc(10px * var(--menu-scale)) calc(14px * var(--menu-scale));background:rgba(15,23,42,.92);border-radius:calc(14px * var(--menu-scale));box-shadow:0 18px 44px #0206178c,0 0 0 1px #94a3b840;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f8fafc;min-width:calc(320px * var(--menu-scale));will-change:transform}.selection-toolbar__content{display:flex;align-items:center;gap:calc(16px * var(--menu-scale));flex-wrap:wrap}.selection-toolbar__group{display:flex;align-items:center;gap:calc(8px * var(--menu-scale))}.selection-toolbar__group+.selection-toolbar__group{border-left:1px solid rgba(148,163,184,.16);padding-left:calc(12px * var(--menu-scale))}.selection-toolbar__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(30,41,59,.65);color:inherit;padding:calc(6px * var(--menu-scale)) calc(10px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));cursor:pointer;font-size:calc(13px * var(--menu-scale));font-weight:600;transition:background .2s ease,color .2s ease,transform .15s ease}.selection-toolbar__button:hover:not(:disabled){background:rgba(59,130,246,.2)}.selection-toolbar__button:active:not(:disabled){transform:translateY(1px)}.selection-toolbar__button:disabled{opacity:.5;cursor:default}.selection-toolbar__button.is-active{background:rgba(59,130,246,.35);color:#e0f2fe}.selection-toolbar__icon{font-size:calc(12px * var(--menu-scale));font-weight:700}.selection-toolbar__segmented{display:inline-flex;border-radius:calc(10px * var(--menu-scale));overflow:hidden;border:1px solid rgba(148,163,184,.2)}.selection-toolbar__segmented .selection-toolbar__button{border-radius:0;background:transparent}.selection-toolbar__segmented .selection-toolbar__button+.selection-toolbar__button{border-left:1px solid rgba(148,163,184,.2)}.selection-toolbar__size-control{display:inline-flex;align-items:center;border-radius:calc(10px * var(--menu-scale));border:1px solid rgba(148,163,184,.2);overflow:hidden}.selection-toolbar__size-control .selection-toolbar__button{border-radius:0;background:transparent;width:calc(32px * var(--menu-scale));height:calc(28px * var(--menu-scale));padding:0;font-size:calc(16px * var(--menu-scale));font-weight:600}.selection-toolbar__input{width:calc(56px * var(--menu-scale));border:none;background:rgba(15,23,42,.9);color:inherit;text-align:center;font-size:calc(13px * var(--menu-scale));outline:none}.selection-toolbar__swatch{position:relative;display:inline-flex;flex-direction:column;gap:calc(4px * var(--menu-scale));align-items:center;font-size:calc(12px * var(--menu-scale));color:#e2e8f0cc}.selection-toolbar__color-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;width:calc(36px * var(--menu-scale));height:calc(28px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));cursor:pointer;background:transparent;box-shadow:inset 0 0 0 1px #94a3b859;transition:box-shadow .2s ease,transform .15s ease}.selection-toolbar__color-button:hover{box-shadow:inset 0 0 0 2px #3b82f673}.selection-toolbar__color-button:active{transform:translateY(1px)}.selection-toolbar__color-button.is-active{box-shadow:inset 0 0 0 2px #3b82f699}.selection-toolbar__color-preview{display:block;width:100%;height:100%;border-radius:inherit;background-image:linear-gradient(45deg,rgba(226,232,240,.3) 25%,transparent 25%),linear-gradient(-45deg,rgba(226,232,240,.3) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(226,232,240,.3) 75%),linear-gradient(-45deg,transparent 75%,rgba(226,232,240,.3) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;box-shadow:inset 0 0 0 1000px var(--selection-fill-preview, rgba(15, 23, 42, .9));transition:box-shadow .2s ease}.selection-toolbar__swatch-indicator{font-weight:600;letter-spacing:.02em}.selection-toolbar__swatch input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:calc(32px * var(--menu-scale));height:calc(24px * var(--menu-scale));border-radius:calc(6px * var(--menu-scale));background:none;cursor:pointer;box-shadow:inset 0 0 0 1px #94a3b840}.selection-toolbar__swatch input[type=color]::-webkit-color-swatch{border-radius:calc(6px * var(--menu-scale));border:none}.selection-toolbar__swatch input[type=color]::-webkit-color-swatch-wrapper{padding:0}.selection-toolbar__shape{display:inline-flex;flex-direction:column;gap:calc(4px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));color:#e2e8f0cc}.selection-toolbar__shape select{background:rgba(15,23,42,.9);color:inherit;border:1px solid rgba(148,163,184,.35);border-radius:calc(8px * var(--menu-scale));padding:calc(4px * var(--menu-scale)) calc(8px * var(--menu-scale));font-size:calc(13px * var(--menu-scale))}.selection-toolbar__group--text{align-items:center}.selection-toolbar__group--text .selection-toolbar__size-control{margin-left:calc(8px * var(--menu-scale))}.selection-toolbar__group--link{flex-direction:column;align-items:flex-start;gap:calc(6px * var(--menu-scale));max-width:calc(260px * var(--menu-scale))}.selection-toolbar--link-focus{min-width:clamp(320px,36vw,460px);max-width:min(92vw,calc(520px * var(--menu-scale)));padding:calc(16px * var(--menu-scale)) calc(20px * var(--menu-scale));border-radius:calc(20px * var(--menu-scale));border:1px solid rgba(103,232,249,.5);box-shadow:0 28px 60px #020617a8,0 0 0 2px #38bdf847}.selection-toolbar--link-focus .floating-menu__title{font-size:calc(16px * var(--menu-scale));font-weight:800;letter-spacing:.025em}.selection-toolbar--link-focus .selection-toolbar__content{gap:calc(22px * var(--menu-scale))}.selection-toolbar--link-focus .selection-toolbar__group--link{gap:calc(10px * var(--menu-scale));width:100%;max-width:100%}.selection-toolbar--link-focus .selection-toolbar__link-preview-label{font-size:calc(14px * var(--menu-scale));letter-spacing:.02em}.selection-toolbar--link-focus .selection-toolbar__link-preview{display:block;width:100%;font-size:calc(17px * var(--menu-scale));line-height:1.35;font-weight:700;color:#67e8f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 900px){.selection-toolbar--link-focus{min-width:min(92vw,calc(400px * var(--menu-scale)));max-width:min(94vw,calc(430px * var(--menu-scale)));padding:calc(16px * var(--menu-scale))}}@media (max-width: 640px){.selection-toolbar--link-focus{min-width:min(94vw,calc(360px * var(--menu-scale)));max-width:94vw;border-radius:calc(20px * var(--menu-scale))}.selection-toolbar--link-focus .selection-toolbar__group--link{max-width:100%}.selection-toolbar--link-focus .selection-toolbar__link-preview{font-size:calc(16px * var(--menu-scale))}}.selection-toolbar__link-preview-label{font-size:calc(12px * var(--menu-scale));font-weight:600;color:#e2e8f0d1;letter-spacing:.01em}.selection-toolbar__link-preview{color:#38bdf8;text-decoration:none;font-size:calc(13px * var(--menu-scale));line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.selection-toolbar__link-preview:hover,.selection-toolbar__link-preview:focus{text-decoration:underline}.selection-toolbar__link-address{display:flex;flex-direction:column;gap:calc(4px * var(--menu-scale));min-width:calc(180px * var(--menu-scale));margin-left:calc(12px * var(--menu-scale))}.selection-toolbar__link-address span{font-size:calc(12px * var(--menu-scale));font-weight:600;color:#e2e8f0d9}.selection-toolbar__link-address input{width:100%;padding:calc(8px * var(--menu-scale)) calc(10px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.9);color:inherit;font-size:calc(13px * var(--menu-scale));outline:none}.inline-text-editor{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:rgba(15,23,42,.9);color:#f8fafc}.selection-toolbar__color-popover{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);background:rgba(15,23,42,.97);border-radius:calc(14px * var(--menu-scale));padding:calc(14px * var(--menu-scale)) calc(16px * var(--menu-scale));box-shadow:0 18px 36px #0206178c,0 0 0 1px #94a3b838;z-index:48;min-width:calc(240px * var(--menu-scale))}.color-picker{display:flex;flex-direction:column;gap:calc(12px * var(--menu-scale));color:#f8fafc}.color-picker__preview{display:flex;align-items:center;gap:calc(12px * var(--menu-scale))}.color-picker__preview-swatch{width:calc(54px * var(--menu-scale));height:calc(44px * var(--menu-scale));border-radius:calc(12px * var(--menu-scale));background-image:linear-gradient(45deg,rgba(226,232,240,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(226,232,240,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(226,232,240,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(226,232,240,.25) 75%);background-size:calc(12px * var(--menu-scale)) calc(12px * var(--menu-scale));background-position:0 0,0 calc(6px * var(--menu-scale)),calc(6px * var(--menu-scale)) calc(-6px * var(--menu-scale)),calc(-6px * var(--menu-scale)) 0;box-shadow:inset 0 0 0 1000px var(--color-picker-preview, rgba(15, 23, 42, .9));border:1px solid rgba(148,163,184,.35)}.color-picker__preview-meta span{font-size:calc(12px * var(--menu-scale));color:#e2e8f0bf}.color-picker__hex{display:flex;flex-direction:column;gap:calc(4px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));color:#e2e8f0bf}.color-picker__hex input{background:rgba(15,23,42,.88);border:1px solid rgba(148,163,184,.35);border-radius:calc(8px * var(--menu-scale));padding:calc(6px * var(--menu-scale)) calc(8px * var(--menu-scale));color:inherit;font-size:calc(13px * var(--menu-scale));outline:none}.color-picker__sliders{display:flex;flex-direction:column;gap:calc(10px * var(--menu-scale))}.color-picker__channel{display:flex;align-items:center;gap:calc(10px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));color:#e2e8f0bf}.color-picker__channel-label{width:calc(42px * var(--menu-scale));text-transform:uppercase;letter-spacing:.04em}.color-picker__channel input[type=range]{flex:1;accent-color:#38bdf8;cursor:pointer}.color-picker__value{min-width:calc(42px * var(--menu-scale));text-align:right;font-variant-numeric:tabular-nums}.color-picker__presets{display:flex;flex-wrap:wrap;gap:calc(8px * var(--menu-scale))}.color-picker__preset{width:calc(26px * var(--menu-scale));height:calc(26px * var(--menu-scale));border-radius:calc(7px * var(--menu-scale));border:none;cursor:pointer;box-shadow:inset 0 0 0 1px #94a3b859;background:var(--color-picker-swatch, rgba(15, 23, 42, .9));transition:transform .15s ease,box-shadow .2s ease}.color-picker__preset:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 2px #3b82f673}.color-picker__preset--transparent{width:auto;padding:0 calc(10px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));font-weight:600;letter-spacing:.02em;background:rgba(15,23,42,.85);color:#e2e8f0d9;box-shadow:inset 0 0 0 1px #94a3b859}.color-picker__preset--transparent:hover{box-shadow:inset 0 0 0 2px #f8fafc59}.selection-toolbar__group--button-destination,.selection-toolbar__group--button-diagnostics{align-items:center;flex-wrap:wrap;max-width:520px}.selection-toolbar__diagnostic{border:1px solid rgba(148,163,184,.2);border-radius:999px;color:#cbd5e1;font-size:11px;font-weight:600;padding:4px 8px;white-space:nowrap}.selection-toolbar__diagnostic--error{border-color:#f8717159;color:#fecaca}.selection-toolbar__input--wide{min-width:240px}.selection-toolbar__help-panel{color:#dbeafe;display:inline-flex;flex-direction:column;font-family:inherit;font-size:calc(13px * var(--menu-scale));font-weight:500;line-height:1.45;max-width:min(620px,100%);min-width:min(260px,100%)}.selection-toolbar__button-help,.selection-toolbar__formula-help{max-width:min(620px,100%)}.selection-toolbar__help-summary{align-items:center;display:inline-flex;font-family:inherit;font-size:calc(13px * var(--menu-scale));font-weight:600;line-height:1.2;list-style:none;width:fit-content}.selection-toolbar__help-summary::-webkit-details-marker{display:none}.selection-toolbar__help-summary:after{content:"▾";font-size:calc(10px * var(--menu-scale));margin-left:calc(6px * var(--menu-scale))}.selection-toolbar__help-panel:not([open]) .selection-toolbar__help-summary:after{content:"▸"}.selection-toolbar__help-body{background:rgba(2,6,23,.92);border:1px solid rgba(148,163,184,.2);border-radius:calc(12px * var(--menu-scale));margin-top:calc(6px * var(--menu-scale));max-height:220px;overflow-x:hidden;overflow-y:auto;padding:calc(8px * var(--menu-scale)) calc(10px * var(--menu-scale));-webkit-user-select:text;user-select:text}.selection-toolbar__help-body ol,.selection-toolbar__help-body ul{margin:8px 0 8px 18px;padding:0}.selection-toolbar__help-body p{margin:6px 0}.selection-toolbar__help-body code{color:#e0f2fe;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.selection-toolbar__code-block{background:rgba(15,23,42,.9);border:1px solid rgba(148,163,184,.18);border-radius:12px;color:#e5f2ff;font-size:11px;margin:8px 0 0;max-height:180px;max-width:100%;overflow:auto;padding:10px;white-space:pre}.selection-toolbar__group--button-diagnostics>*{min-width:0}.selection-toolbar__diagnostic--ellipsis{display:inline-block;max-width:min(320px,100%);overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.selection-toolbar__connection-diagnostics{background:rgba(2,6,23,.92);border:1px solid rgba(96,165,250,.35);border-radius:14px;color:#dbeafe;display:flex;flex-direction:column;gap:8px;max-height:260px;max-width:min(720px,100%);min-width:min(520px,100%);overflow:hidden;padding:10px}.selection-toolbar__connection-diagnostics-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.selection-toolbar__connection-diagnostics-body{background:rgba(15,23,42,.86);border:1px solid rgba(148,163,184,.18);border-radius:10px;color:#e2e8f0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45;margin:0;max-height:200px;overflow:auto;padding:10px;white-space:pre-wrap;word-break:break-word}.selection-toolbar__dropdown-options{align-items:flex-start;min-width:220px}.selection-toolbar__dropdown-options textarea{min-height:74px;resize:vertical;white-space:pre-wrap}.selection-toolbar__dropdown-options small{color:#cbd5e1;font-size:10px;line-height:1.25}.selection-toolbar__warning{color:#fbbf24!important}.selection-toolbar__expanded-textarea{width:100%;min-height:40px;max-height:240px;box-sizing:border-box;padding:calc(8px * var(--menu-scale)) calc(10px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.9);color:inherit;font:inherit;font-size:calc(13px * var(--menu-scale));line-height:1.35;outline:none;overflow-y:auto;resize:vertical;white-space:pre-wrap}.selection-toolbar__expanded-textarea:focus{min-height:120px;box-shadow:0 0 0 1px #38bdf8b3}.selection-toolbar__expanded-textarea--formula{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.connector-toolbar{position:absolute;left:0;top:0;z-index:20;background:rgba(15,23,42,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:calc(14px * var(--menu-scale));padding:calc(12px * var(--menu-scale)) calc(16px * var(--menu-scale));display:flex;flex-direction:column;gap:calc(12px * var(--menu-scale));box-shadow:0 24px 48px #02061780;color:#e2e8f0;pointer-events:auto;will-change:transform;min-width:calc(564px * var(--menu-scale));max-width:calc(720px * var(--menu-scale))}.connector-toolbar__content{display:grid;grid-template-columns:repeat(3,minmax(calc(180px * var(--menu-scale)),1fr));gap:calc(12px * var(--menu-scale));align-items:stretch}.connector-toolbar__panel{background:rgba(30,41,59,.6);border:1px solid rgba(148,163,184,.22);border-radius:calc(12px * var(--menu-scale));padding:calc(10px * var(--menu-scale)) calc(12px * var(--menu-scale));display:flex;flex-direction:column;gap:calc(10px * var(--menu-scale));flex:1 1 calc(200px * var(--menu-scale));min-width:calc(180px * var(--menu-scale))}.connector-toolbar__panel-title{font-size:calc(12px * var(--menu-scale));font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#e2e8f0b3;display:inline-flex;align-items:center;gap:calc(6px * var(--menu-scale))}.connector-toolbar__section{display:flex;align-items:center;gap:calc(10px * var(--menu-scale));flex-wrap:wrap}.connector-toolbar__section--geometry{row-gap:calc(8px * var(--menu-scale))}.connector-toolbar__panel--endpoint{gap:calc(12px * var(--menu-scale))}.connector-toolbar__section--endpoint{flex-direction:column;align-items:stretch;gap:calc(12px * var(--menu-scale))}.connector-toolbar__endpoint-header{display:flex;flex-direction:column;gap:calc(4px * var(--menu-scale))}.connector-toolbar__panel--endpoint[data-endpoint=start] .connector-toolbar__panel-title:after{content:"←";font-size:calc(12px * var(--menu-scale));opacity:.7}.connector-toolbar__panel--endpoint[data-endpoint=end] .connector-toolbar__panel-title:after{content:"→";font-size:calc(12px * var(--menu-scale));opacity:.7}.connector-toolbar__endpoint-direction{font-size:calc(11px * var(--menu-scale));color:#e2e8f0a6;letter-spacing:.08em;text-transform:uppercase}.connector-toolbar__field{display:flex;align-items:center;gap:calc(8px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));flex:1 1 auto;min-width:0}.connector-toolbar__field--block{flex:1 1 100%}.connector-toolbar__field-header{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:calc(11px * var(--menu-scale));color:#e2e8f0b8;text-transform:uppercase;letter-spacing:.08em}.connector-toolbar__field-header label{cursor:pointer}.connector-toolbar__value{font-variant-numeric:tabular-nums;color:#e2e8f0d1}.connector-toolbar__field--color{flex:0 0 auto}.connector-toolbar__field input[type=number],.connector-toolbar__field select,.connector-toolbar__field input[type=range],.connector-toolbar__slider{background:rgba(30,41,59,.85);border:1px solid rgba(148,163,184,.2);border-radius:calc(8px * var(--menu-scale));padding:calc(4px * var(--menu-scale)) calc(8px * var(--menu-scale));color:#e2e8f0;font-size:calc(12px * var(--menu-scale));min-width:calc(72px * var(--menu-scale));flex:1 1 auto;min-height:calc(28px * var(--menu-scale));box-sizing:border-box}.connector-toolbar__field input[type=range],.connector-toolbar__slider{min-width:0;width:100%}.connector-toolbar__slider-group{display:flex;flex-direction:column;gap:calc(6px * var(--menu-scale));width:100%}.connector-toolbar__field input[type=color]{padding:0;border:none;width:calc(36px * var(--menu-scale));height:calc(24px * var(--menu-scale));border-radius:calc(6px * var(--menu-scale));background:transparent}.connector-toolbar__button{background:rgba(37,99,235,.18);color:#bfdbfe;border:1px solid rgba(96,165,250,.3);border-radius:calc(8px * var(--menu-scale));padding:calc(6px * var(--menu-scale)) calc(12px * var(--menu-scale));font-size:calc(12px * var(--menu-scale));cursor:pointer;transition:background .15s ease,border .15s ease;display:inline-flex;align-items:center;justify-content:center}.connector-toolbar__button:hover{background:rgba(59,130,246,.28)}.connector-toolbar__button.is-active{background:rgba(96,165,250,.35);border-color:#93c5fd99;color:#f8fafc}.connector-toolbar__button--toggle{flex:0 0 auto;min-width:calc(92px * var(--menu-scale))}.connector-toolbar__button--block{width:100%;justify-content:center}.inline-text-editor{position:absolute;display:flex;flex-direction:column;box-sizing:border-box;border:none;outline:none;background:transparent;color:inherit;pointer-events:auto;gap:8px}.inline-text-editor__content{flex:1 1 auto;display:block;box-sizing:border-box;border:none;outline:none;background:transparent;color:inherit;cursor:text;pointer-events:auto;-webkit-user-select:text;user-select:text;-webkit-user-modify:read-write;min-height:0}.inline-text-editor__content:focus{outline:none}.inline-text-editor__content::selection{background:rgba(96,165,250,.35)}.inline-text-editor__content a{color:#38bdf8;text-decoration:underline;font-style:italic}.inline-text-editor--link .inline-text-editor__content{font-style:italic!important;text-decoration:underline!important}.inline-text-editor--link .inline-text-editor__content *{font-style:inherit!important;text-decoration:inherit!important}.inline-text-editor__content ul,.inline-text-editor__content ol{margin:0 0 .5em;padding-left:1.4em}.inline-text-editor__content li{margin:.1em 0}.inline-text-editor__link-field{display:flex;align-items:center;pointer-events:auto}.inline-text-editor__link-input{flex:1 1 auto;box-sizing:border-box;padding:6px 10px;border-radius:6px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.85);color:#e2e8f0;font-size:.85rem;line-height:1.4;font-family:inherit}.inline-text-editor__link-input:focus{outline:none;border-color:#60a5facc;box-shadow:0 0 0 1px #60a5fa59}.canvas-container{position:relative;flex:1;border-radius:18px;background:radial-gradient(circle at top,rgba(59,130,246,.08),transparent 45%),radial-gradient(circle at bottom,rgba(16,185,129,.08),transparent 35%),#020617;overflow:hidden;border:1px solid rgba(148,163,184,.12);box-shadow:inset 0 0 0 1px #94a3b80d;touch-action:none;min-height:clamp(360px,calc(100vh - 220px),100%)}.canvas-container.is-panning{cursor:grabbing}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0f172a40;pointer-events:none;transition:opacity .2s ease}.canvas-svg{position:relative;width:100%;height:100%;display:block;pointer-events:none}.canvas-drawing-surface{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.canvas-drawing-surface.is-active{pointer-events:auto;cursor:crosshair}.canvas-drawings{width:100%;height:100%;display:block;pointer-events:none}.canvas-svg>g,.canvas-svg line,.diagram-connector,.diagram-node{pointer-events:all}.diagram-node{transition:none}.diagram-node__shadow{pointer-events:none;filter:blur(18px)}.diagram-node__shape{transition:fill .2s ease,stroke .2s ease,opacity .2s ease}.diagram-node__outline{fill:none;pointer-events:none;transition:stroke .2s ease,stroke-width .2s ease}.diagram-node__image-frame{fill:#0f172ad9;stroke:#1e293b99}.diagram-node__image{pointer-events:auto}.diagram-node__image-placeholder rect{fill:#0f172ae6}.diagram-node__image-placeholder text{fill:#cbd5f5;font-size:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.diagram-node.is-selected .diagram-node__outline{filter:drop-shadow(0 0 12px rgba(96,165,250,.5))}.diagram-node__label{font-size:16px;font-weight:500;line-height:1.3;color:#e2e8f0;background:transparent;border-radius:14px;padding:6px 14px 10px;min-height:24px;pointer-events:auto;-webkit-user-select:none;user-select:none;white-space:pre-wrap;word-break:break-word;display:block;width:100%;height:100%;transition:background .2s ease,opacity .2s ease}.diagram-node__label a{color:#38bdf8;text-decoration:underline;font-style:italic}.diagram-node--link .diagram-node__label{font-style:italic!important;text-decoration:underline!important}.diagram-node--link .diagram-node__label *{font-style:inherit!important;text-decoration:inherit!important}.diagram-node__label a:hover{color:#bae6fd}.diagram-node__label ul,.diagram-node__label ol{margin:0 0 .5em;padding-left:1.4em}.diagram-node__label li{margin:.1em 0}.diagram-node__label.is-editing{opacity:0}.diagram-node__connector-handles{pointer-events:none}.diagram-node__connector-handle{pointer-events:all;fill:#0f172aeb;stroke:#60a5fae6;stroke-width:2;cursor:crosshair;transition:fill .18s ease,stroke .18s ease,filter .2s ease;filter:drop-shadow(0 2px 6px rgba(15,23,42,.4))}.diagram-node__connector-handle:hover{fill:#2563eb59;stroke:#93c5fdf2;filter:drop-shadow(0 4px 12px rgba(59,130,246,.4))}.diagram-node--text .diagram-node__shadow,.diagram-node--image .diagram-node__label{display:none}.diagram-node__connector-handle:active{fill:#3b82f673;stroke:#bfdbfef2}.diagram-connector{pointer-events:none}.diagram-connector__hit{fill:none;stroke:transparent;pointer-events:stroke}.diagram-connector__line{fill:none;pointer-events:stroke;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease,stroke-width .2s ease}.diagram-connector.is-selected .diagram-connector__line{stroke:#60a5fa!important;filter:drop-shadow(0 0 10px rgba(96,165,250,.35))}.diagram-connector__label{pointer-events:auto;font-size:14px;color:#f8fafc;background:rgba(15,23,42,.85);border-radius:12px;padding:6px 10px;text-align:center;box-shadow:0 6px 20px #02061773;min-height:20px;min-width:36px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;cursor:grab}.diagram-connector__label.is-editing{-webkit-user-select:text;user-select:text;cursor:text;outline:none}.diagram-connector__label:not(.is-editing):active{cursor:grabbing}.diagram-connector__label[data-placeholder]:empty:before{content:attr(data-placeholder);color:#e2e8f0ad;pointer-events:none}.diagram-connector__label.is-empty:not(.is-editing){color:#f8fafcb3}.diagram-connector__segment{pointer-events:stroke;stroke:transparent;stroke-width:calc(var(--connector-width, 2) + 12);stroke-linecap:round;fill:none;transition:stroke .18s ease}.diagram-connector__segment.is-hovered{stroke:#60a5fa73}.diagram-connector__segment-handle{pointer-events:all;fill:#3b82f6f5;stroke:#e0f2fe;stroke-width:2;filter:drop-shadow(0 0 6px rgba(59,130,246,.38));transition:fill .15s ease,stroke .15s ease,filter .15s ease;cursor:grab}.diagram-connector__segment-handle.is-hovered{fill:#60a5faf2;stroke:#f0f9ff;filter:drop-shadow(0 0 8px rgba(96,165,250,.45))}.diagram-connector__segment-handle:active{cursor:grabbing;filter:drop-shadow(0 0 6px rgba(37,99,235,.45))}.diagram-connector__handle{pointer-events:all;fill:none;stroke:#60a5fad9;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;cursor:grab;filter:drop-shadow(0 0 4px rgba(37,99,235,.45));transition:stroke .2s ease,stroke-width .2s ease,filter .2s ease}.diagram-connector__handle:hover{stroke:#93c5fdf2;stroke-width:2.8;filter:drop-shadow(0 0 6px rgba(147,197,253,.45))}.diagram-connector__handle:active{cursor:grabbing;stroke-width:3}.diagram-connector__endpoint-group{pointer-events:none;transition:color .18s ease}.diagram-connector__endpoint-caps{pointer-events:none}.diagram-connector__cap{pointer-events:none;filter:drop-shadow(0 1px 4px rgba(15,23,42,.25));transition:filter .18s ease,opacity .18s ease}.diagram-connector.is-selected .diagram-connector__cap{filter:drop-shadow(0 2px 8px rgba(59,130,246,.35))}.diagram-connector__cap--hollow{filter:drop-shadow(0 1px 3px rgba(15,23,42,.3))}.diagram-connector__endpoint-group.is-hovered{color:#3b82f6f2}.diagram-connector__endpoint-visual{pointer-events:none;fill:currentColor;stroke:#0f172ad9;stroke-width:1.4;opacity:.88;filter:drop-shadow(0 2px 6px rgba(15,23,42,.45));transform-box:fill-box;transform-origin:center;transition:opacity .18s ease,stroke .18s ease,fill .18s ease,filter .18s ease}.diagram-connector__endpoint-visual.is-hovered{opacity:1;stroke:#0f172a99;filter:drop-shadow(0 4px 10px rgba(59,130,246,.35))}.diagram-connector__endpoint-hit{pointer-events:all;fill:transparent;stroke:transparent;cursor:grab;transform-box:fill-box;transform-origin:center;transition:fill .18s ease,stroke .18s ease,stroke-width .18s ease}.diagram-connector__endpoint-hit.is-hovered{fill:#3b82f62e;stroke:#3b82f6b3;stroke-width:1.5}.diagram-connector__endpoint-hit.is-hovered:active{cursor:grabbing;fill:#3b82f647;stroke:#3b82f6d9;stroke-width:1.8}.diagram-connector__label-leader{stroke:#94a3b88c;stroke-width:1.5;pointer-events:none}.diagram-connector__label-handle{pointer-events:all;fill:#0f172af2;stroke:#94a3b8e6;stroke-width:2;cursor:grab;filter:drop-shadow(0 6px 14px rgba(15,23,42,.45))}.diagram-connector__label-handle:active{cursor:grabbing}.canvas-overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;font-family:inherit}.connector-port-hint{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid rgba(148,163,184,.85);background:rgba(15,23,42,.92);transform:translate(-50%,-50%);box-shadow:0 6px 16px #0f172a66;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease;opacity:.9}.connector-port-hint.is-active{border-color:#60a5fa;background:rgba(59,130,246,.22);box-shadow:0 10px 24px #3b82f673;opacity:1}.canvas-guides{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-guide-line{stroke:#c084fcf2;stroke-width:1;shape-rendering:crispEdges}.canvas-guide-line--center{stroke:#818cf8f2}.distance-badge{position:absolute;pointer-events:none;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:12px;font-weight:600;color:#f8fafc;background:rgba(79,70,229,.92);border-radius:6px;box-shadow:0 6px 20px #0f172a59;text-shadow:0 0 6px rgba(15,23,42,.65);opacity:.94;transition:opacity .18s ease}.distance-badge--x.distance-badge--negative{transform:translate(-100%,-50%)}.distance-badge--x.distance-badge--positive{transform:translateY(-50%)}.distance-badge--y.distance-badge--negative{transform:translate(-50%,-100%)}.distance-badge--y.distance-badge--positive{transform:translate(-50%)}.distance-badge__equal{font-weight:700;font-size:12px}.distance-badge.is-equal{background:rgba(16,185,129,.9);color:#0f172a}.spacing-handle{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);background:rgba(236,72,153,.92);color:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;box-shadow:0 10px 24px #ec489959;cursor:grab;transition:transform .18s ease,background .18s ease,opacity .18s ease}.spacing-handle:hover{transform:translate(-50%,-50%) scale(1.05)}.spacing-handle:active{transform:translate(-50%,-50%) scale(.95);cursor:grabbing}.spacing-handle__label{pointer-events:none;display:inline-flex;align-items:center;gap:4px}.spacing-handle.is-uniform{background:rgba(52,211,153,.92);color:#0f172a;box-shadow:0 10px 24px #2dd4bf59}.diagram-connector__endpoint-hit:active{cursor:grabbing}.connector-pending{stroke:#60a5faa6;stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:none}.canvas-marquee{position:absolute;border:1.5px solid rgba(96,165,250,.8);border-radius:10px;background:rgba(37,99,235,.12);box-shadow:0 0 0 1px #0f172a47 inset;pointer-events:none}.selection-frame{position:absolute;pointer-events:none;border:1.5px solid rgba(59,130,246,.85);border-radius:14px;box-shadow:0 0 0 1px #0f172a66}.selection-frame__handle{position:absolute;width:12px;height:12px;border-radius:4px;background:rgba(15,23,42,.94);border:1.5px solid rgba(148,163,184,.85);transform:translate(-50%,-50%);pointer-events:all;transition:transform .15s ease,background .2s ease,border-color .2s ease}.selection-frame__handle:hover{transform:translate(-50%,-50%) scale(1.12);background:rgba(59,130,246,.85);border-color:#bfdbfef2}.selection-frame__handle:active{transform:translate(-50%,-50%) scale(.9)}.selection-frame__handle--n,.selection-frame__handle--s{cursor:ns-resize}.selection-frame__handle--e,.selection-frame__handle--w{cursor:ew-resize}.selection-frame__handle--ne,.selection-frame__handle--sw{cursor:nesw-resize}.selection-frame__handle--nw,.selection-frame__handle--se{cursor:nwse-resize}.canvas-container--page{background:radial-gradient(circle at top,rgba(59,130,246,.08),transparent 45%),radial-gradient(circle at bottom,rgba(16,185,129,.08),transparent 35%),#020617;border-color:#94a3b829;box-shadow:0 18px 55px #02061752;min-height:calc(var(--app-viewport-height, 100vh) - 104px);min-height:calc(100dvh - 104px);touch-action:pan-y manipulation}.canvas-container--page .canvas-svg{background:transparent}.canvas-container--page .diagram-node,.canvas-container--page .diagram-connector__line,.canvas-container--page .diagram-connector__label,.canvas-container--page .diagram-node__label{pointer-events:auto}.canvas-container--page .diagram-node__outline,.canvas-container--page .diagram-connector__hit,.canvas-container--page .diagram-connector__segment,.canvas-container--page .diagram-connector__segment-handle,.canvas-container--page .diagram-connector__endpoint-group,.canvas-container--page .diagram-node__connector-handles{display:none}.diagram-node__label--readonly{cursor:text;user-select:text;-webkit-user-select:text}.diagram-node--link .diagram-node__label--readonly{cursor:pointer}.diagram-node--button .diagram-node__outline{pointer-events:none}.diagram-node__button-control{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;justify-content:center;letter-spacing:.01em;line-height:1.1;padding:0 18px;text-align:center;width:100%;box-shadow:0 12px 28px #0f172a38,inset 0 1px #ffffff29;border-style:solid;-webkit-user-select:none;user-select:none}.diagram-node__button-control--board{cursor:move;pointer-events:none}.canvas-page-action-toast{position:absolute;left:50%;top:20px;z-index:8;max-width:min(520px,calc(100% - 32px));transform:translate(-50%);border:1px solid rgba(29,144,153,.35);border-radius:999px;background:rgba(15,23,42,.9);box-shadow:0 18px 36px #0f172a38;color:#e5f2ff;font-size:16px;font-weight:600;padding:10px 16px;pointer-events:none}.canvas-container--page .diagram-node__button-control{min-height:44px;touch-action:manipulation}.canvas-container--page .data-grid-cell__page-input,.canvas-container--page .data-grid-cell__page-select{font-size:max(16px,1em);touch-action:manipulation}.canvas-html-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.canvas-html-overlay .data-grid-overlay-node{pointer-events:auto}.draw-menu{display:flex;flex-direction:column;gap:18px;width:230px;padding:18px;border-radius:20px;background:rgba(15,23,42,.82);border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 40px #02061773;color:#e2e8f0;font-family:inherit;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.draw-menu__tool{display:flex;align-items:center;gap:12px;border:none;border-radius:16px;padding:12px 14px;background:rgba(30,41,59,.65);color:inherit;cursor:pointer;text-align:left;transition:background .2s ease,transform .12s ease,box-shadow .2s ease}.draw-menu__tool.is-active{background:linear-gradient(135deg,rgba(59,130,246,.35),rgba(14,165,233,.35));box-shadow:0 12px 32px #3b82f659}.draw-menu__tool:focus-visible,.draw-menu__tool:hover{outline:none;background:rgba(37,99,235,.45)}.draw-menu__tool-icon{font-size:24px;line-height:1}.draw-menu__tool-text{display:flex;flex-direction:column;gap:2px}.draw-menu__tool-title{font-weight:600;font-size:16px}.draw-menu__tool-subtitle{font-size:13px;color:#e2e8f0bf}.draw-menu__section{display:flex;flex-direction:column;gap:10px}.draw-menu__label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8e6}.draw-menu__chips{display:flex;flex-direction:column;gap:10px}.draw-menu__modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.draw-menu__mode-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid transparent;background:rgba(30,41,59,.6);color:inherit;cursor:pointer;font-weight:600;transition:border .2s ease,background .2s ease,box-shadow .2s ease,transform .12s ease}.draw-menu__mode-button:hover,.draw-menu__mode-button:focus-visible{outline:none;border-color:#3b82f680}.draw-menu__mode-button.is-active{border-color:#3b82f6d9;background:linear-gradient(135deg,rgba(59,130,246,.28),rgba(14,165,233,.24));box-shadow:0 10px 28px #3b82f652}.draw-menu__mode-icon{font-size:18px;line-height:1}.draw-menu__mode-text{font-size:14px}.draw-menu__chip{display:flex;align-items:center;gap:10px;background:rgba(30,41,59,.6);border:1px solid transparent;border-radius:14px;padding:10px 12px;color:inherit;cursor:pointer;transition:border .2s ease,background .2s ease,box-shadow .2s ease}.draw-menu__chip:hover,.draw-menu__chip:focus-visible{outline:none;border-color:#3b82f680}.draw-menu__chip.is-active{border-color:#3b82f6d9;background:linear-gradient(135deg,rgba(59,130,246,.28),rgba(14,165,233,.24));box-shadow:0 10px 28px #3b82f652}.draw-menu__chip-icon{font-size:18px;line-height:1}.draw-menu__chip-text{display:flex;flex-direction:column;align-items:flex-start}.draw-menu__chip-label{font-weight:600;font-size:14px}.draw-menu__chip-description{font-size:12px;color:#e2e8f0b3}.draw-menu__sizes{display:flex;gap:10px;flex-wrap:wrap}.draw-menu__size{width:40px;height:40px;border-radius:14px;border:1px solid transparent;background:rgba(30,41,59,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border .2s ease,background .2s ease,box-shadow .2s ease}.draw-menu__size-dot{display:inline-block;border-radius:999px;background:currentColor;transition:transform .2s ease}.draw-menu__size.is-active{border-color:#3b82f6d9;background:rgba(37,99,235,.35);box-shadow:0 10px 28px #3b82f652}.draw-menu__size.is-active .draw-menu__size-dot{transform:scale(1.05)}.draw-menu__current{display:flex;align-items:center;gap:10px;font-size:13px;color:#e2e8f0d9}.draw-menu__current-swatch{width:24px;height:24px;border-radius:8px;border:1px solid rgba(15,23,42,.6);box-shadow:0 4px 12px #0f172a73}.draw-menu__colors{display:flex;flex-wrap:wrap;gap:10px}.draw-menu__color{width:32px;height:32px;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,border .2s ease}.draw-menu__color:hover,.draw-menu__color:focus-visible{outline:none;transform:translateY(-2px)}.draw-menu__color.is-active{border-color:#3b82f6d9;box-shadow:0 8px 18px #3b82f659}.draw-menu__color--dropper{display:flex;align-items:center;justify-content:center;background:rgba(30,41,59,.75);color:#e2e8f0d9}.draw-menu__color--dropper:disabled{opacity:.4;cursor:not-allowed;transform:none}.draw-menu__dropper-icon{width:18px;height:18px}.app-shell{display:flex;flex-direction:column;flex:1;padding:16px;gap:16px;position:relative;min-height:100vh;min-height:100dvh}.toolbar{position:relative;z-index:80;display:flex;align-items:center;gap:calc(12px * var(--menu-scale));padding:calc(10px * var(--menu-scale)) calc(12px * var(--menu-scale));border-radius:calc(14px * var(--menu-scale));background:rgba(15,23,42,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.14);box-shadow:0 12px 40px #02061773}.toolbar__group{display:inline-flex;align-items:center;gap:calc(8px * var(--menu-scale));background:rgba(15,23,42,.55);border-radius:calc(12px * var(--menu-scale));padding:calc(6px * var(--menu-scale))}.toolbar__button{min-width:calc(36px * var(--menu-scale));height:calc(36px * var(--menu-scale));border:none;border-radius:calc(10px * var(--menu-scale));background:transparent;color:#f1f5f9;font-size:calc(15px * var(--menu-scale));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;transition:background .2s ease,transform .12s ease,color .2s ease}.toolbar__select{position:relative;display:inline-flex;align-items:center;height:calc(36px * var(--menu-scale));border-radius:calc(10px * var(--menu-scale));padding:0 calc(12px * var(--menu-scale));background:rgba(15,23,42,.35);color:#f1f5f9;font-size:calc(14px * var(--menu-scale));cursor:pointer;transition:background .2s ease,box-shadow .2s ease}.toolbar__select.is-active{background:linear-gradient(135deg,rgba(59,130,246,.35),rgba(14,165,233,.35));box-shadow:0 6px 20px #3b82f640}.toolbar__select:after{content:"▾";font-size:calc(12px * var(--menu-scale));margin-left:calc(8px * var(--menu-scale));color:inherit;pointer-events:none}.toolbar__select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;background:transparent;color:inherit;font:inherit;padding:0;padding-right:calc(18px * var(--menu-scale));cursor:pointer;min-width:calc(120px * var(--menu-scale))}.toolbar__select select:focus-visible{outline:none}.toolbar__select:focus-within{box-shadow:0 0 0 2px #3b82f673,0 6px 20px #3b82f640}.toolbar__select select option{color:#0f172a}.toolbar__button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px * var(--menu-scale));transform:translate(-50%,6px) scale(.95);background:rgba(15,23,42,.92);color:#e2e8f0f2;padding:calc(4px * var(--menu-scale)) calc(8px * var(--menu-scale));border-radius:calc(8px * var(--menu-scale));font-size:calc(11px * var(--menu-scale));font-weight:500;white-space:nowrap;box-shadow:0 10px 24px #02061766;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.toolbar__button[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 6px * var(--menu-scale));width:calc(10px * var(--menu-scale));height:calc(10px * var(--menu-scale));transform:translate(-50%,8px) rotate(45deg);background:rgba(15,23,42,.92);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.toolbar__button[data-tooltip]:hover:after,.toolbar__button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}.toolbar__button[data-tooltip]:hover:before,.toolbar__button[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%,2px) rotate(45deg)}.toolbar__button:is(:hover,:focus-visible){background:rgba(59,130,246,.18);outline:none}.toolbar__button.is-active{background:linear-gradient(135deg,rgba(59,130,246,.35),rgba(14,165,233,.35));color:#f8fafc;box-shadow:0 6px 20px #3b82f64d}.toolbar__button--stacked{justify-content:flex-start;gap:10px;padding-inline:10px 12px;width:100%;min-width:auto}.toolbar__button-label{font-size:calc(14px * var(--menu-scale));font-weight:600}.toolbar__button:disabled{opacity:.35;cursor:not-allowed}.toolbar__icon{display:inline-flex;align-items:center;justify-content:center;width:calc(20px * var(--menu-scale));height:calc(20px * var(--menu-scale));font-size:calc(16px * var(--menu-scale));line-height:1}.toolbar__icon svg{width:100%;height:100%;display:block}.toolbar__cursor-icon{filter:drop-shadow(0 2px 4px rgba(15,23,42,.45))}.toolbar__dropdown-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-inline:12px;width:100%;font-weight:600}.toolbar__dropdown-label{color:#e2e8f0c7;font-size:calc(13px * var(--menu-scale));letter-spacing:.01em}.toolbar__dropdown-current{color:#e2e8f0;font-size:calc(14px * var(--menu-scale));flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar__dropdown-chevron{font-size:calc(12px * var(--menu-scale));opacity:.75}.toolbar__dropdown-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:rgba(15,23,42,.95);border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px;box-shadow:0 14px 40px #020617a6;z-index:20}.toolbar__dropdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.toolbar__dropdown-list{display:flex;flex-direction:column;gap:8px}.toolbar__dropdown-divider{height:1px;background:linear-gradient(90deg,rgba(148,163,184,.08),rgba(148,163,184,.25),rgba(148,163,184,.08));border-radius:999px}.toolbar__select--stacked{width:100%;justify-content:space-between}.toolbar__status{font-size:calc(14px * var(--menu-scale));font-weight:500;padding:0 calc(12px * var(--menu-scale));color:#e2e8f0cc}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace{display:flex;flex:1;min-height:0;gap:24px;align-items:stretch;height:100%}.workspace__main{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;min-height:clamp(360px,calc(100vh - 220px),100%)}.workspace__file-size{position:absolute;left:12px;bottom:12px;padding:4px 8px;font-size:10px;letter-spacing:.02em;color:#e2e8f0b3;background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.28);border-radius:10px;box-shadow:0 10px 24px #02061766;pointer-events:none;z-index:5}.workspace__loader{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:6}.workspace__loader .int-loading-screen{width:min(560px,calc(100% - 32px));min-height:360px;border-radius:22px;border:1px solid rgba(148,163,184,.22);box-shadow:0 24px 70px #02061780}.workspace__draw-menu{position:absolute;left:16px;top:16px;z-index:4;pointer-events:none}.workspace__draw-menu .draw-menu{pointer-events:auto}.minimap{position:absolute;right:24px;bottom:24px;width:240px;height:180px;border-radius:18px;border:1px solid rgba(148,163,184,.25);background:rgba(15,23,42,.65);box-shadow:0 16px 40px #02061766;overflow:hidden;cursor:pointer}.minimap__viewport{fill:none;stroke:#60a5fae6;stroke-width:1.5;stroke-dasharray:6 6}.app-shell--mobile{padding:12px;gap:12px}.app-shell--mobile .workspace{flex-direction:column;gap:12px}.app-shell--mobile .workspace__main{min-height:0}.app-shell--mobile .workspace__draw-menu{position:static;order:-1;width:100%}.app-shell--mobile .workspace__draw-menu .draw-menu{width:100%;box-shadow:0 18px 40px #02061780}.app-shell--mobile .toolbar{--menu-scale: .72;position:sticky;bottom:12px;flex-wrap:wrap;gap:10px 12px;overflow-x:auto;justify-content:space-between;row-gap:10px;padding:10px 12px;border-radius:16px;width:100%;box-shadow:0 14px 36px #02061773;scrollbar-width:thin}.app-shell--mobile .toolbar__group{flex-wrap:wrap;gap:8px;flex:1 1 180px;justify-content:center}.app-shell--mobile .toolbar__group--dropdown{position:relative;flex:1 1 100%;align-items:stretch;justify-content:flex-start;width:100%}.app-shell--mobile .toolbar__button{min-width:40px;height:40px;font-size:15px}.app-shell--mobile .toolbar__dropdown-toggle{min-width:0;height:44px;padding-inline:12px}.app-shell--mobile .toolbar__dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:75vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell--mobile .toolbar{overflow:visible}.app-shell--mobile .toolbar__dropdown-grid{grid-template-columns:1fr}.app-shell--mobile .toolbar__select{min-width:40px;height:40px;padding-inline:10px}.app-shell--mobile .toolbar__select select{min-width:136px}.app-shell--mobile .toolbar__status{min-width:72px;text-align:center}.app-shell--mobile .toolbar__group--zoom{display:none}.app-shell--mobile .board-controls{width:100%;justify-content:space-between;gap:12px}.app-shell--mobile .minimap{width:160px;height:120px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));border-radius:14px}@media (max-width: 900px){.app-shell{padding:12px;gap:12px}.workspace{flex-direction:column;gap:12px}.workspace__main{min-height:0}.workspace__draw-menu{position:static;order:-1;width:100%}.workspace__draw-menu .draw-menu{width:100%;box-shadow:0 18px 40px #02061780}.toolbar{position:sticky;bottom:12px;flex-wrap:wrap;gap:12px;overflow-x:auto;justify-content:center;padding:12px 14px;border-radius:18px}.toolbar__group{flex-wrap:wrap;gap:8px}.toolbar__button{min-width:44px;height:44px;font-size:16px}.toolbar__select{min-width:44px;height:44px;padding-inline:12px}.toolbar__select select{min-width:140px}.toolbar__status{min-width:72px;text-align:center}.board-controls{width:100%;justify-content:space-between;gap:12px}.minimap{width:160px;height:120px;right:12px;bottom:12px;border-radius:14px}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(96,165,250,.15),transparent 55%),radial-gradient(circle at bottom,rgba(56,189,248,.12),transparent 60%),#020617;padding:24px}.login-card{width:min(360px,100%);background:rgba(15,23,42,.88);border-radius:24px;padding:32px 28px;box-shadow:0 24px 60px #0206178c;border:1px solid rgba(148,163,184,.2);display:flex;flex-direction:column;gap:18px;color:#e2e8f0}.login-card__title{font-size:24px;font-weight:600;margin:0}.login-card__subtitle{margin:-6px 0 4px;color:#cbd5e1bf;font-size:14px}.login-card__field{display:flex;flex-direction:column;gap:6px}.login-card__field label{font-size:13px;color:#e2e8f0bf}.login-card__field input{border-radius:12px;border:1px solid rgba(148,163,184,.25);background:rgba(15,23,42,.65);padding:10px 14px;color:#f8fafc;font-size:15px}.login-card__field input:focus-visible{outline:none;border-color:#60a5fabf;box-shadow:0 0 0 3px #3b82f659}.login-card__error{background:rgba(248,113,113,.18);border:1px solid rgba(248,113,113,.45);color:#fecaca;padding:10px 12px;border-radius:12px;font-size:13px}.login-card__submit{margin-top:6px;border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;background:linear-gradient(135deg,rgba(59,130,246,.8),rgba(14,165,233,.8));color:#f8fafc;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.login-card__submit:hover,.login-card__submit:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 14px 30px #3b82f666}.login-card__hint{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#94a3b8cc}.login-card__hint code{font-family:SFMono-Regular,Menlo,Consolas,monospace;background:rgba(15,23,42,.7);border-radius:8px;padding:6px 8px;color:#e2e8f0d9}.board-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;align-content:center;justify-content:center;padding:12px 18px;border-radius:18px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 40px #02061773;position:relative;align-self:center}.board-controls__group{display:flex;align-items:center;gap:10px}.board-controls__group--actions{flex-wrap:wrap;gap:16px}.board-controls__group--saved{gap:12px}.board-controls__saved-field{display:inline-flex;align-items:center;gap:8px}.board-controls__name-field,.board-controls__search-field{display:inline-flex;align-items:center;gap:10px;min-width:220px}.board-controls__name-label,.board-controls__search-label{font-size:12px;color:#e2e8f0d1;font-weight:500;white-space:nowrap}.board-controls__name-input,.board-controls__search-input{border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:8px 12px;background:rgba(15,23,42,.65);color:#e2e8f0;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.board-controls__name-input:focus-visible,.board-controls__search-input:focus-visible{outline:none;border-color:#60a5fa99;box-shadow:0 0 0 3px #3b82f640}.board-controls__name-input--invalid{border-color:#f87171bf}.board-controls__name-error{width:100%;flex-basis:100%;margin:0;font-size:12px;color:#f87171d9;text-align:right}.board-controls__saved-label{display:inline-flex;align-items:center;gap:8px}.board-controls__loading{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e2e8f0d1}.board-controls__loading-icon{display:inline-flex;animation:board-loading-spin 1s linear infinite}@keyframes board-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.board-controls__icon-button{width:40px;height:40px;border:1px solid rgba(148,163,184,.25);border-radius:12px;background:rgba(30,41,59,.6);color:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease,transform .15s ease}.board-controls__icon-button span[aria-hidden]{font-size:20px;line-height:1}.board-controls__icon-button:hover,.board-controls__icon-button:focus-visible{outline:none;background:rgba(59,130,246,.25);border-color:#60a5fa99;transform:translateY(-1px)}.board-controls__icon-button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) scale(.95);background:rgba(15,23,42,.92);color:#e2e8f0f2;padding:6px 10px;border-radius:8px;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:0 12px 28px #02061773;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.board-controls__icon-button[data-tooltip]:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);background:rgba(15,23,42,.92);opacity:0;transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:9}.board-controls__icon-button[data-tooltip]:hover:after,.board-controls__icon-button[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%) scale(1)}.board-controls__icon-button[data-tooltip]:hover:before,.board-controls__icon-button[data-tooltip]:focus-visible:before{opacity:1;transform:translateY(-50%) rotate(45deg)}.board-controls__iu-button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:rgba(30,41,59,.55);color:#e2e8f0e6;font-size:12px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.board-controls__iu-button:hover,.board-controls__iu-button:focus-visible{outline:none;background:rgba(59,130,246,.2);border-color:#60a5fa99;transform:translateY(-1px)}.board-controls__saved-label{font-size:12px;color:#e2e8f0d1;font-weight:500}.board-controls__saved-select{border:1px solid rgba(148,163,184,.25);border-radius:10px;background:rgba(15,23,42,.6);color:#e2e8f0;padding:8px 12px;font-size:14px;min-width:160px}.board-controls__saved-select:focus-visible{outline:none;border-color:#60a5fa99;box-shadow:0 0 0 3px #3b82f640}.board-controls__button{border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:8px 14px;font-size:14px;background:rgba(30,41,59,.6);color:#e2e8f0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.board-controls__button:hover,.board-controls__button:focus-visible{outline:none;background:rgba(59,130,246,.2);border-color:#60a5fa99}.board-controls__button:disabled{opacity:.45;cursor:not-allowed}.board-controls__status{position:absolute;right:16px;bottom:-28px;font-size:12px;color:#94a3b8d9}.board-controls__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:140}.board-controls__modal{width:min(360px,100%);background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px;color:#e2e8f0;box-shadow:0 24px 60px #0206178c}.board-controls__modal-header h2{margin:0 0 4px;font-size:20px;font-weight:600}.board-controls__modal-header p{margin:0;font-size:14px;color:#94a3b8e6}.board-controls__modal-label{font-size:13px;font-weight:500;color:#e2e8f0d1}.board-controls__modal-input{border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(15,23,42,.75);color:#e2e8f0;padding:10px 12px;font-size:14px}.board-controls__modal-input:focus-visible{outline:none;border-color:#60a5faa6;box-shadow:0 0 0 3px #3b82f640}.board-controls__modal-input--invalid{border-color:#f87171bf}.board-controls__modal-error{margin:0;font-size:12px;color:#f87171d9}.board-controls__modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.board-controls__modal-secondary,.board-controls__modal-primary{border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer;border:1px solid transparent}.board-controls__modal-secondary{background:rgba(30,41,59,.6);color:#e2e8f0;border-color:#94a3b840}.board-controls__modal-secondary:hover,.board-controls__modal-secondary:focus-visible{outline:none;background:rgba(59,130,246,.18);border-color:#60a5fa99}.board-controls__modal-primary{background:rgba(59,130,246,.85);color:#f8fafc;border:1px solid rgba(59,130,246,.9);box-shadow:0 12px 24px #3b82f659}.board-controls__modal-primary:hover,.board-controls__modal-primary:focus-visible{outline:none;background:rgba(37,99,235,.9)}.board-controls__note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:32px;z-index:120}.board-controls__note-dialog{width:min(640px,100%);max-height:calc(100vh - 64px);overflow-y:auto;background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.18);border-radius:20px;box-shadow:0 30px 70px #02061799;padding:28px;color:#e2e8f0}.board-controls__note-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.board-controls__note-header h2{margin:0;font-size:22px;font-weight:600}.board-controls__note-close{border:none;background:rgba(30,41,59,.6);color:#f8fafc;width:36px;height:36px;border-radius:999px;font-size:20px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}.board-controls__note-close:hover,.board-controls__note-close:focus-visible{outline:none;background:rgba(59,130,246,.35);transform:scale(1.05)}.board-controls__note-body{display:flex;flex-direction:column;gap:18px;font-size:15px;line-height:1.6}.board-controls__note-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:18px}.board-controls__note-list li{display:flex;flex-direction:column;gap:10px}.board-controls__note-list code{font-family:SFMono-Regular,Menlo,Consolas,monospace;background:rgba(15,23,42,.75);border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px;font-size:13px;color:#e2e8f0f2;white-space:pre-line}.board-controls__note-hint{margin:0;font-size:13px;color:#94a3b8e6;line-height:1.5}.app-shell--manager{align-items:center;justify-content:center}.manager{width:min(640px,100%);display:flex;flex-direction:column;gap:24px;padding:32px;border-radius:20px;background:rgba(15,23,42,.82);border:1px solid rgba(148,163,184,.18);color:#e2e8f0;box-shadow:0 30px 70px #02061799}.manager__header h1{margin:0;font-size:26px;font-weight:600}.manager__hint{margin:6px 0 0;color:#94a3b8d9;font-size:15px}.manager__section{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:16px;background:rgba(15,23,42,.65);border:1px solid rgba(148,163,184,.16)}.manager__section-header h2{margin:0;font-size:20px;font-weight:600}.manager__section-header p{margin:4px 0 0;font-size:14px;color:#94a3b8d9}.manager__primary,.manager__secondary,.manager__danger{border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .15s ease}.manager__button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.manager__landing-status{margin:0;font-size:14px;color:#e2e8f0d1}.manager__primary{align-self:flex-start;background:rgba(59,130,246,.85);color:#f8fafc;border-color:#3b82f6e6;box-shadow:0 18px 32px #3b82f64d}.manager__primary:hover,.manager__primary:focus-visible{outline:none;background:rgba(37,99,235,.9);transform:translateY(-1px)}.manager__primary:disabled,.manager__secondary:disabled{cursor:not-allowed;opacity:.55;transform:none}.manager__delete{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.manager__label{font-size:13px;font-weight:500;color:#e2e8f0d1;display:inline-flex;align-items:center;gap:8px}.manager__select{border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(15,23,42,.75);color:#e2e8f0;padding:8px 12px;font-size:14px;min-width:220px}.manager__select:focus-visible{outline:none;border-color:#60a5faa6;box-shadow:0 0 0 3px #3b82f640}.manager__danger{background:rgba(248,113,113,.2);color:#f87171e6;border-color:#f871718c}.manager__danger:hover,.manager__danger:focus-visible{outline:none;background:rgba(239,68,68,.25);border-color:#ef444499}.manager__loading{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e2e8f0d1}.manager__loading-icon{display:inline-flex;animation:board-loading-spin 1s linear infinite}.manager__secondary{background:rgba(30,41,59,.6);color:#e2e8f0;border-color:#94a3b840}.manager__secondary:hover,.manager__secondary:focus-visible{outline:none;background:rgba(59,130,246,.18);border-color:#60a5fa99}.manager__actions{display:flex;justify-content:flex-end}.manager__status{font-size:14px;padding:10px 14px;border-radius:12px;background:rgba(34,197,94,.18);color:#86efacf2;border:1px solid rgba(34,197,94,.35)}.manager__status--error{background:rgba(248,113,113,.18);color:#f87171f2;border-color:#f8717159}.manager__inline-status{flex-basis:100%;font-size:13px;padding:8px 12px;border-radius:10px;background:rgba(34,197,94,.14);color:#86efacf2;border:1px solid rgba(34,197,94,.28);white-space:pre-wrap}.manager__inline-status--error{background:rgba(248,113,113,.16);color:#f87171f2;border-color:#f8717152}.app-shell--page-display{min-height:var(--app-viewport-height, 100vh);min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-x:hidden;background:radial-gradient(circle at top left,rgba(59,130,246,.15),transparent 45%),radial-gradient(circle at bottom right,rgba(16,185,129,.15),transparent 40%),#0f172a;gap:12px}.workspace--page-display{flex:1;min-width:0;overflow-x:hidden}.workspace--page-display .workspace__main{min-width:0;min-height:calc(var(--app-viewport-height, 100vh) - 104px);min-height:calc(100dvh - 104px)}.app-error-panel{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(59,130,246,.15),transparent 45%),radial-gradient(circle at bottom right,rgba(16,185,129,.15),transparent 40%),#0f172a;color:#e2e8f0}.app-error-panel__card{width:min(900px,100%);display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:20px;background:rgba(15,23,42,.92);border:1px solid rgba(248,113,113,.35);box-shadow:0 24px 60px #0206178c}.app-error-panel h1,.app-error-panel h2,.app-error-panel p{margin:0}.app-error-panel h1{font-size:24px}.app-error-panel h2{margin-bottom:8px;font-size:14px;color:#e2e8f0c7}.app-error-panel pre{max-height:240px;overflow:auto;margin:0;padding:12px;border-radius:12px;white-space:pre-wrap;background:rgba(2,6,23,.72);color:#fecaca}.app-error-panel button{align-self:flex-start;border:none;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,rgba(59,130,246,.85),rgba(14,165,233,.85));color:#f8fafc;cursor:pointer;font-weight:700}.debug-overlay{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:1000;max-width:min(460px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:min(70vh,720px);overflow:auto;padding:12px;border-radius:14px;background:rgba(2,6,23,.92);color:#e2e8f0;border:1px solid rgba(56,189,248,.4);box-shadow:0 18px 40px #02061773;font-size:12px}.debug-overlay dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 10px;margin:8px 0 0}.debug-overlay dt{color:#93c5fde6}.debug-overlay dd{margin:0;word-break:break-word}.debug-overlay pre{max-height:160px;overflow:auto;margin:8px 0 0;white-space:pre-wrap;color:#fecaca}.manager__upload-loader .int-loading-screen{min-height:260px;margin-top:14px;border-radius:18px;border:1px solid rgba(148,163,184,.2)}.debug-overlay__copy{display:grid;gap:6px;margin-top:8px;color:#93c5fde6;font-weight:700}.debug-overlay__copy textarea{width:100%;min-height:120px;resize:vertical;border:1px solid rgba(56,189,248,.3);border-radius:10px;background:rgba(15,23,42,.88);color:#e2e8f0;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:8px}.debug-overlay__section{margin-top:10px}.static-board-page{display:flex;flex:1;justify-content:flex-start;align-items:center;flex-direction:column;min-width:0;width:100%;min-height:calc(var(--app-viewport-height, 100vh) - 104px);min-height:calc(100dvh - 104px);overflow-x:hidden;overflow-y:auto;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:radial-gradient(circle at top,rgba(59,130,246,.08),transparent 45%),radial-gradient(circle at bottom,rgba(16,185,129,.08),transparent 35%),#020617;box-shadow:0 18px 55px #02061752;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));touch-action:pan-y manipulation;-webkit-overflow-scrolling:touch}.static-board-page,.static-board-page *{box-sizing:border-box}.static-board-page__surface{width:min(100%,1200px,var(--static-page-content-width, 1200px));min-width:0;margin-inline:auto}.static-board-page__svg{display:block;width:100%;max-width:100%;height:auto;overflow:visible}.static-board-page .diagram-node,.static-board-page .diagram-node__label,.static-board-page .diagram-connector__line,.static-board-page .diagram-connector__label{pointer-events:auto}.static-board-page .diagram-node__outline,.static-board-page .diagram-connector__hit,.static-board-page .diagram-connector__segment,.static-board-page .diagram-connector__segment-handle,.static-board-page .diagram-connector__endpoint-group,.static-board-page .diagram-node__connector-handles{display:none}.static-board-page__empty{margin:auto;max-width:min(520px,100%);color:#e2e8f0db;font-size:16px;line-height:1.5;text-align:center}.static-board-page .diagram-node__label--readonly{user-select:text;-webkit-user-select:text;overflow-wrap:anywhere}.static-board-page .diagram-node__image{image-rendering:auto}.static-board-page .diagram-node__button-control{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.static-board-page .data-grid-node--page{max-width:100%;touch-action:manipulation}.static-board-page .data-grid-node--page .data-grid-cell{min-width:0;overflow-wrap:anywhere}.static-board-page .data-grid-node--page .data-grid-cell__page-input,.static-board-page .data-grid-node--page .data-grid-cell__page-select{font-size:max(16px,1em);min-height:32px;touch-action:manipulation}.static-board-page__action-toast{position:fixed;left:50%;top:max(18px,env(safe-area-inset-top));z-index:4;max-width:min(560px,calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));transform:translate(-50%);border:1px solid rgba(29,144,153,.35);border-radius:999px;background:rgba(15,23,42,.92);box-shadow:0 18px 36px #0f172a38;color:#e5f2ff;font-size:16px;font-weight:600;padding:10px 16px;text-align:center;pointer-events:none}@media (max-width: 720px){.static-board-page{min-height:calc(var(--app-viewport-height, 100vh) - 56px);min-height:calc(100dvh - 56px);border-radius:0;border-inline:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.static-board-page__surface{width:100%}}.static-board-page__surface{position:relative}.static-board-page__html-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;z-index:2}.static-board-page__html-world{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;transform-origin:top left}.static-board-page__data-grid-fallback{position:absolute;max-width:280px;border:1px solid rgba(248,113,113,.45);border-radius:12px;background:rgba(127,29,29,.82);color:#fee2e2;font-size:14px;line-height:1.35;padding:10px 12px}.int-loading-screen{display:grid;place-items:center;align-content:center;gap:10px;min-height:100%;padding:32px;background:radial-gradient(circle at top,rgba(29,144,153,.18),transparent 34%),linear-gradient(135deg,#07111f 0%,#0f172a 50%,#111827 100%);color:#f8fafc;text-align:center}.int-loading-screen--fullscreen{min-height:100vh;min-height:100dvh;min-height:var(--app-viewport-height, 100dvh)}.int-loading-screen__mark{--loader-scale: .44;display:grid;place-items:center;width:clamp(230px,32vw,340px);height:clamp(230px,32vw,340px);filter:drop-shadow(0 24px 24px rgba(0,0,0,.34))}.int-loading-screen__cube-loader{position:relative;width:86px;height:100px;transform:scale(var(--loader-scale));transform-origin:center;margin-top:-6px}.int-loading-screen__cube{position:absolute;z-index:var(--layer);width:86px;height:100px;animation:int-loader-cube-path 3s ease infinite;will-change:transform}.int-loading-screen__face{position:absolute;width:50px;height:50px;transform-origin:0 0}.int-loading-screen__face--top{z-index:2;background:#1d9099;transform:rotate(210deg) skew(-30deg) translate(-75px,-22px) scaleY(.86)}.int-loading-screen__face--left{background:#D53A33;transform:rotate(90deg) skew(-30deg) scaleY(.86) translate(25px,-50px)}.int-loading-screen__face--right{background:#E79C10;transform:rotate(-30deg) skew(-30deg) translate(49px,65px) scaleY(.86)}.int-loading-screen__brand{font-size:clamp(20px,4vw,30px);font-weight:800;letter-spacing:.02em;line-height:1.08}.int-loading-screen__message{max-width:min(520px,90vw);color:#e2e8f0c7;font-size:15px;line-height:1.5}@media (max-width: 480px){.int-loading-screen{gap:8px;padding:24px}.int-loading-screen__mark{--loader-scale: .36;width:210px;height:210px}}@keyframes int-loader-cube-path{0%{transform:translate(var(--x0),var(--y0))}14%{transform:translate(var(--x14),var(--y14))}28%{transform:translate(var(--x28),var(--y28))}43%{transform:translate(var(--x43),var(--y43))}57%{transform:translate(var(--x57),var(--y57))}71%{transform:translate(var(--x71),var(--y71))}85%,to{transform:translate(var(--x0),var(--y0))}}@media (prefers-reduced-motion: reduce){.int-loading-screen__cube{animation:int-loader-gentle-fade 3s ease-in-out infinite}@keyframes int-loader-gentle-fade{0%,to{opacity:.92}50%{opacity:1}}}:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#111827;color:#f9fafb;--menu-scale: .67}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;min-width:0;width:100%;overflow-x:hidden;display:flex;background:radial-gradient(circle at top left,rgba(59,130,246,.15),transparent 45%),radial-gradient(circle at bottom right,rgba(16,185,129,.15),transparent 40%),#0f172a}#root{flex:1;display:flex;min-width:0}button{font:inherit}svg text{-webkit-user-select:none;user-select:none}
