@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700&display=swap";:root{--color-bg:oklch(13% .005 240);--color-bg-subtle:oklch(15% .005 240);--color-surface:oklch(18% .008 240);--color-surface-raised:oklch(20% .008 240);--color-surface-overlay:oklch(16% .005 240/.96);--color-border:oklch(25% .008 240);--color-border-subtle:oklch(22% .005 240);--color-border-strong:oklch(30% .01 240);--color-text:oklch(93% .01 240);--color-text-secondary:oklch(62% .015 240);--color-text-tertiary:oklch(48% .01 240);--color-text-inverse:oklch(13% .005 240);--color-accent:oklch(82% .18 130);--color-accent-hover:oklch(86% .18 130);--color-accent-muted:oklch(28% .06 130);--color-accent-subtle:oklch(22% .04 130);--color-accent-text:oklch(88% .15 130);--color-danger:oklch(70% .18 25);--color-danger-bg:oklch(22% .06 25);--color-warning:oklch(75% .12 80);--color-warning-bg:oklch(22% .04 80);--color-success:oklch(72% .15 145);--color-success-bg:oklch(20% .05 145);--color-info:oklch(70% .12 240);--color-info-bg:oklch(20% .04 240);--color-focus-ring:oklch(60% .12 130);--color-selection-bg:oklch(30% .08 130);--color-selection-text:oklch(93% .01 240);--color-canvas-dot:oklch(22% .005 240);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-display:"Plus Jakarta Sans", var(--font-sans);--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", ui-monospace, Menlo, Consolas, monospace;--font-size-xs:10px;--font-size-sm:11px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:37px;--line-height-tight:1.18;--line-height-normal:1.5;--line-height-relaxed:1.7;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semi:550;--font-weight-bold:650;--letter-spacing-tight:-.6px;--letter-spacing-loose:.5px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px oklch(0% 0 0/.3), 0 1px 2px oklch(0% 0 0/.2);--shadow-md:0 4px 16px oklch(0% 0 0/.35), 0 1px 3px oklch(0% 0 0/.2);--shadow-lg:0 12px 40px oklch(0% 0 0/.4), 0 4px 12px oklch(0% 0 0/.25);--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.4s;--ease-default:cubic-bezier(.4, 0, .2, 1);--z-canvas:1;--z-nav:12;--z-panel:35;--z-overlay:50;--z-toast:80;--scrollbar-w:6px;--scrollbar-track:transparent;--scrollbar-thumb:var(--color-border)}@media (prefers-color-scheme:light){:root{--color-bg:oklch(97% .005 240);--color-bg-subtle:oklch(96% .003 240);--color-surface:oklch(100% 0 0);--color-surface-raised:oklch(99% .003 240);--color-surface-overlay:oklch(97% .005 240/.96);--color-border:oklch(85% .008 240);--color-border-subtle:oklch(90% .005 240);--color-border-strong:oklch(78% .01 240);--color-text:oklch(18% .01 240);--color-text-secondary:oklch(50% .015 240);--color-text-tertiary:oklch(58% .01 240);--color-text-inverse:oklch(100% 0 0);--color-accent:oklch(58% .16 130);--color-accent-hover:oklch(54% .16 130);--color-accent-muted:oklch(92% .04 130);--color-accent-subtle:oklch(95% .03 130);--color-accent-text:oklch(30% .08 130);--color-danger:oklch(55% .16 25);--color-danger-bg:oklch(96% .02 25);--color-warning:oklch(60% .1 80);--color-warning-bg:oklch(96% .02 80);--color-success:oklch(55% .12 145);--color-success-bg:oklch(96% .03 145);--color-info:oklch(55% .1 240);--color-info-bg:oklch(96% .02 240);--color-focus-ring:oklch(50% .1 130);--color-selection-bg:oklch(85% .06 130);--color-selection-text:oklch(18% .01 240);--color-canvas-dot:oklch(82% .005 240);--shadow-sm:0 1px 3px oklch(0% 0 0/.06), 0 1px 2px oklch(0% 0 0/.04);--shadow-md:0 4px 16px oklch(0% 0 0/.08), 0 1px 3px oklch(0% 0 0/.05);--shadow-lg:0 12px 40px oklch(0% 0 0/.1), 0 4px 12px oklch(0% 0 0/.06);--scrollbar-thumb:oklch(78% .005 240)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}p{line-height:var(--line-height-relaxed)}code,kbd,pre,samp{font-family:var(--font-mono)}pre{white-space:pre-wrap;word-break:break-word}a{color:var(--color-accent-text);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg,video{max-width:100%;display:block}::-webkit-scrollbar{width:var(--scrollbar-w);height:var(--scrollbar-w)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#202729;font-synthesis:none;background:#f4f5f4;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button,input,textarea,select{outline-color:#54855b}button:focus-visible{outline-offset:3px;outline:2px solid #477452}button{background:#fff;border:1px solid #dfe3de;border-radius:8px;padding:8px 12px;font-size:12px}button:hover:not(:disabled){background:#f3f6f1}.app-header{z-index:25;background:#fffffff5;border-bottom:1px solid #e0e4df;align-items:center;gap:14px;height:64px;padding:0 25px;display:flex;position:relative}.logo{color:#d4f69d;background:#222a26;border-radius:9px;place-items:center;width:30px;height:30px;font-size:23px;font-weight:700;line-height:1;display:grid}.brand{letter-spacing:-.6px;font-size:18px;font-weight:650}.slash{color:#c4cac2}.workspace-name{color:#4b544d;font-size:13px}.top-spacer{flex:1}.mode-pill{color:#50644c;background:#f1f6ed;border:1px solid #dce4d8;border-radius:20px;padding:6px 10px;font-size:11px}.avatar{color:#576650;background:#edf1e9;border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;display:grid}.top-nav{z-index:12;background:#fff;border:1px solid #e1e5df;border-radius:11px;gap:6px;padding:5px;display:flex;position:absolute;top:82px;left:24px;box-shadow:0 3px 12px #29362b06}.top-nav button{border:0;padding:7px 11px}.top-nav button.active{background:#eef3e9}.viewport{touch-action:none;-webkit-user-select:none;user-select:none;background-image:radial-gradient(#cfd5cd .7px,#0000 .7px);background-size:20px 20px;position:absolute;inset:64px 0 0;overflow:hidden}.canvas{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.edges{pointer-events:none;width:12000px;height:8000px;position:absolute;top:0;left:0;overflow:visible}.edges path{fill:none;stroke:#acbd9e;stroke-width:1.5px}.node{-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #d9dfd5;border-radius:13px;position:absolute;overflow:hidden;box-shadow:0 5px 20px #2b3b2e07}.node-head{cursor:grab;-webkit-user-select:none;user-select:none;background:#fdfefd;border-bottom:1px solid #eef0eb;align-items:center;gap:10px;height:53px;padding:12px 15px;display:flex}.node-icon{color:#648047;background:#f0f5eb;border-radius:6px;place-items:center;width:25px;height:25px;font-size:15px;display:grid}.node-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.node-head button{color:#798372;background:0 0;border:0;padding:5px 7px}.node-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:text;user-select:text;height:calc(100% - 83px);padding:22px 24px;overflow:auto}.node-footer{color:#808c7c;background:#fcfdfb;border-top:1px solid #eff1ec;justify-content:space-between;gap:6px;height:30px;padding:8px 14px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.source-body{padding:19px}.source-heading{align-items:center;gap:10px;margin-bottom:14px;display:flex}.source-heading strong{font-size:14px}.source-app{color:#fff;background:#3a77aa;border-radius:6px;place-items:center;width:29px;height:29px;font-weight:700;display:grid}.source-body p{color:#758071;font-size:12px;line-height:1.7}.source-mini{gap:6px;margin:18px 0;display:flex}.source-mini span{color:#69775e;background:#f0f2ec;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;display:grid}.source-bottom{color:#8d9688;border-top:1px solid #edf0e8;padding-top:12px;font-size:10px}.g-stack{min-width:0;display:flex}.g-stack.vertical{flex-direction:column}.g-stack.horizontal{flex-flow:wrap}.gap-small{gap:8px}.gap-medium{gap:15px}.gap-large{gap:23px}.g-heading{letter-spacing:-.7px;margin:0;font-size:22px;font-weight:620;line-height:1.25}h3.g-heading{font-size:17px}.g-text{color:#81897d;max-width:590px;margin:0;font-size:11px;line-height:1.7}.g-metric{background:#f7f9f4;border:1px solid #e8eddf;border-radius:9px;flex-direction:column;flex:1;gap:6px;min-width:120px;padding:13px 17px;display:flex}.metric-label{color:#7b8673;font-size:10px}.metric-value{letter-spacing:-.8px;font-size:25px;font-weight:570;line-height:1.1}.g-filters{flex-wrap:wrap;gap:8px;display:flex}.filter-label{color:#808976;align-items:center;gap:9px;font-size:10px;display:flex}.filter-label select,.filter-label input{color:#485443;background:#fff;border:1px solid #e1e5db;border-radius:7px;max-width:180px;padding:7px 10px;font-size:11px}.g-table-wrap{overscroll-behavior:contain;flex-shrink:0;overflow:auto}.g-table{border-collapse:collapse;text-align:left;width:100%;min-width:550px;font-size:10px}.g-table th{letter-spacing:.5px;color:#91978c;text-transform:uppercase;white-space:nowrap;background:#fafbf8;border-bottom:1px solid #e5eadf;padding:10px 8px;font-size:9px;font-weight:500}.g-table td{white-space:nowrap;color:#68725f;border-bottom:1px solid #edf0e7;padding:13px 8px}.g-table tr:last-child td{border-bottom:0}.g-table input,.g-record input{accent-color:#7f9f61;cursor:pointer;width:13px;height:13px}.person-avatar{color:#727d67;vertical-align:middle;background:#edf0e8;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:8px;font-size:8px;display:inline-grid}.person-name{color:#2d3829;font-size:11px;font-weight:530}.status-badge{color:#6e7966;background:#f3f4f1;border-radius:5px;padding:4px 6px;font-size:9px;display:inline-block}.status-badge.positive{color:#648752;background:#ecf6ea}.status-badge.attention{color:#a38743;background:#fff4dd}.row-actions{gap:5px;display:flex}.row-action{background:#fafbf7;border-color:#e8eddf;border-radius:5px;padding:5px 7px;font-size:9px}.g-selection{color:#8a9480;font-size:10px}.g-primary{color:#3f542c;background:#d2efac;border-color:#c3dfa0;align-self:flex-start;padding:10px 15px;font-size:11px;font-weight:550}.g-record-list{flex-direction:column;gap:8px;display:flex}.g-record{border:1px solid #e7ebdf;border-radius:8px;align-items:center;gap:10px;padding:11px;display:flex}.record-person{flex-direction:column;flex:1;gap:4px;font-size:11px;display:flex}.record-person span{color:#8b9482;font-size:10px}.g-chart h3{margin:0 0 14px;font-size:12px;font-weight:550}.chart-row{align-items:center;gap:10px;margin:10px 0;font-size:10px;display:flex}.chart-label{color:#7d8774;width:65px}.bar-track{background:#f2f5ec;border-radius:3px;flex:1;height:13px;overflow:hidden}.bar-fill{background:#c6dba7;border-radius:3px;height:100%}.chart-row strong{color:#6e7c5e;width:20px;font-size:10px}.composer-dock{z-index:30;flex-direction:column;gap:8px;width:min(740px,100vw - 50px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.suggestions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.suggestions button{color:#7d8872;background:#fffffff2;border-color:#dde4d7;padding:7px 11px;font-size:10px;box-shadow:0 2px 6px #3b483b05}.command-shell{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border:1px solid #d9e1d1;border-radius:14px;padding:11px 14px;box-shadow:0 6px 30px #293c3012}.command-row{align-items:center;gap:11px;display:flex}.command-mark{color:#789b53;font-size:21px}.command-input{color:#3f4b36;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:9px 1px;font-size:13px}.command-send{background:#d2efac;border-color:#cce7aa;border-radius:8px;padding:4px 12px;font-size:18px}.command-meta{color:#919c86;justify-content:space-between;align-items:center;min-height:17px;margin-top:7px;font-size:9px;display:flex}.target-chip{color:#7d8e6c;background:#f0f5e8;border-radius:5px;align-items:center;gap:6px;padding:4px 6px;font-size:9px;display:inline-flex}.target-chip button{background:0 0;border:0;padding:0 2px;font-size:10px}.camera-tools{z-index:20;background:#fff;border:1px solid #dfe5d8;border-radius:9px;align-items:center;gap:3px;padding:4px;display:flex;position:fixed;bottom:28px;left:23px;box-shadow:0 3px 10px #36423107}.camera-tools button{border:0;min-width:29px;padding:6px 9px;font-size:12px}.zoom-label{color:#79886c;text-align:center;width:36px;font-size:10px}.bottom-note{color:#959e8e;z-index:20;text-align:right;max-width:150px;font-size:9px;line-height:1.7;position:fixed;bottom:30px;right:22px}.empty-state{pointer-events:none;width:470px;position:absolute;top:190px;left:450px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:#9da990;margin-bottom:15px;font-size:9px}.empty-state h1{letter-spacing:-1.9px;color:#4d5c42;margin:0;font-size:37px;font-weight:470;line-height:1.18}.empty-state p{color:#94a087;max-width:370px;font-size:13px;line-height:1.8}.toast{z-index:80;color:#edf6e6;background:#273527;border-radius:9px;max-width:600px;padding:10px 16px;font-size:12px;position:fixed;top:81px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #10201222}.toast.error{background:#725b38}.side-panel{z-index:35;-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #e0e6d7;border-radius:13px;width:350px;padding:21px;position:fixed;top:76px;bottom:162px;right:16px;overflow:auto;box-shadow:0 10px 38px #2d3e2711}.side-panel h2{margin:0 0 18px;font-size:18px;font-weight:550}.side-panel h3{color:#71825e;margin:22px 0 8px;font-size:11px;font-weight:600}.side-panel p{color:#849076;font-size:11px;line-height:1.7}.side-panel pre{white-space:pre-wrap;word-break:break-word;color:#728465;background:#f8faf4;border-radius:8px;max-height:270px;padding:12px;font-size:10px;overflow:auto}.side-panel .close-panel{border:0;padding:3px 7px;position:absolute;top:14px;right:14px}.saved-item{text-align:left;background:#f8faf5;width:100%;margin:8px 0;padding:13px 10px;display:block}.activity-item{text-align:left;border:0;border-bottom:1px solid #edf1e5;border-radius:0;width:100%;padding:11px 8px;display:block}.activity-item small{color:#91a082;margin-top:5px;font-size:9px;display:block}.focus-overlay{z-index:22;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f5f7f2f5;padding:33px max(25px,50vw - 540px) 150px;position:fixed;inset:64px 0 0;overflow:auto}.focus-bar{color:#88987a;align-items:center;gap:12px;margin-bottom:20px;font-size:11px;display:flex}.focus-body{background:#fff;border:1px solid #dce4d3;border-radius:13px;min-height:440px;padding:32px;box-shadow:0 5px 20px #34453106}.focus-body .g-table{font-size:12px}.focus-body .g-table td{padding:18px 10px}.focus-body .g-table th{padding:13px 10px}.focus-body .person-name{font-size:13px}.focus-body .g-heading{font-size:28px}.focus-body .g-text{font-size:12px}.focus-body .row-action{font-size:11px}.focus-body .status-badge{font-size:10px}.node.compact .node-body{display:none}.node.compact{height:85px!important}.gap-node{border-color:#e0cfad}.gap-node .node-icon{color:#ae8b42;background:#fff5df}.gap-node p{color:#857555;font-size:12px;line-height:1.7}.draft-text{resize:vertical;color:#5c7050;background:#fafcf6;border:1px solid #e3e8dc;border-radius:8px;width:100%;min-height:145px;padding:14px;font-size:12px;line-height:1.8}.draft-info{color:#869776;margin-top:14px;font-size:10px;line-height:1.7}.draft-status{color:#7e925f;background:#eff6e5;border-radius:5px;margin-bottom:15px;padding:5px 8px;font-size:10px;display:inline-block}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.empty-result{color:#879678;padding:15px;font-size:12px}.busy-dot{background:#91b86c;border-radius:50%;width:5px;height:5px;margin-right:5px;animation:1s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media (width<=1100px){.bottom-note{display:none}.composer-dock{bottom:72px}.camera-tools{bottom:17px}.side-panel{bottom:200px}}@media (width<=650px){.app-header{gap:10px;padding:0 13px}.workspace-name,.slash{display:none}.mode-pill{white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:9px;overflow:hidden}.app-header>button{padding:6px 8px}.brand{font-size:17px}.composer-dock{width:calc(100vw - 24px);bottom:67px}.suggestions{justify-content:flex-start}.suggestions button{padding:6px 8px;font-size:9px}.command-input{font-size:12px}.command-meta{font-size:8px}.top-nav{top:76px;left:12px}.focus-overlay{padding:20px 12px 205px}.focus-body{padding:20px}.side-panel{width:auto;bottom:197px;left:12px;right:12px}.g-stack.horizontal .g-metric{min-width:105px}.camera-tools{left:12px}.g-record{flex-wrap:wrap}.toast{width:max-content;max-width:calc(100vw - 30px);font-size:11px}}.toast{z-index:var(--z-toast);padding:var(--space-3) var(--space-4);background:var(--color-surface-overlay);color:var(--color-text);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:600px;box-shadow:var(--shadow-md);animation:toast-in var(--duration-normal) var(--ease-default) both;position:fixed;top:81px;left:50%;transform:translate(-50%)}.toast.error{background:var(--color-danger-bg);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}.toast.success{background:var(--color-success-bg);color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.side-panel{top:76px;right:var(--space-4);width:350px;z-index:var(--z-panel);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-user-select:text;user-select:text;border-top:1px solid oklch(30% .01 240);flex-direction:column;display:flex;position:fixed;bottom:162px;overflow:hidden}.panel-header{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.panel-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semi);margin:0}.panel-header .close-panel{padding:var(--space-1) var(--space-2);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-md);background:0 0;border:0}.panel-header .close-panel:hover{background:var(--color-accent-muted);color:var(--color-text)}.panel-body{padding:var(--space-5);overscroll-behavior:contain;flex:1;overflow-y:auto}.panel-body dl{gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);grid-template-columns:auto 1fr;display:grid}.panel-body dt{color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);white-space:nowrap}.panel-body dd{color:var(--color-text);margin:0}.focus-overlay{z-index:22;padding:var(--space-6) max(var(--space-5), calc((100vw - 1080px) / 2)) 150px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklch(10% .005 240/.92);position:fixed;inset:64px 0 0;overflow:auto}.focus-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.focus-bar span{flex:1}.focus-body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);min-height:440px;box-shadow:var(--shadow-md)}.login-page{background:var(--color-bg);min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.login-card{background:linear-gradient(180deg, var(--color-surface-raised) 0%, var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;padding:var(--space-7) var(--space-6);box-shadow:var(--shadow-lg);text-align:center}.login-card .logo{width:44px;height:44px;margin:0 auto var(--space-5);font-size:30px}.login-card h1{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.login-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.login-card input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text);font-size:var(--font-size-base);margin-bottom:var(--space-3)}.login-card input:focus{border-color:var(--color-focus-ring)}.login-card button[type=submit]{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-accent-text);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-weight:var(--font-weight-semi);font-size:var(--font-size-sm)}.login-card button[type=submit]:hover:not(:disabled){background:var(--color-accent-hover)}.login-error{color:var(--color-danger);font-size:var(--font-size-xs);margin-bottom:var(--space-3)}.loading-spinner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-7) 0;color:var(--color-text-tertiary);font-size:var(--font-size-sm);display:flex}.loading-spinner:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--color-border-subtle) 25%, var(--color-border) 50%, var(--color-border-subtle) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:12px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-heading{width:40%;height:20px;margin-bottom:var(--space-4)}.skeleton-block{height:80px;margin-bottom:var(--space-3)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state-card{text-align:center;padding:var(--space-7) var(--space-6);color:var(--color-text-secondary);flex-direction:column;align-items:center;display:flex}.empty-state-card .empty-icon{margin-bottom:var(--space-4);opacity:.5;font-size:32px}.empty-state-card h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semi);color:var(--color-text);margin-bottom:var(--space-2)}.empty-state-card p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);max-width:320px}.busy-dot{background:var(--color-success);width:5px;height:5px;margin-right:var(--space-1);border-radius:50%;animation:1s infinite pulse;display:inline-block}@media (width<=1100px){.side-panel{bottom:200px}}@media (width<=650px){.side-panel{left:var(--space-3);right:var(--space-3);width:auto;bottom:197px}.toast{width:max-content;max-width:calc(100vw - 30px);font-size:var(--font-size-xs)}.focus-overlay{padding:var(--space-5) var(--space-3) 205px}.focus-body{padding:var(--space-5)}}::view-transition-old(focus-surface){animation:.22s ease-out both vt-fade-out}::view-transition-new(focus-surface){animation:.22s ease-in both vt-fade-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}.vt-component-card{view-transition-name:component-card}::view-transition-old(component-card){animation-duration:.26s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(component-card){animation-duration:.26s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.vt-side-panel{view-transition-name:side-panel}::view-transition-old(side-panel){animation:.2s ease-in both vt-slide-out}::view-transition-new(side-panel){animation:.2s ease-out both vt-slide-in}@keyframes vt-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}@keyframes vt-slide-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.vt-desk,.vt-focus{view-transition-name:focus-surface}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo{background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-md);font-family:var(--font-display)}.brand{font-family:var(--font-display);letter-spacing:-.8px}.node{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-default), border-color var(--duration-normal) var(--ease-default)}.node:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.node.selected{border-color:var(--color-accent-muted);box-shadow:0 0 0 1px var(--color-accent-muted), var(--shadow-md)}.node-head{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-subtle)}.node-icon{background:var(--color-accent-subtle);color:var(--color-accent);border-radius:var(--radius-sm)}.node-title{font-family:var(--font-display);font-weight:600}.node-footer{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);color:var(--color-text-tertiary)}.composer-dock{width:min(680px,100vw - 48px)}.command-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.command-input{color:var(--color-text);font-size:var(--font-size-base)}.command-input::placeholder{color:var(--color-text-tertiary)}.command-send{background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-default);border:none;padding:6px 14px;font-weight:600}.command-send:hover:not(:disabled){background:var(--color-accent-hover)}.suggestions button{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);padding:8px 14px}.suggestions button:hover{border-color:var(--color-accent-muted);color:var(--color-text)}.g-primary{background:var(--color-accent);color:var(--color-bg);font-family:var(--font-display);font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-default);border:none;padding:10px 18px}.g-primary:hover:not(:disabled){background:var(--color-accent-hover)}.top-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.top-nav button{color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);font-weight:500}.top-nav button.active{background:var(--color-accent-subtle);color:var(--color-accent-text)}.top-nav button:hover:not(.active){color:var(--color-text)}.g-table th{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase}.g-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary)}.person-name{color:var(--color-text)}.g-metric{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.metric-value{font-family:var(--font-display);color:var(--color-text)}.metric-label{color:var(--color-text-tertiary)}.status-badge{background:var(--color-accent-subtle);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:3px 8px}.status-badge.positive{background:var(--color-success-bg);color:var(--color-success)}.bar-fill{background:var(--color-accent);border-radius:2px}.bar-track{background:var(--color-surface-raised);border-radius:2px}.camera-tools{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.zoom-label{color:var(--color-text-tertiary);font-family:var(--font-mono)}.viewport{background-image:radial-gradient(var(--color-canvas-dot) .7px, transparent .7px)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.g-heading{font-family:var(--font-display);color:var(--color-text)}h3.g-heading{color:var(--color-text)}.empty-state h1{font-family:var(--font-display);color:var(--color-text)}.empty-state p{color:var(--color-text-secondary)}.eyebrow{color:var(--color-accent);letter-spacing:2px}.mode-pill{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-secondary)}.source-body p{color:var(--color-text-secondary)}
