@font-face{font-family:Jost;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/jost-latin-ObQm3Zd1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/jost-latin-ext-BDUtSsKd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/jost-cyrillic-CjwCQKo9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--obsidian:#0b101a;--black:#000;--brand-orange:#b54600;--brand-navy:#004c7e;--brand-green:#9ff400;--aa-orange:#e8935a;--aa-navy:#58a6ff;--aa-green:#9ff400;--white:#fff;--muted:#92a4bd;--white-05:#ffffff0d;--white-08:#ffffff14;--white-10:#ffffff1a;--white-20:#fff3;--font-sans:"Jost", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-button:.125rem;--radius-card:.25rem;--radius:var(--radius-card);--duration:.15s;--ease-out:cubic-bezier(.4, 0, .2, 1);--bg:var(--obsidian);--surface:var(--white-05);--border:var(--white-10);--text:var(--white);--primary-btn:var(--brand-navy);--primary-btn-hover:#005f9e;--danger:#f87171;--danger-btn:#7f1d1d;--danger-btn-hover:#991b1b;--success:var(--aa-green);--warning:#f59e0b;--secondary-btn:var(--brand-orange);--secondary-btn-hover:#cc5200;--font:var(--font-sans);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-16:4rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--obsidian);color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:1.1rem;line-height:1.6;overflow-x:hidden}a{color:var(--aa-navy);text-decoration:none}a:hover{color:var(--white)}nav{background:var(--black);padding:0 var(--space-4);margin-bottom:var(--space-8);align-items:center;gap:var(--space-4);border-bottom:1px solid var(--white-10);flex-wrap:wrap;min-height:56px;display:flex}nav .logo{width:auto;height:1.5rem}nav a{color:var(--white);padding:var(--space-2) 0;transition:color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #0000;font-size:1rem;font-weight:500}nav a:hover,nav a.active{color:var(--white);border-bottom-color:var(--brand-orange)}nav .nav-spacer{flex:1}nav .nav-brand{color:var(--white);white-space:nowrap;font-size:1rem;font-weight:700}nav .logout-btn{color:var(--white);background:var(--brand-navy);cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);transition:background var(--duration) var(--ease-out);border:none;font-size:1rem;font-weight:700}nav .logout-btn:hover{background:var(--primary-btn-hover)}.container{max-width:1920px;padding:var(--space-6) var(--space-4) var(--space-4);margin:0 auto}h1{margin-bottom:var(--space-6);font-size:1.875rem;font-weight:700}h2{margin-bottom:var(--space-2);font-size:1.25rem;font-weight:700}.section-panel{background:var(--white-05);border:1px solid var(--white-10);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-6)}.section-panel:last-child{margin-bottom:0}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-group label{color:var(--aa-orange);text-transform:uppercase;letter-spacing:.05em;font-size:1rem}input,select,textarea{background:var(--obsidian);border:1px solid var(--white-10);color:var(--white);padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);font-family:var(--font-sans);font-size:1.1rem}::placeholder{color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid var(--aa-navy);outline-offset:2px;border-color:var(--aa-navy)}.form-error{color:var(--danger);margin-top:.2rem;font-size:.875rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);font-family:var(--font-sans);text-transform:uppercase;cursor:pointer;transition:background var(--duration) var(--ease-out);border:none;font-size:1rem;font-weight:700;display:inline-flex}.btn:focus-visible{outline:2px solid var(--aa-orange);outline-offset:3px;border-radius:2px}.btn-primary{background:var(--brand-navy);color:var(--white);box-shadow:2px 2px 2px var(--black)}.btn-primary:hover{background:var(--primary-btn-hover)}.btn-danger{background:var(--danger-btn);color:var(--white)}.btn-danger:hover{background:var(--danger-btn-hover)}.btn-orange{background:var(--brand-orange);color:var(--white)}.btn-orange:hover{background:#9a3c00}.btn-green{background:var(--brand-green);color:var(--black)}.btn-green:hover{background:#8ada00}.btn-ghost{color:var(--white);border:1px solid var(--white-10);background:0 0}.btn-ghost:hover{background:var(--white-08);color:var(--white)}.btn-sm{padding:var(--space-1) var(--space-2);min-height:36px;font-size:1rem}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-solid,#12161f);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);min-width:320px;max-width:90vw;color:var(--text)}.modal h2{margin-bottom:var(--space-2)}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.modal-fullscreen{box-sizing:border-box;border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;display:flex}.modal-fullscreen .yaml-editor-host{flex:auto;min-height:0;overflow:hidden}.modal-fullscreen .cm-editor{height:100%}.badge{padding:.125rem var(--space-2);border-radius:999px;font-size:1rem;font-weight:600;display:inline-block}.badge-active{color:var(--aa-green);background:#9ff4001a}.badge-inactive{background:var(--white-05);color:var(--muted)}.alert{top:var(--space-4);z-index:400;padding:var(--space-4) var(--space-6);border-radius:var(--radius-card);max-width:calc(100vw - 2rem);position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.alert-error{color:var(--danger);background:#7f1d1d80;border:1px solid #5c2828cc}.alert-success{color:var(--aa-green);background:#9ff40014;border:1px solid #9ff40033}.error-banner{color:var(--danger);border-radius:var(--radius-card);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);background:#7f1d1d80;border:1px solid #5c2828cc}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--white-05);border:1px solid var(--white-10);border-radius:var(--radius-card);width:320px;padding:2.5rem}.login-card h1{text-align:center;margin-bottom:var(--space-6)}.login-card input{width:100%}.library-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.library-card{gap:var(--space-3);background:var(--white-05);border:1px solid var(--white-10);border-radius:var(--radius-card);padding:var(--space-4);flex-direction:column;display:flex}.library-card:hover{background:var(--white-08)}.card-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.card-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:1rem}.card-field-value{overflow-wrap:break-word;min-width:0}.card-actions{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.cell-editable{cursor:pointer;border-radius:var(--radius-button);margin:-2px -4px;padding:2px 4px;display:inline-block}.cell-editable:hover{background:var(--white-08)}.cell-editable:focus-visible{outline:2px solid var(--aa-orange);outline-offset:2px}.cell-edit-form{align-items:center;gap:var(--space-1);display:flex}.cell-edit-input{background:var(--white-05);border:1px solid var(--border);border-radius:var(--radius-button);min-width:0;color:var(--text);padding:var(--space-1) var(--space-2);font:inherit;flex:1}.cell-edit-input:focus-visible{outline:2px solid var(--aa-orange);outline-offset:1px}.cell-icon-btn{border-radius:var(--radius-button);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;line-height:1;display:inline-flex}.cell-icon-btn:focus-visible{outline:2px solid var(--aa-orange);outline-offset:2px}.cell-icon-btn:disabled{opacity:.6;cursor:not-allowed}.cell-save{background:var(--brand-green);color:var(--black)}.cell-save:hover{background:#8ada00}.cell-discard{background:var(--danger-btn);color:var(--white)}.cell-discard:hover{background:var(--danger-btn-hover)}.skip-link{top:-100%;left:var(--space-4);background:var(--white);color:var(--black);padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);z-index:300;font-weight:700;text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-2)}a:focus-visible,button:focus-visible{outline:2px solid var(--aa-orange);outline-offset:3px;border-radius:2px}.hidden{display:none!important}.text-muted{color:var(--muted)}.mt-1{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-4)}.empty-state{text-align:center;padding:var(--space-16) var(--space-4);color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1200px){.library-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.library-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.library-grid{grid-template-columns:1fr}.container{padding:var(--space-4)}.form-group,input,select,textarea{width:100%}.login-card{width:100%;padding:var(--space-4)}}.builder-alt{margin-bottom:var(--space-6);font-size:.9rem}.builder-split{gap:var(--space-6);align-items:flex-start;display:flex}.builder-form{flex:60%;min-width:0}.builder-chat{min-width:0;top:var(--space-4);flex:40%;position:sticky}.builder-form .form-group{margin-bottom:var(--space-4)}.builder fieldset{border:1px solid var(--white-10);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-4);min-width:0}.builder legend{color:var(--aa-orange);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--space-2);font-size:1rem;font-weight:700}.builder input[type=checkbox]{width:auto;accent-color:var(--brand-orange)}.builder .form-group:has(input[type=checkbox]){align-items:center;gap:var(--space-2);flex-direction:row}.array-item{border:1px solid var(--white-10);border-radius:var(--radius-card);padding:var(--space-3);margin-bottom:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.array-item .btn{align-self:flex-start}.toolbar{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.toolbar .save-msg{color:var(--muted)}.patch-queue{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;list-style:none;display:flex}.patch-queue li{gap:var(--space-2);align-items:center;display:flex}.patch-queue li span{flex:1}.patch-empty{color:var(--muted)}.chat-panel{border:1px solid var(--white-10);border-radius:var(--radius-card);background:var(--white-05);flex-direction:column;height:calc(100vh - 12rem);min-height:24rem;display:flex;overflow:hidden}.chat-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--white-10);display:flex}.chat-title{text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:700}.chat-scroll{gap:var(--space-2);padding:var(--space-4);flex-direction:column;flex:1;list-style:none;display:flex;overflow-y:auto}.chat-empty{text-align:center;max-width:24ch;color:var(--muted);margin:auto;font-size:.9rem}.chat-msg{padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);word-wrap:break-word;max-width:85%;line-height:1.5}.chat-msg-user{background:var(--brand-navy);color:var(--white);white-space:pre-wrap;align-self:flex-end}.chat-msg-assistant{background:var(--white-08);border:1px solid var(--white-10);color:var(--white);align-self:flex-start}.chat-msg-assistant>:first-child{margin-top:0}.chat-msg-assistant>:last-child{margin-bottom:0}.chat-msg-assistant p{margin:0 0 var(--space-2)}.chat-msg-assistant ul,.chat-msg-assistant ol{margin:0 0 var(--space-2);padding-left:1.25em}.chat-msg-assistant li{margin:.15em 0}.chat-msg-assistant h1,.chat-msg-assistant h2,.chat-msg-assistant h3,.chat-msg-assistant h4{margin:var(--space-2) 0 var(--space-1);font-size:1em;font-weight:700}.chat-msg-assistant a{color:var(--brand-orange);text-decoration:underline}.chat-msg-assistant code{background:var(--white-10);border-radius:var(--radius-button);padding:.1em .35em;font-size:.9em}.chat-msg-assistant pre{background:var(--white-10);margin:0 0 var(--space-2);padding:var(--space-2);border-radius:var(--radius-card);overflow-x:auto}.chat-msg-assistant pre code{background:0 0;padding:0}.chat-msg-assistant blockquote{margin:0 0 var(--space-2);padding-left:var(--space-2);border-left:2px solid var(--white-20)}.chat-msg-error{background:var(--danger-btn);border-color:var(--danger);color:var(--white)}.chat-thinking{padding:var(--space-3);align-self:flex-start;gap:5px;display:flex}.chat-dot{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-dot-pulse}.chat-dot:nth-child(2){animation-delay:.18s}.chat-dot:nth-child(3){animation-delay:.36s}@keyframes chat-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.chat-dot{opacity:.6;animation:none}}.chat-composer{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--white-10);align-items:flex-end;display:flex}.chat-input{resize:vertical;min-height:2.75rem;font-family:var(--font-sans);flex:1}.chat-send{flex-shrink:0}.builder :focus-visible{outline:2px solid var(--aa-navy);outline-offset:2px}.validation-errors{color:var(--danger);margin-top:var(--space-2);list-style:none}.math-status{margin-top:var(--space-2)}.math-ok{color:var(--success)}.math-bad{color:var(--danger)}@media (width<=800px){.builder-split{flex-direction:column}.builder-chat{position:static}}
