:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#101114;background:#fff;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;color-scheme:light;font-size:13px;--ink: #101114;--muted: #6d7280;--line: #d9dde5;--soft-line: #eceff4;--panel: #ffffff;--panel-alt: #f7f8fa;--blue: #155dfc;--blue-soft: #eef4ff;--green: #16845f;--amber: #ad6b00;--red: #c52828;--control-h: 26px;--control-h-sm: 22px;--pad-x: 8px;--gap: 6px;--fs-label: 10px;--fs-meta: 11px;--fs-body: 12px;--fs-head: 12px;--rail-w: 48px;--topbar-h: 44px;--toolbar-h: 58px;--panel-head-h: 34px}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{border-radius:0;font:inherit;accent-color:var(--blue)}button{border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:var(--control-h);padding:0 10px;font-size:var(--fs-body);cursor:pointer}button:hover{background:#2b2d33}button:disabled{cursor:not-allowed;opacity:.4}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none}input,select{height:var(--control-h);padding:0 var(--pad-x);font-size:var(--fs-body)}input[type=checkbox],input[type=radio]{width:13px;height:13px;min-height:0;margin:0;padding:0;vertical-align:middle;cursor:pointer}input[type=range]{height:18px;padding:0}textarea{min-height:64px;resize:vertical;padding:6px 8px;font-size:var(--fs-body);line-height:1.5}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}button:focus-visible,[data-connect-handle]:focus-visible,.rail-button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}::selection{background:#155dfc29}.map-surface,.grid-scroll,.utility-body,.spec-page textarea,.utility-body textarea{scrollbar-width:thin;scrollbar-color:#c4cad4 transparent}.map-surface::-webkit-scrollbar,.grid-scroll::-webkit-scrollbar,.utility-body::-webkit-scrollbar,.spec-page textarea::-webkit-scrollbar,textarea::-webkit-scrollbar{width:9px;height:9px}.map-surface::-webkit-scrollbar-thumb,.grid-scroll::-webkit-scrollbar-thumb,.utility-body::-webkit-scrollbar-thumb,.spec-page textarea::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{background:#c4cad4;border:2px solid #ffffff}.map-surface::-webkit-scrollbar-thumb:hover,.grid-scroll::-webkit-scrollbar-thumb:hover{background:#a7afbd}.boot-screen{display:grid;place-content:center;gap:8px;height:100%;background:#101114;color:#fff;letter-spacing:0}.boot-screen div{font-size:28px;font-weight:760}.boot-screen span{color:#b7bdc9;font-size:12px;text-transform:uppercase}.boot-screen--error span{color:#ffb4b4}body[data-route=landing]{overflow:auto;background:#fff}body[data-route=landing] #app{height:auto;min-height:100%}.landing-shell{min-height:100vh;background:radial-gradient(circle at 1px 1px,rgba(9,10,13,.16) 1.45px,transparent 2.2px),#fff;background-size:34px 34px;color:#090a0d}.landing-shell a{color:inherit;text-decoration:none}.landing-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:64px;padding:0 clamp(52px,9vw,176px);border-bottom:1px solid #000000;background:#fffffff0;backdrop-filter:blur(12px)}.landing-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:18px;font-weight:760;letter-spacing:0}.landing-brand__mark{display:block;flex:0 0 auto;width:30px;height:30px}.workspace-brand__mark{display:block;flex:0 0 auto;width:26px;height:26px}.landing-nav{display:flex;align-items:center;gap:20px;min-width:0;font-size:11px;font-weight:760;text-transform:uppercase}.landing-nav a,.landing-header__cta{min-height:30px;display:inline-grid;place-items:center}.landing-nav a:hover{color:var(--blue)}.landing-header__cta{padding:0 14px;border:1px solid #000000;background:#101114;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase}.landing-hero{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(560px,1.28fr);gap:clamp(24px,4vw,52px);align-items:center;padding:clamp(42px,6vw,76px) clamp(52px,9vw,176px) 52px;border-bottom:1px solid #000000}.landing-hero__copy{display:grid;gap:22px;align-content:center}.landing-hero h1{margin:0;font-size:clamp(48px,6vw,86px);line-height:.96;letter-spacing:0}.landing-hero__lede{max-width:620px;margin:0;font-size:clamp(20px,2.4vw,30px);line-height:1.2;font-weight:740}.landing-hero__support{max-width:560px;margin:0;color:#454b57;font-size:15px;line-height:1.7}.landing-actions,.landing-start__actions{display:flex;flex-wrap:wrap;gap:10px}.landing-button{display:inline-grid;place-items:center;min-height:44px;padding:0 18px;border:1px solid #000000;background:#fff;color:#101114;font-size:12px;font-weight:820;text-transform:uppercase}.landing-button--primary{background:#101114;color:#fff}.landing-shell .landing-header__cta,.landing-shell .landing-button--primary{color:#fff}.landing-button:hover,.landing-header__cta:hover{transform:translateY(-1px);box-shadow:3px 3px #000}.landing-signal-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:560px;margin:8px 0 0;border:1px solid #000000;background:#fff}.landing-signal-strip div{min-width:0;padding:12px;border-right:1px solid #000000}.landing-signal-strip div:last-child{border-right:0}.landing-signal-strip dt{color:var(--blue);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:800;text-transform:uppercase}.landing-signal-strip dd{margin:4px 0 0;font-size:13px;font-weight:720}.landing-product-preview{display:grid;grid-template-columns:minmax(340px,1fr) minmax(240px,.56fr);grid-template-rows:auto minmax(420px,1fr) auto;min-height:620px;border:1px solid #000000;background:#fff;box-shadow:8px 8px #101114}.landing-preview-tabs{grid-column:1 / 3;display:flex;align-items:stretch;height:42px;border-bottom:1px solid #000000;background:#fff}.landing-preview-tabs span{display:grid;place-items:center;min-width:86px;padding:0 12px;border-right:1px solid #000000;font-size:11px;font-weight:800}.landing-preview-tabs span:first-child{background:#101114;color:#fff}.landing-preview-canvas{position:relative;overflow:hidden;min-height:420px;border-right:1px solid #000000;background:linear-gradient(#e8edf5 1px,transparent 1px),linear-gradient(90deg,#e8edf5 1px,transparent 1px),#fff;background-size:24px 24px}.landing-preview-canvas:before,.landing-preview-canvas:after{content:"";position:absolute;border-left:1px solid #101114;border-bottom:1px solid #101114;pointer-events:none}.landing-preview-canvas:before{left:43%;top:34%;width:24%;height:38%}.landing-preview-canvas:after{left:28%;top:48%;width:28%;height:24%}.landing-preview-rail{position:absolute;left:14px;top:18px;z-index:2;display:grid;gap:8px;width:34px;padding:6px;border:1px solid #000000;background:#101114}.landing-preview-rail span{display:block;width:20px;height:20px;border:1px solid #ffffff}.landing-preview-rail span:first-child{display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800}.landing-preview-card{position:absolute;z-index:3;display:grid;gap:5px;width:min(190px,42%);min-height:92px;padding:12px;border:2px solid var(--card-accent);background:#fff;box-shadow:4px 4px #1011141f}.landing-preview-card small,.landing-preview-spec small,.landing-section__head span,.landing-negative span,.landing-start span{color:var(--blue);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:860;text-transform:uppercase}.landing-preview-card strong{line-height:1.25}.landing-preview-card span{color:#4b5260;font-size:11px}.landing-preview-card--blue{--card-accent: var(--blue);left:26%;top:19%}.landing-preview-card--green{--card-accent: var(--green);left:18%;top:48%}.landing-preview-card--red{--card-accent: var(--red);left:16%;bottom:8%}.landing-preview-card--amber{--card-accent: #d99000;right:9%;top:52%}.landing-preview-spec{display:grid;align-content:start;gap:14px;padding:24px;border-bottom:1px solid #000000;background:#fff}.landing-preview-spec h2{margin:0;font-size:22px;line-height:1.1}.landing-preview-spec p{margin:0;color:#474d58;font-size:13px;line-height:1.6}.landing-preview-spec ul{display:grid;gap:8px;margin:0;padding:0 0 0 16px;font-size:13px}.landing-preview-fields{grid-column:1 / 3;display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(100px,.8fr) minmax(120px,1fr);border-top:1px solid #000000;background:#fff}.landing-preview-fields strong,.landing-preview-fields span{min-width:0;padding:10px 12px;border-right:1px solid #d9dde5;border-bottom:1px solid #d9dde5;font-size:12px}.landing-preview-fields strong{grid-column:1 / 4;color:#525966;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;text-transform:uppercase}.landing-section,.landing-start,.landing-footer{padding:clamp(46px,6vw,82px) clamp(52px,9vw,176px);border-bottom:1px solid #000000;background:radial-gradient(circle at 1px 1px,rgba(9,10,13,.1) 1.25px,transparent 2px),#ffffffe6;background-size:34px 34px}.landing-section__head{display:grid;gap:12px;max-width:780px;margin-bottom:30px}.landing-section__head h2,.landing-negative h2,.landing-start h2{margin:0;font-size:clamp(26px,3.2vw,42px);line-height:1.08;letter-spacing:0}.landing-section__head p,.landing-start p{margin:0;color:#4c5260;font-size:15px;line-height:1.7}.landing-workflow{display:grid;gap:18px;background:radial-gradient(circle at 1px 1px,rgba(9,10,13,.1) 1.25px,transparent 2px),#ffffffe6;background-size:34px 34px}.landing-workflow .landing-section__head{margin-bottom:0;max-width:940px}.landing-workflow__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #000000;background:#fff}.landing-workflow__steps article{position:relative;display:grid;align-content:start;gap:12px;min-width:0;min-height:188px;padding:20px;border-right:1px solid #000000}.landing-workflow__steps article:last-child{border-right:0}.landing-workflow__steps article:not(:last-child):after{content:">";position:absolute;right:-7px;top:22px;z-index:1;display:grid;place-items:center;width:14px;height:18px;background:#fff;color:#101114;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:900}.landing-workflow__steps span,.landing-workflow__share strong{color:var(--blue);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:860;text-transform:uppercase}.landing-workflow__steps h3{margin:0;font-size:18px;line-height:1.18}.landing-workflow__steps p{margin:0;color:#4c5260;font-size:13px;line-height:1.62}.landing-workflow__share{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;border:1px solid #000000;background:#101114;color:#fff}.landing-workflow__share strong,.landing-workflow__share span{min-width:0;padding:12px 14px;border-right:1px solid rgba(255,255,255,.28)}.landing-workflow__share strong{color:#fff}.landing-workflow__share span{font-size:12px;font-weight:760}.landing-workflow__share span:last-child{border-right:0}.landing-system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #000000;background:#fff}.landing-system-grid article{display:grid;gap:14px;min-width:0;padding:22px;border-right:1px solid #000000}.landing-system-grid article:last-child{border-right:0}.landing-system-grid article>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #000000;background:#fff;color:var(--blue);font-weight:820}.landing-system-grid h3,.landing-comparison h3{margin:0;font-size:18px;line-height:1.2}.landing-system-grid p,.landing-comparison p,.landing-negative li{margin:0;color:#4c5260;font-size:13px;line-height:1.65}.landing-framework-band{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(360px,1fr);gap:clamp(28px,6vw,80px);align-items:start}.landing-framework-band .landing-section__head{margin-bottom:0}.landing-framework-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #000000;background:#fff}.landing-framework-list span{display:grid;place-items:center;min-height:54px;padding:0 12px;border-right:1px solid #000000;border-bottom:1px solid #000000;font-size:12px;font-weight:800;text-align:center}.landing-framework-list span:nth-child(3n){border-right:0}.landing-framework-list span:nth-last-child(-n+3){border-bottom:0}.landing-framework-list span:first-child{background:#101114;color:#fff}.landing-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #000000;background:#fff}.landing-comparison article{display:grid;align-content:start;gap:14px;min-width:0;padding:22px;border-right:1px solid #000000}.landing-comparison article:last-child{border-right:0}.landing-negative{display:grid;grid-template-columns:minmax(260px,.6fr) minmax(320px,1fr);gap:clamp(22px,5vw,70px)}.landing-negative>div{display:grid;align-content:start;gap:12px}.landing-negative ul{display:grid;gap:0;margin:0;padding:0;border:1px solid #000000;background:#fff;list-style:none}.landing-negative li{padding:18px;border-bottom:1px solid #000000}.landing-negative li:last-child{border-bottom:0}.landing-negative strong{color:#101114}.landing-start{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:24px;align-items:center;margin:clamp(18px,4vw,44px);border:1px solid #000000;background:radial-gradient(circle at 1px 1px,rgba(9,10,13,.1) 1.25px,transparent 2px),#ffffffe6;background-size:34px 34px}.landing-start>div:first-child{display:grid;gap:12px;max-width:620px}.landing-start__actions{justify-content:end}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:0;color:#4c5260}.landing-footer span{color:#101114;font-size:18px;font-weight:820}.landing-footer p{margin:0}.landing-footer a{color:#101114;font-weight:760;text-decoration:underline;text-underline-offset:3px}.landing-footer a:hover{color:var(--blue)}@media (max-width: 760px){.landing-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:58px}.landing-nav{display:none}.landing-hero{grid-template-columns:minmax(0,1fr);align-items:start;padding-top:38px}.landing-hero h1{font-size:58px}.landing-hero__lede{font-size:26px}.landing-product-preview{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 360px auto auto;min-height:0;box-shadow:4px 4px #101114}.landing-preview-tabs,.landing-preview-fields{grid-column:1}.landing-preview-tabs{overflow-x:auto}.landing-preview-canvas{min-height:360px;border-right:0;border-bottom:1px solid #000000}.landing-preview-card{width:min(172px,48%)}.landing-preview-card--blue{left:22%;top:16%}.landing-preview-card--green{left:12%;top:48%}.landing-preview-card--red{left:8%;bottom:8%}.landing-preview-card--amber{right:6%;top:48%}.landing-preview-spec{border-bottom:1px solid #000000}.landing-preview-fields{grid-template-columns:minmax(0,1fr)}.landing-preview-fields strong{grid-column:1}.landing-signal-strip,.landing-workflow__steps,.landing-workflow__share,.landing-system-grid,.landing-framework-band,.landing-framework-list,.landing-comparison,.landing-negative,.landing-start{grid-template-columns:minmax(0,1fr)}.landing-signal-strip div,.landing-workflow__steps article,.landing-workflow__share strong,.landing-workflow__share span,.landing-system-grid article,.landing-comparison article{border-right:0;border-bottom:1px solid #000000}.landing-workflow__steps article:not(:last-child):after{inset:auto auto -10px 50%;transform:translate(-50%) rotate(90deg)}.landing-signal-strip div:last-child,.landing-workflow__steps article:last-child,.landing-workflow__share span:last-child,.landing-system-grid article:last-child,.landing-comparison article:last-child{border-bottom:0}.landing-framework-list span,.landing-framework-list span:nth-child(3n),.landing-framework-list span:nth-last-child(-n+3){border-right:0;border-bottom:1px solid #000000}.landing-framework-list span:last-child{border-bottom:0}.landing-start{margin:18px}.landing-start__actions{justify-content:stretch}.landing-start__actions .landing-button,.landing-actions .landing-button{width:100%}.landing-footer{align-items:flex-start;flex-direction:column}}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);height:100%;background:#f1f3f6}.rail{display:none;flex-direction:column;align-items:center;gap:6px;border-right:1px solid #000000;background:#08090b;padding:8px 6px}.brand-mark,.rail-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid #30333a;background:transparent;color:#fff;font-weight:760}.brand-mark{background:#fff;color:#08090b;font-size:14px;min-height:0;padding:0}.rail-button{padding:0;font-size:14px;min-height:0}.rail-button.is-active,.rail-button:hover{border-color:#fff;background:#191b21}.main-stage{display:grid;grid-template-rows:var(--topbar-h) minmax(0,1fr);min-width:0;min-height:0}.command-bar{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(280px,1.2fr) minmax(260px,.9fr);align-items:center;gap:10px;border-bottom:1px solid #000000;background:#fff;padding:0 10px}.workspace-title,.selection-readout{display:flex;min-width:0;align-items:center;gap:8px}.workspace-title strong{flex:0 0 auto;font-size:15px;letter-spacing:0;white-space:nowrap}.selection-readout span,.panel-head span{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--fs-meta);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.room-switcher{display:block;flex:1 1 150px;min-width:84px;max-width:170px;position:relative}.room-switcher select{appearance:none;height:28px;border-color:#000;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700;padding-right:32px}.room-switcher:after{content:"";position:absolute;top:50%;right:10px;width:6px;height:6px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);pointer-events:none;transform:translateY(-62%) rotate(45deg)}.workspace-icon-command{display:grid;flex:0 0 auto;width:28px;height:28px;min-height:0;place-items:center;border-color:#000;background:#fff;color:var(--ink);padding:0}.workspace-icon-command:hover{background:var(--ink);color:#fff}.workspace-icon-command svg{width:15px;height:15px}.workspace-icon-command--danger{border-color:#000;color:var(--red)}.workspace-icon-command--danger svg{display:block;width:18px;height:18px;stroke-width:2.2}.workspace-icon-command--danger:hover{border-color:var(--red);background:var(--red);color:#fff}.framework-topbar{display:inline-flex;min-width:0;width:min(100%,382px);height:30px;align-items:center;justify-content:stretch;justify-self:center;overflow:hidden;border:1px solid #000000;background:#fff}.framework-topbar button{flex:0 0 auto;height:28px;min-height:0;border:0;border-right:1px solid #000000;background:#fff;color:var(--ink);font-size:var(--fs-meta);font-weight:760;padding:0 10px;white-space:nowrap}.framework-topbar>button:last-child{border-right:0}.framework-topbar__tabs{display:grid;flex:1 1 auto;grid-template-columns:repeat(var(--visible-framework-count, 3),minmax(72px,1fr));min-width:0;border-right:1px solid #000000}.framework-topbar__tab{min-width:0;overflow:hidden;text-overflow:ellipsis}.framework-topbar__tab:last-child{border-right:0}.framework-topbar button:hover,.framework-topbar button.is-active,.framework-topbar button[aria-selected=true]{background:var(--ink);color:#fff}.framework-topbar button:disabled{color:#aeb6c4;cursor:default}.framework-topbar button:disabled:hover{background:#fff;color:#aeb6c4}.framework-topbar__nav{display:grid;width:28px;place-items:center;padding:0!important}.framework-topbar__nav svg{width:14px;height:14px}.framework-topbar__manage{display:grid;width:32px;place-items:center;padding:0!important}.framework-topbar__manage svg{width:15px;height:15px}.framework-switcher{display:grid;grid-template-columns:auto minmax(188px,1fr) 28px;align-items:center;gap:5px;border:1px solid var(--ink);padding-left:8px}.framework-switcher span{color:#4d5564;font-size:var(--fs-meta);font-weight:760;text-transform:uppercase}.framework-switcher select{height:var(--control-h-sm);border-width:0 1px;font-size:var(--fs-meta)}.framework-switcher button{border:0;background:#fff;color:var(--ink);font-size:var(--fs-body);min-height:var(--control-h-sm);padding:0}.framework-switcher button:last-child{border-right:0}.framework-switcher button.is-active{background:var(--ink);color:#fff}.text-command{min-height:var(--control-h-sm);border-color:var(--line);background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 7px;white-space:nowrap}.text-command:hover{border-color:var(--ink);background:var(--blue-soft)}.selection-readout{justify-content:end}.selection-readout strong{overflow:hidden;font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap}.command-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.active-users-indicator{display:inline-flex;align-items:center;gap:4px;color:#4f5968;font-size:10px;font-weight:760;line-height:1;text-transform:none;white-space:nowrap}.selection-readout .active-users-indicator{text-transform:none}.active-users-indicator span{width:5px;height:5px;background:#1f9d55}.command-actions button{position:relative;display:grid;width:26px;min-height:var(--control-h-sm);place-items:center;padding:0;border-color:var(--line);background:#fff;color:var(--ink)}.command-actions .share-command{grid-auto-flow:column;width:auto;gap:5px;padding:0 8px;font-weight:760}.access-mode-badge{display:inline-flex;align-items:center;height:var(--control-h);padding:0 8px;border:1px solid var(--line);background:#fff;color:#4f5968;font-size:var(--fs-meta);font-weight:760;white-space:nowrap}.command-actions svg{width:14px;height:14px}.command-actions button:hover{border-color:var(--ink);background:var(--blue-soft)}.command-actions button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.command-badge{position:absolute;right:-3px;bottom:-4px;display:grid;min-width:12px;height:12px;place-items:center;border:1px solid #ffffff;background:var(--blue);color:#fff;font-size:8px;font-weight:800;line-height:1;padding:0 2px}.chat-popover[hidden]{display:none}.chat-popover{position:fixed;top:calc(var(--topbar-h) + 8px);right:10px;z-index:31;display:grid;width:min(340px,calc(100vw - 20px));max-height:min(460px,calc(100vh - var(--topbar-h) - 26px));grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #000000;background:#fff;box-shadow:8px 8px #10111424}.chat-messages{display:grid;align-content:start;gap:8px;min-height:170px;max-height:300px;overflow:auto;padding:10px}.chat-empty{align-self:center;justify-self:center;color:var(--muted);font-size:var(--fs-meta)}.chat-message{display:grid;gap:4px;border:1px solid var(--soft-line);background:var(--panel-alt);padding:7px 8px}.chat-message div{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:8px}.chat-message strong{overflow:hidden;font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap}.chat-message time{flex:0 0 auto;color:var(--muted);font-size:10px}.chat-message p{margin:0;color:#2b3038;font-size:var(--fs-body);line-height:1.4;overflow-wrap:anywhere}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) 36px;border-top:1px solid var(--line)}.chat-form input{height:36px;border:0}.chat-form button{display:grid;width:36px;min-height:36px;place-items:center;border-width:0 0 0 1px;border-color:var(--line);background:#fff;color:var(--ink);padding:0}.chat-form button:hover{background:var(--ink);color:#fff}.chat-form svg{width:16px;height:16px}.bottom-toolbar{position:fixed;left:50%;bottom:8px;z-index:22;display:flex;max-width:calc(100vw - 18px);min-width:0;align-items:center;justify-content:center;gap:8px;overflow-x:auto;padding:6px 8px;transform:translate(-50%);background:transparent}.bottom-toolbar__primary,.bottom-toolbar__utility{display:flex;min-width:0;height:38px;align-items:center;gap:0;overflow:hidden;border:1px solid #000000;border-radius:8px;background:#fff;box-shadow:0 8px 22px #1011141f}.bottom-toolbar__primary{overflow-x:auto}.bottom-tool,.icon-command{position:relative;border:0;border-right:1px solid var(--soft-line);background:#fff;color:var(--ink)}.bottom-tool{display:grid;width:36px;min-width:36px;height:36px;min-height:0;place-items:center;padding:0}.bottom-tool:last-child,.icon-command:last-child{border-right:0}.bottom-tool svg,.icon-command svg{width:18px;height:18px}.bottom-tool--drawer{color:#303642}.bottom-tool--drawer:before{content:"";position:absolute;left:8px;right:8px;bottom:3px;height:2px;background:transparent}.tool-badge{position:absolute;right:2px;bottom:2px;display:grid;min-width:13px;max-width:24px;height:13px;place-items:center;overflow:hidden;border:1px solid #ffffff;background:var(--ink);color:#fff;font-size:8px;font-weight:760;line-height:1;padding:0 2px;text-overflow:clip;text-transform:uppercase}.bottom-tool:hover,.bottom-tool.is-active,.icon-command:hover{background:var(--blue-soft);color:var(--ink)}.bottom-tool.is-active{background:var(--ink);color:#fff;box-shadow:none}.bottom-tool.is-active .tool-badge{background:#fff;color:var(--ink)}.bottom-tool--drawer.is-active:before{background:var(--blue)}.icon-command{display:grid;width:36px;height:36px;min-height:0;place-items:center;padding:0;font-weight:760}.zoom-controls{display:flex;height:36px;gap:0;background:#fff}.zoom-value{width:50px;font-size:var(--fs-meta)}.command-palette[hidden]{display:none}.command-palette{position:fixed;inset:0;z-index:30;display:grid;align-items:start;justify-items:center;background:#1011143d;padding-top:9vh}.command-dialog{width:min(520px,calc(100vw - 24px));border:1px solid #000000;background:#fff;box-shadow:8px 8px #1011142e}.command-dialog input{height:40px;border-width:0 0 1px;font-size:14px}.share-modal[hidden],.workspace-import-modal[hidden],.share-toast[hidden]{display:none}.share-modal{position:fixed;inset:0;z-index:32;display:grid;align-items:start;justify-items:end;background:#1011142e;padding:calc(var(--topbar-h) + 10px) 14px 14px}.share-dialog{display:grid;width:min(440px,calc(100vw - 28px));border:1px solid #000000;background:#fff;box-shadow:6px 6px #10111429}.share-dialog__head{display:flex;min-height:36px;align-items:stretch;justify-content:space-between;border-bottom:1px solid var(--line)}.share-dialog__head>div{display:grid;gap:2px;padding:7px 10px}.share-dialog__head strong{font-size:var(--fs-head)}.share-dialog__head span,.share-dialog__note{color:var(--muted);font-size:var(--fs-meta)}.share-links{display:grid;gap:8px;padding:10px}.share-link-row{display:grid;grid-template-columns:88px minmax(0,1fr) 56px;align-items:center;gap:6px}.share-link-row[hidden]{display:none}.share-link-row>span{color:#4f5968;font-size:var(--fs-meta);font-weight:760}.share-link-row input{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.share-link-row button{padding:0}.share-dialog__note{margin:0;border-top:1px solid var(--soft-line);padding:8px 10px 10px}.share-toast{position:fixed;right:14px;top:calc(var(--topbar-h) + 12px);z-index:34;min-width:150px;border:1px solid #000000;background:#101114;color:#fff;padding:8px 10px;font-size:var(--fs-body);font-weight:760;box-shadow:4px 4px #10111429}.workspace-import-modal{position:fixed;inset:0;z-index:33;display:grid;align-items:center;justify-items:center;background:#1011142e;padding:16px}.workspace-import-dialog{display:grid;width:min(460px,calc(100vw - 32px));border:1px solid #000000;background:#fff;box-shadow:6px 6px #10111429}.workspace-import-dialog__head{display:flex;min-height:38px;align-items:stretch;justify-content:space-between;border-bottom:1px solid var(--line)}.workspace-import-dialog__head>div{display:grid;gap:2px;min-width:0;padding:7px 10px}.workspace-import-dialog__head strong{font-size:var(--fs-head)}.workspace-import-dialog__head span,.workspace-import-dialog__note{color:var(--muted);font-size:var(--fs-meta)}.workspace-import-dialog__actions{display:grid;gap:8px;padding:10px}.workspace-import-dialog__actions button{display:grid;gap:4px;height:auto;min-height:62px;justify-items:start;padding:8px 10px;text-align:left}.workspace-import-dialog__actions span{color:var(--muted);font-size:var(--fs-meta);line-height:1.35}.workspace-import-dialog__note{margin:0;border-top:1px solid var(--soft-line);padding:8px 10px 10px}.command-list{display:grid;max-height:min(420px,62vh);overflow:auto}.command-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:38px;border-width:0 0 1px;background:#fff;color:var(--ink);text-align:left}.command-list button:hover,.command-list button:focus{background:var(--blue-soft)}.command-list span,.command-empty{color:var(--muted);font-size:var(--fs-meta)}.command-empty{padding:12px}.tutorial-layer[hidden]{display:none}.tutorial-layer{position:fixed;inset:0;z-index:40;pointer-events:none}.tutorial-spotlight{position:fixed;border:2px solid var(--blue);box-shadow:0 0 0 9999px #10111457,0 0 0 5px #155dfc29;pointer-events:none}.tutorial-card{position:fixed;z-index:41;width:min(368px,calc(100vw - 24px));max-height:calc(100vh - 24px);border:1px solid #000000;background:#fff;box-shadow:8px 8px #1011142e;overflow:auto;padding:12px;pointer-events:auto}.tutorial-card__meta{color:var(--muted);font-size:var(--fs-label);font-weight:760;text-transform:uppercase}.tutorial-card h2{margin:5px 0 7px;font-size:17px;line-height:1.15}.tutorial-card p{margin:0;color:#3b4250;font-size:var(--fs-body);line-height:1.45}.tutorial-card__actions{display:flex;flex-wrap:wrap;justify-content:end;gap:6px;margin-top:12px}.tutorial-card__actions button{min-height:var(--control-h-sm);font-size:var(--fs-meta)}.workbench{position:relative;min-height:0;overflow:hidden;background:#000}.region--framework-welcome{position:absolute;top:10px;left:10px;z-index:16;display:block;width:min(320px,calc(100% - 20px));pointer-events:none}.framework-welcome{position:relative;display:grid;gap:6px;width:100%;border:1px solid #000000;background:#fffffff5;box-shadow:6px 6px #1011141a;padding:10px 34px 10px 10px;pointer-events:auto}.framework-welcome>span{color:var(--muted);font-size:var(--fs-label);font-weight:760;text-transform:uppercase}.framework-welcome h2{margin:0;font-size:15px;line-height:1.15}.framework-welcome p{margin:0;color:#3f4653;font-size:var(--fs-meta);line-height:1.4}.framework-welcome__fields{display:flex;flex-wrap:wrap;gap:4px}.framework-welcome__fields span{border:1px solid var(--line);background:#f7f8fa;color:#394150;font-size:10px;padding:2px 5px}.framework-welcome__close{position:absolute;top:0;right:0;display:grid;width:24px;height:24px;min-height:0;place-items:center;border-width:0 0 1px 1px;border-color:var(--line);background:#fff;color:var(--ink);padding:0}.framework-welcome__close svg{width:14px;height:14px}.framework-welcome__close:hover{border-color:var(--ink);background:var(--blue-soft)}.region--map{display:block;height:100%;min-height:0}.tool-panel-stack{position:fixed;left:50%;bottom:66px;width:min(920px,calc(100% - 24px));transform:translate(-50%);z-index:21;display:grid;justify-items:center;pointer-events:none}.tool-panel{display:grid;grid-template-rows:32px minmax(0,1fr);width:min(760px,100%);max-height:min(430px,46vh);min-height:min(260px,40vh);border:1px solid #000000;background:#fff;box-shadow:8px 8px #10111429;overflow:hidden;pointer-events:auto}#app[data-open-tool-panel=grid] .tool-panel-stack{left:0;right:0;bottom:0;z-index:20;width:100vw;transform:none;justify-items:stretch}#app[data-open-tool-panel=grid] .tool-panel--grid{width:100%;height:min(48vh,calc(100vh - var(--topbar-h)));max-height:none;min-height:0;border-width:1px 0 0;border-color:#111318;box-shadow:none}.tool-panel--spec{position:fixed;top:var(--topbar-h);right:0;bottom:0;left:50vw;z-index:20;width:auto;max-height:none;min-height:0;border-width:0 0 0 1px;border-color:#111318;box-shadow:none}.tool-panel[hidden]{display:none}.framework-popover{position:fixed;top:calc(var(--topbar-h) + 8px);left:50%;z-index:24;display:grid;grid-template-rows:32px minmax(0,1fr);width:min(980px,calc(100vw - 20px));max-height:min(560px,calc(100vh - 86px));min-height:min(420px,calc(100vh - 86px));transform:translate(-50%);border:1px solid #000000;background:#fff;box-shadow:8px 8px #10111429;overflow:hidden}.framework-popover[hidden]{display:none}.framework-popover .region,.framework-popover .panel,.framework-popover .panel--frameworks{min-height:0;height:100%}.tool-panel__chrome{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);background:#f8fafc;padding:0 0 0 10px}.spec-dock__chrome>div{display:flex;min-width:0;align-items:baseline;gap:8px}.spec-dock__chrome span{overflow:hidden;color:var(--muted);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap}.tool-panel__chrome strong{overflow:hidden;font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap}.tool-panel__close{align-self:stretch;display:grid;width:32px;height:auto;min-height:0;place-items:center;border-width:0 0 0 1px;border-color:var(--line);background:#fff;color:var(--ink);padding:0}.tool-panel__close svg{width:14px;height:14px}.tool-panel__close:hover{border-color:var(--red);background:#fff1f1;color:var(--red)}.tool-panel .region{display:block;min-height:0}.panel,.utility-dock{min-width:0;min-height:0;background:var(--panel)}.tool-panel .panel,.tool-panel .utility-dock{height:100%}.panel{display:grid;grid-template-rows:var(--panel-head-h) minmax(0,1fr)}.panel--map{position:relative;height:100%}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:0 10px}.panel-head h2{margin:0;font-size:var(--fs-head);font-weight:760;letter-spacing:0}.panel-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.connect-form{display:grid;grid-template-columns:minmax(96px,1fr) 98px 46px;gap:5px;width:min(380px,58%)}.connect-form select{height:var(--control-h-sm);font-size:var(--fs-meta)}.connect-form button{padding:0;min-height:var(--control-h-sm);font-size:var(--fs-meta)}.map-surface{position:relative;overflow:hidden;cursor:grab;--map-zoom: 1;--map-grid-size: 22px;--map-grid-x: 0px;--map-grid-y: 0px;background:linear-gradient(#eef1f5 1px,transparent 1px),linear-gradient(90deg,#eef1f5 1px,transparent 1px),#fff;background-position:var(--map-grid-x) var(--map-grid-y);background-size:var(--map-grid-size) var(--map-grid-size);touch-action:none}.map-surface.is-panning{cursor:grabbing}.map-surface[data-active-tool=node],.map-surface[data-active-tool=note]{cursor:crosshair}.map-surface[data-active-tool=connector]{cursor:cell}.map-world-frame{position:absolute;inset:0;overflow:visible}.map-world{position:absolute;left:0;top:0;width:1px;height:1px;zoom:var(--map-zoom)}.map-overlay{position:absolute;top:var(--panel-head-h);right:0;bottom:0;left:0;z-index:4;overflow:hidden;pointer-events:none}.map-hint{position:absolute;left:10px;top:8px;z-index:6;display:inline-flex;max-width:min(620px,calc(100% - 20px));align-items:center;flex-wrap:wrap;gap:6px;border:1px solid var(--line);background:#ffffffeb;color:#4d5564;font-size:10px;letter-spacing:.01em;padding:3px 7px;pointer-events:none}.map-hint b{color:var(--ink);font-weight:700}.map-links{position:absolute;left:-500000px;top:-500000px;width:1000000px;height:1000000px;overflow:visible;pointer-events:auto}.map-link{stroke:#6b7280;stroke-width:1.4;pointer-events:none}.map-link.is-selected{stroke:var(--blue);stroke-width:2}.map-link-hit{stroke:#155dfc03;stroke-width:18;pointer-events:all;cursor:pointer}.map-arrow{fill:#6b7280}.map-temp-link{stroke:var(--blue);stroke-width:1.6;stroke-dasharray:4 3}.map-link-label{fill:#505766;font-size:10px;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-width:4px}.map-link-label.is-selected{fill:var(--blue)}.map-card{position:absolute;width:184px;min-height:84px;border:1px solid #202229;background:#fff;box-shadow:4px 4px #10111414;cursor:grab;padding:8px 9px 9px;user-select:none;touch-action:none}.map-card:hover{box-shadow:4px 4px #10111424}.map-card.is-dragging{cursor:grabbing;z-index:5;box-shadow:6px 6px #1011142e}.map-card.is-selected{border-color:var(--blue);box-shadow:4px 4px #155dfc29,inset 0 0 0 1px var(--blue)}.map-card.is-link-target{border-color:var(--green);box-shadow:0 0 0 2px #16845f80}.map-card--goal{border-left:4px solid #101114}.map-card--feature{border-left:4px solid var(--blue)}.map-card--deliverable{border-left:4px solid var(--green)}.map-card--impact{border-left:4px solid var(--amber)}.map-card--actor{border-left:4px solid #6d28d9}.map-card--note,.map-card--feedback{border-left:4px solid var(--red)}.map-card__type{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.map-card h3{margin:4px 0 7px;font-size:13px;line-height:1.2}.map-card__title-input{height:23px;margin:3px 0 6px;border-color:var(--blue);background:#fff;font-size:13px;font-weight:760;line-height:1.2;padding:0 5px}.map-card__meta{display:flex;flex-wrap:wrap;gap:4px 6px;color:#414856;font-size:10px}.map-card__meta span{border:1px solid var(--soft-line);padding:0 4px}.map-card__bar{height:4px;margin-top:8px;background:#e2e6ec}.map-card__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green))}.map-card__handle{position:absolute;right:-7px;bottom:-7px;display:grid;width:14px;height:14px;min-height:0;place-items:center;border:1px solid #aeb6c4;background:#fffffff0;color:#303744;font-size:0;line-height:0;overflow:hidden;padding:0;cursor:crosshair;opacity:1;pointer-events:auto;transition:opacity .08s ease;touch-action:none}.map-card__handle:before{content:"+";display:grid;width:100%;height:100%;place-items:center;font-size:11px;font-weight:760;line-height:1}.map-card__handle:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.map-card__delete{position:absolute;top:-1px;right:-1px;display:grid;width:18px;height:18px;min-height:0;place-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:0;line-height:0;opacity:0;overflow:hidden;padding:0}.map-card__delete:before,.map-card__delete:after,.entity-inspector__close:before,.entity-inspector__close:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:1.5px;background:currentColor;transform:translate(-50%,-50%) rotate(var(--button-x-angle));transform-origin:center}.map-card__delete:before,.entity-inspector__close:before{--button-x-angle: 45deg}.map-card__delete:after,.entity-inspector__close:after{--button-x-angle: -45deg}.map-card.is-selected .map-card__delete,.map-card:hover .map-card__delete{opacity:1}.map-card__delete:hover{border-color:var(--red);background:#fff1f1;color:var(--red)}.map-card__quick{position:absolute;z-index:4;display:grid;width:16px;height:16px;min-height:0;place-items:center;border:1px solid #aeb6c4;background:#fffffff0;color:#303744;font-size:12px;font-weight:760;line-height:1;opacity:0;padding:0;pointer-events:none;transition:opacity .12s ease,border-color .12s ease,background-color .12s ease,color .12s ease}.map-card:hover .map-card__quick,.map-card__quick:focus-visible{opacity:1;pointer-events:auto}.map-card__quick:hover{background:var(--blue);color:#fff}.map-card__spec{position:absolute;right:21px;top:-9px;display:inline-grid;min-height:18px;place-items:center;border:1px solid #111318;background:#fff;color:var(--ink);font-size:9px;font-weight:780;letter-spacing:.04em;line-height:1;opacity:0;padding:0 6px;pointer-events:none;text-transform:uppercase;transition:opacity .12s ease,background-color .12s ease,color .12s ease,transform .12s ease}.map-card:hover .map-card__spec,.map-card__spec:focus-visible{opacity:1;pointer-events:auto}.map-card__spec:hover{background:var(--ink);color:#fff}.map-card__quick--right{right:-8px;top:50%;transform:translateY(-50%)}.map-card__quick--bottom{left:50%;bottom:-8px;transform:translate(-50%)}.entity-inspector{position:absolute;top:38px;right:12px;z-index:7;display:grid;width:292px;gap:7px;border:1px solid #000000;background:#fff;box-shadow:6px 6px #10111424;padding:8px}#app[data-open-tool-panel]:not([data-open-tool-panel=""]) .entity-inspector{display:none}.entity-inspector__head{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:start;gap:2px;min-width:0}.entity-inspector__head>div{display:grid;min-width:0;gap:2px}.entity-inspector__head span,.entity-inspector label span,.entity-inspector__doc-card span,.schema-builder label span,.schema-check span{color:var(--muted);font-size:var(--fs-label);font-weight:760;letter-spacing:.03em;text-transform:uppercase}.entity-inspector__head strong{overflow:hidden;font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap}.entity-inspector__close{position:relative;display:grid;justify-self:end;width:22px;height:22px;margin-right:0;min-height:0;place-items:center;border-color:var(--line);background:#fff;color:var(--ink);font-size:0;line-height:0;overflow:hidden;padding:0}.entity-inspector__close:hover{border-color:var(--red);background:#fff1f1;color:var(--red)}.entity-inspector label{display:grid;gap:3px}.entity-inspector input,.entity-inspector select{height:var(--control-h-sm);font-size:var(--fs-meta)}.entity-inspector output{display:block;min-height:var(--control-h-sm);border:1px solid var(--soft-line);background:#f8fafc;color:#4d5564;font-size:var(--fs-meta);padding:3px 6px}.entity-inspector__doc-card{display:grid;gap:6px;border:1px solid #111318;background:#fbfcfe;padding:7px}.entity-inspector__doc-card>div{display:grid;gap:2px}.entity-inspector__doc-card p{margin:0;color:#4d5564;font-size:var(--fs-meta);line-height:1.35}.entity-inspector__doc-card button{justify-self:start;min-height:var(--control-h-sm);background:var(--ink);color:#fff;font-size:var(--fs-meta);padding:0 9px}.entity-inspector__fields{display:grid;max-height:170px;gap:6px;overflow:auto;padding-right:2px}.entity-inspector__fields p{margin:0;color:var(--muted);font-size:var(--fs-meta);line-height:1.35}.entity-inspector__check{grid-template-columns:16px minmax(0,1fr);align-items:center}.entity-inspector__actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.entity-inspector__actions button{min-height:var(--control-h-sm);font-size:var(--fs-meta);padding:0 6px}.entity-inspector .is-missing input,.entity-inspector .is-missing select,.entity-inspector .is-missing output{border-color:var(--amber);background:#fff9ec}.relation-inspector{position:absolute;top:36px;right:10px;z-index:6;display:grid;width:min(560px,calc(100% - 20px));grid-template-columns:minmax(120px,1fr) 118px minmax(120px,160px) 24px;gap:5px;align-items:center;border:1px solid #000000;background:#fff;box-shadow:4px 4px #1011141f;padding:6px}.relation-inspector span{min-width:0;overflow:hidden;color:#4d5564;font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap}.relation-inspector select,.relation-inspector input{height:var(--control-h-sm);font-size:var(--fs-meta)}.relation-inspector button{width:24px;min-height:var(--control-h-sm);padding:0}.map-empty,.grid-empty,.spec-empty{display:grid;align-content:center;justify-items:start;gap:7px;color:#4d5564;font-size:var(--fs-meta);line-height:1.35}.map-empty{position:absolute;left:24px;top:52px;display:grid;width:min(300px,calc(100vw - 56px));box-sizing:border-box;grid-template-columns:minmax(0,1fr) 28px;align-items:center;column-gap:10px;row-gap:3px}.map-empty span{max-width:28ch}.grid-empty{min-height:118px;padding:18px}.spec-empty{padding:14px}.map-empty strong,.grid-empty strong,.spec-empty strong{color:var(--ink);font-size:var(--fs-body)}.map-empty button,.grid-empty button,.spec-empty button{width:26px;min-height:26px;padding:0}.map-empty button{grid-column:2;grid-row:1 / span 2;width:28px;min-height:28px}.axis{position:absolute;z-index:1;color:#9aa1ae;font-size:9px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;pointer-events:none}.axis--x{bottom:10px;right:14px}.axis--y{left:8px;top:38px;writing-mode:vertical-rl}.framework-library{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-height:0;overflow:auto;padding:10px}.framework-tabs{display:inline-flex;min-width:0;max-width:100%;gap:0;justify-self:start;overflow-x:auto;background:#fff;border:1px solid #000000}.framework-tab{display:grid;grid-template-columns:minmax(68px,auto) 24px;background:#fff}.framework-tab+.framework-tab{border-left:1px solid #000000}.framework-tab button{min-height:28px;border:0;background:transparent;color:var(--ink);font-size:var(--fs-meta);font-weight:760;padding:0 8px}.framework-tab.is-active{background:var(--ink)}.framework-tab.is-active button{color:#fff}.framework-tab__remove{border-left:1px solid rgba(255,255,255,.2)!important;padding:0!important}.framework-detail{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:10px;border:1px solid var(--line);padding:10px}.framework-detail strong{display:block;margin-bottom:4px;font-size:var(--fs-body)}.framework-detail p{margin:0;color:#4d5564;font-size:var(--fs-meta);line-height:1.4}.framework-field-list{display:flex;flex-wrap:wrap;align-content:start;gap:5px}.framework-field-list span{border:1px solid var(--line);background:#f8fafc;color:#414856;font-size:var(--fs-meta);padding:3px 6px}.framework-presets{display:grid;gap:10px;min-height:0;overflow:auto}.framework-preset-group{display:grid;gap:6px;min-width:0}.framework-preset-group h3{margin:0;border-bottom:1px solid var(--line);color:#303744;font-size:var(--fs-meta);letter-spacing:0;text-transform:uppercase}.framework-preset-group__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;min-width:0}.framework-presets article{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:8px;align-items:center;border:1px solid var(--line);background:#fff;padding:8px}.framework-presets strong,.framework-presets span{display:block;min-width:0}.framework-presets strong{font-size:var(--fs-body)}.framework-presets span{color:var(--muted);font-size:var(--fs-meta);line-height:1.35}.framework-presets button{min-height:var(--control-h-sm);padding:0 8px}.schema-workbench{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.grid-panel-actions{display:flex;flex:0 0 auto;align-items:center;gap:5px}.grid-panel-actions button{min-height:var(--control-h-sm);border-color:var(--line);background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 8px}.grid-panel-actions button:hover{border-color:var(--ink);background:var(--blue-soft)}.schema-builder{display:grid;grid-template-columns:minmax(120px,1fr) 106px minmax(140px,1fr) minmax(110px,.8fr) 84px 88px 84px minmax(160px,1fr);gap:6px;align-items:end;border-bottom:1px solid var(--line);background:#fbfcfe;padding:8px}.schema-builder__head{display:grid;align-self:center;gap:2px}.schema-builder__head strong{font-size:var(--fs-body)}.schema-builder__head span{color:var(--muted);font-size:var(--fs-meta);line-height:1.3}.schema-builder label{display:grid;gap:3px;min-width:0}.schema-check{grid-template-columns:15px minmax(0,1fr);align-items:center;min-height:var(--control-h)}.schema-check input{justify-self:center}.schema-builder button{min-height:var(--control-h);padding:0 8px}.schema-field-list{display:flex;min-width:0;max-height:56px;align-content:flex-start;flex-wrap:wrap;gap:4px;overflow:auto}.schema-field-list span{border:1px solid var(--line);background:#fff;color:#414856;font-size:var(--fs-meta);padding:2px 5px}.schema-field-list small{color:var(--muted);font-size:9px;margin-left:3px;text-transform:uppercase}.grid-scroll{overflow:auto;background:#fff}.strategy-grid{width:max(100%,880px);border-collapse:collapse;font-size:var(--fs-meta)}.strategy-grid th,.strategy-grid td{border-bottom:1px solid var(--soft-line);border-right:1px solid var(--soft-line);padding:0;text-align:left;vertical-align:middle}.strategy-grid thead th{position:sticky;top:0;z-index:2;height:26px;background:#f5f7fa;color:#475062;font-size:10px;font-weight:760;padding:0 8px;letter-spacing:.02em;text-transform:uppercase}.grid-sort-button{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;height:25px;min-height:0;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:0;text-align:left;text-transform:inherit}.grid-sort-button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-sort-button:hover,.grid-sort-button.is-active{color:#111318}.grid-sort-indicator{color:var(--muted);font-size:8px;font-weight:800}.strategy-grid td{height:28px}.strategy-grid tbody tr:hover td{background:#f7f9fc}.strategy-grid tr.is-selected td{background:var(--blue-soft)}.strategy-grid tr.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--blue)}.strategy-grid input,.strategy-grid select{height:27px;border:0;background:transparent;font-size:var(--fs-meta);padding:0 8px}.strategy-grid input:focus,.strategy-grid select:focus{box-shadow:inset 0 0 0 1px var(--blue)}.grid-check{width:34px;text-align:center;vertical-align:middle}.grid-check__box{display:grid;width:100%;height:27px;place-items:center}.strategy-grid thead .grid-check__box{height:26px}.grid-boolean-cell{display:grid;width:100%;height:100%;min-height:27px;place-items:center}.strategy-grid input[type=checkbox]{display:block;width:13px;height:13px;min-height:0;margin:0;padding:0}.grid-row-actions{width:96px;text-align:center}.strategy-grid td.grid-row-actions{padding:0 5px}.grid-row-actions button{min-height:var(--control-h-sm);border:1px solid var(--line);background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 7px}.grid-row-actions button:hover{border-color:var(--red);background:#fff1f1;color:var(--red)}.readonly-cell,.type-mark{display:block;padding:0 8px;color:#4d5564}.type-mark{font-size:10px;letter-spacing:.02em;text-transform:uppercase}.spec-workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;background:#fff}.spec-workspace[data-spec-outline-expanded=true]{grid-template-columns:minmax(132px,.28fr) minmax(0,1fr)}.panel--spec-immersive{grid-template-rows:minmax(0,1fr);height:100%;background:#fff}.spec-page__actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:4px}.spec-page__actions>button{min-height:24px;border-color:var(--line);background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 7px}.spec-page__actions>button:hover{border-color:#111318;background:#f7f8fa}.spec-page__actions>.spec-outline-toggle{min-width:58px}.spec-page__actions>.spec-outline-toggle.is-active{border-color:#111318;background:#111318;color:#fff}.spec-outline,.spec-editor-pane{min-width:0;min-height:0}.spec-outline{background:#fff}.spec-outline{display:grid;grid-template-rows:30px minmax(0,1fr);border-right:1px solid var(--line)}.spec-workspace:not([data-spec-outline-expanded=true]) .spec-outline{display:none}.spec-outline>strong{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);color:#3f4653;font-size:var(--fs-meta);padding:0 9px}.spec-outline>div{display:grid;align-content:start;gap:2px;overflow:auto;padding:6px}.spec-outline button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;min-height:24px;border:0;background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 5px 0 calc(5px + var(--outline-depth, 0) * 8px);text-align:left}.spec-outline button:hover{background:var(--blue-soft)}.spec-outline button span,.spec-outline__empty{color:var(--muted);font-size:9px;font-weight:760;text-transform:uppercase}.spec-outline__empty{padding:4px}.spec-page{display:grid;grid-template-rows:auto auto;align-content:start;min-width:0;min-height:0;background:#fff;overflow:auto}.spec-editor-pane{display:grid;min-width:0;min-height:0;background:#fff;padding:0}.spec-page__header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border-bottom:1px solid var(--soft-line);background:#fff;padding:9px 12px 8px}.utility-body label{display:grid;gap:4px;min-height:0}.utility-body label span{color:var(--muted);font-size:var(--fs-label);font-weight:760;letter-spacing:.03em;text-transform:uppercase}.spec-title-inline{width:100%;min-width:0;border:0;background:transparent;color:#111318;font:inherit;font-size:20px;font-weight:820;line-height:1.22;padding:0}.spec-title-inline:focus{outline:none;box-shadow:inset 0 -2px 0 var(--blue)}.spec-writing-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--fs-meta);white-space:nowrap}.spec-writing-surface{min-width:0;min-height:0;background:#fff}.spec-writing-surface textarea,.spec-page textarea{min-height:0;height:auto;width:100%;border:0;background:#fff;color:#181b22;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.72;padding:20px clamp(20px,4vw,48px);resize:none}.spec-writing-surface textarea:focus{outline:none;box-shadow:inset 3px 0 0 var(--blue)}.spec-writing-surface textarea::placeholder{color:#9aa2b2}.spec-polls{display:grid;gap:10px;padding:0 clamp(20px,4vw,48px) 24px}.spec-poll{display:grid;gap:8px;border:1px solid var(--line);background:#fff;padding:10px}.spec-poll__head,.spec-poll__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.spec-poll__head span,.spec-poll__foot span{color:var(--muted);font-size:var(--fs-label);font-weight:760;letter-spacing:.03em;text-transform:uppercase}.spec-poll__head button,.spec-poll__foot button,.spec-poll-option>button{min-height:24px;border-color:var(--line);background:#fff;color:var(--ink);font-size:var(--fs-meta);padding:0 8px}.spec-poll__head button:hover,.spec-poll__foot button:hover,.spec-poll-option>button:hover{border-color:var(--ink);background:#f7f8fa}.spec-poll__question{height:30px;border-color:transparent;font-size:15px;font-weight:760;padding:0}.spec-poll__question:focus{border-color:transparent;box-shadow:inset 0 -2px 0 var(--blue)}.spec-poll__options{display:grid;gap:6px}.spec-poll-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.6fr) 28px;gap:6px;align-items:center}.spec-poll-option--vote-only{grid-template-columns:minmax(0,1fr)}.spec-poll-option__vote{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;min-height:30px;background:#f8fafc;color:var(--ink);text-align:left}.spec-poll-option__vote.is-selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.spec-poll-option__bar{position:absolute;inset:0 auto 0 0;z-index:0;background:#155dfc1f;pointer-events:none}.spec-poll-option__vote span:not(.spec-poll-option__bar),.spec-poll-option__vote strong{position:relative;z-index:1}.spec-poll-option__vote strong{font-size:var(--fs-meta)}.status-chip{border:1px solid var(--line);color:#414856;font-size:10px;letter-spacing:.02em;padding:2px 7px;text-transform:uppercase}.utility-dock{display:grid;grid-template-rows:30px minmax(0,1fr);height:100%}.utility-dock--settings{grid-template-rows:var(--panel-head-h) minmax(0,1fr)}.utility-actions{display:grid;grid-template-columns:1fr 1fr}.utility-actions button{border-width:0 1px 1px 0;background:#f8fafc;color:var(--ink);font-size:var(--fs-meta);padding:0 4px}.utility-actions button:hover{background:var(--blue-soft)}.utility-body{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto;padding:8px}.dock-hint{flex:0 0 auto;margin:0;color:var(--muted);font-size:10px;line-height:1.4}.dock-hint b{color:var(--ink);font-weight:700}.utility-group{display:grid;flex:0 0 auto;gap:5px}.utility-settings{flex:0 0 auto;border:1px solid var(--line);background:#fbfcfe}.utility-settings summary{cursor:pointer;color:var(--ink);font-size:var(--fs-meta);font-weight:760;padding:7px 8px}.utility-settings[open]{display:grid;gap:7px;padding-bottom:8px}.utility-settings[open] .utility-group{margin:0 8px}.utility-group--exports{grid-template-columns:1fr 1fr}.utility-body textarea{height:auto;min-height:68px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.utility-group--output textarea{min-height:72px}.utility-group--csv textarea{min-height:64px}.utility-body button{width:100%}.utility-group--workspace-file{gap:8px}.utility-group--workspace-file>div:first-child{display:grid;gap:4px}.utility-group--workspace-file strong{font-size:var(--fs-head)}.workspace-file-picker{display:grid;gap:6px;border:1px dashed #000000;background:#fff;padding:8px}.workspace-file-picker span{color:#4f5968;font-size:var(--fs-meta);font-weight:760}.workspace-file-picker input{width:100%;font-size:var(--fs-meta)}.workspace-file-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--soft-line);background:#fbfcfe}.workspace-file-summary span{display:grid;gap:2px;min-width:0;border-right:1px solid var(--soft-line);padding:7px 8px;color:var(--muted);font-size:var(--fs-meta)}.workspace-file-summary span:last-child{border-right:0}.workspace-file-summary b{color:var(--ink);font-size:var(--fs-head)}.empty-state{color:var(--muted);font-size:var(--fs-meta);padding:14px}@media (max-width: 1120px){body{overflow-x:hidden;overflow-y:auto}#app{min-height:100%;height:auto;overflow-x:hidden}.app-shell{min-height:100vh;grid-template-columns:1fr}.rail{display:none}.main-stage{grid-template-rows:auto minmax(520px,1fr);min-height:100vh}.command-bar{grid-template-columns:1fr;height:auto;min-height:150px;align-items:stretch;padding:10px}.framework-topbar{justify-content:flex-start}.workbench{min-height:520px}.bottom-toolbar{justify-content:flex-start;min-height:0}.bottom-toolbar__primary,.bottom-toolbar__utility{flex:0 0 auto;overflow-x:auto}.bottom-tool,.bottom-tool--mode{min-width:36px}.tool-panel-stack{left:50%;right:auto;bottom:66px;width:calc(100% - 12px)}.tool-panel{max-height:min(56vh,calc(100vh - 190px));min-height:min(360px,48vh)}#app[data-open-tool-panel=grid] .tool-panel--grid{height:min(56vh,calc(100vh - 190px));max-height:none;min-height:0}.tool-panel--spec{inset:8px 8px 70px;max-height:none;min-height:0;border-width:1px}.framework-popover{top:156px;width:calc(100% - 12px);max-height:calc(100vh - 226px);min-height:min(420px,calc(100vh - 226px))}.framework-detail{grid-template-columns:1fr}.panel--map{min-height:480px}.panel--grid{min-height:280px}.panel--spec{min-height:460px}.spec-page__header{grid-template-columns:1fr;align-items:start}.spec-page__actions{justify-content:flex-start;overflow-x:auto}.spec-workspace{grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr);overflow:auto}.spec-workspace[data-spec-outline-expanded=true]{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,1fr)}.spec-outline{max-height:116px;border-right:0;border-bottom:1px solid var(--line)}.spec-page{border-right:0}.spec-editor-pane{border-right:0;padding:8px}.spec-writing-surface textarea{font-size:15px;padding:20px 16px}.spec-polls{padding:0 16px 18px}.spec-poll-option{grid-template-columns:1fr 28px}.spec-poll-option__vote{grid-column:1 / -1}.connect-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 56px;width:100%}.entity-inspector{left:10px;right:auto;width:min(320px,calc(100% - 20px))}.schema-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.schema-builder__head,.schema-field-list{grid-column:1 / -1}.panel{grid-template-rows:auto minmax(0,1fr)}.panel-head{min-height:var(--panel-head-h);flex-wrap:wrap;align-items:start;padding:8px 10px}.panel-head>div{min-width:0}.panel-head select,.panel-head button{min-width:0}}.region{display:contents}.region--map,.region--tool,.region--framework-welcome{display:block;min-height:0}.region--map,.region--tool{height:100%}
