*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{min-width:320px;margin:0}button,input,select{font:inherit}a{color:inherit}table{border-collapse:collapse;width:100%}:root{--bg:#f4f6f8;--surface:#fff;--surface-soft:#eef3f6;--surface-blue:#eaf2fb;--surface-green:#eaf6f0;--surface-amber:#fff3d7;--ink:#17212b;--muted:#586472;--line:#d7e0e8;--line-strong:#bcc9d6;--blue:#2563a8;--teal:#0f766e;--green:#2f7d55;--amber:#a56708;--red:#a13c3c;--shadow:0 18px 50px #17212b29}body{background:var(--bg);color:var(--ink)}body.modal-open{overflow:hidden}button{font:inherit}.app-shell{min-height:100vh}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;gap:18px;padding:14px 28px;display:flex;position:sticky;top:0}.brand-button,.button,.icon-button{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.brand-button{color:var(--ink);text-align:left;background:0 0;border:0;gap:10px;padding:0}.brand-button span{gap:1px;display:grid}.brand-button strong{font-size:1.05rem}.brand-button small,.domain-pill{color:var(--muted);font-size:.82rem}.domain-pill{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:6px 12px;display:inline-flex}.app-main{max-width:1440px;margin:0 auto;padding:28px}.home-page,.system-page{gap:24px;display:grid}.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:stretch;gap:24px;display:grid}.hero-copy,.system-visual,.system-choice,.summary-panel,.main-panel,.concept-panel,.workspace-modal{background:var(--surface);border:1px solid var(--line)}.hero-copy{gap:18px;padding:36px;display:grid}.eyebrow{color:var(--teal);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1,h2,h3,h4,p{margin-block-start:0}h1{margin-block-end:0;font-size:2.75rem;line-height:1.12}h2{margin-block-end:0;font-size:1.35rem;line-height:1.25}h3{margin-block-end:0;font-size:1rem;line-height:1.35}h4{margin-block-end:8px;font-size:.9rem}.lead{color:var(--muted);max-width:720px;font-size:1.04rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:1px solid var(--line-strong);border-radius:7px;gap:8px;min-height:42px;padding:9px 14px}.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.button.secondary,.button.small,.button.ghost{background:var(--surface);color:var(--ink)}.button.small{min-height:36px;padding:7px 10px;font-size:.88rem}.button.ghost{color:var(--muted);border-color:#0000;justify-self:start}.button:hover,.icon-button:hover,.chain-node:hover,.mindmap-node:hover,.arch-package:hover{border-color:var(--teal)}.architecture-stage{background:radial-gradient(circle at 50% 46%,#317d5529,#0000 34%),linear-gradient(#f8fbfd 0%,#edf3f6 100%);border-radius:8px;min-height:420px;position:relative;overflow:hidden}.architecture-stage.intro{min-height:360px}.architecture-stage.interactive{min-height:430px}.architecture-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.architecture-title{z-index:2;gap:4px;max-width:360px;display:grid;position:absolute;top:18px;left:20px}.architecture-title p:last-child{color:var(--muted);margin:0}.architecture-labels{z-index:3;position:absolute;inset:0}.arch-callout{background:#ffffffe6;border:1px solid #bcc9d6e6;border-radius:8px;gap:3px;min-width:132px;max-width:180px;padding:9px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #17212b14}.arch-callout strong{font-size:.88rem}.arch-callout>span,.arch-package-row small{color:var(--muted);font-size:.74rem}.arch-package-row{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.arch-package{background:var(--surface-green);color:#1f6846;cursor:pointer;border:1px solid #bddbcf;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:3px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.arch-package:disabled{cursor:default;opacity:.9}.arch-package b{color:var(--ink);background:#fff;border-radius:999px;padding:1px 5px}.system-selection{display:grid}.system-choice{gap:18px;padding:24px;display:grid}.system-choice p,.summary-panel p,.concept-panel p,.package-card p,.artifact-summary,.claim-band p{color:var(--muted)}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{background:var(--surface-soft);border:1px solid var(--line);color:#334252;border-radius:999px;padding:5px 9px;font-size:.82rem;font-weight:700}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:2px;padding:12px;display:grid}.metric span{font-size:1.45rem;font-weight:800}.metric small{color:var(--muted)}.system-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.9fr) minmax(240px,.7fr);align-items:start;gap:20px;display:grid}.summary-panel,.main-panel,.concept-panel{border-radius:8px;gap:18px;padding:20px;display:grid}.summary-panel,.concept-panel{position:sticky;top:86px}.assurance-box{background:var(--surface-green);border:1px solid #bddbcf;border-radius:8px;gap:3px;padding:12px;display:grid}.assurance-box span{color:var(--muted);font-size:.82rem}.bot-panel{gap:12px;display:grid}.bot-message{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.bot-avatar{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.bot-message p{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;margin:0;padding:12px 14px}.bot-message.answer p{background:var(--surface-green);border-color:#bddbcf}.evidence-section{gap:16px;display:grid}.section-heading{gap:4px;display:grid}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.package-card{background:var(--surface);border:1px solid var(--line);border-left-width:5px;border-radius:8px;gap:12px;min-height:260px;padding:16px;display:grid}.category-authentication,.category-logging{border-left-color:var(--blue)}.category-authorization,.category-resilience{border-left-color:var(--teal)}.category-interface-validation,.category-software-supply-chain{border-left-color:var(--amber)}.category-perimeter,.category-development{border-left-color:var(--green)}.package-card-header,.workspace-title,.panel-heading,.source-title{align-items:center;gap:10px;display:flex}.package-icon{background:var(--surface-soft);border:1px solid var(--line);color:var(--teal);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.package-icon.large{width:48px;height:48px}.package-id{color:var(--muted);font-size:.8rem;font-weight:800}.package-meta{flex-wrap:wrap;gap:8px;display:flex}.package-meta span{background:var(--surface-soft);color:#334252;border-radius:999px;padding:5px 8px;font-size:.8rem;font-weight:700}.concept-steps{gap:12px;display:grid}.concept-steps p{border-left:3px solid var(--line-strong);margin:0;padding-left:12px}.modal-backdrop{z-index:50;background:#1118278f;padding:24px;position:fixed;inset:0}.workspace-modal{box-shadow:var(--shadow);border-radius:8px;gap:16px;max-width:1380px;max-height:calc(100vh - 48px);margin:0 auto;padding:18px;display:grid;overflow:auto}.workspace-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding-bottom:14px;display:flex}.icon-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:40px;height:40px}.claim-band{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.claim-band span,.source-item dt{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.claim-band p{margin:4px 0 0}.workspace-body{grid-template-columns:minmax(360px,.95fr) minmax(0,1.4fr) minmax(280px,.85fr);align-items:start;gap:16px;display:grid}.chain-panel,.artifact-panel,.source-panel{border:1px solid var(--line);border-radius:8px;gap:14px;padding:14px;display:grid}.mindmap-root{justify-items:center;display:grid;position:relative}.mindmap-root:after{background:var(--line-strong);content:"";width:2px;height:16px;position:absolute;bottom:-16px}.mindmap-center{background:var(--ink);color:#fff;text-align:center;border-radius:8px;gap:3px;max-width:220px;padding:12px;display:grid}.mindmap-center span{color:#d8e5ed;font-size:.8rem}.mindmap-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.mindmap-list li{position:relative}.mindmap-list li:before{background:var(--line-strong);content:"";width:34px;height:2px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.mindmap-node{background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;width:100%;min-height:74px;padding:10px;display:grid}.mindmap-node .strength{grid-column:2;justify-self:start}.mindmap-node.active{background:var(--surface-green);border-color:#8fc3ad}.chain-index{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:inline-flex}.chain-copy{gap:3px;min-width:0;display:grid}.chain-copy strong{overflow-wrap:anywhere;word-break:keep-all}.chain-copy small{color:var(--muted);font-size:.78rem}.strength{white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:800}.strength-core{color:#1f6846;background:#dcefe6}.strength-supporting{color:#1f5b96;background:#e4edf8}.strength-context{color:#825104;background:#fff0c6}.artifact-panel{min-width:0}.artifact-summary{margin:0}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}th{background:var(--surface-soft);color:#314151;white-space:nowrap;font-size:.8rem}td{font-size:.88rem}tbody tr:last-child td{border-bottom:0}.log-preview{color:#e3edf7;background:#101820;border-radius:8px;gap:6px;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;display:grid;overflow:auto}.document-preview{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid}.document-preview p{color:#334252;margin:0 0 6px}.artifact-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.artifact-notes div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.artifact-notes p,.artifact-notes ul{color:var(--muted);margin:0}.artifact-notes ul{padding-left:1.1rem}.source-panel{min-width:0}.plain-list{color:var(--muted);margin:0;padding-left:1.15rem}.trace-block{background:var(--surface-amber);border:1px solid #ead19a;border-radius:8px;padding:12px}.source-list{gap:12px;display:grid}.source-item{border:1px solid var(--line);border-radius:8px;gap:9px;padding:12px;display:grid}.source-item code{background:var(--surface-soft);color:#2f4151;overflow-wrap:anywhere;border-radius:6px;padding:8px;font-size:.76rem;display:block}.source-item dl{gap:8px;margin:0;display:grid}.source-item dd{color:var(--muted);margin:2px 0 0}.fatal{padding:24px}@media (width<=1180px){.home-hero,.system-layout,.workspace-body{grid-template-columns:1fr}.summary-panel,.concept-panel{position:static}.claim-band,.artifact-notes{grid-template-columns:1fr}}@media (width<=760px){.site-header,.app-main,.modal-backdrop{padding:16px}.site-header{flex-direction:column;align-items:flex-start}.hero-copy,.system-choice{padding:20px}.architecture-stage,.architecture-stage.intro,.architecture-stage.interactive{min-height:840px}.architecture-title{max-width:calc(100% - 32px)}.architecture-labels{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid;inset:170px 16px 16px}.arch-callout{min-width:0;max-width:none;padding:7px;position:static;transform:none}.arch-package{font-size:.68rem}h1{font-size:2rem}.visual-cluster,.metric-row,.package-grid,.mindmap-list{grid-template-columns:1fr}.workspace-modal{max-height:calc(100vh - 32px);padding:14px}.workspace-header{align-items:stretch}.workspace-title{align-items:flex-start}}
