:root{color-scheme:dark;--bg:#081018;--bg-gradient:radial-gradient(circle at top left,rgba(125,211,252,0.12),transparent 28%),radial-gradient(circle at top right,rgba(56,189,248,0.08),transparent 24%),linear-gradient(180deg,#09131d,#071019);--surface:rgba(17,27,41,0.72);--surface-strong:#111b29;--surface-elevated:rgba(10,18,28,0.92);--surface-stage:rgba(22,34,52,0.88);--surface-input:rgba(17,27,41,0.5);--surface-hover:rgba(125,211,252,0.06);--border:rgba(180,201,225,0.12);--border-strong:rgba(180,201,225,0.22);--border-focus:rgba(125,211,252,0.5);--text:#edf4ff;--text-secondary:#9fb2c8;--text-muted:rgba(159,178,200,0.6);--text-inverse:#081018;--accent:#7dd3fc;--accent-strong:#38bdf8;--accent-muted:rgba(125,211,252,0.16);--status-approved:#22c55e;--status-approved-muted:rgba(34,197,94,0.16);--status-blocked:#ef4444;--status-blocked-muted:rgba(239,68,68,0.16);--status-deferred:#f59e0b;--status-deferred-muted:rgba(245,158,11,0.16);--status-active:#7dd3fc;--status-active-muted:rgba(125,211,252,0.16);--status-muted:#4b5563;--status-muted-bg:rgba(75,85,99,0.16);--btn-primary-bg:#0369a1;--btn-primary-hover:#0284c7;--btn-primary-text:#ffffff;--btn-secondary-bg:transparent;--btn-secondary-border:var(--border-strong);--btn-secondary-text:var(--text);--btn-secondary-hover:var(--surface-hover);--btn-danger-bg:#991b1b;--btn-danger-hover:#b91c1c;--btn-danger-text:#ffffff;--btn-ghost-hover:var(--surface-hover);--font-sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);--shadow-glow:0 0 20px rgba(125,211,252,0.15);--duration-fast:120ms;--duration-normal:200ms;--duration-slow:400ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--rail-width:260px;--command-bar-height:56px;--action-dock-height:64px;--stage-min-width:480px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-danger{background:var(--btn-danger-bg);color:var(--btn-danger-text)}.btn-danger:hover:not(:disabled){background:var(--btn-danger-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--text)}.btn-icon{padding:var(--space-2);min-width:36px;min-height:36px}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:.02em;white-space:nowrap}.badge-approved{background:var(--status-approved-muted);color:var(--status-approved)}.badge-blocked{background:var(--status-blocked-muted);color:var(--status-blocked)}.badge-deferred{background:var(--status-deferred-muted);color:var(--status-deferred)}.badge-active{background:var(--status-active-muted);color:var(--status-active)}.badge-muted{background:var(--status-muted-bg);color:var(--text-secondary)}.input,.textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.input:focus,.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(125,211,252,.12)}.input:disabled,.textarea:disabled{opacity:.4;cursor:not-allowed}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.textarea{min-height:80px;resize:vertical}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);margin:0}.panel{border-bottom:1px solid var(--border);padding:var(--space-4)}.panel-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.panel-content{padding-top:var(--space-3)}.label{display:block;font-weight:var(--weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.code-block,.label{font-size:var(--text-xs)}.code-block{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);line-height:var(--leading-relaxed);color:var(--text);overflow-x:auto;white-space:pre}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-full);animation:spin .6s linear infinite}.spinner-lg{width:24px;height:24px;border-width:3px}.progress{width:100%;height:4px;background:var(--surface-strong);overflow:hidden}.progress,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;background:var(--accent);transition:width var(--duration-normal) var(--ease-default)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--text)}.toast-success{border-left:3px solid var(--status-approved)}.toast-error{border-left:3px solid var(--status-blocked)}.toast-info{border-left:3px solid var(--status-active)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.mono{font-family:var(--font-mono)}.app-frame{display:grid;grid-template-rows:var(--command-bar-height) 1fr var(--action-dock-height);grid-template-columns:var(--rail-width) 1fr var(--rail-width);grid-template-areas:"command  command   command" "left     stage     right" "dock     dock      dock";min-height:100vh;overflow:hidden}.app-frame--no-left{grid-template-columns:0 1fr var(--rail-width)}.app-frame--no-right{grid-template-columns:var(--rail-width) 1fr 0}.app-frame--no-rails{grid-template-columns:0 1fr 0}.app-frame--no-dock{grid-template-rows:var(--command-bar-height) 1fr 0}.command-bar{grid-area:command;display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-4);background:var(--surface-elevated);border-bottom:1px solid var(--border);z-index:100}.command-bar-logo{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--accent);white-space:nowrap}.command-bar-context,.command-bar-logo{display:flex;align-items:center;gap:var(--space-2)}.command-bar-context{flex:1 1;min-width:0}.command-bar-context-label{font-size:var(--text-sm);color:var(--text);font-weight:var(--weight-medium)}.command-bar-divider{width:1px;height:24px;background:var(--border)}.command-bar-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.pass-step,.pass-stepper{display:flex;align-items:center;gap:var(--space-1)}.pass-step{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.pass-step:hover{color:var(--text-secondary);background:var(--surface-hover)}.pass-step--active{color:var(--accent);background:var(--accent-muted)}.pass-step--complete{color:var(--status-approved)}.pass-step--locked{color:var(--text-muted);opacity:.5;pointer-events:none}.pass-step-arrow{color:var(--text-muted);font-size:var(--text-xs)}.rail-left{grid-area:left;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden}.review-stage{grid-area:stage;flex-direction:column;background:var(--bg)}.review-stage,.review-stage-artifact{display:flex;overflow:auto;padding:var(--space-4)}.review-stage-artifact{flex:1 1;align-items:flex-start;justify-content:center;background:var(--surface-stage);border-radius:var(--radius-lg);border:1px solid var(--border)}.rail-right{grid-area:right;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);overflow-y:auto;overflow-x:hidden}.action-dock{grid-area:dock;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-4);background:var(--surface-elevated);border-top:1px solid var(--border);z-index:100}.action-dock-group{display:flex;align-items:center;gap:var(--space-2)}.slide-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.slide-nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);border:none;background:none;text-align:left;width:100%}.slide-nav-item:hover{background:var(--surface-hover);color:var(--text)}.slide-nav-item--active{background:var(--accent-muted);color:var(--accent)}.slide-nav-item-number{font-family:var(--font-mono);font-size:var(--text-xs);min-width:24px}.slide-nav-item-status{margin-left:auto}@media (max-width:1024px){.app-frame{grid-template-columns:0 1fr 0}.rail-left,.rail-right{display:none}}@media (max-width:640px){.command-bar{padding:0 var(--space-3)}.pass-stepper{display:none}.review-stage{padding:var(--space-2)}}*{box-sizing:border-box}html{min-height:100%;background:var(--bg-gradient)}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--accent-strong)}button,input,select,textarea{font:inherit}main{width:100%}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--weight-semibold);line-height:var(--leading-tight)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0 0 var(--space-3) 0}code{font-family:var(--font-mono);font-size:.9em;padding:2px var(--space-1);background:var(--surface-strong);border-radius:var(--radius-sm)}ol,pre,ul{margin:0}ol,ul{padding:0;list-style:none}::selection{background:var(--accent-muted);color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}