:root{color-scheme:light;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;color:#17231f;background:#e9ede9;--ink: #17231f;--muted: #68736e;--quiet: #89928e;--paper: #f8faf7;--panel: #f2f5f1;--canvas: #f8faf7;--line: rgba(23, 35, 31, .12);--line-strong: rgba(23, 35, 31, .2);--cyan: #147f9d;--cyan-dark: #0f6179;--wood: #9a6b3e;--purple: #745a97;--green: #2c7652;--amber: #ac741c;--red: #b74236;--blue-soft: #e0f0f4;--green-soft: #e2efe7;--amber-soft: #f5ebd8;--red-soft: #f6e2de;--radius-xs: 7px;--radius-sm: 9px;--radius-md: 13px;--radius-lg: 18px;--shadow-border: 0 0 0 1px rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .06), 0 2px 6px rgba(0, 0, 0, .035);--shadow-raised: 0 0 0 1px rgba(0, 0, 0, .055), 0 6px 18px -8px rgba(15, 38, 30, .16), 0 16px 34px -22px rgba(15, 38, 30, .18)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:#e9ede9}button,input,select{font:inherit}button{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:rgba(20,127,157,.12)}.market-app{--m-ink:#17332f;--m-muted:#70817b;--m-paper:#f8fbf8;--m-mint:#dff1eb;--m-teal:#117b70;--m-line:#dce8e2;min-height:100vh;color:var(--m-ink);background:#f4f8f5;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;letter-spacing:-.01em}.market-header{height:72px;padding:0 5.2vw;display:flex;align-items:center;gap:42px;background:#f8fbf8e6;border-bottom:1px solid var(--m-line);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.market-brand{display:flex;align-items:center;gap:10px;margin-right:18px}.market-brand-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--m-ink);font-family:Georgia,serif;font-size:20px;font-style:italic}.market-brand div{display:grid;gap:1px}.market-brand strong{font-family:Georgia,serif;font-size:18px;letter-spacing:-.04em}.market-brand span:last-child{color:var(--m-muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.market-nav{display:flex;gap:28px;height:100%}.market-nav button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--m-muted);cursor:pointer;font-size:12px;font-weight:650}.market-nav button.is-active{color:var(--m-ink);border-color:var(--m-teal)}.market-header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.market-icon-button,.market-menu,.drawer-close{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--m-muted);background:transparent;cursor:pointer}.market-icon-button:hover,.drawer-close:hover{background:#e6f0eb}.live-pill{display:flex;align-items:center;gap:6px;padding:6px 10px;color:#367061;background:#e4f3ed;border-radius:99px;font-size:10px;font-weight:700}.live-pill i,.signal-dot{width:6px;height:6px;border-radius:50%;background:#25a873;box-shadow:0 0 0 3px #25a8731f}.avatar{width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:#c48161;font-size:10px;font-weight:700}.market-menu{display:none}.market-main{max-width:1360px;margin:auto;padding:68px 5.2vw 80px}.market-topline{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-kicker{color:#8a9993;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.market-topline h1{max-width:640px;margin:12px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5.3vw,74px);font-weight:400;line-height:.93;letter-spacing:-.06em}.market-topline h1 em{color:var(--m-teal);font-style:italic}.market-intro{color:var(--m-muted);font-size:15px}.market-top-actions{display:flex;gap:9px;padding-bottom:5px}.soft-button,.dark-button,.filter-button,.full-button,.tradingview-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:0 14px;cursor:pointer;font-size:11px;font-weight:700;transition-property:background-color,scale;transition-duration:.15s}.soft-button{color:var(--m-ink);background:#fff;box-shadow:0 1px 4px #13332f14}.dark-button{color:#fff;background:var(--m-ink)}.soft-button:active,.dark-button:active,.filter-button:active,.full-button:active,.tradingview-button:active{scale:.96}.demo-notice{display:flex;gap:10px;align-items:center;padding:12px 14px;margin-bottom:22px;color:#765c29;background:#fff8e7;border:1px solid #f0e0b6;border-radius:10px;font-size:11px}.demo-notice svg{flex:0 0 auto}.market-hero-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.6fr);gap:16px}.hero-signal,.hero-chart-card,.asset-table-wrap,.commodity-card,.watch-card{background:#fff;border:1px solid var(--m-line);border-radius:15px;box-shadow:0 8px 22px #1f423609}.hero-signal{padding:24px;background:var(--m-ink);color:#edf7f2}.signal-top,.card-heading,.section-head,.commodity-head,.table-toolbar,.chart-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.signal-label{display:flex;align-items:center;gap:8px;color:#c9e7dd;font-size:11px;font-weight:700}.muted-label{color:#78948a;font-size:10px}.signal-score{margin:32px 0 15px;font-family:Georgia,serif;font-size:72px;line-height:.8;letter-spacing:-.08em}.signal-score span{margin-left:5px;color:#7f9c93;font-family:Avenir Next,sans-serif;font-size:13px;letter-spacing:0}.signal-meter{height:5px;margin-bottom:19px;border-radius:4px;background:#31544c;overflow:hidden}.signal-meter span{display:block;width:72%;height:100%;background:#8dd0bf;border-radius:4px}.hero-signal p{max-width:300px;color:#bdd2ca;font-size:12px;line-height:1.5}.signal-meta{display:flex;gap:20px;margin-top:27px;color:#85a299;font-size:10px}.signal-meta b{display:block;margin-bottom:2px;color:#dceee8;font-size:15px}.hero-chart-card{padding:24px 24px 17px}.card-heading h2,.section-head h2{margin:5px 0 0;font-family:Georgia,serif;font-size:21px;font-weight:400;letter-spacing:-.04em}.more-button{width:31px;height:31px;display:grid;place-items:center;color:var(--m-teal);border:1px solid var(--m-line);border-radius:50%;background:#fff}.big-chart{height:220px;position:relative;display:flex;margin-top:22px}.big-chart svg{width:100%;height:100%}.chart-axis{width:28px;display:flex;flex-direction:column;justify-content:space-between;padding:5px 0 20px;color:#9aa8a1;font-size:9px}.chart-footer{padding:0 3px 0 30px;color:#a0ada7;font-size:9px}.chart-footer b{display:flex;align-items:center;gap:4px;color:var(--m-teal);font-size:11px}.market-section{margin-top:62px}.section-head{align-items:end;margin-bottom:15px}.text-button{display:flex;align-items:center;gap:5px;color:var(--m-teal);border:0;background:transparent;cursor:pointer;font-size:11px;font-weight:700}.asset-table-wrap{overflow:hidden}.table-toolbar{padding:13px 15px;border-bottom:1px solid var(--m-line)}.search-box{display:flex;align-items:center;gap:8px;width:min(300px,60%);color:#9aa8a1}.search-box input{width:100%;border:0;outline:0;color:var(--m-ink);background:transparent;font-size:11px}.table-toolbar select,.filter-button{min-height:34px;border:1px solid var(--m-line);border-radius:7px;color:var(--m-ink);background:#fff;padding:0 9px;font-size:10px}.filter-button{display:none}.asset-table{width:100%;border-collapse:collapse;text-align:left}.asset-table th{padding:13px 16px 10px;color:#9ba9a3;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.asset-table td{padding:15px 16px;border-top:1px solid #edf2ef;font-size:12px}.asset-table tbody tr{cursor:pointer;transition-property:background-color;transition-duration:.15s}.asset-table tbody tr:hover,.asset-table tbody tr.selected{background:#f4faf7}.asset-name{display:flex;align-items:center;gap:10px}.ticker-badge{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--m-teal);background:#e3f2ed;font-size:9px;font-weight:800}.asset-name span:last-child,.asset-table td:nth-child(2){display:grid;gap:3px}.asset-name small,.table-reason{color:#9aa8a1;font-size:9px}.signal-tag{width:max-content;padding:4px 7px;border-radius:5px;color:#317461;background:#e1f1e9;font-size:9px;font-weight:750}.signal-tag.momentum{color:#775f99;background:#eee7f7}.signal-tag.volgen{color:#946326;background:#f8eddc}.trend-cell{width:140px}.mini-chart{width:115px;height:31px}.mini-chart polyline{stroke:#278b7c;stroke-width:2.4}.chart-orange polyline{stroke:#cc884a}.chart-purple polyline{stroke:#9670aa}.chart-blue polyline{stroke:#5e89ae}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.positive{color:#258362!important}.negative{color:#bd6758!important}.score-chip{display:grid;place-items:center;width:31px;height:25px;color:#367768;background:#e3f2ed;border-radius:6px;font-size:11px;font-weight:800}.row-chevron{color:#afbbb5}.empty-state{padding:28px;color:var(--m-muted);font-size:12px;text-align:center}.lower-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:17px;margin-top:62px}.commodity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.commodity-card{padding:15px}.commodity-head{justify-content:flex-start}.commodity-head>span:nth-child(2){display:grid;flex:1;gap:2px}.commodity-head b{font-size:11px}.commodity-head small{color:#9ba9a3;font-size:9px}.commodity-head>span:last-child{font-size:10px;font-weight:750}.commodity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#147b6d;background:#e1f2ec}.commodity-icon.orange{color:#bf7b3c;background:#fbecd8}.commodity-icon.purple{color:#87639c;background:#eee7f5}.commodity-icon.blue{color:#547fa4;background:#e6eef5}.commodity-price{margin:17px 0 4px;font-family:Georgia,serif;font-size:23px;letter-spacing:-.05em}.commodity-card .mini-chart{width:100%;height:36px}.average-label{color:#9aa8a1;font-size:9px}.watch-card{padding:20px}.watch-card>.section-head svg{color:#8ea69e}.insider-item{display:flex;align-items:center;gap:9px;padding:15px 0;border-bottom:1px solid #edf2ef}.insider-avatar{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:#82a6a0;border-radius:50%;font-size:9px;font-weight:800}.insider-avatar.purple{background:#9d86b4}.insider-avatar.orange{background:#c99562}.insider-item>div{display:grid;flex:1;gap:2px}.insider-item b{font-size:11px}.insider-item small{color:#9aa8a1;font-size:9px}.insider-buy{color:#258362;font-size:9px;text-align:right}.insider-buy b{font-size:12px}.full-button{width:100%;margin-top:15px;color:var(--m-teal);background:#e5f3ee}.detail-drawer{position:fixed;right:24px;bottom:24px;z-index:12;width:290px;padding:21px;border:1px solid #cfe2da;border-radius:15px;background:#fff;box-shadow:0 16px 50px #14393029}.drawer-close{position:absolute;top:10px;right:10px;width:30px;height:30px}.detail-drawer h2{margin:9px 0 8px;font-family:Georgia,serif;font-size:26px}.detail-drawer h2 span{display:block;color:var(--m-muted);font-family:Avenir Next,sans-serif;font-size:10px;font-weight:500;letter-spacing:0}.detail-drawer p{color:var(--m-muted);font-size:11px;line-height:1.5}.drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.drawer-stats div{display:grid;gap:4px;padding:9px;background:#f5faf7;border-radius:7px}.drawer-stats small{color:#94a39d;font-size:9px}.drawer-stats b{font-size:12px}.tradingview-button{width:100%;color:#fff;background:var(--m-ink)}.drawer-note{display:block;margin-top:10px;color:#a1aaa6;font-size:9px;line-height:1.4}.market-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 5.2vw;border-top:1px solid var(--m-line);color:#91a19a;font-size:9px}.market-footer span:last-child{display:flex;align-items:center;gap:4px}@media(max-width:900px){.market-header{padding:0 20px;gap:15px}.market-menu{display:grid;order:2}.market-nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;padding:12px 20px;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--m-line)}.market-nav.is-open{display:flex}.market-nav button{padding:13px 0;text-align:left}.market-header-actions{margin-left:auto}.market-main{padding:45px 20px 65px}.market-topline,.market-hero-grid,.lower-grid{grid-template-columns:1fr;display:grid}.market-topline{align-items:start}.market-top-actions{padding:0}.commodity-grid{grid-template-columns:repeat(2,1fr)}.market-footer{padding:18px 20px;flex-wrap:wrap}.market-footer span:nth-child(2){order:3;width:100%}}@media(max-width:620px){.market-brand{margin-right:0}.market-brand span:last-child,.live-pill{display:none}.market-topline h1{font-size:48px}.market-top-actions{width:100%}.market-top-actions button{flex:1}.table-toolbar{flex-wrap:wrap}.search-box{width:100%;max-width:none}.table-toolbar select{flex:1}.filter-button{display:inline-flex}.asset-table{min-width:760px}.asset-table-wrap{overflow-x:auto}.lower-grid{margin-top:45px}.commodity-grid{grid-template-columns:1fr 1fr}.detail-drawer{right:12px;bottom:12px;left:12px;width:auto}.market-footer{display:grid;gap:9px}}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p,li,small{text-wrap:pretty}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:9px 12px;border-radius:8px;color:#fff;background:var(--ink);transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.app-shell{min-height:100vh}.app-header{position:sticky;z-index:20;top:0;height:60px;padding:0 14px;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;gap:16px;background:#f7f9f6f2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-block,.report-brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark,.report-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#f7faf8;background:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.08em}.brand-block>div,.report-brand>div{min-width:0;display:grid;gap:1px}.brand-block strong,.report-brand strong{font-size:14px;letter-spacing:-.01em}.brand-block span:last-child,.report-brand span:last-child{overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.view-switcher{display:flex;padding:3px;border-radius:10px;background:#e8ece8;box-shadow:inset 0 0 0 1px #17231f0a}.view-switcher button,.header-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;cursor:pointer;transition-property:background-color,color,box-shadow,scale;transition-duration:.15s;transition-timing-function:ease-out}.view-switcher button{padding:0 13px 0 12px;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.view-switcher button.is-active{color:var(--ink);background:var(--paper);box-shadow:var(--shadow-border)}.view-switcher button:disabled{cursor:not-allowed;opacity:.45}.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.header-actions button{padding:0 12px 0 11px;border-radius:9px;font-size:12px;font-weight:650}.header-actions button:active,.segmented button:active{scale:.96}.icon-action{width:40px;padding:0!important;background:transparent}.secondary-action{color:var(--ink);background:var(--paper);box-shadow:var(--shadow-border)}.primary-action{color:#fff;background:var(--ink);box-shadow:0 1px 2px #00000024,0 5px 12px -8px #0006}.header-actions button:hover,.view-switcher button:hover{color:var(--ink)}.secondary-action:hover,.icon-action:hover{background:#edf1ed}.primary-action:hover{background:#25342f}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid rgba(20,127,157,.82);outline-offset:2px}.load-error{position:fixed;z-index:30;top:70px;left:50%;transform:translate(-50%);max-width:min(560px,calc(100vw - 32px));padding:10px 14px;border-radius:10px;color:#7b2821;background:#fff3f0;box-shadow:var(--shadow-raised);font-size:12px}.workspace-layout{height:calc(100vh - 60px);min-height:650px;display:grid;grid-template-columns:minmax(294px,320px) minmax(500px,1fr) minmax(320px,350px);gap:1px;background:var(--line)}.input-panel,.results-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bbc2bd transparent}.input-panel{background:var(--panel)}.results-panel{padding:13px;background:#eef1ed}.canvas-column{min-width:0;min-height:0;padding:14px;display:flex;flex-direction:column;gap:10px;overflow:hidden;background:#e7ebe7}.input-section{padding:15px 14px 18px;border-bottom:1px solid var(--line)}.section-heading,.result-heading,.report-section-header{display:flex;align-items:flex-start;gap:10px}.section-heading{margin-bottom:14px}.section-heading>span,.report-section-header>span{min-width:24px;color:var(--cyan-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:20px}.section-heading>div,.result-heading>div,.report-section-header>div{min-width:0}.section-heading h2,.result-heading h2,.report-section-header h2{margin:0;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;color:var(--ink);font-size:15px;font-weight:650;letter-spacing:.01em}.section-heading small{display:block;margin-top:2px;color:var(--quiet);font-size:10px}.field-grid{display:grid;gap:10px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-fields,.obstacle-grid{margin-bottom:10px}.subsection-label{margin:14px 0 8px;padding-top:11px;border-top:1px solid var(--line);color:var(--cyan-dark);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.advanced-grid{margin-top:12px}.override-editor{margin-top:7px;padding:11px;display:grid;gap:10px;border-left:3px solid var(--amber);border-radius:7px;background:#f8f1e5}.input-note{margin:8px 0 0;padding:9px 10px;border-left:3px solid #9fbac1;color:var(--muted);background:#edf3f2;font-size:9px;line-height:1.45}.roller-config-grid{display:grid;gap:8px}.roller-config{padding:10px;border-radius:10px;background:#f3f6f3;box-shadow:inset 0 0 0 1px #243b3214}.roller-config>strong{display:block;margin-bottom:8px;color:var(--ink);font-size:10px}.progress-slider-field{margin:8px 0 12px;display:grid;gap:7px}.progress-slider-field>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px}.progress-slider-field strong,.progress-slider-field small{font-family:SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.progress-slider-field strong{color:var(--cyan-dark);font-size:12px}.progress-slider-field small{color:var(--quiet);font-size:8px}.progress-slider-field input{width:100%;accent-color:var(--cyan-dark);cursor:ew-resize}.protection-list{display:grid;gap:6px}.protection-list-item{width:100%;min-height:42px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:#ffffff8a;cursor:pointer;text-align:left;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}.protection-list-item:hover{border-color:#147f9d52;background:#fff}.protection-list-item.is-active,.protection-list-item.is-selected,.protection-list-item[aria-selected=true]{border-color:#147f9d85;color:var(--ink);background:var(--blue-soft);box-shadow:0 0 0 1px #147f9d14}.protection-list-item strong{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-variant-numeric:tabular-nums}.protection-list-item span,.protection-list-item small{color:inherit;font-size:9px}.protection-list-item>span:first-child{display:grid;gap:2px}.protection-actions{margin:8px 0 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.protection-actions button,.add-condition{min-height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:#42514a;background:#fbfcfa;cursor:pointer;font-size:9.5px;font-weight:650}.protection-actions button:disabled{cursor:not-allowed;opacity:.42}.protection-editor{padding-top:2px;display:grid;gap:10px;border-top:1px solid var(--line)}.position-slider{width:100%;accent-color:var(--cyan)}.field-shell{min-width:0;display:grid;gap:5px}.field-label{min-height:16px;display:flex;align-items:center;gap:4px;color:#4d5954;font-size:10.5px;font-weight:600}.field-hint-icon{flex:0 0 auto;color:var(--quiet)}.field-control-wrap{position:relative;display:block}.field-control-wrap input,.field-control-wrap select{width:100%;min-height:38px;padding:0 10px;border:1px solid rgba(23,35,31,.17);border-radius:var(--radius-sm);color:var(--ink);background:#fbfcfa;font-size:12px;font-variant-numeric:tabular-nums;transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:ease-out}.field-control-wrap select{padding-right:30px}.field-control-wrap input:hover,.field-control-wrap select:hover{border-color:#17231f45;background:#fff}.field-unit{position:absolute;top:50%;right:9px;transform:translateY(-50%);pointer-events:none;color:var(--quiet);font-family:SFMono-Regular,Consolas,monospace;font-size:9px;letter-spacing:-.02em}.field-unit+*{pointer-events:none}.field-control-wrap:has(.field-unit) input{padding-right:44px}.segmented-field{min-width:0;margin:10px 0 0;padding:0;border:0}.segmented-field legend{margin-bottom:5px;color:#4d5954;font-size:10.5px;font-weight:600}.segmented{padding:3px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-radius:10px;background:#e4e9e4}.segmented button{min-height:34px;padding:0 7px;border:0;border-radius:7px;cursor:pointer;color:var(--muted);background:transparent;font-size:10.5px;font-weight:650;transition-property:background-color,color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out}.segmented button.is-active{color:var(--ink);background:#f9fbf8;box-shadow:var(--shadow-border)}.position-slider{width:100%;height:26px;margin:3px 0 8px;accent-color:var(--cyan)}.toggle-row{position:relative;min-height:46px;margin-top:7px;padding:7px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}.toggle-row>span:first-child{min-width:0;display:grid;gap:2px}.toggle-row strong{font-size:11px;font-weight:650}.toggle-row small{color:var(--quiet);font-size:9.5px;line-height:1.35}.toggle-row input{position:absolute;opacity:0}.toggle-visual{width:34px;height:20px;padding:2px;flex:0 0 auto;border-radius:999px;background:#c7cfca;box-shadow:inset 0 0 0 1px #17231f14;transition-property:background-color;transition-duration:.16s}.toggle-visual span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #17231f33;transition-property:transform;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1)}.toggle-row input:checked+.toggle-visual{background:var(--cyan)}.toggle-row input:checked+.toggle-visual span{transform:translate(14px)}.toggle-row input:focus-visible+.toggle-visual{outline:2px solid rgba(20,127,157,.82);outline-offset:2px}.guy-editor+.guy-editor{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.condition-editor{margin-top:10px;padding:10px;display:grid;gap:9px;border:1px solid var(--line);border-radius:10px;background:#f8faf7b8}.condition-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.condition-heading strong{font-size:10px}.condition-heading button,.add-condition{min-height:32px;padding:0 9px;border:1px solid var(--line-strong);border-radius:7px;cursor:pointer;color:var(--muted);background:var(--paper);font-size:9px;font-weight:650}.add-condition{width:100%;margin-top:10px}.evidence-editor{margin-top:9px;border:1px solid var(--line);border-radius:10px;background:#f8faf7b8}.evidence-editor>summary{min-height:50px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.evidence-editor>summary::-webkit-details-marker{display:none}.evidence-editor>summary>span{min-width:0;display:grid;gap:2px}.evidence-editor>summary strong{font-size:10.5px}.evidence-editor>summary small{color:var(--quiet);font-size:8.5px;line-height:1.35}.evidence-editor>summary b{padding:3px 6px;border-radius:5px;color:#65716b;background:#e8ece9;font-size:8px;white-space:nowrap}.evidence-approved>summary b{color:#1d6543;background:var(--green-soft)}.evidence-rejected>summary b,.evidence-stale>summary b,.evidence-incomplete>summary b{color:#8f2e27;background:var(--red-soft)}.evidence-body{padding:0 10px 11px;display:grid;gap:9px;border-top:1px solid var(--line)}.fingerprint-row{padding:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px;background:#edf1ed}.fingerprint-row>span{min-width:0;display:grid;gap:2px}.fingerprint-row small{color:var(--quiet);font-size:8px}.fingerprint-row code{color:#405049;font-size:9px}.fingerprint-row button{min-height:32px;padding:0 8px;flex:0 0 auto;border:0;border-radius:7px;cursor:pointer;color:#fff;background:var(--ink);font-size:8.5px;font-weight:650}.evidence-warning{margin:0;color:#8f2e27;font-size:9px}.span-stage{min-height:0;flex:1 1 auto;padding:18px 18px 13px;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--canvas);box-shadow:var(--shadow-raised)}.calculation-blocker{min-height:0;padding:30px;display:flex;flex:1 1 auto;align-items:flex-start;gap:14px;border-radius:var(--radius-lg);color:#7b2f28;background:#fff7f5;box-shadow:var(--shadow-raised)}.calculation-blocker h1{margin:6px 0 8px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:28px}.calculation-blocker p,.calculation-blocker li{color:#715a54;font-size:11px;line-height:1.5}.calculation-blocker ul{margin:14px 0 0;padding-left:18px}.stage-heading{min-height:50px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow,.status-kicker{display:block;color:var(--cyan-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.stage-heading h1{margin:4px 0 0;color:var(--ink);font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(21px,2vw,29px);font-weight:620;letter-spacing:-.015em;line-height:1.05}.stage-model{display:grid;justify-items:end;gap:2px;color:var(--muted);font-size:10px}.stage-model strong{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums}.span-toolbar{min-height:36px;margin:5px 0 3px;padding:3px;display:flex;align-items:center;gap:3px;border-radius:9px;background:#edf1ed;box-shadow:inset 0 0 0 1px #17231f0d}.span-toolbar .toolbar-label{margin:0 7px;color:var(--quiet);font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.span-toolbar button{min-height:30px;padding:0 10px;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer;font-size:9.5px;font-weight:650}.span-toolbar button:hover,.span-toolbar button.is-active{color:var(--ink);background:#fff;box-shadow:var(--shadow-border)}.span-svg{width:100%;min-height:330px;flex:1 1 auto;touch-action:none;-webkit-user-select:none;user-select:none}.span-svg.is-dragging{cursor:grabbing}.ground-line{fill:none;stroke:#8e9b94;stroke-width:1.4}.obstacle-visual polygon{stroke-width:2;vector-effect:non-scaling-stroke}.obstacle-visual.obstacle-road polygon{fill:#4a545047;stroke:#59635f}.obstacle-visual.obstacle-rail polygon{fill:#7e705c33;stroke:#6f6559}.obstacle-visual.obstacle-water polygon{fill:#147f9d2e;stroke:#147f9d}.obstacle-visual.is-pass polygon{stroke:var(--green)}.obstacle-visual.is-fail polygon{stroke:var(--red)}.obstacle-marking{stroke:#ffffffeb;stroke-width:1.5;stroke-dasharray:9 7;vector-effect:non-scaling-stroke}.rail-line,.rail-sleeper{stroke:#4f4840;stroke-width:1.8;vector-effect:non-scaling-stroke}.rail-sleeper{stroke-width:1.2}.water-line{fill:none;stroke:#147f9d;stroke-width:1.5;vector-effect:non-scaling-stroke}.obstacle-label{fill:#273630;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;letter-spacing:.04em}.obstacle-catch-path{fill:none;stroke-width:2.2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.obstacle-catch-path.is-pass{stroke:var(--green)}.obstacle-catch-path.is-fail{stroke:var(--red)}.bridge-plate line{stroke:#5d7690;stroke-width:7;stroke-linecap:square;vector-effect:non-scaling-stroke}.bridge-plate-surface{fill:#5d76903d;stroke:#5d7690;stroke-width:1.8;vector-effect:non-scaling-stroke}.roller-load-path .downline{stroke:#b6632f;stroke-width:2.3;vector-effect:non-scaling-stroke}.roller-load-path .arm-brace{stroke:#72588a;stroke-width:2;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.simulation-overlay{pointer-events:none}.simulation-falling-conductor{fill:none;stroke:#b74236;stroke-width:3;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;animation:simulation-conductor-fall 1.15s cubic-bezier(.4,0,.2,1) both}.simulation-falling-conductor.is-medium{stroke:var(--purple);stroke-dasharray:5 5;animation-delay:70ms}.simulation-segment-label{fill:#7a2828;paint-order:stroke;stroke:#f8faf7;stroke-width:4;stroke-linejoin:round;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;font-weight:750;letter-spacing:.04em;animation:simulation-label .32s ease-out .18s both}.simulation-segment-label.is-medium{fill:#644d7c}.simulation-coupling{color:#8b2f2f}.simulation-coupling path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:3;vector-effect:non-scaling-stroke}.simulation-coupling-burst{fill:#b742361f;stroke:currentColor;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:simulation-coupling-burst .7s cubic-bezier(.2,0,0,1) .12s both}.simulation-coupling-left,.simulation-coupling-right{transform-box:fill-box;transform-origin:center}.simulation-coupling-left{animation:simulation-coupling-left .7s cubic-bezier(.2,0,0,1) .12s both}.simulation-coupling-right{animation:simulation-coupling-right .7s cubic-bezier(.2,0,0,1) .12s both}.simulation-coupling-fracture{opacity:0;animation:simulation-fracture .56s ease-out .12s both}.simulation-overlay.is-release .simulation-coupling-fracture{display:none}.simulation-overlay.is-release .simulation-coupling{color:var(--cyan-dark)}.simulation-coupling text{fill:currentColor;paint-order:stroke;stroke:#f8faf7;stroke-width:4;stroke-linejoin:round;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:.04em;animation:simulation-label .32s ease-out .42s both}.simulation-drop-guide{stroke:#b7423673;stroke-width:1.4;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;animation:simulation-guide .42s ease-out var(--impact-delay) both}.simulation-falling-point{fill:#fff;stroke:#b74236;stroke-width:2.5;vector-effect:non-scaling-stroke;animation:simulation-contact-fall .9s cubic-bezier(.4,0,.2,1) var(--impact-delay) both}.simulation-impact-ring{fill:#b7423624;stroke:#b74236;stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:simulation-impact .52s cubic-bezier(.2,0,0,1) calc(var(--impact-delay) + .85s) both}.simulation-contact.is-obstacle .simulation-impact-ring{fill:#8b2f2f38;stroke-width:3}.simulation-impact-label{fill:#7a2828;paint-order:stroke;stroke:#f8faf7;stroke-width:4;stroke-linejoin:round;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;animation:simulation-label .32s ease-out calc(var(--impact-delay) + .9s) both}.simulation-status{margin:-2px 12px 10px;padding:7px 10px;border-left:3px solid var(--red);color:#7a2828;background:var(--red-soft);font-size:9px;line-height:1.4}.simulation-status.is-pull{border-left-color:var(--cyan-dark);color:#225a67;background:var(--blue-soft)}.pull-distribution-overlay{pointer-events:none}.moving-coupling circle{fill:#ffffffe6;stroke:var(--cyan-dark);stroke-width:2.5;vector-effect:non-scaling-stroke}.moving-coupling .moving-coupling-core{fill:var(--cyan);stroke:#fff;stroke-width:1.5}.pull-distribution-overlay.is-running .moving-coupling>circle:first-child{stroke-width:3.5}.moving-coupling text,.pull-force-marker text{fill:#225a67;paint-order:stroke;stroke:#f8faf7;stroke-width:4;stroke-linejoin:round;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}.pull-force-marker line{stroke:#147f9d80;stroke-width:1.5;stroke-dasharray:3 3}.pull-force-marker rect{fill:#147f9db8}@keyframes simulation-conductor-fall{0%{opacity:.2;transform:translateY(0)}70%{opacity:.9}to{opacity:.32;transform:translateY(var(--event-drop-y))}}@keyframes simulation-coupling-burst{0%{opacity:0;scale:.25;filter:blur(4px)}55%{opacity:1;scale:1.4;filter:blur(0)}to{opacity:.7;scale:1;filter:blur(0)}}@keyframes simulation-coupling-left{0%{transform:translate(0)}to{transform:translate(-5px)}}@keyframes simulation-coupling-right{0%{transform:translate(0)}to{transform:translate(5px)}}@keyframes simulation-fracture{0%{opacity:0;scale:.25;filter:blur(4px)}45%,to{opacity:1;scale:1;filter:blur(0)}}@keyframes simulation-guide{0%{opacity:0}to{opacity:1}}@keyframes simulation-contact-fall{0%{transform:translateY(0)}to{transform:translateY(var(--drop-y))}}@keyframes simulation-impact{0%{opacity:0;scale:.25;filter:blur(4px)}60%{opacity:1;scale:1.35;filter:blur(0)}to{opacity:1;scale:1;filter:blur(0)}}@keyframes simulation-label{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tower path{fill:none;stroke:#3f4f48;stroke-width:1.3;vector-effect:non-scaling-stroke}.tower .crossarm{stroke-width:2.4}.tower .crossarm-detail{stroke-width:1.1}.tower .insulator{fill:#eef3f0;stroke:#56665f;stroke-width:1.2}.tower .rolling-wheel{fill:#f8faf7;stroke:var(--cyan);stroke-width:2.3}.tower-plan>circle:first-child{fill:#3f4f4814;stroke:#3f4f48;stroke-width:1.4}.tower circle{fill:#f8faf7;stroke:var(--cyan-dark);stroke-width:2.5}.svg-label,.dimension-line text,.protection-callout text{fill:#617069;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-variant-numeric:tabular-nums}.svg-label.strong{fill:#34443d;font-weight:700}.conductor-halo{fill:none;stroke:#f8faf7;stroke-width:7;stroke-linecap:round}.conductor-line{fill:none;stroke:var(--cyan);stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 2px 2px rgba(20,127,157,.15))}.line-axis{stroke:#9da8a3;stroke-width:1.2;stroke-dasharray:7 6}.pulling-segment{fill:none;stroke-width:5.2;stroke-linecap:round;opacity:.78}.pulling-segment.left{stroke:var(--cyan)}.pulling-segment.right{stroke:var(--purple);stroke-dasharray:8 5}.pulling-event line{stroke:#b742368c;stroke-width:1;stroke-dasharray:4 5}.pulling-event circle{fill:#fff;stroke:var(--red);stroke-width:3}.low-point{fill:#f8faf7;stroke:var(--red);stroke-width:2.5}.obstacle rect{fill:#cbd2cd;stroke:#7f8b85;stroke-width:1}.obstacle line{stroke:#fff;stroke-width:2;stroke-dasharray:10 7}.guy-wire line{stroke:var(--purple);stroke-width:2;stroke-dasharray:6 4}.guy-wire circle{fill:#f8faf7;stroke:var(--purple);stroke-width:2.5}.drag-handle,.protection.is-interactive{cursor:grab}.protection-hit{fill:#0000;stroke:none!important}.protection:focus-visible{outline:none}.protection.is-selected{filter:none}.protection.is-selected .drag-dot{stroke:var(--cyan-dark);stroke-width:3}.portal>line:not(.middle-post){stroke:var(--wood);stroke-width:7;stroke-linecap:round}.portal .portal-beam{stroke-width:9}.portal .portal-beam.secondary{stroke:#7e5632;stroke-width:6}.portal .middle-post{stroke:#78512d;stroke-width:3}.portal-plan-post,.middle-post-dot{fill:#f8faf7;stroke:var(--wood);stroke-width:2}.middle-post-dot{fill:#b4875e}.scaffold>rect:not(.protection-hit),.scaffold>path{fill:#63716b1a;stroke:#65736d;stroke-width:2}.scaffold .roof-plate{fill:#8d9a93!important;stroke:#53615a!important}.scaffold .scaffold-frame-fill{fill:#63716b0f!important;stroke:none!important}.scaffold .scaffold-standard,.scaffold .scaffold-ledger,.scaffold .scaffold-brace,.scaffold .scaffold-baseplate{fill:none;stroke:#53645c;vector-effect:non-scaling-stroke}.scaffold .scaffold-standard{stroke-width:2.4}.scaffold .scaffold-ledger{stroke-width:1.5}.scaffold .scaffold-brace{stroke:#77857e;stroke-width:1.2}.scaffold .scaffold-baseplate{stroke:#3f5048;stroke-width:3}.scaffold-footprint{fill:#5d716829;stroke:#526961;stroke-width:1.7}.drag-dot{fill:var(--wood);stroke:#fff;stroke-width:2}.dimension-line line{stroke:#9da7a2;stroke-width:1}.distance-chain line{stroke:#929f98;stroke-width:1}.distance-chain text{fill:#53635b;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:650;font-variant-numeric:tabular-nums}.protection-callout line{stroke:#9b7b5d;stroke-width:1}.protection-callout rect{fill:#f9faf7f5;stroke:#17231f1a}.protection-callout text{fill:#4f5d56;font-size:9px}.protection-callout .clearance{fill:var(--cyan-dark);font-weight:700}.stage-legend{min-height:32px;display:flex;align-items:center;gap:17px;color:var(--muted);font-size:9.5px}.stage-legend>span{display:flex;align-items:center;gap:6px}.stage-legend em{margin-left:auto;color:var(--quiet);font-style:normal}.legend-line{width:18px;height:0;display:block;border-top:2px solid}.legend-line.conductor{border-color:var(--cyan)}.legend-line.guy{border-color:var(--purple);border-top-style:dashed}.legend-block.protection{width:11px;height:11px;border-radius:2px;background:var(--wood)}.legend-dot.low{width:8px;height:8px;border-radius:50%;background:var(--red)}.workspace-note{min-height:52px;padding:8px 13px;display:flex;align-items:center;gap:10px;border-radius:11px;color:#6f572b;background:#f5ecd9;box-shadow:0 0 0 1px #6d4e181c;font-size:10px}.workspace-note strong{flex:0 0 auto}.workspace-note span{line-height:1.35}.status-card,.result-section{border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-border)}.status-card{padding:14px;overflow:hidden;position:relative}.status-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--amber)}.status-card.status-suitable:before{background:var(--green)}.status-card.status-unsuitable:before{background:var(--red)}.status-card.status-conditional:before{background:var(--amber)}.status-card.status-insufficient-data:before{background:#7a8580}.status-card strong{display:block;margin-top:5px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:20px;font-weight:650;letter-spacing:-.01em}.status-card p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.obstacle-protection-summary{margin-top:10px;padding:13px;border-left:4px solid var(--red);border-radius:var(--radius-md);background:var(--red-soft);box-shadow:var(--shadow-border)}.obstacle-protection-summary.is-pass{border-left-color:var(--green);background:var(--green-soft)}.obstacle-protection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.obstacle-protection-heading h2{margin-top:3px;font-size:16px}.obstacle-protection-heading>strong{padding:5px 8px;border-radius:7px;color:#8b2f2f;background:#ffffffb8;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.05em}.obstacle-protection-summary.is-pass .obstacle-protection-heading>strong{color:#226343}.obstacle-protection-summary>p{margin:7px 0;color:var(--muted);font-size:10px;line-height:1.45}.obstacle-protection-summary dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.obstacle-protection-summary dl>div{display:flex;justify-content:space-between;gap:8px;font-size:9px}.obstacle-protection-summary dt{color:var(--quiet)}.obstacle-protection-summary dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.obstacle-protection-summary>small{display:block;margin-top:8px;color:var(--quiet);font-size:8.5px;line-height:1.4}.obstacle-protection-summary .critical-force{grid-column:1 / -1;margin-top:3px;padding-top:6px;border-top:1px solid rgba(139,47,47,.2);color:#7f2929;font-weight:700}.simulation-action{min-height:40px;margin-top:10px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:8px;color:#fff;background:#8b2f2f;cursor:pointer;font-size:9px;font-weight:750;transition-property:background-color,scale;transition-duration:.14s}.simulation-action:hover{background:#742626}.simulation-action:active{scale:.96}.simulation-action.is-pass{background:#287052}.simulation-action.is-pass:hover{background:#205e45}.minimum-proposal{margin-top:10px;padding:13px;border-radius:var(--radius-md);background:#eef4f3;box-shadow:var(--shadow-border)}.minimum-proposal.is-infeasible{background:var(--red-soft)}.minimum-proposal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.minimum-proposal-heading h2{margin-top:3px;font-size:16px;text-wrap:balance}.minimum-proposal-heading button{min-height:40px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:var(--cyan-dark);cursor:pointer;font-size:9px;font-weight:700;transition-property:background-color,scale;transition-duration:.14s}.minimum-proposal-heading button:active{scale:.96}.minimum-proposal-heading button:disabled{color:var(--quiet);background:#dce2df;cursor:not-allowed}.minimum-proposal>p,.minimum-proposal>small{display:block;margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.45;text-wrap:pretty}.minimum-proposal dl{margin:9px 0 0;display:grid;gap:5px}.minimum-proposal dl>div{display:flex;justify-content:space-between;gap:12px;font-size:9px}.minimum-proposal dt{color:var(--quiet)}.minimum-proposal dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.metrics-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;border-radius:11px;background:var(--line);box-shadow:var(--shadow-border)}.metric{min-width:0;padding:10px;display:grid;gap:3px;background:var(--paper)}.metric span{overflow:hidden;color:var(--quiet);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.metric strong{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.result-section{margin-top:10px;padding:13px}.result-heading{justify-content:space-between;align-items:center;margin-bottom:10px}.result-heading.compact{margin-bottom:8px}.protection-result-state{flex:0 0 auto;padding:4px 6px;border-radius:6px;color:#74581e;background:var(--amber-soft);font-size:8px!important;font-weight:700}.protection-result-state.is-positive{color:#226343;background:var(--green-soft)}.protection-list-live{display:grid;justify-items:end;gap:3px}.protection-list-live>small{color:var(--cyan-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:8.5px;font-weight:700;font-variant-numeric:tabular-nums}.scaffold-udl-screening{padding-right:6px!important;padding-left:6px!important;border-left:3px solid #65736d!important;background:#eef1ef}.resistance-screening-result,.resistance-utilization{padding-right:6px!important;padding-left:6px!important;border-left:3px solid #397052!important;background:var(--green-soft)}.resistance-utilization.is-over{border-left-color:var(--red)!important;background:var(--red-soft)}.resistance-utilization.is-over dd{color:#8b2f2f;font-weight:750}.pulling-simulation-action{min-height:40px;padding:0 11px;flex:0 0 auto;border:0;border-radius:8px;color:#fff;background:var(--cyan-dark);cursor:pointer;font-size:8.5px;font-weight:750;transition-property:background-color,scale;transition-duration:.14s}.pulling-simulation-action:active{scale:.96}.pulling-simulation-action[aria-pressed=true]{background:#8b2f2f}.protection-detail,.pulling-detail{margin-top:9px;padding-top:10px;border-top:1px solid var(--line)}.protection-detail dl,.pulling-detail dl{margin:0;display:grid}.protection-detail dl>div,.pulling-detail dl>div{min-height:31px;padding:5px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line)}.protection-detail dl>div:first-child,.pulling-detail dl>div:first-child{border-top:0}.protection-detail dt,.pulling-detail dt{color:var(--muted);font-size:9px}.protection-detail dd,.pulling-detail dd{margin:0;color:#405049;font-family:SFMono-Regular,Consolas,monospace;font-size:8.8px;text-align:right;font-variant-numeric:tabular-nums}.protection-detail dl>.pulling-contact-result,.pulling-detail dl>.pulling-contact-result{padding-right:6px;padding-left:6px;border-left:3px solid var(--cyan-dark);background:#edf3f2}.pulling-progress-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pulling-progress-card{min-width:0;padding:8px 5px;display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;background:#f5f7f4;text-align:center}.pulling-progress-card.is-selected{border-color:#147f9d7a;background:var(--blue-soft)}.pulling-progress-card strong{font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.pulling-progress-card span{overflow:hidden;color:var(--quiet);font-size:7.5px;white-space:nowrap;text-overflow:ellipsis}.unknown-count{padding:3px 6px;border-radius:5px;color:#616e68;background:#e9ede9;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.check-list{display:grid}.check{border-top:1px solid var(--line)}.check:first-child{border-top:0}.check summary{min-height:46px;padding:7px 0;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;cursor:pointer;list-style:none}.check summary::-webkit-details-marker{display:none}.check-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#69746f;background:#e8ece9}.check-pass .check-icon{color:var(--green);background:var(--green-soft)}.check-fail .check-icon{color:var(--red);background:var(--red-soft)}.check-condition .check-icon{color:var(--amber);background:var(--amber-soft)}.check summary>span:nth-child(2){min-width:0;display:grid;gap:2px}.check summary strong{overflow:hidden;font-size:10.5px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.check summary small{overflow:hidden;color:var(--quiet);font-size:8.5px;white-space:nowrap;text-overflow:ellipsis}.check summary b{color:#4e5c55;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.check>p{margin:-2px 0 9px 31px;color:var(--muted);font-size:9px;line-height:1.45}.check .check-resistance{color:var(--ink)}.sensitivity-chart{display:grid;gap:6px}.sensitivity-row{display:grid;grid-template-columns:36px minmax(0,1fr) 49px;align-items:center;gap:7px;color:var(--quiet);font-family:SFMono-Regular,Consolas,monospace;font-size:8.5px;font-variant-numeric:tabular-nums}.sensitivity-row i{height:6px;border-radius:999px;background:var(--amber)}.sensitivity-row strong{color:#53605a;font-weight:600;text-align:right}.model-warning{margin:9px 0 0;color:#7b622f;font-size:9px;line-height:1.4}.compact-data dl,.report-data-list{margin:0;display:grid}.compact-data dl>div,.report-data-list>div{min-height:30px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line)}.compact-data dl>.guy-result-row{padding:6px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:5px}.compact-data dl>div:first-child,.report-data-list>div:first-child{border-top:0}.compact-data dt,.report-data-list dt{color:var(--muted);font-size:9.5px}.compact-data dd,.report-data-list dd{margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;font-variant-numeric:tabular-nums}.area-callout{padding:5px 0 2px;color:var(--ink);font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:28px;font-weight:650}.plan-view{margin:6px 0 0}.plan-view svg{width:100%;height:118px;display:block;border-radius:9px;background:#f1f4f1}.plan-view text{fill:#64706a;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-variant-numeric:tabular-nums}.plan-deck{fill:#d8e3de;stroke:#526961;stroke-width:1.5}.plan-grid{pointer-events:none}.plan-dimension{stroke:#8b9791;stroke-width:1}.plan-area{fill:var(--ink)!important;font-size:12px!important;font-weight:700}.plan-caption{font-size:6.5px!important}.plan-view figcaption{margin-top:5px;color:var(--quiet);font-size:8.5px;text-align:center}.results-footer{padding:15px 4px 8px;display:grid;gap:3px;color:var(--quiet);font-size:8.5px}.results-footer strong{color:var(--muted);font-weight:600}.override-warning{color:#8a5c13;font-weight:650}.report-workspace{min-height:calc(100vh - 60px);padding:26px;background:#dfe4df}.report-document{width:min(920px,100%);margin:0 auto;display:grid;gap:24px}.report-page{position:relative;min-height:1120px;padding:64px 70px 58px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #0000000f,0 18px 55px -24px #14231d4d}.report-cover{display:flex;flex-direction:column}.report-title{max-width:650px;margin-top:150px}.report-title>span{color:var(--cyan-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.report-title h1{margin:13px 0 12px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:55px;font-weight:590;letter-spacing:-.035em;line-height:.98}.report-title.is-long{margin-top:105px}.report-title.is-long h1{font-size:39px;line-height:1.04}.report-title h1.report-long-title{font-size:38px;line-height:1.02}.report-title p{max-width:520px;color:var(--muted);font-size:16px;line-height:1.5}.report-status{width:100%;margin-top:58px;padding:22px 24px;border-left:5px solid #7a8580;background:#f0f2f0}.report-status span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.report-status strong{display:block;margin-top:6px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:28px}.report-status p{margin:5px 0 0;color:var(--muted);font-size:11px}.report-status-suitable{border-color:var(--green);background:var(--green-soft)}.report-status-unsuitable{border-color:var(--red);background:var(--red-soft)}.report-status-conditional{border-color:var(--amber);background:var(--amber-soft)}.report-status-insufficient-data{border-color:#7a8580;background:#edf0ed}.report-meta{margin:auto 0 0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-strong)}.report-meta>div{padding:12px 0;display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line)}.report-meta>div:nth-child(odd){padding-right:25px}.report-meta>div:nth-child(2n){padding-left:25px;border-left:1px solid var(--line)}.report-meta dt{color:var(--quiet);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.report-meta dd{margin:0;font-size:10px;font-weight:600}.report-section-header{margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line-strong)}.report-section-header>span{min-width:40px;font-size:15px}.report-section-header small{display:block;margin-bottom:2px;color:var(--cyan-dark);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.report-section-header h2{font-size:27px}.report-document .span-stage{min-height:440px;box-shadow:0 0 0 1px #17231f17}.report-document .span-svg{min-height:315px}.report-document .stage-heading h1{font-size:22px}.report-summary-grid{margin:18px 0 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.report-summary-grid>div{padding:12px;display:grid;gap:4px;background:#fafbfa}.report-summary-grid span{color:var(--quiet);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.report-summary-grid strong{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.report-page h3{margin:25px 0 10px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:15px}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9.5px}.report-table th,.report-table td{padding:8px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.report-table th{color:var(--quiet);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.report-table th:nth-child(1){width:40%}.report-table th:nth-child(2){width:29%}.control-table th:nth-child(1){width:41%}.control-table th:nth-child(2){width:19%}.control-table th:nth-child(3){width:20%}.control-table th:nth-child(4){width:20%}.report-results-page .control-table th,.report-results-page .control-table td{padding-top:5px;padding-bottom:5px;font-size:8.7px;line-height:1.25}.report-results-page .control-table th{font-size:7.5px}.report-results-page .control-table td small{margin-top:2px;font-size:7px;line-height:1.2}.report-results-page .report-two-column{margin-top:14px}.report-results-page .report-data-list>div{min-height:29px}.report-results-page h3{margin-top:17px}.report-results-page .report-list{font-size:9px;line-height:1.4}.report-results-page .report-list li+li{margin-top:3px}.control-table td strong,.control-table td small{display:block}.evidence-report-table th:nth-child(1){width:31%}.evidence-report-table th:nth-child(2){width:15%}.evidence-report-table th:nth-child(3){width:28%}.evidence-report-table th:nth-child(4){width:26%}.evidence-report-table td strong,.evidence-report-table td small{display:block}.evidence-report-table td small{margin-top:3px;color:var(--quiet);font-size:7.5px;overflow-wrap:anywhere}.report-check-stale,.report-check-rejected{color:#8f2e27;background:var(--red-soft)}.report-check-approved{color:#1d6543;background:var(--green-soft)}.report-check-pending{color:#5c6862;background:#edf0ed}.report-input-register{margin-top:0}.report-guy-row{padding:5px 0;display:grid!important;grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.report-evidence-note{margin:10px 0 0;color:var(--quiet);font-family:SFMono-Regular,Consolas,monospace;font-size:7.5px;line-height:1.45;overflow-wrap:anywhere}.control-table td small{margin-top:2px;color:var(--quiet);font-size:7.5px}.report-check{display:inline-block;padding:3px 6px;border-radius:4px;color:#5c6862;background:#edf0ed;font-size:8px;font-weight:650}.report-check-pass{color:#1d6543;background:var(--green-soft)}.report-check-fail{color:#8f2e27;background:var(--red-soft)}.report-check-condition{color:#7e5715;background:var(--amber-soft)}.report-two-column{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:38px}.report-data-list>div{min-height:34px}.report-data-list dt,.report-data-list dd{font-size:9px}.report-list{padding-left:19px;color:var(--muted);font-size:10px;line-height:1.55}.report-list li+li{margin-top:5px}.equation-block{margin-top:14px;padding:16px;border-left:3px solid #9fbac1;background:#f3f6f4}.equation-block>span{display:block;margin-bottom:8px;color:var(--cyan-dark);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.equation-block code{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.equation-block .equation-values{display:block;margin-top:8px;color:#53635c;font-size:8px;line-height:1.45;white-space:normal}.equation-block p{margin:8px 0 0;color:var(--muted);font-size:9px}.report-disclaimer{margin-top:28px;padding:16px;border-left:4px solid var(--amber);color:#624b20;background:#fbf4e7;font-size:10px;line-height:1.5}.report-disclaimer.compact{margin-top:22px;padding:12px 14px;font-size:8.5px}.report-disclaimer p{margin:4px 0 0}.report-page-footer{position:absolute;right:70px;bottom:28px;left:70px;display:flex;justify-content:space-between;padding-top:9px;border-top:1px solid var(--line);color:var(--quiet);font-family:SFMono-Regular,Consolas,monospace;font-size:8px}@media(max-width:1240px){.workspace-layout{grid-template-columns:278px minmax(480px,1fr) 304px}.canvas-column,.results-panel{padding:10px}.span-stage{padding:15px 14px 10px}.stage-legend{gap:10px}.stage-legend em{display:none}}@media(max-width:1020px){.app-header{grid-template-columns:1fr auto}.view-switcher{order:3;grid-column:1 / -1;position:fixed;right:16px;bottom:16px;z-index:40;box-shadow:var(--shadow-raised)}.workspace-layout{height:auto;grid-template-columns:minmax(250px,300px) minmax(500px,1fr)}.results-panel{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.results-panel>*{margin-top:0}.results-footer{grid-column:1 / -1}}@media(max-width:760px){.app-header{grid-template-columns:1fr auto}.header-actions .secondary-action{width:40px;padding:0;font-size:0}.workspace-layout{display:flex;flex-direction:column}.input-panel,.results-panel{overflow:visible}.canvas-column{min-height:620px;order:-1}.results-panel{display:block}.results-panel>*+*{margin-top:10px}.field-grid.two{grid-template-columns:1fr}.stage-heading{flex-direction:column;gap:6px}.stage-model{justify-items:start}.span-svg{min-height:430px}.report-workspace{padding:10px}.report-page{min-height:auto;padding:34px 26px 60px}.report-title h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.simulation-falling-conductor{animation:none;opacity:.32;transform:translateY(var(--event-drop-y))}.simulation-drop-guide,.simulation-impact-ring,.simulation-impact-label,.simulation-segment-label,.simulation-coupling-burst,.simulation-coupling-left,.simulation-coupling-right,.simulation-coupling-fracture,.simulation-coupling text{animation:none;opacity:1}.simulation-coupling-left{transform:translate(-5px)}.simulation-coupling-right{transform:translate(5px)}.simulation-falling-point{animation:none;transform:translateY(var(--drop-y))}}:root{--ink: #183138;--muted: #66767a;--panel: #f5f3ee;--canvas: #f1f3f0;--cyan: #b85f3f;--cyan-dark: #93472f;--line: rgba(24, 49, 56, .13);--line-strong: rgba(24, 49, 56, .23)}.app-header{height:68px;padding-inline:18px;grid-template-columns:minmax(270px,1fr) auto minmax(270px,1fr);color:#f2f6f4;background:#183138fa;border-bottom-color:#ffffff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{color:#fff8f2;background:#b85f3f;box-shadow:inset 0 0 0 1px #ffffff1f}.brand-block strong{color:#f7faf8}.brand-block span:last-child{color:#b8c7c6}.view-switcher{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff12}.view-switcher button{color:#b9c8c7}.view-switcher button.is-active{color:#173138;background:#f6f5f1}.view-switcher button:focus-visible,.header-actions button:focus-visible{outline:2px solid #e6a284;outline-offset:2px}.icon-action{color:#dce6e3}.secondary-action{color:#eaf0ee;background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff14}.primary-action{color:#fff;background:#b85f3f}.workspace-layout{height:calc(100vh - 68px);grid-template-columns:minmax(320px,350px) minmax(560px,1fr) minmax(330px,370px);background:#1831381f}.workspace-layout.is-checks-view{grid-template-columns:minmax(330px,390px) minmax(680px,1fr)}.workspace-layout.is-checks-view .canvas-column{display:none}.workspace-layout.is-checks-view .results-panel{padding:18px}.workspace-layout.is-checks-view .results-panel>*{max-width:1160px;margin-inline:auto}.input-panel{background:#f5f3ee}.results-panel{background:#edf0ed}.canvas-column{background:#e4e8e5}.input-step-nav{position:sticky;z-index:5;top:0;padding:10px 12px;display:flex;gap:6px;overflow-x:auto;background:#f5f3eef5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none}.input-step-nav a{min-height:27px;padding:0 9px;display:inline-flex;align-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;color:#607175;background:#ffffff9e;font-size:9px;font-weight:700;text-decoration:none}.input-step-nav a:hover{color:#8f432e;border-color:#b85f3f66;background:#fff}details.input-section{padding:0;scroll-margin-top:50px}details.input-section>summary{min-height:58px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;background:#ffffff38}details.input-section>summary::-webkit-details-marker{display:none}details.input-section>summary .section-heading{margin:0}details.input-section>summary>svg{flex:0 0 auto;color:#879490;transition:transform .16s ease-out}details.input-section[open]>summary>svg{transform:rotate(180deg)}details.input-section[open]>summary{background:#ffffff85}.input-section-body{padding:4px 14px 18px}.engineering-status-strip{min-height:70px;padding:11px 14px;display:grid;grid-template-columns:auto auto minmax(220px,1fr);align-items:center;gap:14px;border:1px solid rgba(24,49,56,.13);border-radius:10px;background:#f8faf7;box-shadow:0 4px 15px #1831380d}.engineering-status-strip>div{min-width:148px;display:grid;gap:3px}.engineering-status-strip span{color:#7c8986;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.engineering-status-strip strong{font-size:11px;letter-spacing:.02em}.engineering-status-strip p{margin:0;color:#5f6e6b;font-size:10px;line-height:1.4}.decision-pass,.decision-suitable{color:#236846}.decision-fail,.decision-unsuitable{color:#a93e34}.decision-conditional{color:#94641e}.decision-insufficient-data{color:#5f6b67}.obstacle-protection-summary.is-suitable{border-color:#2c76524d;background:#e7f1ea}.obstacle-protection-summary.is-conditional{border-color:#ac741c4d;background:#f7eddc}.obstacle-protection-summary.is-unsuitable{border-color:#b742364d;background:#f7e5e1}.obstacle-protection-summary.is-insufficient-data{border-color:#53635c40;background:#f1f3f1}.site-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.site-check-cell{min-height:76px;padding:11px;display:grid;grid-template-columns:18px 1fr;gap:4px 8px;align-content:start;border:1px solid var(--line);background:#fafbfa}.site-check-cell .site-checkbox{width:15px;height:15px;border:1.5px solid #65736f;background:#fff}.site-check-cell strong{font-size:9px;line-height:1.35}.site-check-cell small{grid-column:2;color:var(--quiet);font-size:7px}.site-stop-list li::marker{color:var(--red);font-weight:800}.signature-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.signature-grid>div{min-height:92px;padding:12px;display:grid;align-content:space-between;border:1px solid var(--line-strong)}.signature-grid span{color:var(--cyan-dark);font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.signature-grid strong{font-size:9px;font-weight:600}.signature-grid small{color:var(--quiet);font-size:7px}.site-notes{height:145px;margin-top:18px;padding:12px;border:1px solid var(--line);background:repeating-linear-gradient(#fff 0 26px,#e7ebe8 27px)}.site-notes span{padding-right:8px;color:var(--quiet);background:#fff;font-size:8px;text-transform:uppercase}.compact-status{margin:20px 0 14px;padding:14px 16px}.compact-status strong{font-size:19px}.site-open-checks th,.site-open-checks td{padding-top:6px;padding-bottom:6px;font-size:8.7px;line-height:1.25}.site-open-checks td small{font-size:7px;line-height:1.25}@media(max-width:1400px){.app-header{grid-template-columns:minmax(240px,1fr) auto minmax(235px,1fr)}.view-switcher button{padding-inline:9px;font-size:11px}.workspace-layout{grid-template-columns:300px minmax(500px,1fr) 330px}}@media(max-width:1120px){.app-header{height:auto;min-height:68px;grid-template-columns:1fr auto;padding-block:8px}.view-switcher{order:3;grid-column:1 / -1;position:static;width:100%;overflow-x:auto}.view-switcher button{flex:1 0 auto}.workspace-layout{height:auto;grid-template-columns:minmax(290px,340px) minmax(520px,1fr)}.results-panel{grid-column:1 / -1}.engineering-status-strip{grid-template-columns:repeat(2,1fr)}.engineering-status-strip p{grid-column:1 / -1}}@media(max-width:760px){.engineering-status-strip{grid-template-columns:1fr}.engineering-status-strip p{grid-column:auto}.site-check-grid,.signature-grid{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:0}body{background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.no-print,.view-workspace .workspace-layout{display:none!important}.report-workspace{padding:0;background:#fff}.report-document{width:auto;display:block}.report-page{width:210mm;height:297mm;min-height:0;padding:16mm 17mm 15mm;page-break-after:always;box-shadow:none}.report-page:last-child{page-break-after:auto}.report-page-footer{right:17mm;bottom:8mm;left:17mm}.report-title{margin-top:38mm}.report-title.is-long{margin-top:26mm}.report-document .span-stage{min-height:0;height:102mm}.report-document .span-svg{min-height:0;height:77mm}.report-document .stage-legend{display:none}.report-page:last-child .equation-block{margin-top:8px;padding:10px 12px}.report-page:last-child .equation-block>span{margin-bottom:5px}.report-page:last-child .equation-block code{font-size:10px}.report-page:last-child .equation-block .equation-values,.report-page:last-child .equation-block p{margin-top:5px;font-size:7.5px;line-height:1.3}.report-page:last-child h3{margin:14px 0 7px}.report-page:last-child .report-list{font-size:8px;line-height:1.35}.report-page:last-child .report-list li+li{margin-top:2px}}
