*{box-sizing:border-box}body{margin:0;background:#f3f4f5;color:#25292f;font:14px/1.45 'Segoe UI',Arial,sans-serif;height:100dvh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#fff;border-bottom:1px solid #dfe3e6;flex-wrap:wrap}header strong{font-size:24px;letter-spacing:-1px}header strong span{color:#c78552}header small{font-size:12px;color:#757c86}.company{border-left:1px solid #dfe3e6;padding-left:16px}header b{margin-right:auto}a{color:#467e78}button{font:inherit;background:#fff;border:1px solid #dfe3e6;border-radius:6px;padding:6px 10px;color:inherit;cursor:pointer}button:hover{background:#edf3f2}button:focus-visible,a:focus-visible{outline:2px solid #467e78;outline-offset:2px}main{min-height:0;flex:1;padding:12px;display:grid;gap:12px;grid-template-columns:minmax(0,2.5fr) minmax(300px,1fr);grid-template-rows:1fr 1fr}section{min-width:0;min-height:0;border:1px solid #dfe3e6;border-radius:9px;overflow:hidden;background:#fff;display:flex;flex-direction:column;box-shadow:0 2px 6px #25292f07}section[data-window="2d"]{grid-row:1/3}.window-title{display:flex;align-items:center;gap:6px;background:#fafbfc;border-bottom:1px solid #dfe3e6;padding:7px 10px}.window-title b{margin-right:auto}.window-title button{border:0;padding:2px 7px;font-size:18px;background:transparent}iframe{width:100%;flex:1;min-height:0;border:0}main.focus{display:block}main.focus section{height:100%}section[hidden]{display:none!important}nav{display:flex;gap:8px;padding:0 12px 10px;min-height:8px}nav:empty{padding:0}nav button{background:white}@media(max-width:800px){header small{display:none}main{grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr}section[data-window="2d"]{grid-column:1/3;grid-row:1}header b{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
/* The controls scroll away; the working windows occupy their own full viewport. */
html{height:auto;min-height:100%;scroll-behavior:smooth;scroll-padding-top:0}body{height:auto;min-height:100dvh;display:block;overflow-y:auto}#windows{height:calc(100dvh - 48px);min-height:400px;flex:none;scroll-margin-top:0}#dock{min-height:48px;padding:8px 12px;align-items:center;background:var(--dto-bg,#f3f4f5)}#dock:empty{min-height:48px;padding:8px 12px}#work-focus{white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.windows-resizing iframe{pointer-events:none}
.window-title{cursor:move;touch-action:none;user-select:none}.windows-reordering iframe{pointer-events:none}.window-drop-target{outline:3px solid var(--dto-turquoise,#20c7bb);outline-offset:-3px}.workspace-height-grip{height:32px;display:flex;align-items:center;justify-content:center;cursor:row-resize!important;touch-action:none;color:var(--dto-muted,#7291aa);font-size:12px;border-bottom:1px solid var(--dto-border,#cbd6e5);user-select:none}.workspace-height-grip:hover{color:var(--dto-turquoise,#20c7bb)}
/* Four interchangeable tiles are packed by the live grid rules below. */

/* Compact workspace chrome keeps all four work areas usable on small screens. */
main{padding:6px;gap:6px}.window-title{min-height:27px;padding:3px 8px;font-size:12px;line-height:1.2}.window-title button{min-width:24px;min-height:22px;padding:0 5px;font-size:15px;line-height:1}#windows{height:calc(100dvh - 34px)}#dock{min-height:34px;padding:4px 6px}#dock:empty{min-height:34px;padding:4px 6px}#dock button{padding:4px 7px;font-size:11px}.workspace-height-grip{height:22px;font-size:10px}
section.collapsed{height:29px!important;min-height:29px!important;align-self:start}section.collapsed iframe{display:none!important}section.collapsed .window-title{border-bottom:0!important}section.collapsed [data-max]{display:none}

/* Independent pane sizing. Every tile owns its width and height in the packing grid. */
#windows{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-flow:dense;grid-auto-rows:24px!important;align-content:start}
#windows section[data-window]{position:relative;grid-column:span var(--pane-cols,6)!important;grid-row:span var(--pane-rows,1)!important}
#windows.focus{display:block!important}#windows.focus section[data-window]{width:100%!important;height:100%!important;grid-column:auto!important;grid-row:auto!important}#windows.focus .pane-resize-grip{display:none!important}
#windows section[data-slot="0"]{order:0}#windows section[data-slot="1"]{order:1}#windows section[data-slot="2"]{order:2}#windows section[data-slot="3"]{order:3}
.window-divider{display:none!important}.pane-resize-grip{position:absolute;z-index:35;touch-action:none}.pane-resize-grip:hover,.pane-resize-grip:focus-visible{filter:brightness(1.6);outline:none}.pane-resize-grip:active{background-color:color-mix(in srgb,var(--dto-turquoise,#20c7bb) 14%,transparent)}.pane-resize-n,.pane-resize-s{left:24px;right:24px;height:10px;cursor:ns-resize!important}.pane-resize-n{top:-4px}.pane-resize-s{bottom:-4px}.pane-resize-e,.pane-resize-w{top:24px;bottom:24px;width:10px;cursor:ew-resize!important}.pane-resize-e{right:-4px}.pane-resize-w{left:-4px}.pane-resize-n:after,.pane-resize-s:after{content:'';position:absolute;width:42px;height:3px;left:calc(50% - 21px);top:3px;border-radius:4px;background:var(--dto-border,#6f829d)}.pane-resize-e:after,.pane-resize-w:after{content:'';position:absolute;width:3px;height:42px;top:calc(50% - 21px);left:3px;border-radius:4px;background:var(--dto-border,#6f829d)}.pane-resize-ne,.pane-resize-se,.pane-resize-sw,.pane-resize-nw{width:18px;height:18px}.pane-resize-ne{right:0;top:0;cursor:nesw-resize!important}.pane-resize-se{right:0;bottom:0;cursor:nwse-resize!important}.pane-resize-sw{left:0;bottom:0;cursor:nesw-resize!important}.pane-resize-nw{left:0;top:0;cursor:nwse-resize!important}.pane-resize-ne:after,.pane-resize-se:after,.pane-resize-sw:after,.pane-resize-nw:after{content:'';position:absolute;inset:3px;border-color:var(--dto-border,#6f829d);border-style:solid;border-width:0}.pane-resize-ne:after{border-top-width:2px;border-right-width:2px}.pane-resize-se:after{border-right-width:2px;border-bottom-width:2px}.pane-resize-sw:after{border-left-width:2px;border-bottom-width:2px}.pane-resize-nw:after{border-left-width:2px;border-top-width:2px}
@media(max-width:700px){#windows section[data-window]{grid-column:span var(--pane-cols-mobile,12)!important}.pane-resize-grip{width:22px;height:22px}}
.pane-resize-ne:after,.pane-resize-se:after,.pane-resize-sw:after,.pane-resize-nw:after{display:none!important}
#windows section[data-slot="4"]{order:4}

[data-window="2d"] iframe[hidden]{display:none!important} .knowledge-dialog{max-width:850px;width:90vw;max-height:85vh;background:#0a2525ef;color:#c4eddf;border:1px solid #63b79b;padding:24px}.knowledge-dialog article{overflow:auto;max-height:65vh}.knowledge-dialog h2{color:#93e4c5}.knowledge-dialog p,.knowledge-dialog li{line-height:1.6}
#workspace-properties{position:fixed;z-index:10000;right:18px;top:110px;width:390px;height:560px;max-width:calc(100vw - 16px);max-height:calc(100vh - 32px);min-width:280px;min-height:180px;box-sizing:border-box;font:12px/1.5 Montserrat,'Segoe UI',sans-serif;border-radius:16px!important;clip-path:none!important}#workspace-properties .road-property-handle{touch-action:none}#workspace-properties .global-resize{position:absolute;touch-action:none;z-index:5}.global-resize.resize-n,.global-resize.resize-s{left:16px;right:16px;height:7px;cursor:ns-resize}.global-resize.resize-n{top:0}.global-resize.resize-s{bottom:0}.global-resize.resize-e,.global-resize.resize-w{top:16px;bottom:16px;width:7px;cursor:ew-resize}.global-resize.resize-e{right:0}.global-resize.resize-w{left:0}.global-resize.resize-ne,.global-resize.resize-nw,.global-resize.resize-se,.global-resize.resize-sw{width:16px;height:16px}.global-resize.resize-ne{top:0;right:0;cursor:nesw-resize}.global-resize.resize-nw{top:0;left:0;cursor:nwse-resize}.global-resize.resize-se{bottom:0;right:0;cursor:nwse-resize}.global-resize.resize-sw{bottom:0;left:0;cursor:nesw-resize}

#workspace-properties{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))!important}
#workspace-property-tether{position:fixed;inset:0;width:100vw;height:100vh;z-index:9999;pointer-events:none;overflow:visible}#workspace-property-tether path{fill:none;stroke:#69b7ad;stroke-width:1.2;stroke-dasharray:5 4;opacity:.7}#workspace-property-tether circle{fill:#8be5d2;opacity:.8}

html[data-theme] body section[data-window=roadmap]{border-color:#68d6c57a!important;box-shadow:none!important;border-radius:0!important}html[data-theme] body section[data-window=roadmap]>.window-title{border-color:#68d6c54a!important;box-shadow:none!important}
html[data-theme] body section[data-window],html[data-theme] body section[data-window=roadmap]{border-color:var(--dto-window-frame,#39e6d0)!important;border-left-width:3px!important;box-shadow:none!important;border-radius:0!important}html[data-theme] body .window-title{border-color:var(--dto-window-frame,#39e6d0)!important}

.knowledge-dialog.dto-unified-properties{padding:14px;width:min(850px,90vw);max-height:85dvh}.knowledge-dialog:not([open]){display:none!important}.knowledge-dialog[open]{display:flex;flex-direction:column}.knowledge-dialog .detail-handle{cursor:default;flex-shrink:0}.knowledge-sections{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0;flex-shrink:0}.knowledge-sections button[aria-pressed=true]{border-color:#20c7bb;background:#20c7bb30}.knowledge-dialog article.detail-scroll{max-height:none;min-height:0;overflow:auto}.knowledge-dialog section[hidden]{display:none}.knowledge-dialog::backdrop{background:#00121c88}
