:root{--bg:#1e1e1e;--panel:#252526;--panel2:#2b2b2c;--line:#333;--fg:#ddd;--muted:#888;--accent:#ffc107;--info:#3794ff;--error:#f14c4c;--warn:#e3b341;--ok:#2da44e}*{box-sizing:border-box}html,body{margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.88em}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em}em{color:var(--muted);font-style:normal}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1.25rem;background:#181818;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.5rem}.brand img{display:block;border-radius:5px}.brand .tag{color:var(--muted);font-size:.8rem}.topbar nav{display:flex;gap:1rem;align-items:center;font-size:.9rem;flex-wrap:wrap}.btn-yellow{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#1e1e1e;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-yellow:hover{filter:brightness(1.08);text-decoration:none}.btn-yellow svg{width:15px;height:15px;fill:currentColor}.btn-outline{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:5px 13px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-outline:hover{background:#ffc1071f;text-decoration:none}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:5px 13px;font-size:.85rem;cursor:pointer}.btn-ghost:hover{color:var(--fg);border-color:var(--muted)}.sm{padding:4px 10px;font-size:.8rem}.big{padding:10px 20px;font-size:.98rem;border-radius:8px}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.hero{padding:3.25rem 1.25rem 2.25rem;background:radial-gradient(1200px 400px at 50% -120px,rgba(255,193,7,.1),transparent)}.hero-inner{max-width:860px;margin:0 auto;text-align:center}.hero h1{font-size:2.35rem;margin:0 0 1rem;line-height:1.15}.lede{font-size:1.08rem;color:#c8c8c8;margin:0 auto 1.6rem;max-width:760px;text-align:left}.lede strong{color:var(--fg)}.hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.4rem}.hero-cmd{background:#141414;border:1px solid var(--line);border-radius:8px;padding:.85rem 1rem;overflow-x:auto;text-align:left;margin:0 auto;max-width:760px}.hero-cmd code{color:#e6e6e6}.features{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.05rem 1.1rem}.feature h3{margin:0 0 .4rem;font-size:.95rem;color:var(--accent)}.feature p{margin:0;color:silver;font-size:.88rem}.feature code{color:var(--accent)}.studio{max-width:1320px;margin:0 auto;padding:1.5rem 1.25rem 2rem}.studio-head h2{font-size:1.6rem;margin:0 0 .3rem}.studio-head p{margin:0 0 1.1rem;color:silver;max-width:820px}.studio-toolbar{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:1.1rem}.prose-add{display:flex;gap:.6rem;flex:1 1 460px;align-items:stretch}.prose-add textarea{flex:1;background:#141414;border:1px solid var(--line);color:#e6e6e6;border-radius:8px;padding:.6rem .7rem;font-size:.9rem;resize:vertical;min-height:3rem}.prose-add textarea:focus{outline:none;border-color:var(--accent)}.prose-add .btn-yellow{white-space:nowrap;align-self:stretch}.toolbar-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.sel-label{display:flex;flex-direction:column;font-size:.72rem;color:var(--muted);gap:.25rem}.sel-label select,.toolbar-actions select{background:#141414;border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:6px 9px;font-size:.85rem;max-width:22rem}.studio-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.25rem;align-items:start}.rules-col{min-width:0}.rules{display:flex;flex-direction:column;gap:1rem}.rules-empty{border:1px dashed var(--line);border-radius:10px;padding:2rem;text-align:center}.rule-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem 1rem}.rc-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}.rc-id{flex:1;background:#141414;border:1px solid var(--line);color:var(--accent);border-radius:6px;padding:6px 9px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.85rem;font-weight:600}.rc-id:focus{outline:none;border-color:var(--accent)}.rc-area{background:#141414;border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:6px 8px;font-size:.82rem;max-width:12rem}.rc-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;cursor:default}.rc-badge.ok{background:#2da44e29;color:#7ee787}.rc-badge.warn{background:#e3b34129;color:var(--warn)}.rc-badge.err{background:#f14c4c29;color:#ff9c9c}.rc-remove{background:none;border:none;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer;padding:0 .2rem}.rc-remove:hover{color:var(--error)}.rc-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem;min-width:0}.rc-field.grow{flex:1}.rc-lab{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.rc-lab code{text-transform:none;color:var(--accent);font-weight:600}.rc-lab em{text-transform:none;letter-spacing:0;font-weight:400}.rc-field input,.rc-field select,.rc-field textarea{background:#141414;border:1px solid var(--line);color:#e6e6e6;border-radius:6px;padding:6px 9px;font-size:.86rem;width:100%}.rc-field input:focus,.rc-field select:focus,.rc-field textarea:focus{outline:none;border-color:var(--accent)}.rc-mono{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.82rem!important}.narrow{max-width:9rem}.rc-row{display:flex;gap:.7rem;flex-wrap:wrap}.rc-row .rc-field{margin-bottom:.6rem}.rc-hint{font-size:.78rem;color:transparent;min-height:0}.rc-hint.warn{color:var(--warn);min-height:1rem;margin-top:.15rem}.rc-opts{margin:.1rem 0 .5rem}.rc-opts-note{font-size:.8rem;margin:.2rem 0}.rc-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--fg)}.rc-check input{width:auto}.rc-ground{border-top:1px solid var(--line);margin-top:.4rem;padding-top:.6rem}.rc-ground>summary{cursor:pointer;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:700;list-style:none}.rc-ground>summary::-webkit-details-marker{display:none}.rc-req{background:#ffc10729;color:var(--accent);font-size:.62rem;padding:1px 7px;border-radius:20px;margin-left:.4rem;font-weight:700}.rc-more{margin-top:.3rem}.rc-more>summary{cursor:pointer;font-size:.76rem;color:var(--muted)}.rc-more[open]>summary{color:var(--fg)}.output-col{position:sticky;top:4rem}.output-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.output-bar .spacer{flex:1}.preview-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.valid-badge{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:20px}.valid-badge.ok{background:#2da44e29;color:#7ee787}.valid-badge.bad{background:#f14c4c29;color:#ff9c9c}.ext-toggle,.target-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted);cursor:pointer}.target-toggle select{background:#141414;border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:3px 7px;font-size:.78rem}.rc-fmt{text-transform:none;letter-spacing:0;font-weight:700;font-size:.62rem;padding:1px 6px;border-radius:20px;margin-left:.4rem}.lib-fmt{font-weight:700}.fmt-both{background:#e3b34129;color:#e3b341;border:1px solid rgba(227,179,65,.4)}.fmt-oas3{background:#3794ff29;color:#7cc0ff;border:1px solid rgba(55,148,255,.4)}.fmt-oas2{background:#9aa0a629;color:#c7ccd1;border:1px solid rgba(154,160,166,.4)}.yaml-out{background:#141414;border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;overflow:auto;max-height:78vh;margin:0}.yaml-out code{color:#e6e6e6;font-size:.8rem;line-height:1.55;white-space:pre;display:block}.library{max-width:1320px;margin:0 auto;padding:1.5rem 1.25rem 2rem}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.lib-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem}.lib-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.lib-id{color:var(--accent);font-size:.78rem;font-weight:600}.lib-sev{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sev);border:1px solid var(--sev);border-radius:20px;padding:1px 8px}.lib-stmt{margin:0;font-size:.92rem;color:var(--fg)}.lib-meta{margin:0;font-size:.76rem;color:var(--muted)}.lib-meta code{color:#b7c4d1}.lib-fn{color:var(--info);font-weight:600}.lib-add{align-self:flex-start;margin-top:.2rem}.usage{max-width:840px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.usage h2{font-size:1.6rem;margin:0 0 .8rem}.usage h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:1.6rem 0 .5rem}.usage-lede{color:#c8c8c8;font-size:1rem}.usage pre{background:#141414;border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;overflow-x:auto}.usage pre code{color:#e6e6e6;font-size:.85rem;line-height:1.6}.flags{margin:.3rem 0;padding-left:1.2rem}.flags li{margin:.3rem 0;color:silver}.flags code{color:var(--accent)}.usage-foot{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}.site-foot{border-top:1px solid var(--line);background:#181818;padding:2rem 1.25rem;margin-top:1rem}.foot-tools{max-width:1050px;margin:0 auto .8rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;font-size:.9rem}.foot-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.foot-tools a.current{color:var(--accent);font-weight:600}.foot-note{max-width:720px;margin:0 auto;text-align:center;color:var(--muted);font-size:.85rem}.modal{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:60}.modal[hidden]{display:none}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 40px #00000080;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.modal-head #modal-title{font-weight:700}.engage-card{width:min(620px,94vw)}.engage-body{padding:.9rem 1.1rem 1.1rem;overflow-y:auto;max-height:82vh}.engage-intro{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.engage-intro a{color:var(--accent)}.engage-services{display:flex;flex-direction:column;gap:.5rem}.engage-service{display:flex;align-items:center;gap:1rem;justify-content:space-between;border:1px solid var(--line);border-radius:6px;padding:.7rem .85rem}.engage-service-text{display:flex;flex-direction:column;gap:.2rem}.engage-service-text strong{font-size:.92rem;color:var(--fg)}.engage-service-text span{color:var(--muted);font-size:.82rem;line-height:1.4}.engage-details{color:var(--info);font-size:.78rem;margin-top:2px}.engage-cta{flex-shrink:0;background:var(--accent);color:#1e1e1e;text-decoration:none;border-radius:5px;padding:5px 12px;font-size:.82rem;font-weight:600;white-space:nowrap}.engage-cta:hover{filter:brightness(1.08);text-decoration:none}.engage-foot{margin:1rem 0 0;font-size:.85rem}.engage-foot a{color:var(--accent)}.engage-close{background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;line-height:1}.engage-close:hover{color:var(--fg)}@media (max-width:1000px){.features{grid-template-columns:repeat(2,1fr)}.studio-grid{grid-template-columns:1fr}.output-col{position:static}.yaml-out{max-height:50vh}}@media (max-width:560px){.hero h1{font-size:1.85rem}.features{grid-template-columns:1fr}.rc-row{flex-direction:column}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
