.u-flex{display:flex}.u-flex-col{display:flex;flex-direction:column}.u-flex-center{display:flex;align-items:center;justify-content:center}.u-flex-between{display:flex;align-items:center;justify-content:space-between}.u-flex-align-center{display:flex;align-items:center}.u-flex-wrap{flex-wrap:wrap}.u-flex-1{flex:1}.u-grid{display:grid}.u-relative{position:relative}.u-absolute{position:absolute}.u-fixed{position:fixed}.u-inset-0{inset:0}.u-p-0{padding:0}.u-p-xs{padding:var(--spacing-xs)}.u-p-sm{padding:var(--spacing-sm)}.u-p-md{padding:var(--spacing-md)}.u-p-lg{padding:var(--spacing-lg)}.u-p-xl{padding:var(--spacing-xl)}.u-p-2xl{padding:var(--spacing-2xl)}.u-p-3xl{padding:var(--spacing-3xl)}.u-px-sm{padding-right:var(--spacing-sm);padding-left:var(--spacing-sm)}.u-px-md{padding-right:var(--spacing-md);padding-left:var(--spacing-md)}.u-px-lg{padding-right:var(--spacing-lg);padding-left:var(--spacing-lg)}.u-px-xl{padding-right:var(--spacing-xl);padding-left:var(--spacing-xl)}.u-px-2xl{padding-right:var(--spacing-2xl);padding-left:var(--spacing-2xl)}.u-py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.u-py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.u-py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.u-py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.u-m-0{margin:0}.u-m-sm{margin:var(--spacing-sm)}.u-m-md{margin:var(--spacing-md)}.u-m-lg{margin:var(--spacing-lg)}.u-m-xl{margin:var(--spacing-xl)}.u-mb-sm{margin-bottom:var(--spacing-sm)}.u-mb-md{margin-bottom:var(--spacing-md)}.u-mb-lg{margin-bottom:var(--spacing-lg)}.u-mb-xl{margin-bottom:var(--spacing-xl)}.u-mt-sm{margin-top:var(--spacing-sm)}.u-mt-md{margin-top:var(--spacing-md)}.u-mt-lg{margin-top:var(--spacing-lg)}.u-mt-xl{margin-top:var(--spacing-xl)}.u-gap-xs{gap:var(--spacing-xs)}.u-gap-sm{gap:var(--spacing-sm)}.u-gap-md{gap:var(--spacing-md)}.u-gap-lg{gap:var(--spacing-lg)}.u-gap-xl{gap:var(--spacing-xl)}.u-gap-2xl{gap:var(--spacing-2xl)}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-text-lg{font-size:var(--text-lg)}.u-text-xl{font-size:var(--text-xl)}.u-text-2xl{font-size:var(--text-2xl)}.u-text-mono{font-family:var(--font-mono)}.u-text-muted{color:var(--color-text-muted)}.u-text-accent{color:var(--color-accent)}.u-text-danger{color:var(--color-danger)}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-uppercase,.u-text-uppercase{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-block{display:block}.u-font-light{font-weight:300}.u-font-normal{font-weight:400}.u-font-medium{font-weight:500}.u-font-semibold{font-weight:600}.u-font-bold{font-weight:700}.u-font-mono{font-family:var(--font-mono)}.u-tracking-tight{letter-spacing:var(--letter-spacing-tight)}.u-tracking-normal{letter-spacing:var(--letter-spacing-normal)}.u-tracking-wide{letter-spacing:var(--letter-spacing-wide)}.u-tracking-wider{letter-spacing:var(--letter-spacing-wider)}.u-border{border:1px solid var(--color-border)}.u-border-top{border-top:1px solid var(--color-border)}.u-border-bottom{border-bottom:1px solid var(--color-border)}.u-border-left{border-left:1px solid var(--color-border)}.u-border-right{border-right:1px solid var(--color-border)}.u-border-muted{border-color:var(--color-border-muted)}.u-rounded-none{border-radius:0}.u-rounded-base{border-radius:var(--radius-base)}.u-rounded-sm{border-radius:var(--radius-sm)}.u-rounded-md{border-radius:var(--radius-md)}.u-w-full{width:100%}.u-h-full{height:100%}.u-max-w-full{max-width:100%}.u-overflow-hidden{overflow:hidden}.u-overflow-auto{overflow:auto}.u-overflow-y-auto{overflow-y:auto}.u-cursor-pointer{cursor:pointer}.u-transition{transition:var(--transition-base)}.u-transition-fast{transition:var(--transition-fast)}.u-opacity-0{opacity:0}.u-opacity-50{opacity:.5}.u-opacity-100{opacity:1}.u-z-10{z-index:10}.u-z-50{z-index:50}.u-z-100{z-index:100}.u-z-1000{z-index:1000}.u-selected{background:var(--color-accent-muted)!important;border-left:2px solid var(--color-accent)!important}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-3xs: 9px;--text-2xs: 12px;--text-xs: 11px;--text-sm-alt: 13px;--text-sm: 14px;--text-base: 15px;--text-lg: 24px;--text-xl: 32px;--text-2xl: 28px;--text-mini: 10px;--letter-spacing-tight: .05em;--letter-spacing-normal: .5px;--letter-spacing-wide: .08em;--letter-spacing-wider: .1em;--color-bg: #000103;--color-surface: #050607;--color-surface-op: #05060710;--color-panel: #0a0b0d;--color-panel-muted: #07080a;--color-panel-selected: #1a1f2c;--color-border: #1a1c2090;--color-border-muted: #2a2d33;--color-border-selected: #3a94acd8;--color-text: #e1e4e6;--color-text-muted: #798089;--color-text-inverted: #050a0d;--color-accent: #257289;--color-accent-strong: #3a94ac;--color-accent-muted: rgba(42, 138, 167, .12);--color-primary: var(--color-accent);--color-danger: #c48c57;--color-danger-bg: rgba(196, 160, 87, .1);--color-danger-border: rgba(196, 160, 87, .3);--color-chip-bg: rgba(42, 138, 167, .16);--color-chip-text: #7cc6d6;--color-group-bg: rgba(42, 138, 167, .06);--color-group-label-bg: rgba(42, 138, 167, .08);--color-toggle-bg: rgba(42, 138, 167, .18);--color-toggle-bg-hover: rgba(42, 138, 167, .28);--overlay-bg: rgba(4, 7, 15, .8);--overlay-blur: blur(4px);--shadow-card: 0 2px 6px rgba(0, 0, 0, .5);--shadow-card-active: 0 4px 12px rgba(0, 0, 0, .5);--shadow-soft: none;--shadow-kbd: none;--shadow-panel: none;--radius-base: 2px;--radius-chamfer: 16px;--radius-pill: 999px;--radius-sm: var(--radius-base);--radius-md: var(--radius-base);--radius-lg: var(--radius-chamfer);--radius-xl: var(--radius-chamfer);--transition-fast: .1s ease;--transition-base: .12s ease;--transition-med: .16s ease;--transition-slow: .2s ease;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--modal-max-height: 60vh;--noise-opacity: .02;--gradient-bg: radial-gradient(circle at 20% 20%, rgba(59, 130, 246, .05), transparent 45%)}*{box-sizing:border-box}body{min-height:100vh;max-height:100vh;margin:0;color:var(--color-text);background:var(--color-bg)}body:before{position:fixed;inset:0;z-index:9999;pointer-events:none;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' seed='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mix-blend-mode:hard-light;opacity:.01}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;background:var(--overlay-bg);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur);animation:fadeIn .15s ease}.empty-state{padding:var(--spacing-3xl) var(--spacing-xl);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.kbd-hint{display:flex;gap:var(--spacing-xs);align-items:center;font-size:var(--text-2xs);color:var(--color-text-muted)}.kbd-hint kbd{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1.4;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-kbd)}#app{min-height:100vh;max-height:100vh}button{font:inherit}*:focus{outline:none}*:focus-visible{outline:none}.keybind{display:inline-block;padding:1px 4px;font-family:var(--font-mono);font-size:var(--text-3xs);font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-kbd)}.command-overlay{position:fixed;inset:0;z-index:1000;cursor:default}.command-menu{position:absolute;top:0;left:0}@keyframes command-cell-in{0%{opacity:0}to{opacity:1}}.command-cell{background:var(--color-panel-muted);width:100%;height:100%;display:flex;align-items:center;justify-content:center;animation:command-cell-in .12s ease-out both;animation-delay:var(--stagger-delay, 0ms)}.verb-bar-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);width:100%;height:100%;font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--color-text-muted);background:transparent;border:1.5px solid transparent;border-radius:var(--radius-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-base),color var(--transition-base),opacity var(--transition-base)}.verb-bar-item:hover,.verb-bar-item--active{color:var(--color-text);background-color:var(--color-panel-selected);border-color:var(--color-accent-strong)}.verb-bar-item--selected{box-sizing:border-box;color:var(--color-text);border-color:var(--color-accent-strong)}.verb-bar-item--dimmed{opacity:.3;pointer-events:none}.action-menu-object{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);width:100%;height:100%;font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--color-text-muted);background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color var(--transition-base),border-color var(--transition-base)}.action-menu-object:hover,.action-menu-object--active,.action-menu-object--selected{color:var(--color-text);border-bottom-color:var(--color-accent-strong)}.btn{display:inline-flex;gap:var(--spacing-xs);align-items:center;justify-content:center;font-family:inherit;font-size:var(--text-2xs);font-weight:700;letter-spacing:normal;white-space:nowrap;cursor:pointer;border:1.5px solid var(--color-border);border-radius:var(--radius-base);box-shadow:var(--shadow-soft);transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--small{padding:2px 24px;font-size:var(--text-2xs)}.btn--medium{padding:5px 40px;font-size:var(--text-sm)}.btn--large{padding:4px 64px;font-size:var(--text-base)}.btn--primary{color:var(--color-text-inverted);background:var(--color-accent);border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong);box-shadow:var(--shadow-card-active)}.btn--primary:active:not(:disabled){border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.btn--secondary{color:var(--color-text-muted);background:var(--color-panel);border:1.5px dashed var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-panel);border-color:var(--color-border-muted);box-shadow:var(--shadow-card-active)}.btn--secondary:active:not(:disabled){box-shadow:var(--shadow-card)}.btn--ghost{color:var(--color-text-muted);background:transparent;border-color:transparent;box-shadow:none}.btn--ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface)}.btn--ghost:active:not(:disabled){background:var(--color-panel)}.btn--radial{color:var(--color-text-muted);background:#5492a933;border:none;border-bottom:1px solid rgba(255,255,255,.15);border-right:1px solid var(--color-border);border-radius:0 var(--radius-chamfer) 0 var(--radius-chamfer);text-align:left;justify-content:flex-start;box-shadow:none}.btn--radial:hover:not(:disabled){color:var(--color-text);background:#5492a947;border-bottom-color:#ffffff4d}.btn--radial:active:not(:disabled){color:var(--color-accent-strong);background:#5492a952;border-bottom-color:var(--color-accent-strong)}.card{overflow:hidden;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-base) var(--radius-chamfer) var(--radius-base) var(--radius-chamfer)}.card--no-padding .card-body{padding:0}.card-header{background:var(--color-surface)}.card-body{flex:1;overflow-y:auto}.card-footer{background:var(--color-surface)}.input{width:100%;font-family:inherit;font-size:var(--text-sm);font-weight:400;color:var(--color-text);outline:none;background:var(--color-panel);border:1.5px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input::placeholder{color:var(--color-text-muted);opacity:.6}.input:hover:not(:disabled){border-color:var(--color-border-muted)}.input:focus{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.input:disabled{cursor:not-allowed;background:var(--color-surface);opacity:.5}.input--error{border-color:var(--color-danger-border)}.input--error:focus{border-color:var(--color-danger);box-shadow:0 2px 6px #c4a0571a}.input--small{padding:4px 8px;font-size:var(--text-xs)}.input--medium{padding:6px 10px;font-size:var(--text-sm)}.input--large{padding:8px 12px;font-size:var(--text-base)}.input-inline{display:flex;align-items:center;border:1.5px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-panel);transition:border-color var(--transition-base)}.input-inline:focus-within{border-color:var(--color-accent-strong)}.input-inline .input-inline-label{padding:6px 10px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);border-right:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.input-inline .input{border:none;background:transparent;border-radius:0}.input-inline .input:focus{box-shadow:none}.label{display:inline-flex;gap:var(--spacing-xs);align-items:center}.label--primary{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4;color:var(--color-text-muted);background-color:var(--color-group-label-bg);border:1px solid var(--color-border);border-radius:var(--radius-base)}.label--accent{font-weight:600;color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);background:var(--color-group-label-bg);border-radius:var(--radius-base);box-shadow:var(--shadow-kbd)}.label--small{padding:1px var(--spacing-md);font-size:var(--text-3xs)}.label--medium{padding:2px var(--spacing-lg);font-size:var(--text-3xs)}.label--large{padding:3px var(--spacing-2xl);font-size:var(--text-2xs)}.label__count{font-size:var(--text-mini);color:var(--color-text-muted)}.select-wrapper{position:relative;display:inline-block;width:100%}.select{width:100%;padding-right:32px;font-family:inherit;font-size:var(--text-sm);font-weight:400;color:var(--color-text);appearance:none;cursor:pointer;outline:none;background:var(--color-panel);border:1.5px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.select:hover:not(:disabled){border-color:var(--color-border-muted)}.select:focus{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.select:disabled{cursor:not-allowed;background:var(--color-surface);opacity:.5}.select--error{border-color:var(--color-danger-border)}.select--error:focus{border-color:var(--color-danger);box-shadow:0 2px 6px #c4a0574d}.select--small{padding:4px 8px;font-size:var(--text-xs)}.select--medium{padding:6px 10px;font-size:var(--text-sm)}.select--large{padding:8px 12px;font-size:var(--text-base)}.select-arrow{position:absolute;top:50%;right:10px;color:var(--color-text-muted);pointer-events:none;transform:translateY(-50%)}.select:disabled+.select-arrow{opacity:.5}.select option{color:var(--color-text);background:var(--color-panel)}.toggle{display:inline-flex;gap:var(--spacing-sm);align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle:has(input:disabled){cursor:not-allowed;opacity:.5}.toggle__input{position:absolute;width:0;height:0;pointer-events:none;opacity:0}.toggle__track{position:relative;display:block;flex-shrink:0;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.toggle__thumb{position:absolute;top:2px;background:var(--color-text-muted);border-radius:var(--radius-pill);transition:transform var(--transition-base),background var(--transition-base)}.toggle:hover .toggle__track:not(:has(+input:disabled)){border-color:var(--color-border-muted)}.toggle__input:checked+.toggle__track{background:var(--color-accent-muted);border-color:var(--color-accent)}.toggle__input:checked+.toggle__track .toggle__thumb{background:var(--color-accent)}.toggle__input:focus+.toggle__track{border-color:var(--color-accent-strong);box-shadow:var(--shadow-card)}.toggle__label{font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.toggle--small .toggle__track{width:32px;height:18px}.toggle--small .toggle__thumb{left:2px;width:12px;height:12px}.toggle--small .toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(14px)}.toggle--medium .toggle__track{width:40px;height:22px}.toggle--medium .toggle__thumb{left:2px;width:16px;height:16px}.toggle--medium .toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(18px)}.toggle--large .toggle__track{width:48px;height:26px}.toggle--large .toggle__thumb{left:2px;width:20px;height:20px}.toggle--large .toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(22px)}.cp-page{max-width:960px;margin:0 auto;padding:var(--spacing-3xl) var(--spacing-xl);color:var(--color-text);font-family:var(--font-mono)}.cp-header{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.cp-title{font-size:var(--text-lg);font-weight:400;color:var(--color-text);margin:0}.cp-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-wide)}.cp-section{margin-bottom:var(--spacing-3xl)}.cp-section-title{font-size:var(--text-2xs);font-weight:400;color:var(--color-text-muted);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.cp-section-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cp-row{display:flex;align-items:center;gap:var(--spacing-lg);min-height:32px}.cp-row-label{flex:0 0 180px;font-size:var(--text-3xs);color:var(--color-text-muted);font-family:var(--font-mono)}.cp-row-content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.cp-swatch-grid{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.cp-swatch{display:flex;flex-direction:column;align-items:center;gap:4px}.cp-swatch-color{width:64px;height:40px;border-radius:var(--radius-base);border:1px solid var(--color-border)}.cp-swatch-name{font-size:var(--text-3xs);color:var(--color-text)}.cp-swatch-var{font-size:8px;color:var(--color-text-muted)}.cp-spacing-bar{height:8px;background:var(--color-accent);border-radius:var(--radius-base);opacity:.6}.cp-radius-sample{width:64px;height:40px;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.cp-shadow-sample{width:100px;height:60px;background:var(--color-panel);border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--color-text-muted)}.cp-bar-container{position:relative;width:100%;height:64px;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-bg);overflow:visible;display:flex;align-items:center;justify-content:center}.cp-bar-container .broken-circle{position:relative;bottom:auto;left:auto;transform:none;animation:none}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);background:var(--color-bg)}.login-card{width:100%;max-width:400px}.login-oauth{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.login-oauth-btn{justify-content:center}.login-divider{position:relative;display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.login-divider:before{content:"";position:absolute;top:50%;left:0;width:100%;border-top:1px solid var(--color-border)}.login-divider span{position:relative;padding:0 var(--spacing-sm);background:var(--color-bg-surface, var(--color-bg));color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase}.login-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-2xl);font-weight:600;color:var(--color-text);text-align:center}.login-subtitle{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.canvas-root{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--gradient-bg),var(--color-surface)}.canvas-grid{position:absolute;inset:0;pointer-events:none;z-index:0}.canvas-view{position:absolute;inset:0;z-index:1}.progress-widget{position:absolute;bottom:var(--spacing-sm);left:var(--spacing-sm);z-index:2;font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--color-text-muted);display:flex;gap:var(--spacing-sm);pointer-events:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-height:100vh;background:var(--color-bg)}.app-header{display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);align-items:center;justify-content:space-between;padding:var(--spacing-sm) 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-card)}.app-header-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-title-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.app-title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.app-meta{margin-top:var(--spacing-xs);font-size:var(--text-xs);color:var(--color-text-muted)}.app-main{position:relative;display:flex;flex:1;min-height:0}.graph-wrapper{display:flex;flex:1;min-height:0;overflow:hidden;background:var(--color-surface)}.schema-wrapper,.schema-graph-wrapper,.content-wrapper{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.app-feedback{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-3xl);color:var(--color-text);text-align:center;background:var(--color-bg)}.app-feedback code{color:var(--color-accent)}.app-feedback--error{color:var(--color-danger)}@media(max-width:900px){.app-main{flex-direction:column}.graph-wrapper{min-height:50vh}}.app-path{display:flex;flex-wrap:wrap;align-items:center;font-size:var(--text-sm);color:var(--color-text-muted)}.app-path:before{margin:0 var(--spacing-sm);font-weight:700;color:var(--color-border);content:"/"}.app-path-separator{margin:0 var(--spacing-xs);font-weight:700;color:var(--color-border)}.app-path-segment{font-weight:400;color:var(--color-text-muted)}.logout-button{display:flex;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.logout-button:hover{color:var(--color-accent);background:var(--color-surface);border-color:var(--color-border-muted)}.logout-button:active{transform:translateY(1px)}.graph-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.empty-state-content{color:var(--color-text-muted);text-align:center}.empty-state-content h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-xl);font-weight:600;color:var(--color-text)}.empty-state-content p{margin:0;font-size:var(--text-sm)}.panel-empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-xl)}.panel-empty-text{margin:0;font-size:var(--text-sm-alt);color:var(--color-text-muted);text-align:center}
