*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;overflow-x:clip}body{font-family:"Source Sans 3",Source Sans Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6;color:#000;background:#0a0a0a;min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:2.25rem;font-weight:700;line-height:1.2}@media(max-width:768px){h1{font-size:1.75rem}}h1{margin-bottom:1.5rem}h2{font-size:1.75rem;font-weight:700;line-height:1.2}@media(max-width:768px){h2{font-size:1.5rem}}h2{margin-top:3rem;margin-bottom:1rem;padding-top:2rem;border-top:1px solid #e5e5e5}h2:first-child,h2:first-of-type{margin-top:0;padding-top:0;border-top:none}h3{font-size:1.375rem;font-weight:600;line-height:1.2;margin-top:2rem;margin-bottom:.75rem}h4{font-size:1.125rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#a06808;text-decoration:none;transition:color .15s ease}a:hover{color:#5f3d00;text-decoration:underline}.content-article :where(p,li,blockquote) a{color:#a06808;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.16em}ul,ol{margin-bottom:1rem;padding-left:1.5rem}ul li,ol li{margin-bottom:.5rem}ul li::marker,ol li::marker{color:#d4890a}code{font-family:Fira Code,JetBrains Mono,Consolas,monospace;font-size:.9em;background:#f7e7bf;color:#5f3d00;border:1px solid rgba(212,137,10,.28);padding:.15em .4em;border-radius:4px}pre{font-family:Fira Code,JetBrains Mono,Consolas,monospace;background:#0a0a0a;color:#fff;border-radius:8px;padding:1rem;overflow-x:auto;margin:1.5rem 0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.7}pre code{background:none;padding:0;border:0;border-radius:0;box-shadow:none;color:inherit;font-size:inherit;text-decoration:none}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.875rem;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}table th,table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e5e5}table th{font-weight:600;background:#e5e5e0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#333}table tbody tr:nth-child(2n){background:#f0f0eb80}table tbody tr:hover{background:#d4890a0f}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}blockquote{border-left:4px solid #D4890A;padding-left:1rem;margin:1.5rem 0;color:#6b6b6b;font-style:italic}blockquote p:last-child{margin-bottom:0}hr{border:none;height:1px;background:#e5e5e5;margin:2rem 0}img{max-width:100%;height:auto;border-radius:8px}::selection{background:#d4890a4d;color:#0a0a0a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:200;padding:.5rem 1rem;background:#d4890a;color:#0a0a0a;font-weight:600;border-radius:8px;text-decoration:none}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid rgba(212,137,10,.5);outline-offset:3px}.text-primary{color:#d4890a!important}.text-muted{color:#6b6b6b!important}.badge-primary{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;background:#f7e7bf;color:#5f3d00;border:1px solid rgba(212,137,10,.45)}.badge-success{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;background:#dcfce7;color:#14532d;border:1px solid rgba(21,128,61,.35)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;text-decoration:none;transition:all .25s ease;background:#d4890a;color:#0a0a0a;box-shadow:0 4px 16px #f7cb4440}.btn-primary:hover{background:#a06808;transform:translateY(-2px)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;text-decoration:none;transition:all .25s ease;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.25)}.btn-secondary:hover{border-color:#d4890a;color:#d4890a}.card-badge,.badge,.badge-primary,.time-badge,.mode-badge,.stage-tool{color:#5f3d00!important;background:#f7e7bf!important;border:1px solid rgba(212,137,10,.45)!important}.badge-success,.gate-badge.pass,.ratio-badge.excellent,.ratio-badge.good,.maturity.advanced,.maturity.intermediate{color:#14532d!important;background:#dcfce7!important;border:1px solid rgba(21,128,61,.35)!important}.gate-badge.security{color:#1d4ed8!important;background:#dbeafe!important;border:1px solid rgba(37,99,235,.35)!important}.gate-badge.coverage,.ratio-badge.ok,.ratio-badge.warning{color:#92400e!important;background:#fef3c7!important;border:1px solid rgba(194,65,12,.35)!important}.ratio-badge.bad{color:#991b1b!important;background:#fee2e2!important;border:1px solid rgba(220,38,38,.35)!important}.value.status-active,.cell-good,.perf-value,.after-value,.gain{color:#166534!important;background:none!important;border:0!important}.cell-ok{color:#92400e!important;background:none!important;border:0!important}.cell-bad,.before-value{color:#991b1b!important;background:none!important;border:0!important}.perf-value,.factor-icon,.case-icon,.roadmap-time,.step-type{color:#5f3d00!important}.project-hero-no-screenshot .arch-node.arch-input{background:#1d4ed8!important;color:#fff!important}.project-hero-no-screenshot .arch-node.arch-process{background:#6d28d9!important;color:#fff!important}.project-hero-no-screenshot .arch-node.arch-validate{background:#047857!important;color:#fff!important}.project-hero-no-screenshot .arch-node.arch-output{background:#b45309!important;color:#fff!important}.project-hero-no-screenshot .arch-node small{color:#ffffffeb!important;opacity:1!important}.ratio-bar .feat-portion,.bar-segment.feat{background:#047857!important;color:#fff!important}.ratio-bar .fix-portion,.bar-segment.fix{background:#b45309!important;color:#fff!important}.prompt-label{color:#7c4a03!important}.recommendation{background:#166534!important;color:#fff!important}.project-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f0f0eb,#d4890a0d);border:1px solid #e5e5e0;border-radius:12px}.hero-screenshots{display:flex;flex-direction:column;gap:.75rem;min-width:0}.hero-img{width:100%;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 8px 24px #0003}.hero-img.hero-img-main{max-height:280px;object-fit:cover;object-position:top}.hero-img.hero-img-secondary{max-height:140px;object-fit:cover;object-position:top;opacity:.92}.hero-secondary-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.hero-secondary-stack .hero-img-small{width:100%;max-height:120px;object-fit:cover;object-position:top;border:1px solid rgba(0,0,0,.1);border-radius:4px;box-shadow:0 4px 12px #00000026}.hero-secondary-stack .hero-img-mobile{object-fit:cover;object-position:top}.hero-summary{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-title{margin:0 0 .25rem;font-size:3rem;font-weight:900;line-height:1.1}.hero-tagline{margin:0 0 1rem;color:#a06808;font-size:1.125rem;font-weight:600}.hero-desc{margin:0 0 1rem;color:#333;font-size:.875rem;line-height:1.6}.hero-desc code{background:#d4890a24;padding:.08rem .3rem;border-radius:4px;font-size:.95em}.hero-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;background:#0a0a0a;color:#d4890a;text-transform:none;letter-spacing:normal}.lead{margin-bottom:1.5rem;color:#333;font-size:1.125rem;line-height:1.8}.project-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#f0f0eb;border-radius:8px}.meta-item{min-width:0}.meta-item .label{display:block;font-size:.75rem;color:#6b6b6b;text-transform:uppercase}.meta-item .value{display:block;margin-top:.25rem;font-weight:700}@media(max-width:1024px){.project-hero{grid-template-columns:1fr}}@media(max-width:768px){.project-hero{padding:1rem}.hero-title{font-size:2.25rem}.project-meta{margin-bottom:1.5rem}}@media(max-width:350px){.project-hero{padding:.75rem}.hero-secondary-stack{grid-template-columns:1fr}.hero-title{font-size:1.75rem}.lead{font-size:1rem}.project-meta{padding:.75rem}}.mermaid{margin:1.5rem 0;text-align:center}.mermaid svg{max-width:100%;height:auto}.sidebar[data-astro-cid-ssfzsv2f]{position:fixed;top:0;left:0;width:280px;height:100vh;background:#1a1a1a;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar[data-astro-cid-ssfzsv2f]::-webkit-scrollbar{width:6px}.sidebar[data-astro-cid-ssfzsv2f]::-webkit-scrollbar-track{background:transparent}.sidebar[data-astro-cid-ssfzsv2f]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar[data-astro-cid-ssfzsv2f]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:1024px){.sidebar[data-astro-cid-ssfzsv2f]{width:min(82vw,320px);max-width:calc(100vw - 1.5rem);transform:translate(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #0003}.sidebar[data-astro-cid-ssfzsv2f].open{transform:translate(0)}}.sidebar-header[data-astro-cid-ssfzsv2f]{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.logo[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.logo[data-astro-cid-ssfzsv2f]:hover{text-decoration:none}.logo-icon[data-astro-cid-ssfzsv2f]{font-size:1.5rem}.logo-text[data-astro-cid-ssfzsv2f]{font-size:1.125rem;font-weight:700;color:#d4890a}.logo-subtitle[data-astro-cid-ssfzsv2f]{display:block;font-size:.75rem;color:#ffffffbf;margin-top:.25rem}.sidebar-nav[data-astro-cid-ssfzsv2f]{flex:1;padding:1rem 0}.nav-section[data-astro-cid-ssfzsv2f]{margin-bottom:1.5rem}.nav-title[data-astro-cid-ssfzsv2f]{padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffffbf}.nav-list[data-astro-cid-ssfzsv2f]{list-style:none;padding:0;margin:0}.nav-link[data-astro-cid-ssfzsv2f]{display:block;padding:.5rem 1.5rem;color:#ffffffd9;text-decoration:none;font-size:.875rem;transition:all .15s ease;border-left:3px solid transparent}.nav-link[data-astro-cid-ssfzsv2f]:hover{background:#ffffff0d;color:#fff;text-decoration:none}.nav-link[data-astro-cid-ssfzsv2f].active{background:#d4890a1a;color:#d4890a;border-left-color:#d4890a}.sidebar-footer[data-astro-cid-ssfzsv2f]{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.footer-link[data-astro-cid-ssfzsv2f]{font-size:.75rem;color:#ffffffbf}.footer-link[data-astro-cid-ssfzsv2f]:hover{color:#d4890a}.sidebar-toggle[data-astro-cid-ssfzsv2f]{display:none;position:fixed;top:1rem;right:1rem;z-index:101;width:44px;height:44px;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}.sidebar-toggle[data-astro-cid-ssfzsv2f] span[data-astro-cid-ssfzsv2f]{display:block;width:20px;height:2px;background:#fff;transition:all .15s ease}@media(max-width:1024px){.sidebar-toggle[data-astro-cid-ssfzsv2f]{display:flex}}.page-header[data-astro-cid-3ef6ksr2]{margin-bottom:2rem}.page-title[data-astro-cid-3ef6ksr2]{font-size:3rem;font-weight:900;line-height:1.2}@media(max-width:768px){.page-title[data-astro-cid-3ef6ksr2]{font-size:2rem}}.page-title[data-astro-cid-3ef6ksr2]{color:#000;margin-bottom:1rem;overflow-wrap:anywhere}.header-line[data-astro-cid-3ef6ksr2]{width:80px;height:4px;background:#d4890a;border-radius:2px}.lightbox-overlay{position:fixed;inset:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .2s ease;backdrop-filter:blur(6px);outline:none}.lightbox-overlay.active{opacity:1;pointer-events:auto}.lightbox-overlay.active .lightbox-popup{transform:scale(1);opacity:1}.lightbox-popup{background:#fff;border-radius:12px;box-shadow:0 24px 80px #00000059,0 0 0 1px #00000014;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);opacity:0;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .2s ease}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .5rem 1rem;border-bottom:1px solid #e5e5e5;flex-shrink:0}.lightbox-counter{font-size:.875rem;color:#333;font-weight:500;font-variant-numeric:tabular-nums}.lightbox-close{background:none;border:none;color:#333;font-size:1.5rem;cursor:pointer;line-height:1;padding:.25rem .5rem;border-radius:4px;transition:background .15s ease,color .15s ease}.lightbox-close:hover{background:#e5e5e5;color:#000}.lightbox-body{display:flex;align-items:center;gap:.5rem;padding:.75rem;min-height:0;flex:1}.lightbox-content{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.lightbox-img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:4px;display:block}.lightbox-prev,.lightbox-next{background:none;border:1px solid #e5e5e5;color:#333;font-size:1.4rem;cursor:pointer;padding:.5rem;border-radius:9999px;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.lightbox-prev:hover,.lightbox-next:hover{background:#f0f0eb;color:#000;border-color:#333}.lightbox-prev.disabled,.lightbox-next.disabled{opacity:.3;pointer-events:none}.lightbox-popup>.lightbox-caption{padding:.5rem 1rem .75rem;font-size:.875rem;color:#333;text-align:center;border-top:1px solid #e5e5e5;margin:0;flex-shrink:0}.lightbox-popup>.lightbox-caption:empty{display:none}[data-lightbox]{cursor:zoom-in;transition:transform .15s ease,box-shadow .15s ease}[data-lightbox]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.screenshot-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin:1.5rem 0;content-visibility:auto;contain-intrinsic-size:420px}.screenshot-item{background:#f0f0eb;border-radius:8px;overflow:hidden;border:1px solid #e5e5e5}.screenshot-item img{width:100%;height:220px;object-fit:cover;object-position:top;display:block}.screenshot-caption{padding:.75rem 1rem;font-size:.875rem;color:#333;font-weight:500}.screenshot-gallery-wide{grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.screenshot-gallery-wide{grid-template-columns:1fr}}.screenshot-gallery-hero{grid-template-columns:repeat(2,1fr);gap:1.5rem}.screenshot-gallery-hero .screenshot-item img{height:280px}.screenshot-gallery-mobile{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.screenshot-gallery-mobile .screenshot-item img{height:320px;object-fit:contain;background:#f5f5f5}.screenshot-full{margin:1.5rem 0;background:#f0f0eb;border-radius:8px;overflow:hidden;border:1px solid #e5e5e5;content-visibility:auto;contain-intrinsic-size:520px}.screenshot-full img{width:100%;display:block}.screenshot-full .screenshot-caption{padding:.75rem 1rem;font-size:.875rem;color:#333;font-weight:500}.wiki-layout[data-astro-cid-sbtgy7b5]{display:flex;min-height:100vh;overflow-x:clip}@media(max-width:1024px){.wiki-layout[data-astro-cid-sbtgy7b5]{display:block}}.wiki-main[data-astro-cid-sbtgy7b5]{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:280px;background:#fff;overflow-x:clip;position:relative}@media(max-width:1024px){.wiki-main[data-astro-cid-sbtgy7b5]{margin-left:0}}@media(min-width:1280px){.wiki-main[data-astro-cid-sbtgy7b5]{padding-right:220px}}.wiki-content[data-astro-cid-sbtgy7b5]{flex:1;min-width:0;padding:3rem 2rem 2rem}@media(max-width:768px){.wiki-content[data-astro-cid-sbtgy7b5]{padding:2rem 1rem 1rem}}.content-article[data-astro-cid-sbtgy7b5]{max-width:900px;width:min(100%,900px);margin:0 auto}.toc[data-astro-cid-sbtgy7b5]{display:none;position:fixed;top:2rem;right:1.5rem;width:200px;max-height:calc(100vh - 4rem);overflow-y:auto;font-size:.75rem;z-index:10}@media(min-width:1280px){.toc[data-astro-cid-sbtgy7b5]{display:block}}.toc[data-astro-cid-sbtgy7b5]::-webkit-scrollbar{width:3px}.toc[data-astro-cid-sbtgy7b5]::-webkit-scrollbar-track{background:transparent}.toc[data-astro-cid-sbtgy7b5]::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.toc__title[data-astro-cid-sbtgy7b5]{font-size:.75rem;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.toc__list[data-astro-cid-sbtgy7b5]{list-style:none;margin:0;padding:0}.toc[data-astro-cid-sbtgy7b5] .toc__item{margin:0;padding:0}.toc[data-astro-cid-sbtgy7b5] .toc__item{margin-top:.25rem}.toc[data-astro-cid-sbtgy7b5] .toc__item--h3{padding-left:1rem;margin-top:0}.toc[data-astro-cid-sbtgy7b5] .toc__link{display:block;padding:.25rem .75rem;color:#545c66;text-decoration:none;line-height:1.4;border-left:2px solid transparent;transition:color .15s ease,border-color .15s ease;font-weight:600}.toc[data-astro-cid-sbtgy7b5] .toc__link:hover{color:#000}.toc[data-astro-cid-sbtgy7b5] .toc__item--h3 .toc__link{font-weight:400;font-size:.7rem;color:#626973;padding:1px .75rem 1px 1.75rem}.toc[data-astro-cid-sbtgy7b5] .toc__link--active{color:#000;border-left-color:#d4890a}.toc[data-astro-cid-sbtgy7b5] .toc__item--h3 .toc__link--active{color:#333;border-left-color:#d4890a}
