:root{--ink:#2a1a16;--muted:#7a5a48;--line:#eadfd5;--blue:#2a1a16;--blue-ink:#a94a2d;--pale:#faf2eb;--red:#dd5653;--green:#17866a;--amber:#c88625;--panel:320px;font-family:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-size:13px}*{box-sizing:border-box}body{margin:0;background:#f6eee6;min-width:960px}.app-shell{height:100vh;min-height:680px;display:flex;flex-direction:column;background:#fcf6f0}.topbar{height:66px;flex:0 0 66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:28px;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:#2a1a16;text-decoration:none;font:700 15px 'Manrope',sans-serif;white-space:nowrap}.brand b{color:#7a5a48;font-weight:600}.brand-mark{width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#2a1a16,#a94a2d);display:grid;place-items:center;box-shadow:0 4px 10px #2a1a162b}.brand-mark svg{width:21px;height:21px;fill:none;stroke:white;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project-title{display:flex;align-items:center;gap:11px;padding-left:27px;border-left:1px solid var(--line);height:27px;min-width:0}.crumb-muted{color:#8b98a9}.crumb-slash{color:#c2cad4}.project-title strong{font-size:13px;white-space:nowrap}.local-badge{display:flex;align-items:center;gap:6px;color:#687992;background:#f9f1ea;border:1px solid #e7ecf3;border-radius:20px;padding:5px 9px;font-size:10px;margin-left:8px;white-space:nowrap}.local-badge i{width:6px;height:6px;background:#36aa83;border-radius:50%}.top-actions{margin-left:auto;display:flex;gap:9px}.button{border:1px solid #dfe6ee;border-radius:8px;padding:9px 13px;background:white;color:#5a3b30;font:600 12px inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.16s ease}.button:hover{border-color:#d8bcae;background:#f9fbfd}.button-primary{background:#2a1a16;color:#fff;border-color:#2a1a16;box-shadow:0 3px 8px #2a1a162b}.button-primary:hover{background:#a94a2d;border-color:#a94a2d}.button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.button-icon{font-size:13px;color:#7a5a48}.workspace{display:grid;grid-template-columns:202px minmax(440px,1fr) var(--panel);grid-template-rows:minmax(0,1fr);min-height:0;flex:1}.left-rail{background:#fff;border-right:1px solid var(--line);padding:21px 10px 12px;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.rail-label{font-size:9px;letter-spacing:1.15px;color:#9aa6b5;font-weight:700;padding:3px 12px 10px}.nav-item{height:39px;display:flex;align-items:center;gap:11px;padding:0 11px;margin:2px 0;border:0;background:transparent;color:#6b4b3e;border-radius:7px;text-align:left;font:500 12px inherit;cursor:pointer}.nav-item:hover{color:#263b57;background:#fcf6f0}.nav-item.active{background:#fbf1ea;color:#a94a2d;font-weight:600}.nav-icon{width:18px;height:18px;display:grid;place-items:center}.nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-count{margin-left:auto;background:#e8eef7;color:#62748d;min-width:22px;height:20px;border-radius:11px;display:grid;place-items:center;font-size:10px;font-weight:700}.nav-item.active .nav-count{background:#f7e2d6;color:#a94a2d}.rail-separator{height:1px;background:#f2e8df;margin:15px 10px}.rail-bottom{margin-top:auto}.format-card{margin:8px 4px 17px;background:#fcf6f0;border:1px solid #eee1d7;border-radius:8px;padding:11px 8px;display:flex;align-items:center;gap:8px}.format-card-icon{width:27px;height:27px;border-radius:7px;background:#fbefe7;color:#a94a2d;display:grid;place-items:center;font:700 9px 'Manrope',sans-serif}.format-card strong{display:block;font-size:10px;color:#4e5e73}.format-card span:not(.format-check){display:block;font-size:9px;color:#93a0b0;margin-top:4px}.format-check{margin-left:auto;color:#20a07b;font-weight:700}.rail-foot{border-top:1px solid #f2e8df;padding:14px 6px 2px;display:flex;align-items:center;gap:9px}.avatar{width:29px;height:29px;border-radius:50%;background:#eaf0fa;color:#557199;display:grid;place-items:center;font-size:9px;font-weight:700}.rail-foot b,.rail-foot small{display:block}.rail-foot b{font-size:10px;color:#5a3b30}.rail-foot small{font-size:9px;color:#9aa6b4;margin-top:3px}.dots{margin-left:auto;color:#8a98aa;letter-spacing:2px}.main-area{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fbf6f0}.toolbar{height:54px;flex:0 0 54px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 17px;gap:10px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px;min-width:0}.view-switch{display:flex;align-items:center;padding:3px;background:#f9f1ea;border-radius:7px}.view-switch button{height:27px;border:0;background:transparent;border-radius:5px;padding:0 11px;color:#738197;font:600 10px inherit;cursor:pointer;white-space:nowrap}.view-switch button.selected{background:#fff;color:#a94a2d;box-shadow:0 1px 3px #1b2e481c}.toolbar-divider{height:20px;width:1px;background:#e7ecf1;margin:0 4px}.tool-chip{height:28px;border:1px solid #e9ddd3;background:#fff;border-radius:6px;color:#6b4b3e;font:500 10px inherit;display:flex;align-items:center;gap:7px;padding:0 9px;white-space:nowrap;cursor:pointer}.toggle-dot{width:13px;height:13px;border-radius:50%;background:#2a1a16;box-shadow:inset 0 0 0 3px white,0 0 0 1px #2a1a16}.node-total{font-size:10px;color:#8a98a9;white-space:nowrap}.icon-button{width:27px;height:27px;border:1px solid #e7dad0;background:#fff;color:#6b4b3e;border-radius:6px;font-size:16px;line-height:1;cursor:pointer}.icon-button:hover,.fit-button:hover{border-color:#d8bcae;color:#a94a2d}.zoom-level{font-size:10px;color:#7a5a48;width:31px;text-align:center}.fit-button{height:28px;border:1px solid #e7dad0;background:#fff;color:#63738a;border-radius:6px;padding:0 9px;display:flex;align-items:center;gap:6px;font:600 10px inherit;cursor:pointer;white-space:nowrap;flex:0 0 auto}.fit-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}.canvas-wrap{flex:1;min-height:0;position:relative;background-color:#fbf6f0;background-image:radial-gradient(#dce4ee 0.75px,transparent .75px);background-size:18px 18px;overflow:hidden}.canvas-wrap svg{width:100%;height:100%;display:block;transition:opacity .2s}.canvas-hint{position:absolute;left:20px;top:15px;z-index:1;font-size:10px;color:#8592a4;background:#fffdf;border:1px solid #eee1d7;border-radius:6px;padding:7px 9px;box-shadow:0 2px 6px #20395608}.hint-spark{color:#2a1a16;margin-right:5px}.hint-sep{color:#c5ced9;margin:0 5px}.canvas-hint button{border:0;padding:0;background:none;color:#a94a2d;font:600 10px inherit;cursor:pointer}.canvas-legend{position:absolute;left:18px;bottom:15px;display:flex;gap:15px;color:#8b98a9;font-size:9px;background:#ffffffd9;border:1px solid #eee1d7;border-radius:6px;padding:8px 10px}.canvas-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.canvas-legend i{width:8px;height:8px;border-radius:3px}.legend-blue{background:#2a1a16}.legend-boundary{background:#fff;border:1px dashed #d8a86b}.legend-red{background:#e45b58}.canvas-watermark{position:absolute;right:18px;bottom:17px;color:#c4ccd6;font:700 8px 'Manrope',sans-serif;letter-spacing:1.4px}.summary-bar{height:53px;flex:0 0 53px;border-top:1px solid #eee1d7;background:#fff;display:flex;align-items:center;padding:0 17px;gap:14px;overflow:hidden}.summary-item{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#485970}.summary-item strong{font-size:10px;font-weight:600}.summary-icon{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700}.summary-icon.red{background:#ffebea;color:#db5550}.summary-icon.green{background:#e5f5ef;color:#18886b}.summary-icon.amber{color:#bc842c}.severity-dot{width:7px;height:7px;background:#e45b58;border-radius:50%}.summary-divider{height:17px;width:1px;background:#e8edf2}.muted-summary strong{color:#7a5a48;font-weight:500}.summary-link{margin-left:auto;white-space:nowrap;border:0;background:none;color:#a94a2d;font:600 10px inherit;cursor:pointer}.summary-link span{font-size:15px;margin-left:3px}.details-panel{background:#fff;border-left:1px solid var(--line);min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.details-head{height:54px;flex:0 0 54px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f2e8df}.details-head h2{margin:0;font:700 12px 'Manrope',sans-serif}.details-close{border:0;background:none;color:#9aa6b5;font-size:19px;cursor:pointer}.threat-content{padding:17px}.severity-pill{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.severity-pill.high{color:#bd4946;background:#fff0ef}.severity-pill.medium{color:#a96d18;background:#fff5e6}.severity-pill.low{color:#287963;background:#eaf7f1}.severity-pill.info{color:#8a5a44;background:#fbf1ea}.threat-title{font:700 16px/1.35 'Manrope',sans-serif;letter-spacing:-.35px;margin:10px 0 8px;color:#2a1a16}.threat-description{font-size:11px;line-height:1.6;color:#7a5a48;margin:0 0 15px}.detail-rule{height:1px;background:#f2e8df;margin:14px 0}.detail-grid{display:grid;grid-template-columns:83px 1fr;gap:11px 5px;font-size:10px;line-height:1.55}.detail-label{color:#929eae;font-weight:500}.detail-value{color:#46566d;overflow-wrap:anywhere}.stride-tag{display:inline-flex;padding:3px 6px;border-radius:4px;background:#f9f1ea;color:#6b4b3e;font-size:9px;font-weight:600}.path-value{color:#5a3b30}.path-segment{display:inline}.evidence-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font:700 11px 'Manrope',sans-serif;color:#4a3027}.evidence-heading span{font:500 9px 'DM Sans',sans-serif;color:#9aa5b4}.evidence-list{display:grid;gap:7px}.evidence-card{border:1px solid #eee1d7;border-radius:7px;padding:9px 9px;display:flex;gap:8px;align-items:flex-start;cursor:pointer;transition:.15s}.evidence-card:hover{border-color:#e2b69f;background:#fbfdff}.evidence-icon{width:22px;height:22px;flex:none;background:#f8eee6;color:#6c7e97;border-radius:5px;display:grid;place-items:center;font:700 8px 'Manrope',sans-serif}.evidence-card strong{display:block;font-size:10px;color:#5a3b30;font-weight:600;line-height:1.4}.evidence-card small{display:block;color:#96a1b0;font-size:9px;margin-top:3px;line-height:1.4}.evidence-arrow{margin-left:auto;color:#a8b3c1;font-size:13px}.suggestions{margin-top:16px}.suggestion{padding:8px 0;border-bottom:1px solid #f0f2f5;display:flex;align-items:flex-start;gap:8px}.suggestion-check{margin-top:2px;width:13px;height:13px;border:1px solid #ccd6e1;border-radius:4px;flex:none}.suggestion strong{display:block;font-size:10px;font-weight:600;color:#5a3b30}.suggestion p{font-size:9px;line-height:1.45;color:#95a1af;margin:3px 0 0}.threat-actions{display:flex;gap:8px;margin-top:16px}.threat-actions button{flex:1;font-size:10px;padding:9px 6px}.status-select{height:27px;padding:0 8px;border:1px solid #e7dad0;border-radius:6px;background:#fff;color:#6b4b3e;font:500 10px inherit}.node-panel{padding:18px}.node-type{color:#8a6a58;text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:700}.node-heading{font:700 17px 'Manrope',sans-serif;margin:8px 0;color:#2a1a16}.node-description{font-size:11px;line-height:1.6;color:#7a5a48}.source-chip{display:inline-flex;border-radius:5px;padding:5px 7px;background:#faf0e8;color:#637994;font-size:9px;margin:3px 3px 0 0}.node-threat-list{display:grid;gap:8px}.node-threat{border:1px solid #eee1d7;border-radius:7px;padding:9px;cursor:pointer}.node-threat:hover{border-color:#e2b69f}.node-threat strong{font-size:10px;display:block;margin-top:5px;line-height:1.4}.empty-panel{padding:30px 20px;color:#8794a5;text-align:center;font-size:11px;line-height:1.6}.threats-view{display:none;position:absolute;inset:0;background:#fbf6f0;overflow:auto;padding:25px}.threats-view.active{display:block}.threats-view h2{font:700 18px 'Manrope',sans-serif;margin:0 0 5px}.threats-view>p{color:#7f8b9d;font-size:11px;margin:0 0 20px}.threat-list-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:11px}.threat-row{border:1px solid #e9ddd3;background:#fff;border-radius:9px;padding:13px;cursor:pointer;box-shadow:0 2px 4px #18375805}.threat-row:hover{border-color:#e2b69f;transform:translateY(-1px)}.threat-row h3{font:700 12px/1.45 'Manrope',sans-serif;margin:8px 0 5px}.threat-row p{font-size:10px;color:#7b899c;line-height:1.5;margin:0}.threat-row-foot{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#98a4b3;font-size:9px}.modal-backdrop{position:fixed;inset:0;background:#17263b73;backdrop-filter:blur(3px);z-index:10;display:grid;place-items:center;padding:24px}.modal-backdrop.hidden{display:none}.json-modal{width:min(900px,95vw);height:min(760px,92vh);background:#fff;border-radius:13px;box-shadow:0 20px 60px #12253c45;display:flex;flex-direction:column;overflow:hidden}.modal-head{padding:19px 22px 14px;display:flex;align-items:flex-start;justify-content:space-between}.modal-kicker{font-size:8px;letter-spacing:1.2px;font-weight:700;color:#2a1a16}.modal-head h2{font:700 17px 'Manrope',sans-serif;margin:5px 0}.modal-head p{font-size:10px;color:#8995a6;margin:0}.modal-close{font-size:20px}.json-modal textarea{margin:0 20px;flex:1;resize:none;border:1px solid #e9ddd3;border-radius:8px;padding:14px;background:#fbf6f0;color:#33465f;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none;tab-size:2}.json-modal textarea:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}.modal-error{min-height:20px;padding:5px 21px 0;color:#cb4e4b;font-size:10px}.modal-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 16px}.modal-foot>div{display:flex;gap:8px}.modal-foot .button{font-size:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#182a42;color:#fff;padding:10px 15px;border-radius:7px;font-size:11px;opacity:0;pointer-events:none;transition:.22s;z-index:20;box-shadow:0 5px 20px #2a1a1630}.toast.show{opacity:1;transform:translate(-50%,0)}
/* SVG graph */
.boundary-box{fill:#f5f9ffb8;stroke:#d8a86b;stroke-width:1.3;stroke-dasharray:6 5;rx:13}.boundary-title{font:700 10px 'DM Sans',sans-serif;fill:#5e77a1;letter-spacing:.1px}.boundary-pill{fill:#fbefe7;stroke:#efd5c6;stroke-width:.8;rx:8}.boundary-pill-text{font:600 8px 'DM Sans',sans-serif;fill:#5676ad}.edge-path{fill:none;stroke:#a5b2c1;stroke-width:1.6;marker-end:url(#arrow);transition:opacity .15s,stroke .15s}.edge-path.dimmed{opacity:.13}.edge-path.hot{stroke:#e55c58;stroke-width:2.4;marker-end:url(#arrow-hot)}.edge-label-bg{fill:#fbf6f0;stroke:#eadfd5;stroke-width:.8;rx:5}.edge-label{font:500 8px 'DM Sans',sans-serif;fill:#7a5a48;text-anchor:middle}.edge-label.hot{fill:#ce4e4b;font-weight:700}.node-card{cursor:pointer;transition:opacity .15s}.node-card.dimmed{opacity:.3}.node-bg{fill:white;stroke:#e5d8ce;stroke-width:1;rx:9;filter:url(#softShadow);transition:stroke .15s,stroke-width .15s}.node-card:hover .node-bg,.node-card.selected .node-bg{stroke:#3a2a24;stroke-width:1.7}.node-card.on-path .node-bg{stroke:#e77a76;stroke-width:1.5}.node-icon-bg{rx:7}.node-icon-text{font:700 9px 'Manrope',sans-serif;text-anchor:middle;dominant-baseline:central;fill:#fff}.node-name{font:700 10px 'DM Sans',sans-serif;fill:#3a241d}.node-subtitle{font:500 8px 'DM Sans',sans-serif;fill:#8b98a9}.node-source-bg{fill:#f8eee6;rx:4}.node-source-text{font:600 7px 'DM Sans',sans-serif;fill:#70819a;text-anchor:middle;dominant-baseline:central}.node-alert{fill:#f28c43;stroke:white;stroke-width:1.5}.node-alert-text{font:700 8px 'DM Sans',sans-serif;text-anchor:middle;dominant-baseline:central;fill:white}.path-step{fill:#e65b57;stroke:#fff;stroke-width:2}.path-step-text{font:700 8px 'DM Sans',sans-serif;text-anchor:middle;dominant-baseline:central;fill:white}.attack-label-bg{fill:#fff1f0;stroke:#efc6c4;stroke-width:.9;rx:7}.attack-label-text{font:700 8px 'DM Sans',sans-serif;fill:#c44d4a;text-anchor:middle}.boundary-hidden{display:none}
@media(max-width:1180px){:root{--panel:295px}.workspace{grid-template-columns:184px minmax(400px,1fr) var(--panel)}.topbar{padding:0 15px;gap:18px}.project-title{padding-left:17px}.summary-bar{gap:9px;padding:0 10px}.summary-item strong{font-size:9px}.muted-summary{display:none}}
@media(max-width:980px){body{min-width:760px}.workspace{grid-template-columns:58px minmax(400px,1fr) 270px}.left-rail{padding:18px 7px}.rail-label,.nav-item:not(.active),.nav-item.active{font-size:0}.nav-item{justify-content:center;padding:0}.nav-icon{width:20px;height:20px}.nav-count{position:absolute;margin-left:28px;margin-top:-19px;width:16px;height:16px;min-width:16px;font-size:8px}.format-card,.rail-foot{display:none}.brand>span:last-child{display:none}.topbar{gap:14px}.project-title{padding-left:13px}.local-badge{display:none}.node-total{display:none}.summary-divider:nth-of-type(4),.muted-summary{display:none}}
.link-notice{position:absolute;inset:0;display:grid;place-items:center;background:#fbf6f0;padding:28px;z-index:4}
.link-notice-card{max-width:440px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 30px;box-shadow:0 18px 40px #19335414;text-align:center}
.link-notice-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fbf0e9;color:#2a1a16;font:700 10px 'Manrope',sans-serif;letter-spacing:.4px}
.link-notice-card h2{margin:14px 0 6px;font:700 17px 'Manrope',sans-serif;color:#2a1a16}
.link-notice-card p{margin:0;color:#6b7b90;line-height:1.55}

#graph{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}#graph.dragging{cursor:grabbing}
:root{color-scheme:light}
[data-theme="dark"]{color-scheme:dark;--ink:#e6e9ef;--muted:#9aa4b2;--line:#3a2823;--blue:#e08a68;--blue-ink:#f0b394;--pale:#12161d;--red:#f0716d;--green:#4ade80;--amber:#f0b45a}
.theme-toggle{padding:9px 10px}
.theme-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
[data-theme="dark"] .theme-toggle .theme-sun{display:block}
[data-theme="dark"] .theme-toggle .theme-moon{display:none}
[data-theme="dark"] body{background:#120b09}
[data-theme="dark"] .app-shell{background:#160d0b}
[data-theme="dark"] .topbar{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .brand{color:#f1f4f8}
[data-theme="dark"] .brand b{color:#9aa4b2}
[data-theme="dark"] .crumb-muted{color:#9aa4b2}
[data-theme="dark"] .crumb-slash{color:#4b5563}
[data-theme="dark"] .local-badge{color:#a8b3c1;background:#2a1b17;border-color:#3a2823}
[data-theme="dark"] .button{background:#2a1b17;color:#c7d0dc;border-color:#3a2823}
[data-theme="dark"] .button:hover{background:#2a1b17;border-color:#5a3b30}
[data-theme="dark"] .button-primary{background:#2a1a16;color:#fff;border-color:#2a1a16}
[data-theme="dark"] .button-primary:hover{background:#a94a2d}
[data-theme="dark"] .left-rail{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .rail-label{color:#7f8a9a}
[data-theme="dark"] .nav-item{color:#aab4c2}
[data-theme="dark"] .nav-item:hover{background:#2a1b17;color:#f1f4f8}
[data-theme="dark"] .nav-item.active{background:#3a231e;color:#f0b394}
[data-theme="dark"] .nav-count{background:#3a2823;color:#aab4c2}
[data-theme="dark"] .nav-item.active .nav-count{background:#4a2c24;color:#f4c4aa}
[data-theme="dark"] .rail-separator{background:#3a2823}
[data-theme="dark"] .format-card{background:#211512;border-color:#35231e}
[data-theme="dark"] .format-card strong{color:#c7d0dc}
[data-theme="dark"] .format-card span:not(.format-check){color:#8a94a3}
[data-theme="dark"] .format-card-icon{background:#3a231e;color:#f0b394}
[data-theme="dark"] .rail-foot{border-color:#3a2823}
[data-theme="dark"] .avatar{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .rail-foot b{color:#c7d0dc}
[data-theme="dark"] .rail-foot small,.dots{color:#7f8a9a}
[data-theme="dark"] .main-area{background:#160d0b}
[data-theme="dark"] .toolbar{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .view-switch{background:#2a1b17}
[data-theme="dark"] .view-switch button{color:#9aa4b2}
[data-theme="dark"] .view-switch button.selected{background:#3a2823;color:#f4c4aa;box-shadow:none}
[data-theme="dark"] .toolbar-divider{background:#3a2823}
[data-theme="dark"] .tool-chip{background:#2a1b17;border-color:#3a2823;color:#aab4c2}
[data-theme="dark"] .node-total,[data-theme="dark"] .zoom-level{color:#8a94a3}
[data-theme="dark"] .icon-button,[data-theme="dark"] .fit-button{background:#2a1b17;border-color:#3a2823;color:#aab4c2}
[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .fit-button:hover{background:#2a1b17;border-color:#5a3b30;color:#f4c4aa}
[data-theme="dark"] .canvas-wrap{background-color:#160d0b;background-image:radial-gradient(#1e2430 .75px,transparent .75px)}
[data-theme="dark"] .canvas-hint{background:#211512e6;border-color:#35231e;color:#9aa4b2;box-shadow:0 2px 6px #00000040}
[data-theme="dark"] .canvas-hint button{color:#f0b394}
[data-theme="dark"] .hint-sep{color:#4b5563}
[data-theme="dark"] .canvas-legend{background:#211512e6;border-color:#35231e;color:#9aa4b2}
[data-theme="dark"] .canvas-watermark{color:#3a2823}
[data-theme="dark"] .legend-boundary{background:transparent;border-color:#8a5a44}
[data-theme="dark"] .summary-bar{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .summary-item{color:#c7d0dc}
[data-theme="dark"] .summary-divider{background:#3a2823}
[data-theme="dark"] .muted-summary strong{color:#8a94a3}
[data-theme="dark"] .summary-link{color:#f0b394}
[data-theme="dark"] .summary-icon.red{background:#3a231e;color:#f0716d}
[data-theme="dark"] .summary-icon.green{background:#13352b;color:#4ade80}
[data-theme="dark"] .details-panel{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .details-head{border-color:#3a2823}
[data-theme="dark"] .details-head h2{color:#e6e9ef}
[data-theme="dark"] .details-close{color:#8a94a3}
[data-theme="dark"] .severity-pill.high{color:#ffb4b0;background:#3a231e}
[data-theme="dark"] .severity-pill.medium{color:#ffd28a;background:#3a2c14}
[data-theme="dark"] .severity-pill.low{color:#7fe3c0;background:#12332a}
[data-theme="dark"] .severity-pill.info{color:#f4c4aa;background:#3a231e}
[data-theme="dark"] .threat-title{color:#f1f4f8}
[data-theme="dark"] .threat-description{color:#9aa4b2}
[data-theme="dark"] .detail-rule{background:#3a2823}
[data-theme="dark"] .detail-label{color:#7f8a9a}
[data-theme="dark"] .detail-value,[data-theme="dark"] .path-value{color:#c7d0dc}
[data-theme="dark"] .stride-tag{background:#1a2230;color:#aab4c2}
[data-theme="dark"] .evidence-heading,[data-theme="dark"] .section-heading{color:#e6e9ef}
[data-theme="dark"] .evidence-heading span{color:#7f8a9a}
[data-theme="dark"] .evidence-card{background:#211512;border-color:#35231e}
[data-theme="dark"] .evidence-card:hover{background:#211512;border-color:#5a3b30}
[data-theme="dark"] .evidence-icon{background:#3a2823;color:#aab4c2}
[data-theme="dark"] .evidence-card strong{color:#c7d0dc}
[data-theme="dark"] .evidence-card small{color:#8a94a3}
[data-theme="dark"] .evidence-arrow{color:#6b7686}
[data-theme="dark"] .suggestion{border-color:#3a2823}
[data-theme="dark"] .suggestion strong{color:#c7d0dc}
[data-theme="dark"] .suggestion p{color:#8a94a3}
[data-theme="dark"] .suggestion-check{border-color:#5a3b30}
[data-theme="dark"] .status-select{background:#2a1b17;border-color:#3a2823;color:#c7d0dc}
[data-theme="dark"] .source-chip{background:#1a2230;color:#aab4c2}
[data-theme="dark"] .node-threat{background:#211512;border-color:#35231e}
[data-theme="dark"] .node-threat:hover{border-color:#5a3b30}
[data-theme="dark"] .node-type{color:#f0b394}
[data-theme="dark"] .empty-panel{color:#8a94a3}
[data-theme="dark"] .threats-view{background:#160d0b}
[data-theme="dark"] .threats-view h2{color:#f1f4f8}
[data-theme="dark"] .threats-view>p{color:#9aa4b2}
[data-theme="dark"] .threat-row{background:#211512;border-color:#35231e;box-shadow:none}
[data-theme="dark"] .threat-row:hover{border-color:#5a3b30}
[data-theme="dark"] .threat-row p{color:#9aa4b2}
[data-theme="dark"] .threat-row-foot{color:#7f8a9a}
[data-theme="dark"] .modal-backdrop{background:#0e0807d9}
[data-theme="dark"] .json-modal{background:#150e0c;box-shadow:0 20px 60px #00000080}
[data-theme="dark"] .modal-head h2{color:#f1f4f8}
[data-theme="dark"] .modal-head p{color:#9aa4b2}
[data-theme="dark"] .modal-kicker{color:#f0b394}
[data-theme="dark"] .json-modal textarea{background:#160d0b;border-color:#3a2823;color:#dbe3ee}
[data-theme="dark"] .json-modal textarea:focus{border-color:#e08a68;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .modal-error{color:#f0716d}
[data-theme="dark"] .toast{background:#e6e9ef;color:#150e0c;box-shadow:0 5px 20px #00000060}
[data-theme="dark"] .link-notice{background:#160d0b}
[data-theme="dark"] .link-notice-card{background:#211512;border-color:#35231e;box-shadow:0 18px 40px #00000060}
[data-theme="dark"] .link-notice-icon{background:#3a231e;color:#f0b394}
[data-theme="dark"] .link-notice-card h2{color:#f1f4f8}
[data-theme="dark"] .link-notice-card p{color:#9aa4b2}
[data-theme="dark"] .boundary-box{fill:#13203880;stroke:#7a4e3a}
[data-theme="dark"] .boundary-title{fill:#f0b394}
[data-theme="dark"] .boundary-pill{fill:#15233a;stroke:#22395c}
[data-theme="dark"] .edge-path{stroke:#3f4b5c}
[data-theme="dark"] #arrow path{fill:#3f4b5c}
[data-theme="dark"] .edge-label-bg{fill:#150e0c;stroke:#3a2823}
[data-theme="dark"] .edge-label{fill:#8a94a3}
[data-theme="dark"] .edge-path.hot{stroke:#f0716d}
[data-theme="dark"] #arrow-hot path{fill:#f0716d}
[data-theme="dark"] .node-bg{fill:#211512;stroke:#3a2823}
[data-theme="dark"] .node-card:hover .node-bg,[data-theme="dark"] .node-card.selected .node-bg{stroke:#e08a68}
[data-theme="dark"] .node-name{fill:#e6e9ef}
[data-theme="dark"] .node-subtitle{fill:#8a94a3}
[data-theme="dark"] .node-source-bg{fill:#3a2823}
[data-theme="dark"] .node-source-text{fill:#8a94a3}
[data-theme="dark"] .path-step{stroke:#211512}
[data-theme="dark"] .attack-label-bg{fill:#2a1a1c;stroke:#5a3b30}
[data-theme="dark"] .attack-label-text{fill:#f0716d}
[data-theme="dark"] .node-alert{stroke:#211512}
[data-theme="dark"] *{scrollbar-color:#3a4556 #150e0c}

#graph.panning .node-bg{filter:none}#graph.panning .node-card{transition:none}

/* Layout controls */
.layout-button svg{stroke-width:1.6}
.layout-button.manual{color:#a94a2d;border-color:#b9cbe5;background:#fff7f1}
.layout-button.mismatch{color:#9a5b12;border-color:#e7c79a;background:#fff8ed}
.layout-banner{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e7c79a;border-radius:7px;padding:7px 9px;box-shadow:0 3px 10px #20395612;color:#7b5a25;font-size:10px;white-space:nowrap}
.layout-banner.hidden{display:none}
.layout-banner-action{border:0;background:none;color:#a94a2d;font:700 10px inherit;cursor:pointer;padding:0 2px}
.layout-banner-close{border:0;background:none;color:#a08a68;font-size:14px;line-height:1;cursor:pointer;padding:0 2px}
.edge-label-layer{pointer-events:none}
.edge-label-group.dimmed{opacity:.13;transition:opacity .15s}
.edge-label-bg.hot{fill:#fff1f0;stroke:#efc6c4}
#graph.moving-node .edge-label-group{display:none}
[data-theme="dark"] .layout-button.manual{color:#f0b394;border-color:#5a3b30;background:#142338}
[data-theme="dark"] .layout-button.mismatch{color:#f0b45a;border-color:#5c4528;background:#211a10}
[data-theme="dark"] .layout-banner{background:#211512;border-color:#5a4528;color:#e5c48f;box-shadow:0 3px 12px #00000050}
[data-theme="dark"] .layout-banner-action{color:#f0b394}
[data-theme="dark"] .layout-banner-close{color:#b39b77}
[data-theme="dark"] .edge-label-bg.hot{fill:#2a1a1c;stroke:#5a3b30}
[data-theme="dark"] .edge-label.hot{fill:#f0716d}

.layout-select{height:28px;max-width:132px;flex:0 0 auto;border:1px solid #e7dad0;border-radius:6px;background:#fff;color:#63738a;font:600 10px inherit;padding:0 6px;cursor:pointer}
.layout-select:hover{border-color:#d8bcae;color:#a94a2d}
[data-theme="dark"] .layout-select{background:#211512;border-color:#3a2823;color:#c8d2df}
@media(max-width:1180px){.layout-select{max-width:110px}}
@media(max-width:980px){.layout-select{display:none}}

/* Full-width threats page */
.workspace.threats-mode{grid-template-columns:202px minmax(0,1fr)}
.workspace.threats-mode .details-panel{display:none}
.main-area.threats-mode .toolbar,.main-area.threats-mode .summary-bar{display:none}
.main-area.threats-mode .canvas-wrap{background:#fbf6f0;background-image:none}
.main-area.threats-mode .canvas-hint,.main-area.threats-mode .canvas-legend,.main-area.threats-mode .canvas-watermark,.main-area.threats-mode .layout-banner{display:none}
.threats-view{padding:0;background:#fbf6f0;z-index:2}
.threats-view.active{display:block}
.threats-page{max-width:1680px;margin:0 auto;padding:22px 32px 22px;min-height:100%;color:#1b2c44;display:flex;flex-direction:column}
.threats-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.threats-heading h1{font:800 28px/1.12 'Manrope',sans-serif;letter-spacing:-.55px;margin:0;color:#192b44}
.threats-heading p{font-size:13px;line-height:1.45;color:#7a5a48;margin:5px 0 0}
.threats-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0;justify-content:flex-end}
.severity-chip{height:34px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;font:600 11.5px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}
.severity-chip i{width:8px;height:8px;border-radius:50%}
.severity-chip strong{font-weight:700}
.severity-chip.high{color:#b84a47;background:#fff0ef;border-color:#ffe0de}
.severity-chip.high i{background:#e35350}
.severity-chip.medium{color:#a66b15;background:#fff6e8;border-color:#ffe9c9}
.severity-chip.medium i{background:#f0ad32}
.severity-chip.low{color:#20785d;background:#eaf8f1;border-color:#d4f0e3}
.severity-chip.low i{background:#2eb180}
.severity-chip.active{box-shadow:0 0 0 2px currentColor inset}
.threats-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 14px}
.threat-search,.threat-filter{height:44px;border:1px solid #e5d8ce;background:#fff;border-radius:8px;display:flex;align-items:center;gap:9px;padding:0 13px;color:#7a5a48;transition:.15s}
.threat-search:focus-within,.threat-filter:focus-within{border-color:#9db9e9;box-shadow:0 0 0 3px #2a1a1614}
.threat-search{flex:1 1 260px;min-width:210px}
.threat-search svg,.threat-filter .filter-icon{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:#7f90a6;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.threat-search input{border:0;outline:0;background:none;color:#31445e;font:500 13px 'DM Sans',sans-serif;width:100%;height:100%}
.threat-search input::placeholder{color:#9aa7b7}
.threat-filter{width:190px;position:relative;padding-right:10px}
.threat-filter select{appearance:none;border:0;outline:0;background:transparent;color:#4c5d73;font:600 12px 'DM Sans',sans-serif;width:100%;height:100%;cursor:pointer;padding:0 20px 0 0}
.threat-filter select option{color:#26374e;background:#fff}
.filter-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none}
.filter-chevron svg{width:14px;height:14px;fill:none;stroke:#8190a3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
.threat-view-toggle{margin-left:auto;height:44px;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #e5d8ce;background:#fff;border-radius:8px}
.threat-view-toggle button{height:34px;border:1px solid transparent;background:transparent;border-radius:6px;color:#7b899c;font:600 12px 'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:7px;padding:0 13px;cursor:pointer}
.threat-view-toggle button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.threat-view-toggle button.active{color:#a94a2d;background:#fbf0e9;border-color:#d8e5ff}
.threats-results{min-height:240px;flex:1 0 auto}
.threats-table-scroll{border:1px solid #e3eaf3;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #1b2e4808}
.threats-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:1040px}
.threats-table th{padding:0 16px;height:46px;background:#fcf6f0;border-bottom:1px solid #e8eef5;text-align:left;color:#7f8ea3;font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.65px;white-space:nowrap}
.threats-table th:first-child{padding-left:20px}
.threats-table th:last-child{padding-right:12px}
.threat-col-title{width:27%}
.threat-col-severity{width:10%}
.threat-col-stride{width:15%}
.threat-col-components{width:21%}
.threat-col-evidence{width:9%}
.threat-col-status{width:15%}
.threat-col-menu{width:3%}
.threat-sort{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:6px;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}
.threat-sort-icon{display:inline-flex;width:12px;height:12px;opacity:.36}
.threat-sort-icon.active{opacity:1;color:#a94a2d}
.threat-sort-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.threats-table td{height:64px;padding:0 16px;border-bottom:1px solid #edf1f6;vertical-align:middle;color:#506176;font-size:12px;line-height:1.45}
.threats-table tbody tr:last-child td{border-bottom:0}
.threats-table tbody tr{height:64px;cursor:pointer;transition:background .12s}
.threats-table tbody tr:hover{background:#f8fbff}
.threats-table tbody tr.selected{background:#edf5ff}
.threats-table td:first-child{padding-left:20px}
.threats-cell-title,.threat-cell-title{padding-right:22px;overflow:hidden}
.threat-row-title{border:0;background:none;padding:0;text-align:left;color:#1b2d47;font:700 13px/1.35 'Manrope',sans-serif;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:36px}
.threat-row-title:hover{color:#a94a2d}
.threat-cell-severity .severity-pill{padding:4px 7px;font-size:9px;letter-spacing:.25px;border-radius:5px}
.threat-cell-stride{color:#516176;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.threat-components{display:flex;flex-wrap:nowrap;gap:5px;align-items:center;overflow:hidden;max-height:22px}
.component-tag{display:inline-flex;align-items:center;max-width:160px;min-width:0;flex:0 1 auto;height:22px;padding:0 8px;border:1px solid #e6ecf3;background:#f5f7fa;border-radius:5px;color:#5f6f82;font-size:9.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.component-tag.more{color:#7f8ea2;background:#fbf6f0;flex:0 0 auto}
.threat-muted{color:#a0acba}
.threat-evidence{display:inline-flex;align-items:center;gap:6px;color:#5d6e83;font-size:11px;white-space:nowrap}
.threat-evidence svg{width:15px;height:15px;fill:none;stroke:#7e8ea2;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.threat-status-cell{display:inline-flex;align-items:center;gap:7px;position:relative;min-width:0;color:#4d5e73}
.threat-status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:#f0ad32}
.threat-status-dot.review{background:#f0ad32}
.threat-status-dot.accepted{background:#2eb180}
.threat-status-dot.mitigated{background:#2a1a16}
.threat-status-select{appearance:none;border:0;outline:0;background:transparent;color:inherit;font:500 11.5px 'DM Sans',sans-serif;padding:0 17px 0 0;cursor:pointer;max-width:130px}
.threat-status-cell > svg{position:absolute;right:0;top:50%;transform:translateY(-50%);width:13px;height:13px;fill:none;stroke:#8997a9;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.threat-kebab{width:25px;height:25px;border:0;background:none;border-radius:5px;color:#8b99aa;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.threat-kebab:hover{background:#eef3f9;color:#4b5e76}
.threat-kebab svg{width:16px;height:16px;fill:currentColor;stroke:none}
.threats-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px 0;margin-top:auto;color:#7b899c;font-size:11px;position:sticky;bottom:0;z-index:1;background:#fbf6f0}
.threat-page-info{white-space:nowrap}
.threat-page-controls{display:flex;align-items:center;gap:6px}
.threat-page-arrow,.threat-page-number{height:30px;min-width:30px;border:1px solid #e1e8f0;background:#fff;border-radius:6px;color:#53657c;font:600 11px 'DM Sans',sans-serif;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 9px}
.threat-page-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.threat-page-arrow:disabled{opacity:.38;cursor:default}
.threat-page-number.active{background:#2a1a16;border-color:#2a1a16;color:#fff;box-shadow:0 2px 5px #2a1a162e}
.threat-page-ellipsis{color:#9aa6b5;padding:0 2px}
.threats-empty{padding:62px 24px;text-align:center;border:1px dashed #e5d8ce;border-radius:12px;background:#fff;color:#77879a}
.threats-empty-icon{width:42px;height:42px;margin:0 auto 12px;border-radius:12px;display:grid;place-items:center;background:#fbf0e9;color:#3a2a24}
.threats-empty-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}
.threats-empty h3{font:700 15px 'Manrope',sans-serif;color:#334761;margin:0 0 5px}
.threats-empty p{font-size:11.5px;margin:0 0 15px}
.threat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.threat-card{border:1px solid #e3eaf3;background:#fff;border-radius:12px;padding:16px;cursor:pointer;box-shadow:0 1px 2px #1b2e4808;transition:.14s}
.threat-card:hover{border-color:#b9cdec;box-shadow:0 4px 12px #1b2e4814}
.threat-card.selected{border-color:#a8c5f2;background:#f7fbff}
.threat-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.threat-card-status{font-size:10px;color:#8a98aa}
.threat-card-title{border:0;background:none;padding:0;margin:11px 0 7px;text-align:left;color:#1b2d47;font:700 14px/1.4 'Manrope',sans-serif;cursor:pointer}
.threat-card p{font-size:11px;line-height:1.55;color:#7a5a48;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.threat-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f6;color:#8391a3;font-size:10px}
.threat-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:11px}
[data-theme="dark"] .threats-page{color:#e8edf4}
[data-theme="dark"] .threats-heading h1{color:#f1f4f8}
[data-theme="dark"] .threats-heading p{color:#9aa4b2}
[data-theme="dark"] .severity-chip.high{color:#f08b87;background:#2a1b17;border-color:#3a231e}
[data-theme="dark"] .severity-chip.medium{color:#e8b968;background:#2a1b12;border-color:#4b3b20}
[data-theme="dark"] .severity-chip.low{color:#83d3b8;background:#13271f;border-color:#234a3c}
[data-theme="dark"] .threat-search,[data-theme="dark"] .threat-filter,[data-theme="dark"] .threat-view-toggle{background:#211512;border-color:#3a2823}
[data-theme="dark"] .threat-search input{color:#dce5ef}
[data-theme="dark"] .threat-search input::placeholder{color:#778496}
[data-theme="dark"] .threat-filter select{color:#c8d2df}
[data-theme="dark"] .threat-filter select option{background:#211512;color:#dce5ef}
[data-theme="dark"] .threat-view-toggle button{color:#9aa7b8}
[data-theme="dark"] .threat-view-toggle button.active{color:#9dc0ff;background:#1b2a44;border-color:#7a4e3a}
[data-theme="dark"] .threats-table-scroll{background:#12161d;border-color:#3a2823;box-shadow:none}
[data-theme="dark"] .threats-table th{background:#211512;border-color:#3a2823;color:#8593a6}
[data-theme="dark"] .threats-table td{border-color:#232a35;color:#b7c2d0}
[data-theme="dark"] .threats-table tbody tr:hover{background:#211512}
[data-theme="dark"] .threats-table tbody tr.selected{background:#18263d}
[data-theme="dark"] .threat-row-title{color:#edf2f8}
[data-theme="dark"] .threat-row-title:hover{color:#f0b394}
[data-theme="dark"] .threat-cell-stride,[data-theme="dark"] .threat-status-cell{color:#aeb9c8}
[data-theme="dark"] .component-tag{background:#211512;border-color:#3a2823;color:#b6c1ce}
[data-theme="dark"] .component-tag.more{background:#211512;color:#91a0b3}
[data-theme="dark"] .threat-evidence{color:#aab6c5}
[data-theme="dark"] .threat-evidence svg{stroke:#91a1b4}
[data-theme="dark"] .threat-kebab:hover{background:#3a2823;color:#c2cedc}
[data-theme="dark"] .threats-pagination{color:#8794a6;background:#160d0b}
[data-theme="dark"] .threat-page-arrow,[data-theme="dark"] .threat-page-number{background:#211512;border-color:#3a2823;color:#b5c1d0}
[data-theme="dark"] .threat-page-number.active{background:#2a1a16;border-color:#2a1a16;color:#fff}
[data-theme="dark"] .threats-empty{background:#12161d;border-color:#3a2823;color:#8e9bad}
[data-theme="dark"] .threats-empty h3{color:#dae3ee}
[data-theme="dark"] .threat-card{background:#150e0c;border-color:#3a2823;box-shadow:none}
[data-theme="dark"] .threat-card:hover{border-color:#3a4d68}
[data-theme="dark"] .threat-card.selected{background:#18243a;border-color:#7a4e3a}
[data-theme="dark"] .threat-card-title{color:#edf2f8}
[data-theme="dark"] .threat-card p{color:#9aa6b5}
[data-theme="dark"] .threat-card-foot{border-color:#3a2823;color:#8794a5}
[data-theme="dark"] .threat-card-status{color:#8b98aa}
[data-theme="dark"] .threat-menu{background:#211512;border-color:#3a2823;box-shadow:0 12px 34px #00000055}
[data-theme="dark"] .threat-menu button{color:#d4deeb}
[data-theme="dark"] .threat-menu button:hover{background:#3a2823}
[data-theme="dark"] .threat-menu-separator{background:#3a2823}
.threat-menu{position:fixed;z-index:40;width:196px;padding:5px;background:#fff;border:1px solid #e1e8f1;border-radius:8px;box-shadow:0 12px 30px #182c4624}
.threat-menu.hidden{display:none}
.threat-menu button{display:block;width:100%;border:0;background:none;border-radius:5px;padding:8px 9px;text-align:left;color:#43546a;font:500 11px 'DM Sans',sans-serif;cursor:pointer}
.threat-menu button:hover{background:#f3f7fc}
.threat-menu-separator{height:1px;background:#edf1f6;margin:5px 3px}
@media(max-width:1180px){
  .workspace.threats-mode{grid-template-columns:184px minmax(0,1fr)}
  .threats-page{padding:20px 24px 20px}
  .threats-heading{flex-wrap:wrap;gap:12px}
  .threats-summary{justify-content:flex-start}
  .threats-controls{gap:9px}
  .threat-filter{width:168px}
  .threats-table{min-width:1000px}
}
@media(max-width:980px){
  .workspace.threats-mode{grid-template-columns:58px minmax(0,1fr)}
  .threats-page{padding:18px 18px}
  .threats-heading h1{font-size:26px}
  .threat-view-toggle{margin-left:0}
  .threat-filter{flex:1 1 150px;width:auto}
  .threat-cards{grid-template-columns:1fr}
}
.crumb-button{display:flex;align-items:center;gap:6px;min-width:0;max-width:260px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.crumb-button:hover,.crumb-button[aria-expanded="true"]{background:#faf2eb;border-color:#eee1d7}.crumb-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:12px}.model-crumb strong{max-width:220px;font-weight:600;color:#6b4b3e}.crumb-chevron{width:11px;height:11px;flex:none;fill:none;stroke:#8b98a9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.account-button{max-width:158px}.account-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-menu{position:fixed;z-index:15;width:286px;background:#fff;border:1px solid #e5d8ce;border-radius:10px;box-shadow:0 18px 44px #19335426;padding:7px;font-size:11px}#projectMenu,#modelMenu{width:340px;max-width:calc(100vw - 20px)}.workspace-menu.hidden{display:none}.workspace-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 7px 8px;color:#8a97a7;font-size:9px;font-weight:700;letter-spacing:.9px;text-transform:uppercase}.menu-action{border:0;background:none;color:#2a1a16;font-family:inherit;font-size:10px;font-weight:600;cursor:pointer;padding:3px 4px;border-radius:4px}.menu-action:hover{background:#fbf1ea}.workspace-menu-list{max-height:300px;overflow:auto;display:grid;gap:2px}.workspace-menu-item{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;border:0;border-radius:7px;background:transparent;color:#43536a;text-align:left;font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;padding:7px 8px}.workspace-menu-item:hover{background:#fffaf5}.workspace-menu-item.active{background:#fbf1ea;color:#a94a2d}.workspace-menu-item.danger{color:#b94f4c}.workspace-menu-item.danger:hover{background:#fff1f0}.workspace-menu-icon{width:21px;height:21px;border-radius:6px;background:#eef3fb;color:#59749b;display:grid;place-items:center;flex:none;font-size:8px;font-weight:700;letter-spacing:.2px}.workspace-menu-copy{min-width:0;flex:1}.workspace-menu-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.workspace-menu-meta{display:block;margin-top:3px;color:#97a3b2;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-menu-count{margin-left:auto;min-width:18px;height:18px;border-radius:9px;background:#eef2f7;color:#69798f;display:grid;place-items:center;font-size:9px;font-weight:700}.workspace-menu-remove{margin-left:auto;border:0;background:none;color:#a1acba;font-family:inherit;font-size:14px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:4px}.workspace-menu-remove:hover{background:#fff0ef;color:#bf4d49}.workspace-menu-empty{padding:13px 9px;color:#8f9baa;font-size:10px;line-height:1.5}.workspace-menu-foot{border-top:1px solid #f2e8df;margin-top:5px;padding:8px 6px 3px}.workspace-new-project{display:flex;gap:6px}.workspace-new-project input{min-width:0;flex:1;height:29px;border:1px solid #e0e7ef;border-radius:6px;padding:0 8px;background:#fffdfb;color:#425268;font-family:inherit;font-size:10px;font-weight:500;outline:none}.workspace-new-project input:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}.workspace-new-project button{height:29px;border:1px solid #2a1a16;border-radius:6px;background:#2a1a16;color:#fff;font-family:inherit;font-size:10px;font-weight:600;padding:0 9px;cursor:pointer}.workspace-signed-out{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8794a5;font-size:10px;line-height:1.4}.auth-modal{width:min(420px,94vw);background:#fff;border-radius:13px;box-shadow:0 22px 60px #12253c45;overflow:hidden;display:flex;flex-direction:column}.auth-tabs{display:flex;gap:4px;padding:0 22px 14px;border-bottom:1px solid #f2e8df}.auth-tabs button{height:29px;border:0;border-radius:6px;background:transparent;color:#7a8799;font:600 10px inherit;padding:0 10px;cursor:pointer}.auth-tabs button:hover{background:#fff7f1}.auth-tabs button.selected{background:#fbf1ea;color:#a94a2d}.auth-tabs.hidden{display:none}.auth-body{padding:17px 22px 20px}.auth-field{display:block;margin-bottom:12px}.auth-field span{display:block;color:#6f7e92;font-size:10px;font-weight:600;margin-bottom:5px}.auth-field input{width:100%;height:38px;border:1px solid #dde5ee;border-radius:7px;background:#fffdfb;color:#35465d;font:500 12px inherit;padding:0 10px;outline:none}.auth-field input:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}.auth-field input:disabled{background:#f1f4f8;color:#8b98a9}.auth-policy{margin:2px 0 0;color:#98a4b3;font-size:9.5px;line-height:1.55}.auth-submit{width:100%;margin-top:4px;min-height:38px}.auth-note{margin:12px 0 0;color:#9aa6b5;font-size:9px;line-height:1.5;text-align:center}.auth-modal .modal-error{padding-left:0;padding-right:0;min-height:18px}
.workspace-auth-pending body{min-width:0}
.workspace-auth-pending .app-shell{display:none}
body.auth-required{min-width:0}
body.auth-required .app-shell{display:none}
body.auth-required #authBackdrop{background:#f6eee6;backdrop-filter:none}
[data-theme="dark"] body.auth-required #authBackdrop{background:#120b09}
[data-theme="dark"] .crumb-button:hover,[data-theme="dark"] .crumb-button[aria-expanded="true"]{background:#2a1b17;border-color:#3a2823}
[data-theme="dark"] .model-crumb strong{color:#aab4c2}
[data-theme="dark"] .crumb-chevron{stroke:#7f8a9a}
[data-theme="dark"] .workspace-menu{background:#150e0c;border-color:#3a2823;box-shadow:0 18px 44px #00000080}
[data-theme="dark"] .workspace-menu-head{color:#7f8a9a}
[data-theme="dark"] .menu-action{color:#f0b394}
[data-theme="dark"] .menu-action:hover{background:#3a231e}
[data-theme="dark"] .workspace-menu-item{color:#c7d0dc}
[data-theme="dark"] .workspace-menu-item:hover{background:#2a1b17}
[data-theme="dark"] .workspace-menu-item.active{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .workspace-menu-item.danger{color:#f0716d}
[data-theme="dark"] .workspace-menu-item.danger:hover{background:#3a231e}
[data-theme="dark"] .workspace-menu-icon{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .workspace-menu-meta{color:#7f8a9a}
[data-theme="dark"] .workspace-menu-count{background:#3a2823;color:#aab4c2}
[data-theme="dark"] .workspace-menu-remove{color:#7f8a9a}
[data-theme="dark"] .workspace-menu-remove:hover{background:#3a231e;color:#f0716d}
[data-theme="dark"] .workspace-menu-empty,[data-theme="dark"] .workspace-signed-out{color:#8a94a3}
[data-theme="dark"] .workspace-menu-foot{border-color:#3a2823}
[data-theme="dark"] .workspace-new-project input{background:#160d0b;border-color:#3a2823;color:#dbe3ee}
[data-theme="dark"] .workspace-new-project input:focus{border-color:#e08a68;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .auth-modal{background:#150e0c;box-shadow:0 22px 60px #00000080}
[data-theme="dark"] .auth-tabs{border-color:#3a2823}
[data-theme="dark"] .auth-tabs button{color:#9aa4b2}
[data-theme="dark"] .auth-tabs button:hover{background:#2a1b17}
[data-theme="dark"] .auth-tabs button.selected{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .auth-field span{color:#aab4c2}
[data-theme="dark"] .auth-field input{background:#160d0b;border-color:#3a2823;color:#dbe3ee}
[data-theme="dark"] .auth-field input:focus{border-color:#e08a68;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .auth-field input:disabled{background:#211512;color:#7f8a9a}
[data-theme="dark"] .auth-policy,[data-theme="dark"] .auth-note{color:#7f8a9a}
.workspace-save-chip{height:24px;border:1px solid #4a2e23;border-radius:6px;background:#2a1712;color:#f4ede4;font-family:inherit;font-size:10.8px;font-weight:600;padding:0 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff08,0 1px 2px #00000030}.workspace-save-chip:hover{background:#352018;border-color:#6b4434}.workspace-save-chip:disabled{opacity:.55;cursor:default}.workspace-save-icon{width:13.5px;height:13.5px;flex:none;display:grid;place-items:center;color:#ead8c6}.workspace-save-icon .tabler-icon{width:13.5px;height:13.5px}.workspace-model-row{display:flex;align-items:center;gap:2px}.workspace-model-row .workspace-menu-item{flex:1;min-width:0}.workspace-model-row .workspace-menu-remove{flex:none}

.hidden{display:none!important}
@media(max-width:1500px){.topbar{gap:16px}.top-actions{gap:6px}.button{padding:8px 11px}.project-title{padding-left:16px;gap:8px}.crumb-button{max-width:220px;padding:0 5px}#projectMenuBtn .crumb-muted,#projectMenuBtn .crumb-slash{display:none}.crumb-button strong{max-width:135px}.model-crumb strong{max-width:155px}.account-button{max-width:116px}.workspace-save-chip{padding:0 8px}}
.rail-project{padding:0 4px 7px}.project-select{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:6px 8px;border:1px solid #e7ecf3;border-radius:8px;background:#fbf6f0;color:#35465d;text-align:left;font:inherit;cursor:pointer}.project-select:hover,.project-select[aria-expanded="true"]{border-color:#c6d8f2;background:#fff7f1}.rail-project-copy{min-width:0;flex:1}.rail-project-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;color:#4a3027}.rail-project-copy small{display:block;margin-top:3px;color:#97a3b2;font-size:9px}.project-select .crumb-chevron{flex:none}
[data-theme="dark"] .project-select{background:#211512;border-color:#35231e;color:#c7d0dc}
[data-theme="dark"] .project-select:hover,[data-theme="dark"] .project-select[aria-expanded="true"]{background:#2c1b16;border-color:#5a3b30}
[data-theme="dark"] .rail-project-copy strong{color:#dbe3ee}
[data-theme="dark"] .rail-project-copy small{color:#7f8a9a}
@media(max-width:980px){.rail-project{padding:0 0 6px}.project-select{min-height:38px;justify-content:center;padding:0}.rail-project .rail-label,.rail-project-copy,.project-select .crumb-chevron{display:none}.rail-project .workspace-menu-icon{width:22px;height:22px}}
:root{--panel:360px}
.inspector-link{border:0;background:none;padding:0;color:#a94a2d;font:inherit;text-align:left;cursor:pointer;text-decoration:none}.inspector-link:hover{text-decoration:underline}.path-segment.inspector-link{display:inline-block;padding:4px 7px;margin:2px 0;border-radius:5px;background:#faf0e8;color:#8a5a44;font-size:9px;font-weight:600}.path-segment.inspector-link:hover{background:#fbefe7;text-decoration:none}.path-arrow{color:#a5b1c1;font-size:10px}.inspector-section-gap{margin-top:14px}.relationship-list{display:grid;gap:2px}.relationship-row{display:flex;align-items:flex-start;gap:8px;width:100%;border:0;border-radius:6px;background:transparent;padding:6px 7px;text-align:left;font:inherit;cursor:pointer}.relationship-row:hover{background:#fffaf5}.relationship-arrow{width:18px;height:18px;border-radius:50%;background:#eef3fb;color:#5879aa;display:grid;place-items:center;flex:none;font-size:11px;margin-top:1px}.relationship-copy{min-width:0;flex:1}.relationship-copy strong{display:block;color:#5a3b30;font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relationship-copy small{display:block;color:#93a0b1;font-size:9px;line-height:1.4;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px;padding-top:13px;border-top:1px solid #f2e8df}.inspector-actions .button{font-size:9.5px;padding:8px 10px;flex:1;min-width:110px}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.overview-stat{padding:9px 8px;border:1px solid #e8edf4;border-radius:7px;background:#f8fafd}.overview-stat strong{display:block;color:#2e4664;font:700 16px 'Manrope',sans-serif;letter-spacing:-.4px}.overview-stat span{display:block;color:#96a2b2;font-size:8px;letter-spacing:.5px;text-transform:uppercase;margin-top:3px}.overview-severity{display:flex;flex-wrap:wrap;gap:4px}.overview-severity .severity-pill{padding:3px 6px;font-size:8px}.boundary-crossing{display:inline-block;padding:3px 6px;border-radius:4px;background:#fbf0e9;color:#8a5a44;font-size:9px;line-height:1.4}.node-heading-connection{font-size:15px;line-height:1.5}.connection-arrow{color:#91a3ba;font-weight:500}.node-threat.inspector-related{width:100%;background:#fff;color:inherit;text-align:left;font:inherit;display:block}.node-threat.inspector-related:hover{background:#fbfdff}.node-threat.inspector-related .severity-pill{margin-right:3px}
.edge-path.selected{stroke:#2a1a16!important;stroke-width:3!important;opacity:1!important}.edge-label-group.selected .edge-label-bg{fill:#fbefe7;stroke:#f0b394;stroke-width:1.2}.edge-label-group.selected .edge-label{fill:#a94a2d;font-weight:700}.boundary.selected .boundary-box{stroke:#3a2a24;stroke-width:2.2;fill:#fbf0e93b}.boundary.selected .boundary-pill{fill:#dfeaff}.boundary.selected .boundary-title{fill:#a94a2d;font-weight:700}.node-card.edge-endpoint .node-bg{stroke:#3a2a24;stroke-width:1.8}
[data-theme="dark"] .inspector-link{color:#f0b394}
[data-theme="dark"] .path-segment.inspector-link{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .path-segment.inspector-link:hover{background:#4a2c24}
[data-theme="dark"] .relationship-row:hover{background:#2a1b17}
[data-theme="dark"] .relationship-arrow{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .relationship-copy strong{color:#c7d0dc}
[data-theme="dark"] .relationship-copy small{color:#7f8a9a}
[data-theme="dark"] .overview-stat{background:#211512;border-color:#35231e}
[data-theme="dark"] .overview-stat strong{color:#dbe3ee}
[data-theme="dark"] .overview-stat span{color:#7f8a9a}
[data-theme="dark"] .boundary-crossing{background:#3a231e;color:#9dc0ff}
[data-theme="dark"] .node-threat.inspector-related{background:#211512;border-color:#35231e}
[data-theme="dark"] .node-threat.inspector-related:hover{background:#2c1b16;border-color:#5a3b30}
[data-theme="dark"] .boundary.selected .boundary-box{stroke:#d8a86b;fill:#3a231e30}
[data-theme="dark"] .boundary.selected .boundary-pill{fill:#3a231e}
[data-theme="dark"] .boundary.selected .boundary-title{fill:#f4c4aa}
@media(max-width:1180px){:root{--panel:320px}}
@media(max-width:980px){:root{--panel:270px}}
.edge-label-group{pointer-events:all;cursor:pointer}
@media(max-width:1500px){.node-total{display:none}}
.connection-arrow,.path-arrow{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-emoji:text}
[data-theme="dark"] .node-heading,[data-theme="dark"] .threat-title{color:#e2e8f0}
[data-theme="dark"] .node-description,[data-theme="dark"] .threat-description{color:#aab4c2}
[data-theme="dark"] .detail-value{color:#c7d0dc}
[data-theme="dark"] .detail-label{color:#8a94a3}
[data-theme="dark"] .node-type{color:#9db8e0}
[data-theme="dark"] .section-heading,[data-theme="dark"] .evidence-heading{color:#dbe3ee}
[data-theme="dark"] .section-heading span,[data-theme="dark"] .evidence-heading span{color:#8a94a3}
[data-theme="dark"] .source-chip{background:#2c1b16;color:#aab4c2}
[data-theme="dark"] .stride-tag{background:#2c1b16;color:#aab4c2}
[data-theme="dark"] .status-select{background:#211512;border-color:#3a2823;color:#c7d0dc}
[data-theme="dark"] .node-threat{background:#211512;border-color:#35231e}
[data-theme="dark"] .node-threat strong{color:#e2e8f0}
[data-theme="dark"] .evidence-card strong{color:#c7d0dc}
[data-theme="dark"] .evidence-card small{color:#8a94a3}
[data-theme="dark"] .evidence-icon{background:#3a2823;color:#aab4c2}
[data-theme="dark"] .suggestion strong{color:#dbe3ee}
[data-theme="dark"] .suggestion p{color:#8a94a3}
[data-theme="dark"] .suggestion{border-color:#3a2823}
[data-theme="dark"] .empty-panel{color:#8a94a3}
[data-theme="dark"] .detail-rule{background:#3a2823}
:root{--panel:380px}
.topbar{height:72px;flex:0 0 72px;padding:0 22px;gap:18px}
.top-context{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.breadcrumb-button{display:flex;align-items:center;gap:6px;min-width:0;max-width:285px;height:30px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;font:inherit;cursor:pointer}.breadcrumb-button:hover,.breadcrumb-button[aria-expanded="true"]{background:#faf2eb;border-color:#eee1d7}.breadcrumb-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:175px;font-size:12px}.model-breadcrumb strong{max-width:245px;font-weight:600;color:#6b4b3e}.breadcrumb-button .crumb-chevron{flex:none}
.account-avatar-button{display:flex;align-items:center;gap:5px;height:28px;border:1px solid #e8dcd2;border-radius:14px;background:#fff;color:#53657c;font-family:inherit;font-size:10.5px;font-weight:600;padding:0 9px 0 2px;cursor:pointer}.account-avatar-button:hover{border-color:#c9d6e5;background:#f9fbfd}.account-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,#2a1a16,#a94a2d);color:#fff;display:grid;place-items:center;font:700 8.5px 'Manrope',sans-serif;letter-spacing:.3px}.account-avatar-button.signed-in{padding:0 2px;border-color:transparent;background:transparent}.account-avatar-button.signed-in:hover{background:#f2f6fc}.account-avatar-button.signed-in #accountLabel{display:none}.top-actions .theme-toggle{width:28px;height:28px;padding:0;border-radius:7px}.menu-button svg{fill:currentColor;stroke:none}
.view-bar{height:52px;flex:0 0 52px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:12px;z-index:2}.top-tabs{display:flex;align-items:center;gap:3px}.view-tab{height:32px;border:0;border-radius:7px;background:transparent;color:#7a5a48;font:600 10px inherit;padding:0 11px;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap}.view-tab:hover{background:#fff7f1;color:#5a3b30}.view-tab.selected{background:#fbf1ea;color:#a94a2d}.tab-count{min-width:20px;height:19px;padding:0 6px;border-radius:10px;background:#eef2f7;color:#64758d;display:grid;place-items:center;font-size:9px;font-weight:700}.view-tab.selected .tab-count{background:#f7e2d6;color:#a94a2d}.view-bar-right{margin-left:auto}.view-menu-button{height:30px;border:1px solid #e9ddd3;border-radius:7px;background:#fff;color:#5c6d83;font:600 10px inherit;padding:0 9px;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.view-menu-button:hover{border-color:#bac9dc;background:#f9fbfd}.view-menu-button[aria-expanded="true"]{background:#fff6f0;border-color:#c8d9f3}
.workspace{grid-template-columns:minmax(0,1fr) var(--panel)}.left-rail{display:none}.main-area{background:#fbf6f0}.canvas-wrap{border-bottom:0}.canvas-controls{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:5px;background:#ffffffd9;border:1px solid #e8dcd2;border-radius:8px;padding:4px 5px;box-shadow:0 4px 16px #1b2e4814;backdrop-filter:blur(8px)}.canvas-controls .toolbar-divider{height:18px;margin:0 2px}.canvas-controls .fit-button{border:0;background:transparent;height:27px;padding:0 5px}.canvas-controls .fit-button:hover{background:#f2f6fc;border:0}
.menu-field{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px 8px;color:#8a97a7;font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.menu-select{height:28px;border:1px solid #e5d8ce;border-radius:6px;background:#fffdfb;color:#425268;font:600 10px inherit;padding:0 7px;outline:none;text-transform:none;letter-spacing:0}.menu-select:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}.workspace-menu-item .toggle-dot{margin-right:1px}
.workspace.panel-hidden{grid-template-columns:minmax(0,1fr) 0}.workspace.panel-hidden .details-panel{display:none}
[data-theme="dark"] .breadcrumb-button:hover,[data-theme="dark"] .breadcrumb-button[aria-expanded="true"]{background:#2a1b17;border-color:#3a2823}
[data-theme="dark"] .model-breadcrumb strong{color:#aab4c2}
[data-theme="dark"] .account-avatar-button{background:#211512;border-color:#3a2823;color:#aab4c2}
[data-theme="dark"] .account-avatar-button:hover{background:#2a1b17;border-color:#5a3b30}
[data-theme="dark"] .account-avatar-button.signed-in{background:transparent;border-color:transparent}
[data-theme="dark"] .account-avatar-button.signed-in:hover{background:#2a1b17}
[data-theme="dark"] .view-bar{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .view-tab{color:#8a94a3}
[data-theme="dark"] .view-tab:hover{background:#2a1b17;color:#c7d0dc}
[data-theme="dark"] .view-tab.selected{background:#3a231e;color:#f4c4aa}
[data-theme="dark"] .tab-count{background:#3a2823;color:#aab4c2}
[data-theme="dark"] .view-tab.selected .tab-count{background:#4a2c24;color:#f6d7c7}
[data-theme="dark"] .view-menu-button{background:#211512;border-color:#3a2823;color:#aab4c2}
[data-theme="dark"] .view-menu-button:hover,[data-theme="dark"] .view-menu-button[aria-expanded="true"]{background:#2c1b16;border-color:#5a3b30}
[data-theme="dark"] .canvas-controls{background:#150e0cd9;border-color:#3a2823;box-shadow:0 4px 16px #00000050}
[data-theme="dark"] .canvas-controls .fit-button:hover{background:#2a1b17}
[data-theme="dark"] .menu-field{color:#7f8a9a}
[data-theme="dark"] .menu-select{background:#160d0b;border-color:#3a2823;color:#dbe3ee}
[data-theme="dark"] .menu-select:focus{border-color:#e08a68;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .main-area{background:#160d0b}
@media(max-width:1180px){:root{--panel:320px}.topbar{padding:0 16px;gap:12px}.breadcrumb-button strong{max-width:130px}.model-breadcrumb strong{max-width:180px}.view-bar{padding:0 16px}.local-badge{display:none}}
@media(max-width:980px){:root{--panel:280px}breadcrumb-button strong{max-width:105px}.model-breadcrumb strong{max-width:145px}.account-avatar-button #accountLabel{display:none}.account-avatar-button{padding:0 3px}.workspace-save-chip{display:none!important}.view-bar{padding:0 12px}.view-tab{padding:0 8px}}
.workspace.threats-mode{grid-template-columns:minmax(0,1fr)}
.account-menu-head{text-transform:none;letter-spacing:0;font-size:10px;color:#53657c;font-weight:600}
[data-theme="dark"] .account-menu-head{color:#aab4c2}
.view-bar{height:54px;flex:0 0 54px;width:100%}
.workspace{grid-template-columns:minmax(0,1fr) 6px var(--panel)}
.details-panel{border-left:0}
.pane-resizer{position:relative;z-index:3;cursor:col-resize;touch-action:none;outline:none}.pane-resizer::before{content:"";position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--line);transition:background .12s,width .12s}.pane-resizer:hover::before,.pane-resizer:focus-visible::before,.pane-resizer.dragging::before{width:2px;background:#3a2a24}.pane-resizer:focus-visible{box-shadow:inset 0 0 0 1px #e6b69c}
.workspace.panel-hidden{grid-template-columns:minmax(0,1fr) 0 0}.workspace.panel-hidden .pane-resizer{display:none}
.workspace.threats-mode{grid-template-columns:minmax(0,1fr)}.workspace.threats-mode .pane-resizer{display:none}
body.resizing-pane{cursor:col-resize;user-select:none}
.top-actions .theme-toggle{display:grid;place-items:center;padding:0}.theme-toggle svg{display:block;margin:0}
.top-context.locked .breadcrumb-button,.top-context.locked #crumbDivider{display:none}
.local-badge.locked i{background:#c88625}
[data-theme="dark"] .pane-resizer::before{background:#35231e}[data-theme="dark"] .pane-resizer:hover::before,[data-theme="dark"] .pane-resizer:focus-visible::before,[data-theme="dark"] .pane-resizer.dragging::before{background:#e08a68}
[data-theme="dark"] .local-badge.locked{background:#221c12;border-color:#4c3a1e;color:#e0b56c}
:root{--ink:#2a1a16;--muted:#7a655a;--line:#eadfd5;--blue:#2a1a16;--blue-ink:#a94a2d;--pale:#fbf3ec;--red:#c74438;--green:#5f7d5a;--amber:#c58a3a;--brand-coral:#3a2a24;--brand-cream:#f6e3c3;--brand-maroon:#6a1f20;--brand-sand:#d8a86b}
body{background:#f7f0e8;color:var(--ink)}
.app-shell{background:#fbf6f0}.topbar{background:#fffbf6}.view-bar{background:#fffbf6}.main-area{background:#fbf6f0}.canvas-wrap{background-color:#fbf6f0;background-image:radial-gradient(#e6d8cb .75px,transparent .75px)}.details-panel{background:#fffbf6}.details-head{border-color:#efe3d9}.workspace-menu{background:#fffbf6;border-color:#eadfd5}
.brand{color:var(--ink);gap:9px}.brand-mark-img{height:36px;width:auto;display:block;filter:drop-shadow(0 2px 4px #6a1f2018)}.brand-name{font:700 15px 'Manrope',sans-serif;letter-spacing:-.2px;color:var(--ink);white-space:nowrap}.brand-name b{color:var(--brand-coral);font-weight:700}
.button{background:#fffbf6;border-color:#e7dad0;color:#5a3b30}.button:hover{background:#fff7f1;border-color:#d8bcae}.button-primary{background:#2a1a16;border-color:#2a1a16;box-shadow:0 3px 8px #2a1a162b}.button-primary:hover{background:#a94a2d;border-color:#a94a2d}.icon-button,.fit-button{background:#fffbf6;border-color:#e7dad0;color:#6b4b3e}.icon-button:hover,.fit-button:hover{border-color:#d8bcae;color:#a94a2d}.canvas-controls{background:#fffbf6d9;border-color:#e7dad0}.breadcrumb-button:hover,.breadcrumb-button[aria-expanded="true"]{background:#fcf6f0;border-color:#eee1d7}.view-tab{color:#7a655a}.view-tab:hover{background:#fcf6f0;color:#5a3b30}.view-tab.selected{background:#fbf1ea;color:#a94a2d}.tab-count{background:#f2e8df;color:#6b4b3e}.view-tab.selected .tab-count{background:#f7e2d6;color:#a94a2d}.view-menu-button{background:#fffbf6;border-color:#e7dad0;color:#5a3b30}.view-menu-button:hover,.view-menu-button[aria-expanded="true"]{background:#fff7f1;border-color:#d8bcae}.account-avatar-button{background:#fffbf6;border-color:#e7dad0;color:#5a3b30}.account-avatar-button:hover{background:#fff7f1;border-color:#d8bcae}.account-avatar{background:linear-gradient(145deg,#3a2a24,#1a0f0c)}.account-avatar-button.signed-in:hover{background:#fcf6f0}menu-select{background:#fffdfb;border-color:#e7dad0;color:#5a3b30}.menu-select:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}.menu-field{color:#8a6a58}.overview-stat{background:#fff9f4;border-color:#eee1d7}.overview-stat strong{color:#3a241d}.source-chip,.stride-tag{background:#faf0e8;color:#6b4b3e}.status-select{background:#fffbf6;border-color:#e7dad0;color:#6b4b3e}.evidence-card{background:#fffbf6;border-color:#eee1d7}.evidence-card:hover{background:#fff7f1;border-color:#e2b69f}.evidence-icon{background:#f8eee6;color:#8a5a44}.node-threat{background:#fffbf6;border-color:#eee1d7}.node-threat:hover{border-color:#e2b69f}.node-heading,.threat-title{color:#2a1a16}.node-description,.threat-description{color:#7a655a}.detail-value{color:#5a3b30}.detail-label{color:#9a7a68}.node-type{color:#a94a2d}.section-heading,.evidence-heading{color:#4a3027}.section-heading span,.evidence-heading span{color:#9a7a68}.relationship-row:hover{background:#fff7f1}.relationship-arrow{background:#fbf1ea;color:#a94a2d}.relationship-copy strong{color:#5a3b30}.relationship-copy small{color:#9a7a68}.path-segment.inspector-link{background:#fbf1ea;color:#a94a2d}.path-segment.inspector-link:hover{background:#f7e2d6}.inspector-link{color:#a94a2d}.boundary-crossing{background:#fbf1ea;color:#8a5a44}.empty-panel{color:#9a7a68}
.boundary-box{fill:#f8f2edb8;stroke:#d8a86b}.boundary-title{fill:#8a5a3a}.boundary-pill{fill:#fbf1ea;stroke:#e2b69f}.edge-path{stroke:#bda89a}.edge-label-bg{fill:#fffbf6;stroke:#eadfd5}.edge-label{fill:#7a5a48}.node-bg{fill:#fffbf6;stroke:#e5d8ce}.node-card:hover .node-bg,.node-card.selected .node-bg{stroke:#3a2a24}.node-card.on-path .node-bg{stroke:#c74438}.node-name{fill:#2a1a16}.node-subtitle{fill:#8a6a58}.node-source-bg{fill:#f8eee6}.node-source-text{fill:#8a6a58}.boundary.selected .boundary-box{stroke:#2a1a16;fill:#fbefe73b}.boundary.selected .boundary-pill{fill:#f7e2d6}.boundary.selected .boundary-title{fill:#a94a2d}.edge-path.selected{stroke:#2a1a16!important}.edge-label-group.selected .edge-label-bg{fill:#fbf1ea;stroke:#d99b82}.edge-label-group.selected .edge-label{fill:#a94a2d}.node-card.edge-endpoint .node-bg{stroke:#d99b82}.edge-path.hot{stroke:#c74438}.edge-label.hot{fill:#b64033}.attack-label-bg{fill:#fbe8e2;stroke:#e8b7a8}.attack-label-text{fill:#b64033}.path-step{fill:#c74438}.link-notice-icon{background:#fbf0e9;color:#2a1a16}.link-notice-card{border-color:#eadfd5}
[data-theme="dark"]{--ink:#f4e8dc;--muted:#b6a397;--line:#3a2823;--blue:#e08a68;--blue-ink:#f2b394;--pale:#211512;--red:#f0716d;--green:#8fae86;--amber:#e2b26d}
[data-theme="dark"] body{background:#120b09}[data-theme="dark"] .app-shell{background:#160d0b}[data-theme="dark"] .topbar{background:#150e0c;border-color:#3a2823}[data-theme="dark"] .view-bar{background:#150e0c;border-color:#3a2823}[data-theme="dark"] .main-area{background:#160d0b}[data-theme="dark"] .canvas-wrap{background-color:#160d0b;background-image:radial-gradient(#2a1a16 .75px,transparent .75px)}[data-theme="dark"] .details-panel{background:#150e0c}[data-theme="dark"] .details-head{border-color:#3a2823}[data-theme="dark"] .workspace-menu{background:#211512;border-color:#3a2823}
[data-theme="dark"] .brand-name{color:#f6e3c3}[data-theme="dark"] .brand-name b{color:#f0b394}
[data-theme="dark"] .button{background:#211512;border-color:#3a2823;color:#ead9cb}[data-theme="dark"] .button:hover{background:#2a1b17;border-color:#5a3b30}[data-theme="dark"] .button-primary{background:#2a1a16;border-color:#2a1a16;color:#fff}[data-theme="dark"] .button-primary:hover{background:#f0b394;border-color:#f0b394;color:#24120e}[data-theme="dark"] .icon-button,[data-theme="dark"] .fit-button{background:#211512;border-color:#3a2823;color:#c0aa9b}[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .fit-button:hover{border-color:#5a3b30;color:#f0b394}[data-theme="dark"] .canvas-controls{background:#150e0cd9;border-color:#3a2823}[data-theme="dark"] .breadcrumb-button:hover,[data-theme="dark"] .breadcrumb-button[aria-expanded="true"]{background:#2a1b17;border-color:#3a2823}[data-theme="dark"] .view-tab{color:#b6a397}[data-theme="dark"] .view-tab:hover{background:#2a1b17;color:#f4e8dc}[data-theme="dark"] .view-tab.selected{background:#3a231e;color:#f0b394}[data-theme="dark"] .tab-count{background:#2a1b17;color:#c0aa9b}[data-theme="dark"] .view-tab.selected .tab-count{background:#4a2c24;color:#f4c4aa}[data-theme="dark"] .view-menu-button{background:#211512;border-color:#3a2823;color:#c0aa9b}[data-theme="dark"] .view-menu-button:hover,[data-theme="dark"] .view-menu-button[aria-expanded="true"]{background:#2a1b17;border-color:#5a3b30}[data-theme="dark"] .account-avatar-button{background:#211512;border-color:#3a2823;color:#c0aa9b}[data-theme="dark"] .account-avatar-button:hover{background:#2a1b17;border-color:#5a3b30}[data-theme="dark"] .account-avatar-button.signed-in{background:transparent;border-color:transparent}[data-theme="dark"] .account-avatar-button.signed-in:hover{background:#2a1b17}[data-theme="dark"] .menu-select{background:#160d0b;border-color:#3a2823;color:#f4e8dc}[data-theme="dark"] .menu-select:focus{border-color:#8a5a44;box-shadow:0 0 0 3px #e08a6826}[data-theme="dark"] .menu-field{color:#a89182}
[data-theme="dark"] .boundary-box{fill:#231512b8;stroke:#8a5a44}[data-theme="dark"] .boundary-title{fill:#d6a88e}[data-theme="dark"] .boundary-pill{fill:#2c1b16;stroke:#4a2c24}[data-theme="dark"] .edge-path{stroke:#6b4b3e}[data-theme="dark"] .edge-label-bg{fill:#211512;stroke:#3a2823}[data-theme="dark"] .edge-label{fill:#c0aa9b}[data-theme="dark"] .node-bg{fill:#211512;stroke:#3a2823}[data-theme="dark"] .node-card:hover .node-bg,[data-theme="dark"] .node-card.selected .node-bg{stroke:#e08a68}[data-theme="dark"] .node-card.on-path .node-bg{stroke:#f0716d}[data-theme="dark"] .node-name{fill:#f4e8dc}[data-theme="dark"] .node-subtitle{fill:#b6a397}[data-theme="dark"] .node-source-bg{fill:#2c1b16}[data-theme="dark"] .node-source-text{fill:#c0aa9b}[data-theme="dark"] .edge-path.hot{stroke:#f0716d}[data-theme="dark"] .edge-label.hot{fill:#f0716d}[data-theme="dark"] .boundary.selected .boundary-box{stroke:#e08a68;fill:#3a231e55}[data-theme="dark"] .boundary.selected .boundary-pill{fill:#4a2c24}[data-theme="dark"] .boundary.selected .boundary-title{fill:#f0b394}[data-theme="dark"] .edge-label-group.selected .edge-label-bg{fill:#3a231e;stroke:#8a5a44}[data-theme="dark"] .edge-label-group.selected .edge-label{fill:#f0b394}[data-theme="dark"] .node-card.edge-endpoint .node-bg{stroke:#8a5a44}[data-theme="dark"] .overview-stat{background:#211512;border-color:#3a2823}[data-theme="dark"] .overview-stat strong{color:#f4e8dc}[data-theme="dark"] .source-chip,[data-theme="dark"] .stride-tag{background:#2c1b16;color:#c0aa9b}[data-theme="dark"] .status-select{background:#211512;border-color:#3a2823;color:#ead9cb}[data-theme="dark"] .evidence-card{background:#211512;border-color:#3a2823}[data-theme="dark"] .evidence-card:hover{background:#2a1b17;border-color:#5a3b30}[data-theme="dark"] .evidence-icon{background:#2c1b16;color:#c0aa9b}[data-theme="dark"] .node-threat{background:#211512;border-color:#3a2823}[data-theme="dark"] .node-threat:hover{border-color:#5a3b30}[data-theme="dark"] .node-heading,[data-theme="dark"] .threat-title{color:#f4e8dc}[data-theme="dark"] .node-description,[data-theme="dark"] .threat-description{color:#b6a397}[data-theme="dark"] .detail-value{color:#ead9cb}[data-theme="dark"] .detail-label{color:#a89182}[data-theme="dark"] .node-type{color:#f0b394}[data-theme="dark"] .section-heading,[data-theme="dark"] .evidence-heading{color:#f4e8dc}[data-theme="dark"] .section-heading span,[data-theme="dark"] .evidence-heading span{color:#a89182}[data-theme="dark"] .relationship-row:hover{background:#2a1b17}[data-theme="dark"] .relationship-arrow{background:#3a231e;color:#f0b394}[data-theme="dark"] .relationship-copy strong{color:#ead9cb}[data-theme="dark"] .relationship-copy small{color:#a89182}[data-theme="dark"] .path-segment.inspector-link{background:#3a231e;color:#f0b394}[data-theme="dark"] .path-segment.inspector-link:hover{background:#4a2c24}[data-theme="dark"] .inspector-link{color:#f0b394}[data-theme="dark"] .boundary-crossing{background:#3a231e;color:#e0b09a}[data-theme="dark"] .empty-panel{color:#a89182}[data-theme="dark"] .link-notice-card{border-color:#3a2823}[data-theme="dark"] .link-notice-icon{background:#3a231e;color:#f0b394}
.account-avatar{background:linear-gradient(145deg,#2a1a16,#6a1f20)}
[data-theme="dark"] .toast{background:#3a231e;color:#f6e3c3;border:1px solid #5a3b30;box-shadow:0 8px 28px #00000070}

.toast{background:#3a231e;color:#f6e3c3;border:1px solid #5a3b30}
.workspace.discussion-mode{grid-template-columns:minmax(0,1fr)}.workspace.discussion-mode .details-panel,.workspace.discussion-mode .pane-resizer,.workspace.discussion-mode .canvas-controls,.workspace.discussion-mode .layout-banner{display:none}
.discussion-view{display:none;position:absolute;inset:0;z-index:2;background:#fbf6f0;overflow:hidden}.discussion-view.active{display:flex;flex-direction:column}.discussion-page{width:100%;height:100%;max-width:1040px;margin:0 auto;padding:26px 30px 0;display:flex;flex-direction:column;min-height:0}.discussion-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.discussion-heading h1{margin:0;font:700 25px/1.15 'Manrope',sans-serif;letter-spacing:-.5px;color:#2a1a16}.discussion-heading p{margin:7px 0 0;color:#8a6a58;font-size:11px}.discussion-controls{display:flex;align-items:center;gap:9px;margin-top:18px;padding-bottom:12px;border-bottom:1px solid #eadfd5}.discussion-filter select{height:30px;border:1px solid #e7dad0;border-radius:6px;background:#fffbf6;color:#5a3b30;font:600 10px inherit;padding:0 8px;outline:none}.discussion-unresolved{height:30px;border:1px solid #eadfd5;border-radius:6px;background:#fffbf6;color:#7a655a;font:600 10px inherit;display:flex;align-items:center;gap:6px;padding:0 9px;cursor:pointer}.discussion-unresolved i{width:8px;height:8px;border-radius:50%;background:#c58a3a}.discussion-unresolved:hover,.discussion-unresolved.active{background:#fbf1ea;border-color:#e2b69f;color:#a94a2d}.discussion-total{margin-left:auto;color:#a38472;font-size:9px;white-space:nowrap}.discussion-results{flex:1;min-height:0;overflow:auto;padding:5px 0 18px}.discussion-thread{padding:17px 0;border-bottom:1px solid #f0e5dc}.discussion-comment{display:flex;align-items:flex-start;gap:11px}.discussion-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex:none;font:700 9px 'Manrope',sans-serif;letter-spacing:.2px}.discussion-avatar.small{width:24px;height:24px;font-size:8px}.discussion-comment-body{min-width:0;flex:1}.discussion-comment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:18px}.discussion-comment-meta strong{font-size:11px;font-weight:700;color:#5a3b30}.discussion-comment-meta time{color:#a38472;font-size:9px}.discussion-resolved-badge{padding:3px 6px;border-radius:4px;background:#edf5e9;color:#5f7d5a;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.discussion-text{margin:6px 0 0;color:#3a241d;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.discussion-thread-anchor{margin-top:9px}.discussion-anchor{display:inline-flex;align-items:center;max-width:100%;border:1px solid #eadfd5;border-radius:7px;background:#fffbf6;overflow:hidden}.discussion-anchor-main{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;border:0;background:transparent;padding:6px 8px;text-align:left;cursor:pointer;font:inherit}.discussion-anchor-main:hover{background:#fff7f1}.discussion-anchor-icon{width:24px;height:24px;border-radius:5px;background:#fbf1ea;color:#a94a2d;display:grid;place-items:center;flex:none;font:700 8px 'Manrope',sans-serif}.discussion-anchor-copy{min-width:0;display:block}.discussion-anchor-copy strong{display:block;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5a3b30;font-size:10px;font-weight:600}.discussion-anchor-copy small{display:block;margin-top:3px;color:#a38472;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discussion-anchor .severity-pill{flex:none;padding:3px 6px;font-size:8px}.discussion-anchor-chevron{color:#b09a8a;font-size:15px;line-height:1}.discussion-anchor.missing{opacity:.7}.discussion-anchor-clear{border:0;border-left:1px solid #eadfd5;background:transparent;color:#a38472;width:26px;height:36px;cursor:pointer;font-size:15px}.discussion-anchor-clear:hover{background:#fbefe7;color:#a94a2d}.discussion-actions{display:flex;align-items:center;gap:12px;margin-top:9px}.discussion-actions button{border:0;background:none;padding:0;color:#a38472;font:600 9px inherit;cursor:pointer}.discussion-actions button:hover{color:#a94a2d}.discussion-replies{margin:12px 0 0 14px;padding-left:17px;border-left:1px solid #eadfd5;display:grid;gap:12px}.discussion-reply{display:flex;align-items:flex-start;gap:9px}.discussion-reply-body{min-width:0;flex:1}.discussion-reply-body p{margin:4px 0 0;color:#5a3b30;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.discussion-reply-form{display:flex;align-items:center;gap:6px;margin-top:12px}.discussion-reply-form input{flex:1;min-width:0;height:34px;border:1px solid #e7dad0;border-radius:6px;background:#fffdfb;color:#3a241d;font:500 10px inherit;padding:0 9px;outline:none}.discussion-reply-form input:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1614}.discussion-reply-form button{height:34px;border:1px solid #2a1a16;border-radius:6px;background:#2a1a16;color:#fff;font:600 9px inherit;padding:0 10px;cursor:pointer}.discussion-reply-form button.quiet{border-color:#e7dad0;background:#fffbf6;color:#7a655a}.discussion-composer{flex:none;border-top:1px solid #eadfd5;background:#fffbf6;padding:11px 0 16px;margin-top:auto}.discussion-draft-anchor{margin-bottom:8px;display:flex}.discussion-compose-row{display:flex;align-items:flex-end;gap:8px}.discussion-compose-row textarea{flex:1;min-width:0;height:40px;max-height:110px;resize:none;border:1px solid #e7dad0;border-radius:7px;background:#fffdfb;color:#3a241d;font:500 11px/1.5 inherit;padding:10px 11px;outline:none}.discussion-compose-row textarea:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1614}.discussion-submit{height:40px;border:1px solid #2a1a16;border-radius:7px;background:#2a1a16;color:#fff;font:700 10px inherit;padding:0 15px;cursor:pointer;white-space:nowrap}.discussion-submit:hover{background:#a94a2d;border-color:#a94a2d}.discussion-submit:disabled{opacity:.5;cursor:default}.discussion-composer-hint{margin:6px 0 0;color:#a38472;font-size:8.5px}.discussion-empty{display:grid;place-items:center;text-align:center;color:#8a6a58}.discussion-empty strong{display:block;color:#5a3b30;font:700 12px 'Manrope',sans-serif}.discussion-empty p{margin:5px 0 0;font-size:10px}.discussion-gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.discussion-gate-mark{width:42px;height:42px;border-radius:12px;background:#fbf1ea;color:#2a1a16;display:grid;place-items:center;font:700 12px 'Manrope',sans-serif}.discussion-gate h2{margin:13px 0 5px;font:700 17px 'Manrope',sans-serif;color:#2a1a16}.discussion-gate p{margin:0 0 15px;max-width:360px;color:#8a6a58;font-size:10.5px;line-height:1.55}
[data-theme="dark"] .discussion-view{background:#160d0b}[data-theme="dark"] .discussion-heading h1{color:#f4e8dc}[data-theme="dark"] .discussion-heading p,[data-theme="dark"] .discussion-total{color:#b6a397}[data-theme="dark"] .discussion-controls{border-color:#3a2823}[data-theme="dark"] .discussion-filter select,[data-theme="dark"] .discussion-unresolved{background:#211512;border-color:#3a2823;color:#d6c4b7}[data-theme="dark"] .discussion-unresolved:hover,[data-theme="dark"] .discussion-unresolved.active{background:#3a231e;border-color:#8a5a44;color:#f0b394}[data-theme="dark"] .discussion-thread{border-color:#2a1b17}[data-theme="dark"] .discussion-comment-meta strong{color:#ead9cb}[data-theme="dark"] .discussion-comment-meta time,[data-theme="dark"] .discussion-actions button{color:#a89182}[data-theme="dark"] .discussion-text{color:#f4e8dc}[data-theme="dark"] .discussion-anchor{background:#211512;border-color:#3a2823}[data-theme="dark"] .discussion-anchor-main:hover{background:#2a1b17}[data-theme="dark"] .discussion-anchor-icon{background:#3a231e;color:#f0b394}[data-theme="dark"] .discussion-anchor-copy strong{color:#ead9cb}[data-theme="dark"] .discussion-anchor-copy small,[data-theme="dark"] .discussion-anchor-chevron{color:#a89182}[data-theme="dark"] .discussion-anchor-clear{border-color:#3a2823;color:#a89182}[data-theme="dark"] .discussion-anchor-clear:hover{background:#3a231e;color:#f0b394}[data-theme="dark"] .discussion-replies{border-color:#3a2823}[data-theme="dark"] .discussion-reply-body p{color:#d6c4b7}[data-theme="dark"] .discussion-reply-form input,[data-theme="dark"] .discussion-compose-row textarea{background:#160d0b;border-color:#3a2823;color:#f4e8dc}[data-theme="dark"] .discussion-reply-form input:focus,[data-theme="dark"] .discussion-compose-row textarea:focus{border-color:#8a5a44;box-shadow:0 0 0 3px #e08a6826}[data-theme="dark"] .discussion-reply-form button.quiet{background:#211512;border-color:#3a2823;color:#c0aa9b}[data-theme="dark"] .discussion-composer{background:#150e0c;border-color:#3a2823}[data-theme="dark"] .discussion-composer-hint{color:#a89182}[data-theme="dark"] .discussion-empty{color:#a89182}[data-theme="dark"] .discussion-empty strong{color:#ead9cb}[data-theme="dark"] .discussion-gate-mark{background:#3a231e;color:#f0b394}[data-theme="dark"] .discussion-gate h2{color:#f4e8dc}[data-theme="dark"] .discussion-gate p{color:#b6a397}[data-theme="dark"] .discussion-resolved-badge{background:#263125;color:#a9c09a}
.discussion-active .toast{bottom:92px}
.discussion-text.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.discussion-reply-text{margin:4px 0 0;color:#5a3b30;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.discussion-reply-text.clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.discussion-more{margin-top:4px;border:0;background:none;padding:0;color:#a94a2d;font:600 9px inherit;cursor:pointer}.discussion-more:hover{text-decoration:underline}.discussion-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-top:8px}.discussion-reaction{height:22px;border:1px solid transparent;border-radius:11px;background:transparent;color:#7a655a;display:inline-flex;align-items:center;gap:3px;padding:0 6px;font:600 8px inherit;line-height:1;cursor:pointer;opacity:.62}.discussion-reaction span{font-size:14px;line-height:1}.discussion-reaction b{font-size:8px;font-weight:700;color:#a94a2d}.discussion-reaction:hover,.discussion-reaction.active{opacity:1;background:#fbf1ea;border-color:#e2b69f}.discussion-reaction.active{color:#a94a2d}
[data-theme="dark"] .discussion-reply-text{color:#d6c4b7}[data-theme="dark"] .discussion-more{color:#f0b394}[data-theme="dark"] .discussion-reaction{color:#c0aa9b}[data-theme="dark"] .discussion-reaction b{color:#f0b394}[data-theme="dark"] .discussion-reaction:hover,[data-theme="dark"] .discussion-reaction.active{background:#3a231e;border-color:#8a5a44;color:#f0b394}
.discussion-text.deleted,.discussion-reply-text.deleted{font-style:italic;color:#a38472}.discussion-actions button.danger{color:#b64033}.discussion-actions button.danger:hover{color:#8e2f2b}.discussion-reply-actions{display:flex;align-items:center;gap:10px;margin-top:5px}.discussion-reply-actions button{border:0;background:none;padding:0;color:#a38472;font:600 9px inherit;cursor:pointer}.discussion-reply-actions button.danger{color:#b64033}.discussion-reaction-add{font-size:14px!important;font-weight:700!important;opacity:.78;border-color:#eadfd5!important;background:#fffbf6!important;padding:0 7px!important}.discussion-reaction-add:hover{opacity:1;color:#a94a2d!important}.emoji-picker-popover{position:fixed;z-index:60;background:#fffbf6;border:1px solid #eadfd5;border-radius:12px;box-shadow:0 18px 48px #3a1f1630;max-height:calc(100vh - 20px);overflow:auto}.emoji-picker-loading{min-width:300px;padding:24px;text-align:center;color:#8a6a58;font-size:10px}.emoji-picker-popover em-emoji-picker{display:block;max-width:calc(100vw - 22px)}
[data-theme="dark"] .discussion-text.deleted,[data-theme="dark"] .discussion-reply-text.deleted{color:#a89182}[data-theme="dark"] .discussion-actions button.danger,[data-theme="dark"] .discussion-reply-actions button.danger{color:#f0716d}[data-theme="dark"] .discussion-reply-actions button{color:#a89182}[data-theme="dark"] .discussion-reaction-add{background:#211512!important;border-color:#3a2823!important;color:#c0aa9b!important}[data-theme="dark"] .discussion-reaction-add:hover{color:#f0b394!important}[data-theme="dark"] .emoji-picker-popover{background:#150e0c;border-color:#3a2823;box-shadow:0 18px 48px #00000080}[data-theme="dark"] .emoji-picker-loading{color:#c0a390}
.emoji-sprite{display:inline-block;background-repeat:no-repeat;flex:none;border-radius:2px}.discussion-reaction .emoji-sprite{display:block}.discussion-reaction-emoji{font-size:14px;line-height:1}
:root{--panel:450px}
.details-panel.pane-tabbed{overflow:hidden;display:flex;flex-direction:column}
.pane-head{flex:0 0 auto;display:flex;align-items:flex-start;gap:10px;padding:14px 14px 10px;background:#fffbf6;border-bottom:1px solid #efe3d9;position:relative;z-index:3}
.pane-type-badge{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:none;background:#f5ece4;border:1px solid #eadfd5;color:#8a6a58;font:700 8px 'Manrope',sans-serif;letter-spacing:.4px}
.pane-head-copy{min-width:0;flex:1}
.pane-title{margin:0;font:700 15px/1.3 'Manrope',sans-serif;color:#2a1a16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pane-subtitle{margin:3px 0 0;font-size:9.5px;color:#9a7a68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pane-close{flex:none;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#9aa6b5;font-size:19px;line-height:1;cursor:pointer;display:grid;place-items:center}
.pane-close:hover{background:#fbf1ea;color:#a94a2d}
.pane-tabs{flex:0 0 auto;display:flex;gap:6px;height:42px;padding:0 12px;background:#fffbf6;border-bottom:1px solid #eadfd5;overflow-x:auto;scrollbar-width:none;position:relative;z-index:3}
.pane-tabs::-webkit-scrollbar{display:none}
.pane-tab{position:relative;flex:none;height:42px;border:0;background:transparent;border-radius:6px 6px 0 0;color:#7a655a;font:600 12px 'DM Sans',sans-serif;padding:0 6px;display:flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}
.pane-tab:hover{background:#fcf6f0;color:#5a3b30}
.pane-tab.selected{background:#fbf1ea;color:#a94a2d}
.pane-tab:focus-visible{outline:2px solid #d99b82;outline-offset:-2px}
.pane-tab-count{width:18px;height:18px;flex:none;border-radius:50%;display:inline-grid;place-items:center;background:#f7e2d6;color:#a94a2d;font-size:9px;font-weight:700;line-height:1;margin-left:0}
.pane-tab.selected .pane-tab-count{background:#f7e2d6;color:#a94a2d}
.pane-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
.pane-body.comments-body{display:flex;flex-direction:column;overflow:hidden}
.pane-section{padding:16px 13px 22px}
.pane-description{margin:0;color:#5a3b30;font-size:11.5px;line-height:1.65;overflow-wrap:anywhere}
.pane-source-row{display:flex;flex-wrap:wrap;gap:3px;margin-top:10px}
.pane-comments{display:flex;flex-direction:column;height:100%;min-height:0}
.pane-comment-list{flex:1;min-height:0;overflow-y:auto;padding:2px 13px 18px}
.pane-comment-thread{padding:13px 0;border-bottom:1px solid #f0e5dc}
.pane-comment-thread:last-child{border-bottom:0}
.pane-comment-row{display:flex;align-items:flex-start;gap:9px}
.pane-comment-avatar{width:28px;height:28px;font-size:8px}
.pane-comment-body{flex:1;min-width:0}
.pane-comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:16px}
.pane-comment-meta strong{font-size:10.5px;font-weight:700;color:#5a3b30}
.pane-comment-meta time{font-size:8.5px;color:#a38472}
.pane-comment-text{margin:5px 0 0;color:#3a241d;font-size:11.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.pane-comment-text.deleted{font-style:italic;color:#a38472}
.pane-comment-actions{display:flex;gap:10px;margin-top:6px}
.pane-comment-actions button{border:0;background:none;padding:0;color:#a38472;font:600 9px inherit;cursor:pointer}
.pane-comment-actions button:hover{color:#a94a2d}
.pane-comment-replies{margin:9px 0 0 8px;padding-left:14px;border-left:1px solid #eadfd5;display:grid;gap:10px}
.pane-comment-reply{display:flex;align-items:flex-start;gap:8px}
.pane-comment-reply-body{min-width:0;flex:1}
.pane-comment-reply-form{display:flex;align-items:center;gap:5px;margin-top:9px}
.pane-comment-reply-form input{flex:1;min-width:0;height:32px;border:1px solid #e7dad0;border-radius:6px;background:#fffdfb;color:#3a241d;font:500 10px inherit;padding:0 8px;outline:none}
.pane-comment-reply-form input:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1614}
.pane-comment-reply-form button{height:32px;border:1px solid #2a1a16;border-radius:6px;background:#2a1a16;color:#fff;font:600 9px inherit;padding:0 9px;cursor:pointer}
.pane-comment-reply-form button.quiet{border-color:#e7dad0;background:#fffbf6;color:#7a655a}
.pane-comment-composer{flex:none;border-top:1px solid #eadfd5;background:#fffbf6;padding:10px 13px 13px}
.pane-comment-compose-row{display:flex;align-items:flex-end;gap:7px}
.pane-comment-compose-row textarea{flex:1;min-width:0;height:38px;max-height:104px;resize:none;border:1px solid #e7dad0;border-radius:7px;background:#fffdfb;color:#3a241d;font:500 11px/1.5 inherit;padding:9px 10px;outline:none}
.pane-comment-compose-row textarea:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1614}
.pane-comment-submit{height:38px;border:1px solid #2a1a16;border-radius:7px;background:#2a1a16;color:#fff;font:700 9.5px inherit;padding:0 13px;cursor:pointer;white-space:nowrap}
.pane-comment-submit:hover{background:#a94a2d;border-color:#a94a2d}
.pane-comment-submit:disabled{opacity:.45;cursor:default}
.pane-comment-hint{margin:5px 0 0;color:#a38472;font-size:8px}
.pane-comment-empty{padding:34px 10px;text-align:center;color:#a38472}
.pane-comment-empty strong{display:block;color:#5a3b30;font:700 12px 'Manrope',sans-serif}
.pane-comment-empty p{margin:5px 0 0;font-size:10px}
.pane-comment-gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px;min-height:260px}
.pane-comment-gate-mark{width:38px;height:38px;border-radius:10px;background:#fbf1ea;color:#2a1a16;display:grid;place-items:center;font:700 11px 'Manrope',sans-serif}
.pane-comment-gate h3{margin:12px 0 4px;font:700 14px/1.35 'Manrope',sans-serif;color:#2a1a16}
.pane-comment-gate p{margin:0 0 14px;max-width:300px;color:#8a6a58;font-size:10px;line-height:1.5}
[data-theme="dark"] .pane-head,[data-theme="dark"] .pane-tabs,[data-theme="dark"] .pane-comment-composer{background:#150e0c;border-color:#3a2823}
[data-theme="dark"] .pane-type-badge{background:#2c1b16;border-color:#3a2823;color:#c0aa9b}
[data-theme="dark"] .pane-title{color:#f4e8dc}
[data-theme="dark"] .pane-subtitle{color:#a89182}
[data-theme="dark"] .pane-close{color:#a89182}
[data-theme="dark"] .pane-close:hover{background:#2a1b17;color:#f0b394}
[data-theme="dark"] .pane-tab{color:#b6a397}
[data-theme="dark"] .pane-tab:hover{background:#2a1b17;color:#f4e8dc}
[data-theme="dark"] .pane-tab.selected{background:#3a231e;color:#f0b394}
[data-theme="dark"] .pane-tab-count{background:#4a2c24;color:#f0b394}
[data-theme="dark"] .pane-tab.selected .pane-tab-count{background:#4a2c24;color:#f0b394}
[data-theme="dark"] .pane-description{color:#b6a397}
[data-theme="dark"] .pane-comment-thread{border-color:#2a1b17}
[data-theme="dark"] .pane-comment-meta strong{color:#ead9cb}
[data-theme="dark"] .pane-comment-meta time,[data-theme="dark"] .pane-comment-actions button{color:#a89182}
[data-theme="dark"] .pane-comment-text{color:#f4e8dc}
[data-theme="dark"] .pane-comment-text.deleted{color:#a89182}
[data-theme="dark"] .pane-comment-replies{border-color:#3a2823}
[data-theme="dark"] .pane-comment-reply-form input,[data-theme="dark"] .pane-comment-compose-row textarea{background:#160d0b;border-color:#3a2823;color:#f4e8dc}
[data-theme="dark"] .pane-comment-reply-form input:focus,[data-theme="dark"] .pane-comment-compose-row textarea:focus{border-color:#8a5a44;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .pane-comment-reply-form button.quiet{background:#211512;border-color:#3a2823;color:#c0aa9b}
[data-theme="dark"] .pane-comment-hint{color:#a89182}
[data-theme="dark"] .pane-comment-empty strong{color:#ead9cb}
[data-theme="dark"] .pane-comment-gate-mark{background:#3a231e;color:#f0b394}
[data-theme="dark"] .pane-comment-gate h3{color:#f4e8dc}
[data-theme="dark"] .pane-comment-gate p{color:#b6a397}
[data-theme="dark"] .pane-comment-actions button:hover{color:#f0b394}
[data-theme="dark"] .pane-comment-submit:hover{background:#f0b394;border-color:#f0b394;color:#24120e}
.app-shell{position:relative;padding-right:calc(var(--panel) + 6px)}
.workspace{grid-template-columns:minmax(0,1fr)}
.pane-resizer{position:absolute;top:0;right:var(--panel);bottom:0;width:6px;height:auto;z-index:6}
.details-panel{position:absolute;top:0;right:0;bottom:0;width:var(--panel);height:auto;z-index:5;border-left:0}
.details-head{height:72px;flex:0 0 72px;padding:0 15px;border-bottom-color:var(--line)}
.pane-head{height:72px;flex:0 0 72px;padding:0 14px;align-items:center;border-bottom-color:var(--line)}
.pane-tabs{height:54px;align-items:center}
.pane-tab{height:34px;border-radius:7px}
.app-shell.panel-hidden{padding-right:0}
body.threats-active .app-shell{padding-right:0}
body.discussion-active .app-shell{padding-right:0}
.pane-tabs{gap:3px;padding:0 12px}
.pane-tab{height:32px;border-radius:7px;padding:0 5px;gap:5px;font-family:inherit;font-size:11px;font-weight:400}
.pane-tab.selected{background:#fbf1ea;color:#a94a2d;box-shadow:none}
.pane-tab-count{margin-left:0}
[data-theme="dark"] .pane-tab.selected{background:#3a231e;color:#f0b394;box-shadow:none}
.app-shell.no-model{padding-right:0}
.app-shell.no-model .details-panel,.app-shell.no-model .pane-resizer{display:none}
.model-overview-close{position:absolute;top:10px;right:10px;z-index:2}
.model-overview-panel{position:relative;padding-top:16px}
.model-overview-panel .node-heading{padding-right:34px}
.headerless-pane-close{position:absolute;top:10px;right:10px;z-index:2}
.headerless-pane-panel{position:relative;padding-top:16px}
.headerless-pane-panel .node-heading{padding-right:34px}
.threats-page{color:#3a241d}
.threats-heading h1{color:#2a1a16}
.threat-search,.threat-filter,.threat-view-toggle{background:#fffbf6;border-color:#eadfd5}
.threat-search:focus-within,.threat-filter:focus-within{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1614}
.threat-search svg,.threat-filter .filter-icon,.filter-chevron svg{stroke:#9a7a68}
.threat-search input{color:#3a241d}
.threat-search input::placeholder{color:#a38472}
.threat-filter select{color:#5a3b30}
.threat-filter select option{color:#3a241d;background:#fffbf6}
.threat-view-toggle button{color:#7a655a}
.threat-view-toggle button.active{color:#a94a2d;background:#fbf0e9;border-color:#e2b69f}
.threats-table-scroll{border-color:#eadfd5;background:#fffbf6;box-shadow:0 1px 2px #3a1f1608}
.threats-table th{border-color:#efe3d9;color:#9a7a68}
.threats-table td{border-color:#f0e5dc;color:#5a3b30}
.threats-table tbody tr:hover{background:#fff7f1}
.threats-table tbody tr.selected{background:#fbf1ea}
.threat-row-title{color:#2a1a16}
.threat-cell-stride{color:#5a3b30}
.component-tag{border-color:#eadfd5;background:#faf0e8;color:#6b4b3e}
.component-tag.more{color:#8a6a58;background:#fbf6f0}
.threat-muted{color:#a38472}
.threat-evidence{color:#5a3b30}
.threat-evidence svg{stroke:#9a7a68}
.threat-status-cell{color:#5a3b30}
.threat-status-cell > svg{stroke:#9a7a68}
.threat-kebab{color:#9a7a68}
.threat-kebab:hover{background:#fbefe7;color:#a94a2d}
.threats-pagination{color:#8a6a58}
.threat-page-arrow,.threat-page-number{border-color:#eadfd5;background:#fffbf6;color:#5a3b30}
.threat-page-ellipsis{color:#a38472}
.threats-empty{background:#fffbf6;border-color:#eadfd5;color:#8a6a58}
.threats-empty h3{color:#4a3027}
.threat-card{border-color:#eadfd5;background:#fffbf6;box-shadow:0 1px 2px #3a1f1608}
.threat-card:hover{border-color:#e2b69f;box-shadow:0 4px 12px #3a1f1614}
.threat-card.selected{border-color:#d99b82;background:#fbf1ea}
.threat-card-title{color:#3a241d}
.threat-card-status{color:#9a6d55}
.threat-card p{color:#7a5b4c}
.threat-card-foot{color:#9a7a66;border-color:#f0e5dc}
.threat-menu{background:#fffbf6;border-color:#eadfd5;box-shadow:0 12px 30px #3a1f1624}
.threat-menu button{color:#5a3b30}
.threat-menu button:hover{background:#fff7f1}
.threat-menu-separator{background:#f0e5dc}
[data-theme="dark"] .threats-page{color:#ead9cb}
[data-theme="dark"] .threats-heading h1{color:#f4e8dc}
[data-theme="dark"] .threat-search,[data-theme="dark"] .threat-filter,[data-theme="dark"] .threat-view-toggle{background:#211512;border-color:#3a2823}
[data-theme="dark"] .threat-search:focus-within,[data-theme="dark"] .threat-filter:focus-within{border-color:#8a5a44;box-shadow:0 0 0 3px #e08a6826}
[data-theme="dark"] .threat-search svg,[data-theme="dark"] .threat-filter .filter-icon,[data-theme="dark"] .filter-chevron svg,[data-theme="dark"] .threat-status-cell > svg{stroke:#a89182}
[data-theme="dark"] .threat-search input{color:#f4e8dc}
[data-theme="dark"] .threat-search input::placeholder{color:#a89182}
[data-theme="dark"] .threat-filter select{color:#ead9cb}
[data-theme="dark"] .threat-filter select option{background:#211512;color:#f4e8dc}
[data-theme="dark"] .threat-view-toggle button{color:#b6a397}
[data-theme="dark"] .threat-view-toggle button.active{color:#f0b394;background:#3a231e;border-color:#8a5a44}
[data-theme="dark"] .threats-table-scroll{background:#160d0b;border-color:#3a2823;box-shadow:none}
[data-theme="dark"] .threats-table th{background:#211512;border-color:#3a2823;color:#a89182}
[data-theme="dark"] .threats-table td{border-color:#2a1b17;color:#d6c4b7}
[data-theme="dark"] .threats-table tbody tr:hover{background:#2a1b17}
[data-theme="dark"] .threats-table tbody tr.selected{background:#3a231e}
[data-theme="dark"] .threat-row-title{color:#f4e8dc}
[data-theme="dark"] .threat-cell-stride,[data-theme="dark"] .threat-status-cell{color:#c0aa9b}
[data-theme="dark"] .component-tag{background:#211512;border-color:#3a2823;color:#d6c4b7}
[data-theme="dark"] .component-tag.more{background:#211512;color:#a89182}
[data-theme="dark"] .threat-evidence{color:#c0aa9b}
[data-theme="dark"] .threat-evidence svg{stroke:#a89182}
[data-theme="dark"] .threat-kebab{color:#a89182}
[data-theme="dark"] .threat-kebab:hover{background:#3a2823;color:#f4e8dc}
[data-theme="dark"] .threats-pagination{color:#a89182;background:#160d0b}
[data-theme="dark"] .threat-page-arrow,[data-theme="dark"] .threat-page-number{background:#211512;border-color:#3a2823;color:#c0aa9b}
[data-theme="dark"] .threats-empty{background:#150e0c;border-color:#3a2823;color:#a89182}
[data-theme="dark"] .threats-empty h3{color:#f4e8dc}
[data-theme="dark"] .threat-card{background:#150e0c;border-color:#3a2823;box-shadow:none}
[data-theme="dark"] .threat-card:hover{border-color:#5a3b30}
[data-theme="dark"] .threat-card.selected{background:#3a231e;border-color:#8a5a44}
[data-theme="dark"] .threat-card-title{color:#f4e8dc}
[data-theme="dark"] .threat-card p{color:#b6a397}
[data-theme="dark"] .threat-card-foot{border-color:#3a2823;color:#a89182}
[data-theme="dark"] .threat-card-status{color:#a89182}
[data-theme="dark"] .threat-menu{background:#211512;border-color:#3a2823;box-shadow:0 12px 34px #00000055}
[data-theme="dark"] .threat-menu button{color:#ead9cb}
[data-theme="dark"] .threat-menu button:hover{background:#3a2823}
[data-theme="dark"] .threat-menu-separator{background:#3a2823}
.details-panel.model-overview-host{overflow:hidden}
.model-overview-shell{height:100%;min-height:0;display:flex;flex-direction:column;position:relative}
.model-overview-scroll{flex:1;min-height:0;overflow-y:auto}
.model-overview-panel{padding:16px 16px 24px}
.model-overview-panel .node-heading{font-size:21px;line-height:1.23;margin:7px 0 8px;padding-right:34px}
.model-overview-close{background:#fffbf6;border:1px solid #eadfd5;border-radius:7px}
.overview-source{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px;border:1px solid #eadfd5;border-radius:9px;background:#fffbf6}
.overview-source-icon{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;background:#fbf1ea;color:#a94a2d;font:700 8px 'Manrope',sans-serif;letter-spacing:.5px}
.overview-source-copy{flex:1;min-width:0}
.overview-source-copy>span{display:block;color:#a38472;font-size:8px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.overview-source-copy strong{display:block;margin-top:4px;color:#3a241d;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-copy-button{width:30px;height:30px;flex:none;border:1px solid #eadfd5;border-radius:6px;background:#fffdfb;color:#9a7a68;display:grid;place-items:center;cursor:pointer}
.overview-copy-button:hover{background:#fff7f1;border-color:#e2b69f;color:#a94a2d}
.overview-copy-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.overview-disclosure{margin-top:12px;border-top:1px solid #f0e5dc;border-bottom:1px solid #f0e5dc}
.overview-disclosure summary{min-height:42px;display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;color:#5a3b30;font:600 10px 'DM Sans',sans-serif}
.overview-disclosure summary::-webkit-details-marker{display:none}
.overview-disclosure-title{font-weight:700}
.overview-disclosure-summary{margin-left:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a38472;font-size:8.5px}
.overview-disclosure-chevron{width:14px;height:14px;flex:none;color:#a38472;display:grid;place-items:center;transition:transform .16s}
.overview-disclosure-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.overview-disclosure[open] .overview-disclosure-chevron{transform:rotate(180deg)}
.overview-disclosure-body{padding:0 0 12px}
.model-overview-panel .overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0}
.model-overview-panel .overview-stat{padding:10px 8px}
.model-overview-panel .overview-stat strong{font-size:20px}
.overview-secondary{margin:9px 0 0;color:#9a7a68;font-size:9.5px;line-height:1.55}
.overview-section-label{margin:0 0 8px;color:#a38472;font:700 8px 'Manrope',sans-serif;letter-spacing:.8px;text-transform:uppercase}
.overview-coverage{display:grid;gap:12px}
.overview-coverage-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;color:#5a3b30;font-size:9.5px;line-height:1.35}
.overview-coverage-head strong{color:#a94a2d;font-weight:700}
.overview-coverage-head>span:last-child{color:#9a7a68;white-space:nowrap;font-size:8.5px}
.overview-progress{height:6px;border-radius:99px;background:#f0e5dc;overflow:hidden}
.overview-progress>span{display:block;height:100%;border-radius:inherit;background:#2a1a16}
.overview-severity{display:flex;flex-wrap:wrap;gap:6px}
.overview-severity .severity-chip{height:34px;padding:0 9px;font-size:9.5px;text-transform:uppercase;letter-spacing:.35px}
.overview-severity .severity-chip strong{font-size:10.5px}
.model-overview-actions{flex:none;display:flex;align-items:center;gap:7px;padding:10px 14px;border-top:1px solid #eadfd5;background:#fffbf6;position:relative;z-index:3}
.model-overview-actions .button{flex:1;min-width:0;font-size:10px;padding:9px 8px}
.overview-more-wrap{position:relative;flex:none}
.overview-more-button{width:36px;flex:none!important;padding:0!important}
.overview-more-button svg{width:16px;height:16px;fill:currentColor;stroke:none}
.overview-more-menu{position:absolute;right:0;bottom:calc(100% + 7px);z-index:4;width:190px;padding:5px;border:1px solid #eadfd5;border-radius:9px;background:#fffbf6;box-shadow:0 14px 34px #3a1f1626;display:grid;gap:2px}
.overview-more-menu.hidden{display:none}
.overview-more-menu button{width:100%;border:0;border-radius:5px;background:none;color:#5a3b30;padding:8px 9px;text-align:left;font:500 10px 'DM Sans',sans-serif;cursor:pointer}
.overview-more-menu button:hover{background:#fff7f1;color:#a94a2d}
[data-theme="dark"] .model-overview-close{background:#150e0c;border-color:#3a2823;color:#a89182}
[data-theme="dark"] .overview-source{border-color:#3a2823;background:#211512}
[data-theme="dark"] .overview-source-icon{background:#3a231e;color:#f0b394}
[data-theme="dark"] .overview-source-copy>span{color:#a89182}
[data-theme="dark"] .overview-source-copy strong{color:#f4e8dc}
[data-theme="dark"] .overview-copy-button{background:#160d0b;border-color:#3a2823;color:#a89182}
[data-theme="dark"] .overview-copy-button:hover{background:#2a1b17;border-color:#5a3b30;color:#f0b394}
[data-theme="dark"] .overview-disclosure{border-color:#3a2823}
[data-theme="dark"] .overview-disclosure summary{color:#ead9cb}
[data-theme="dark"] .overview-disclosure-summary,[data-theme="dark"] .overview-disclosure-chevron{color:#a89182}
[data-theme="dark"] .overview-secondary{color:#a89182}
[data-theme="dark"] .overview-section-label{color:#a89182}
[data-theme="dark"] .overview-coverage-head{color:#ead9cb}
[data-theme="dark"] .overview-coverage-head strong{color:#f0b394}
[data-theme="dark"] .overview-coverage-head>span:last-child{color:#a89182}
[data-theme="dark"] .overview-progress{background:#3a2823}
[data-theme="dark"] .overview-progress>span{background:#e08a68}
[data-theme="dark"] .model-overview-actions{background:#150e0c;border-color:#3a2823}
[data-theme="dark"] .overview-more-menu{background:#211512;border-color:#3a2823;box-shadow:0 14px 34px #00000060}
[data-theme="dark"] .overview-more-menu button{color:#ead9cb}
[data-theme="dark"] .overview-more-menu button:hover{background:#3a2823;color:#f0b394}
.overview-disclosure{border-top:0;border-bottom:1px solid #f0e5dc}
.overview-section-label{margin:18px 0 8px}
.model-overview-panel .overview-stats{margin:16px 0 0}
[data-theme="dark"] .overview-disclosure{border-top:0;border-bottom-color:#3a2823}
.connection-section{padding-top:12px}
.connection-filters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.connection-filter-chip{height:32px;border:1px solid #eadfd5;border-radius:999px;background:#fffbf6;color:#7a655a;font:600 9.5px 'DM Sans',sans-serif;padding:0 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.connection-filter-chip strong{font-size:9.5px;font-weight:700;color:#a38472}
.connection-filter-chip:hover{border-color:#e2b69f;color:#a94a2d}
.connection-filter-chip.active{background:#2a1a16;border-color:#2a1a16;color:#fff}
.connection-filter-chip.active strong{color:#ffe8dd}
.connection-groups{display:grid}
.connection-group{border-top:1px solid #f0e5dc}
.connection-group summary{display:flex;align-items:center;gap:9px;padding:10px 0;list-style:none;cursor:pointer}
.connection-group summary::-webkit-details-marker{display:none}
.connection-direction-icon{width:32px;height:32px;border-radius:50%;background:#f3e7dd;color:#8a5a44;display:grid;place-items:center;flex:none;font-size:15px;font-weight:700}
.connection-group-title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5a3b30;font:700 11.5px 'Manrope',sans-serif}
.connection-group-count{color:#a38472;font-size:9.5px;font-weight:600;white-space:nowrap}
.connection-group-count::before{content:"·";margin-right:5px;color:#c0aa9b}
.connection-group-chevron{margin-left:auto;width:14px;height:14px;flex:none;display:grid;place-items:center;color:#a38472;transition:transform .16s}
.connection-group-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.connection-group[open] .connection-group-chevron{transform:rotate(180deg)}
.connection-group-rows{display:grid}
.connection-row{display:flex;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid #f7eee7;background:transparent;padding:9px 8px;text-align:left;font:inherit;cursor:pointer}
.connection-row:last-child{border-bottom:0}
.connection-row:hover{background:#fff7f1}
.connection-node-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;font:700 8px 'Manrope',sans-serif;letter-spacing:.2px}
.connection-row-copy{min-width:0;flex:1}
.connection-row-copy strong{display:block;color:#3a241d;font-size:11px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connection-row-copy small{display:block;margin-top:3px;color:#9a7a68;font-size:9px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connection-crossing-badge{display:inline-flex;align-items:center;gap:4px;flex:none;border-radius:999px;background:#fbf1ea;color:#a94a2d;padding:4px 7px;font-size:8px;font-weight:600;white-space:nowrap}
.connection-crossing-badge svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.connection-row-chevron{flex:none;color:#b09a8a;font-size:17px;line-height:1}
.connection-filter-empty{padding:24px 6px;color:#9a7a68;text-align:center;font-size:10px;line-height:1.5}
[data-theme="dark"] .connection-filter-chip{background:#211512;border-color:#3a2823;color:#b6a397}
[data-theme="dark"] .connection-filter-chip strong{color:#a89182}
[data-theme="dark"] .connection-filter-chip:hover{border-color:#5a3b30;color:#f4e8dc}
[data-theme="dark"] .connection-filter-chip.active{background:#3a231e;border-color:#8a5a44;color:#f0b394}
[data-theme="dark"] .connection-filter-chip.active strong{color:#f4c4aa}
[data-theme="dark"] .connection-group{border-color:#2a1b17}
[data-theme="dark"] .connection-direction-icon{background:#2c1b16;color:#e0b09a}
[data-theme="dark"] .connection-group-title{color:#f4e8dc}
[data-theme="dark"] .connection-group-count{color:#a89182}
[data-theme="dark"] .connection-group-count::before{color:#5a3b30}
[data-theme="dark"] .connection-group-chevron{color:#a89182}
[data-theme="dark"] .connection-row{border-color:#2a1b17}
[data-theme="dark"] .connection-row:hover{background:#2a1b17}
[data-theme="dark"] .connection-row-copy strong{color:#f4e8dc}
[data-theme="dark"] .connection-row-copy small{color:#a89182}
[data-theme="dark"] .connection-crossing-badge{background:#3a231e;color:#f0b394}
[data-theme="dark"] .connection-row-chevron{color:#a89182}
[data-theme="dark"] .connection-filter-empty{color:#a89182}
.connection-node-icon .tabler-icon{width:18px;height:18px}
.pane-type-icon{border-color:transparent}
.pane-type-icon .tabler-icon{width:18px;height:18px}
.threat-type-icon{background:#2a1a16;color:#fff;border-color:#2a1a16}
.overview-source-icon .tabler-icon{width:18px;height:18px}
.evidence-icon .tabler-icon{width:13px;height:13px}
.pane-comment-gate-mark .tabler-icon,.discussion-gate-mark .tabler-icon{width:18px;height:18px}
[data-theme="dark"] .threat-type-icon{background:#2a1a16;color:#fff;border-color:#2a1a16}
.headerless-object-type{display:inline-flex;align-items:center;gap:6px}
.headerless-object-type .tabler-icon{width:14px;height:14px}
.discussion-anchor-icon .tabler-icon{width:14px;height:14px}
.connection-group-rows{padding-left:6px}
.connection-direction-icon .tabler-icon{width:16px;height:16px}
.connection-edge-icon{background:#f3e7dd;color:#8a5a44}
[data-theme="dark"] .connection-edge-icon{background:#2c1b16;color:#e0b09a}
.connection-groups{min-width:0}
.connection-group{min-width:0}
.connection-group-rows{min-width:0}
.connection-row{min-width:0;max-width:100%}
.menu-button{width:28px;height:28px;padding:0;display:grid;place-items:center;border-radius:7px}
.menu-button svg{width:15px;height:15px;fill:currentColor;stroke:none}
:root{--blue:#c65a3a;--blue-ink:#a94a2d;--pale:#faf2eb}
.brand-mark{background:linear-gradient(145deg,#c65a3a,#a94a2d);box-shadow:0 4px 10px #c65a3a2b}
.brand-mark svg{stroke:white}
.button-primary{background:#c65a3a;border-color:#c65a3a;color:#fff;box-shadow:0 3px 8px #c65a3a2b}
.button-primary:hover{background:#a94a2d;border-color:#a94a2d;color:#fff}
[data-theme="dark"] .button-primary{background:#c65a3a;border-color:#c65a3a;color:#fff}
[data-theme="dark"] .button-primary:hover{background:#df7f54;border-color:#df7f54;color:#fff}
.account-avatar{background:linear-gradient(145deg,#d96f4a,#b4372f);color:#fff}
[data-theme="dark"] .account-avatar{background:linear-gradient(145deg,#d96f4a,#b4372f);color:#fff}
.view-tab.selected{background:#fbf1ea;color:#a94a2d}
.view-tab.selected .tab-count{background:#f7e2d6;color:#a94a2d}
[data-theme="dark"] .view-tab.selected{background:#3a231e;color:#f0b394}
[data-theme="dark"] .view-tab.selected .tab-count{background:#4a2c24;color:#f0b394}
.pane-tab.selected{background:#fbf1ea;color:#a94a2d}
[data-theme="dark"] .pane-tab.selected{background:#3a231e;color:#f0b394}
.connection-filter-chip.active{background:#c65a3a;border-color:#c65a3a;color:#fff}
.connection-filter-chip.active strong{color:#ffe8dd}
[data-theme="dark"] .connection-filter-chip.active{background:#3a231e;border-color:#8a5a44;color:#f0b394}
[data-theme="dark"] .connection-filter-chip.active strong{color:#f4c4aa}
.pane-comment-submit{background:#c65a3a;border-color:#c65a3a;color:#fff}
.pane-comment-submit:hover{background:#a94a2d;border-color:#a94a2d}
[data-theme="dark"] .pane-comment-submit{background:#c65a3a;border-color:#c65a3a;color:#fff}
[data-theme="dark"] .pane-comment-submit:hover{background:#df7f54;border-color:#df7f54;color:#fff}
.pane-comment-reply-form button{background:#c65a3a;border-color:#c65a3a;color:#fff}
[data-theme="dark"] .pane-comment-reply-form button{background:#c65a3a;border-color:#c65a3a;color:#fff}
.overview-progress>span{background:#c65a3a}
[data-theme="dark"] .overview-progress>span{background:#e08a68}
.toggle-dot{background:#c65a3a;box-shadow:inset 0 0 0 3px white,0 0 0 1px #c65a3a}
.legend-blue{background:#c65a3a}
.threat-page-number.active{background:#c65a3a;border-color:#c65a3a;color:#fff;box-shadow:0 2px 5px #c65a3a33}
[data-theme="dark"] .threat-page-number.active{background:#c65a3a;border-color:#c65a3a;color:#fff}
.threat-view-toggle button.active{color:#a94a2d}
.threats-empty-icon{color:#d96f4a}
.brand-logo-img{height:30px;width:auto;display:block}
.auth-logo{height:30px;width:auto;display:block;margin:0 0 12px}
@media(max-width:980px){.brand-logo-img{height:26px}}
.brand-logo-img{height:50.16px}
.auth-home{display:block;width:max-content;text-decoration:none;border-radius:6px}.auth-logo{height:43.56px}
@media(max-width:980px){.brand-logo-img{height:42.24px}}

.save-project-modal{width:min(440px,94vw);max-height:min(640px,90vh);background:#fff;border-radius:13px;box-shadow:0 20px 60px #12253c45;display:flex;flex-direction:column;overflow:hidden}
.save-project-list{padding:4px 16px 0;overflow-y:auto;display:grid;gap:6px;min-height:92px;max-height:320px}
.save-project-option{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #eadfd5;background:#fff;border-radius:8px;padding:10px 12px;color:#5a3b30;text-align:left;cursor:pointer;font-family:inherit;font-size:11px}
.save-project-option:hover{border-color:#e2b69f;background:#fbfdff}
.save-project-option.selected{border-color:#d99b82;background:#fbf1ea;box-shadow:0 0 0 1px #d99b8240}
.save-project-radio{width:16px;height:16px;border:1px solid #cbb4a2;border-radius:50%;flex:none;display:grid;place-items:center}
.save-project-option.selected .save-project-radio{border-color:#a94a2d}
.save-project-option.selected .save-project-radio:after{content:'';width:8px;height:8px;border-radius:50%;background:#a94a2d}
.save-project-copy{min-width:0;flex:1}
.save-project-copy strong{display:block;font-size:11px;font-weight:600;color:#4a3027;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.save-project-copy small{display:block;margin-top:2px;font-size:9px;color:#8b98a9}
.save-project-badge{font-size:8px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#287963;background:#eaf7f1;border-radius:4px;padding:3px 5px}
.save-project-empty{padding:18px 0;text-align:center;color:#8b98a9;font-size:11px}
.save-project-create{display:flex;gap:8px;padding:10px 16px 0}
.save-project-create input{flex:1;min-width:0;height:36px;border:1px solid #e7dad0;border-radius:7px;background:#fff;color:#425268;padding:0 10px;font-family:inherit;font-size:11px;outline:none}
.save-project-create input:focus{border-color:#d99b82;box-shadow:0 0 0 3px #2a1a1616}
.save-project-create .button{height:36px;flex:none;padding:0 12px}
.save-project-modal .modal-error{padding-left:16px;padding-right:16px}
.save-project-modal .modal-foot{padding-top:8px}
[data-theme="dark"] .save-project-modal{background:#150e0c;box-shadow:0 20px 60px #00000080}
[data-theme="dark"] .save-project-option{background:#211512;border-color:#35231e;color:#e8edf4}
[data-theme="dark"] .save-project-option:hover{border-color:#5a3b30;background:#2a1814}
[data-theme="dark"] .save-project-option.selected{background:#2a1814;border-color:#e08a68}
[data-theme="dark"] .save-project-copy strong{color:#f1f4f8}
[data-theme="dark"] .save-project-copy small{color:#9aa4b2}
[data-theme="dark"] .save-project-badge{color:#8fd0b8;background:#1b2b24}
[data-theme="dark"] .save-project-create input{background:#160d0b;border-color:#3a2823;color:#dbe3ee}
[data-theme="dark"] .save-project-create input:focus{border-color:#e08a68;box-shadow:0 0 0 3px #e08a6826}
@media(min-width:960px){#projectMenuBtn{flex:none}}
.public-crumb{display:flex;align-items:center;height:30px;padding:0 7px;color:#6b4b3e;font-size:12px;font-weight:600;white-space:nowrap}[data-theme="dark"] .public-crumb{color:#aab4c2}@media(max-width:1500px){.public-crumb{padding:0 5px}}
.model-title-static{display:block;max-width:245px;padding:0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;color:#6b4b3e}[data-theme="dark"] .model-title-static{color:#aab4c2}@media(max-width:1500px){.model-title-static{max-width:155px;padding:0 5px}}@media(max-width:1180px){.model-title-static{max-width:180px}}@media(max-width:980px){.model-title-static{max-width:145px}}
.account-avatar .tabler-icon{width:12px;height:12px;stroke-width:1.8}
.link-notice-examples{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:18px}.link-notice-examples>span{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#a38472}.link-notice-examples a{display:inline-flex;align-items:center;border:1px solid #e7dad0;border-radius:99px;padding:6px 10px;color:#a94a2d;background:#fff7f1;text-decoration:none;font-size:10px;font-weight:600;transition:.16s ease}.link-notice-examples a:hover{background:#fbefe7;border-color:#d99b82}[data-theme="dark"] .link-notice-examples>span{color:#a89182}[data-theme="dark"] .link-notice-examples a{background:#2a1b17;border-color:#3a2823;color:#f0b394}[data-theme="dark"] .link-notice-examples a:hover{background:#3a231e;border-color:#5a3b30}

.app-shell.project-mode .view-bar,.app-shell.project-mode .canvas-controls{display:none}
.project-home{position:absolute;inset:0;z-index:4;background:#fbf6f0;overflow-y:auto;padding:34px 38px 48px}
.project-home-inner{max-width:1080px;margin:0 auto}
.project-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.project-home-kicker{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#a94a2d}
.project-home-head h1{margin:7px 0 5px;font:700 28px/1.15 'Manrope',sans-serif;letter-spacing:-.5px;color:#2a1a16}
.project-home-head p{margin:0;color:#8a6a58;font-size:11px}
.project-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.project-model-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 11px;border:1px solid #eadfd5;border-radius:12px;background:#fff;padding:15px;text-align:left;color:#5a3b30;cursor:pointer;font-family:inherit;transition:.16s ease}
.project-model-card:hover{border-color:#d99b82;background:#fffaf7;transform:translateY(-1px);box-shadow:0 6px 18px #2a1a160d}
.project-model-icon{width:34px;height:34px;grid-row:span 2;border-radius:9px;display:grid;place-items:center;background:#fbf1ea;color:#a94a2d}
.project-model-icon .tabler-icon{width:17px;height:17px}
.project-model-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.project-model-main strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;font-weight:600;line-height:1.35}
.project-model-main span{font-size:9px;color:#8b98a9}
.project-model-date{grid-column:2;font-size:8.5px;color:#a38472}
.project-home-empty{max-width:520px;margin:60px auto 0;border:1px dashed #d8c3b4;border-radius:14px;background:#fffaf6;padding:36px 30px;text-align:center}
.project-home-empty-icon{width:42px;height:42px;border-radius:11px;display:inline-grid;place-items:center;background:#fbf1ea;color:#a94a2d}
.project-home-empty-icon .tabler-icon{width:20px;height:20px}
.project-home-empty h2{margin:13px 0 6px;font:700 17px 'Manrope',sans-serif;color:#2a1a16}
.project-home-empty p{margin:0 auto 18px;max-width:340px;color:#8b98a9;font-size:11px;line-height:1.55}
.project-home-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
[data-theme="dark"] .project-home{background:#160d0b}
[data-theme="dark"] .project-home-head h1{color:#f1f4f8}
[data-theme="dark"] .project-home-head p{color:#b6a397}
[data-theme="dark"] .project-model-card{background:#211512;border-color:#3a2823;color:#ead9cb}
[data-theme="dark"] .project-model-card:hover{background:#2a1b17;border-color:#5a3b30;box-shadow:0 6px 18px #00000040}
[data-theme="dark"] .project-model-icon{background:#3a231e;color:#f0b394}
[data-theme="dark"] .project-model-main span{color:#a89182}
[data-theme="dark"] .project-model-date{color:#a89182}
[data-theme="dark"] .project-home-empty{background:#1c1210;border-color:#4a2e23}
[data-theme="dark"] .project-home-empty-icon{background:#3a231e;color:#f0b394}
[data-theme="dark"] .project-home-empty h2{color:#f1f4f8}
[data-theme="dark"] .project-home-empty p{color:#9aa4b2}
/* No-reset warning (SYN-7060): signup acknowledgement block + sign-in notice */
.auth-warning{margin:10px 0 0;padding:10px 12px;border:1px solid #e8c8b8;border-radius:8px;background:#fdf3ec;text-align:left}
.auth-warning p{margin:0 0 6px;color:#7a3d2a;font-size:10px;line-height:1.5}
.auth-warning p:last-of-type{margin-bottom:0;font-weight:600;color:#93402a}
.auth-ack{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;padding-top:8px;border-top:1px dashed #e8c8b8;color:#6f4a3a;font-size:10px;font-weight:600;line-height:1.4;cursor:pointer}
.auth-ack input{width:15px;height:15px;flex:none;margin:1px 0 0;accent-color:#a94a2d;cursor:pointer}
.auth-note.hidden{display:none}
[data-theme="dark"] .auth-warning{background:#2a1b17;border-color:#5a3b30}
[data-theme="dark"] .auth-warning p{color:#f0b394}
[data-theme="dark"] .auth-warning p:last-of-type{color:#f4c4aa}
[data-theme="dark"] .auth-ack{color:#c9a08c;border-top-color:#5a3b30}
[data-theme="dark"] .auth-ack input{accent-color:#f0b394}

/* Legal footer (SYN-7061) */
.viewer-footer{display:flex;justify-content:center;align-items:center;gap:11px;padding:10px 14px 12px;border-top:1px solid var(--line);background:#fff;font-size:11px}
.viewer-footer a{color:#8a6a58;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.viewer-footer a:hover{color:var(--blue-ink)}
.viewer-footer .footer-sep{color:#c2b4a8}
[data-theme="dark"] .viewer-footer{background:#150e0c;border-color:var(--line)}
[data-theme="dark"] .viewer-footer a{color:#c9a08c}
[data-theme="dark"] .viewer-footer a:hover{color:#f0b394}
[data-theme="dark"] .viewer-footer .footer-sep{color:#5a3b30}
