@font-face{font-family:'DM Sans';src:url('./assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--bg:#f5f6f0;--paper:#fff;--ink:#263d34;--muted:#6f7b70;--green:#285546;--light:#edf1e7;--border:#e2e7dc;--red:#ac765e;--line:#d4ddce;--focus:#30765f;font-family:'DM Sans',system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{transition:background .15s,color .15s}input,select{min-width:0}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}input[type=checkbox]{accent-color:var(--green)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}button{border:0;background:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-80px;left:20px;background:var(--green);color:white;padding:14px;z-index:5}.skip:focus{top:10px}.topbar{height:80px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.85);display:flex;align-items:center;gap:36px;padding:0 clamp(20px,4.3vw,74px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:25px;font-weight:700;letter-spacing:-1px}.brand-mark{display:inline-grid;place-items:center;width:34px;height:38px;border:1px solid var(--red);color:var(--red);font-family:serif;font-size:25px;font-weight:400;transform:rotate(-7deg);letter-spacing:0}.brand-dot{color:var(--red)}.brand-sub{font-weight:400;color:#879581;font-size:20px}.header-context{font-size:10px;letter-spacing:1.7px;color:var(--muted)}.header-context>span{padding:0 10px;color:#adb4a5}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:24px}.status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.status i{width:6px;height:6px;border-radius:50%;background:#7f9a73}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;padding:10px 0;font-weight:500}.text-button:hover,.inline-button:hover{color:var(--red)}.button{padding:13px 20px;border-radius:5px;background:#204b40;color:white;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px}.button:hover{background:#306350}.button.small{padding:11px 15px}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;font-size:23px;border-radius:5px}.icon-button:hover{background:var(--light)}main{max-width:1500px;margin:auto;padding:46px clamp(20px,4.3vw,74px) 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.5;color:var(--muted);display:flex;align-items:center;gap:12px}.eyebrow>span{height:1px;width:24px;background:#a4b29b}.intro h1{font-size:clamp(30px,3vw,44px);font-weight:700;letter-spacing:-1.8px;line-height:1.3;margin:14px 0 12px}.intro h1>span{color:#74896a}.intro-copy{font-size:13px;color:var(--muted);letter-spacing:.05px}.intro-seal{font-family:serif;color:var(--red);border:1px solid var(--red);width:45px;padding:5px 7px;font-size:27px;line-height:1;transform:rotate(-7deg);text-align:center;opacity:.7}.intro-seal>span{display:block;font-size:19px;margin-top:3px}.mobile-break{display:none}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px}.mode-switch{display:flex;background:#e8ece2;padding:4px;border-radius:6px;gap:3px}.mode-switch button{font-size:12px;font-weight:600;min-height:38px;padding:9px 24px;border-radius:4px;color:#6b7a65;display:flex;align-items:center;gap:9px}.mode-switch button[aria-pressed=true]{background:white;color:#264f41;box-shadow:0 1px 4px #263d3410}.mode-switch button:hover{background:#f4f6ee}.mode-switch button>span{font-size:18px;line-height:1}.toolbar-actions{display:flex;align-items:center;gap:25px}.toolbar-actions .icon-button{color:#7e8c77;border:1px solid var(--border);background:#fff;font-size:20px}.workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(325px,1fr);gap:28px;align-items:start}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;min-height:15px;gap:10px}.section-label>span:first-child{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#71806a}.section-label>span:last-child{font-size:10px;color:#829078}.models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:7px;box-shadow:0 2px 4px #30432c02}.model-card{padding:18px 18px 0;overflow:hidden}.model-top{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.1px;font-weight:600;color:#7a8871;min-height:26px}.model-index{font-family:Manrope,sans-serif;background:var(--light);color:#58724d;width:22px;height:23px;display:inline-grid;place-items:center;font-size:10px;letter-spacing:0}.model-b .model-index{color:#a77660;background:#f6efea}.active-chip,.model-chip{font-size:8px;letter-spacing:0;margin-left:auto;padding:5px 7px;border:1px solid #e5e9e0;border-radius:3px;white-space:nowrap;color:#6a7b65}.active-chip.is-active{background:#edf2e7;border-color:#d8e4d0;color:#487040}.active-chip:hover{border-color:#91a685}.model-chip{border:0;color:#a67d65}.model-name{display:block;margin:14px 0 19px}.model-name input{border:0;border-bottom:1px solid transparent;width:100%;background:transparent;font-family:Manrope,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.7px;color:var(--ink);padding:2px 0 7px}.model-name input:hover{border-color:var(--border)}.core-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:7px;color:#6d7e65;font-size:10px;line-height:1.4;letter-spacing:.15px}.field>span:first-child{min-height:14px}.stepper{height:39px;display:flex;align-items:center;border:1px solid #e1e7da;border-radius:4px;background:#fafbf7;overflow:hidden}.stepper button{width:26px;align-self:stretch;flex-shrink:0;color:#8b9a80;font-size:16px;padding:0}.stepper button:hover{background:#e7eddf;color:var(--green)}.stepper input{width:100%;min-width:15px;padding:0;text-align:center;font-family:Manrope,sans-serif;font-size:17px;font-weight:650;background:none;border:0;color:#315841;height:100%;border-radius:0}.field>input,.field>select{height:38px;border:1px solid #e1e7da;border-radius:4px;background:#fafbf7;color:var(--ink);padding:8px 9px;font-size:12px;width:100%}.field>select{padding-right:20px}.hp-row{display:flex;align-items:flex-end;gap:12px;padding:17px 0 20px;margin-bottom:0}.hp-row>.field{min-width:110px;max-width:135px;flex:1}.hp-row .stepper{height:32px;background:white}.hp-row .stepper input{font-size:14px}.hp-blocks{display:flex;gap:3px;align-items:center;align-self:flex-end;padding:0 0 13px;flex-wrap:wrap;max-width:65px}.hp-blocks i{width:5px;height:9px;background:#99af88;border-radius:1px}.model-b .hp-blocks i{background:#c3a48b}.hp-blocks>span{font-size:8px;color:var(--muted)}.trait-group{border-top:1px solid var(--border);margin:0 -18px;padding:0 18px}.trait-group>summary{list-style:none;padding:15px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;gap:10px;color:#53674b}.trait-group>summary::-webkit-details-marker{display:none}.trait-group>summary:hover{color:var(--green)}.trait-count{font-size:9px;color:#94a087;font-weight:400;white-space:nowrap;display:flex;gap:10px}.trait-count>span{font-size:13px}.trait-group[open] .trait-count>span{transform:rotate(180deg)}.trait-fields{padding:0 0 16px;display:flex;flex-direction:column;gap:14px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.hint-dot{font-size:8px;opacity:.65}.field-help{font-size:10px;line-height:1.6;color:#839178}.toggle{display:flex;justify-content:space-between;align-items:center;position:relative;gap:8px;font-size:11px;cursor:pointer;min-height:26px;color:#617459}.toggle>input{position:absolute;right:0;width:28px;height:22px;opacity:0;cursor:pointer}.switch{width:27px;height:16px;background:#dce3d7;border-radius:20px;flex-shrink:0;transition:background .15s}.switch:after{content:'';display:block;width:10px;height:10px;margin:3px;border-radius:50%;background:white;box-shadow:0 1px 2px #0001;transition:transform .15s}.toggle>input:checked+.switch{background:#38634c}.toggle>input:checked+.switch:after{transform:translateX(11px)}.toggle>input:focus-visible+.switch{outline:3px solid var(--focus);outline-offset:3px}.input-footnote{margin:13px 3px 0;font-size:10px;color:#8b9781;line-height:1.6}.calculation-note{margin-top:22px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:5px;background:#eaf0e3;color:#76866a}.calculation-note>span:first-child{font-size:24px;font-weight:300}.calculation-note p{font-size:10px;line-height:1.7}.calculation-note strong{font-weight:500;color:#58734d}.note-tag{font-size:9px;padding:4px 6px;border:1px solid #ccd9bf;margin-left:auto;border-radius:3px;letter-spacing:1px}.results{position:sticky;top:24px}.outlook-panel{overflow:hidden}.initiative-banner{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:15px 20px;font-size:11px;color:#526b48;background:#f9fbf5;line-height:1.5}.initiative-banner strong{font-weight:600}.initiative-banner small{display:block;font-size:9px;font-weight:400;color:#87967c;line-height:1.5;margin-top:2px}.initiative-symbol{font-size:23px;color:#849c75}.outlook-main{display:flex;align-items:center;gap:20px;padding:28px 24px 24px}.probability-ring{width:115px;height:115px;flex-shrink:0;border-radius:50%;background:conic-gradient(#466f50 var(--chance),#eaf0e4 0);padding:7px;transform:rotate(-.1deg)}.probability-ring>div{height:100%;width:100%;background:white;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column}.probability-ring strong{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-1.2px;font-weight:700;font-variant-numeric:tabular-nums}.probability-ring span{font-size:9px;color:#8a967f;margin-top:3px}.outlook-text{min-width:0}.outlook-text .eyebrow{font-size:8px;letter-spacing:1.5px}.outlook-text h2{font-size:20px;letter-spacing:-.6px;margin:7px 0;overflow-wrap:anywhere}.outlook-text>p:last-child{font-size:10px;line-height:1.6;color:#8c9782;max-width:170px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;padding:0 24px 25px}.metric-grid>div{display:flex;flex-direction:column;gap:7px}.metric-grid>div+div{border-left:1px solid var(--border);padding-left:22px}.metric-grid>div>span{font-size:10px;color:#8b9781}.metric-grid strong{font-size:27px;font-weight:650;letter-spacing:-.8px;font-family:Manrope,sans-serif;font-variant-numeric:tabular-nums}.metric-grid small{font-size:12px;font-weight:400;color:#8b9781;letter-spacing:0}.opponent-outlook{margin:0 20px;padding:17px 0;border-top:1px solid var(--border)}.opponent-outlook>div{display:flex;align-items:center;gap:8px}.opponent-outlook h3{font-size:12px;font-weight:600;overflow-wrap:anywhere;min-width:0}.opponent-outlook>div>span:last-child{margin-left:auto;font-size:9px;color:#9a8c79;white-space:nowrap}.legend-dot{width:7px;height:7px;display:inline-block;background:#2e6654;border-radius:50%;flex-shrink:0}.legend-dot.second{background:#ac765e}.opponent-outlook dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0 0}.opponent-outlook dl>div{display:flex;flex-direction:column;gap:5px}.opponent-outlook dt{font-size:8px;color:#8e9785;line-height:1.5}.opponent-outlook dd{margin:0;font-size:17px;color:#a1735a;font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.result-mini{padding:13px 20px;background:#fafbf8;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:9px;color:#8a967f}.result-mini strong{color:#667d5a;font-weight:500;font-variant-numeric:tabular-nums}.result-method{font-size:9px;color:#8c9981;padding:12px 3px;line-height:1.7}.inline-button{padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.results[aria-busy=true] #result-content{opacity:.5}.friendly-result{padding:14px 20px;border-bottom:1px solid var(--border);font-size:10px;background:#fffcf8}.friendly-result>span{display:flex;justify-content:space-between}.friendly-result>div{display:flex;justify-content:space-between;margin:12px 0 6px;gap:10px}.friendly-result>div>span{display:flex;flex-direction:column;gap:3px;color:#8b806d}.friendly-result strong{color:#976c50;font-size:12px}.friendly-result p{font-size:9px;color:#9b947f}.conditions-panel{margin-top:16px;padding:20px}.conditions-heading{display:flex;justify-content:space-between;margin-bottom:18px}.challenge-badge{font-size:10px;color:#6b825e;padding:4px 6px;border-radius:3px;background:var(--light)}.conditions-panel>.field-grid{grid-template-columns:1fr 1fr 1fr}.conditions-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.condition{font-size:10px;color:#718064;display:flex;align-items:center;gap:7px;cursor:pointer;line-height:1.4}.condition input{margin:0;width:14px;height:14px;flex-shrink:0}.friendly-toggle{border-top:1px solid var(--border);padding-top:18px;margin-top:20px;display:flex;align-items:flex-start;gap:10px;cursor:pointer}.friendly-toggle input{margin-top:2px;flex-shrink:0}.friendly-toggle strong{font-size:11px;font-weight:500}.friendly-toggle small{display:block;color:#8e9a82;font-size:10px;margin-top:5px}.friendly-config{margin-top:20px;padding:18px;border:1px solid #e9e2d7;background:#fdfbf7;border-radius:4px;display:flex;flex-direction:column;gap:13px}.friendly-config h3{font-size:12px;color:#957255}.chart-panel{margin-top:30px;padding:25px 28px 0;overflow:hidden}.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.chart-heading h2{font-size:21px;font-weight:650;letter-spacing:-.6px;margin:7px 0}.chart-heading p:last-child{font-size:11px;color:#8a9780}.chart-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.chart-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 15px}.plot-switch{display:flex;gap:4px}.plot-switch button{border-radius:4px;font-size:10px;padding:8px 12px;color:#8b9a7e}.plot-switch button[aria-pressed=true]{background:var(--light);color:#48673e;font-weight:600}.plot-switch button:hover{background:#f6f8f2}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:#7e8b74}.legend>span{display:flex;align-items:center;gap:7px}.chart{min-height:200px}.chart svg{display:block;width:100%;height:auto;overflow:visible}.axis-label{font-family:'DM Sans',system-ui,sans-serif;font-size:11px;fill:#84917b}.axis-caption{font-family:'DM Sans',system-ui,sans-serif;font-size:10px;fill:#94a087}.gridline{stroke:#e6ebdf;stroke-width:1}.threshold-control{background:#f7f9f3;border:1px solid #e7ecdf;border-radius:4px;padding:13px 17px;display:flex;align-items:center;gap:25px;margin-top:8px}.threshold-control[hidden]{display:none}.threshold-control>label{display:flex;gap:12px;align-items:center;color:#859478;font-size:10px;white-space:nowrap}.threshold-control strong{color:#4b6b3d;font-weight:600;font-variant-numeric:tabular-nums}.threshold-control input{width:180px;flex:1;max-width:350px;accent-color:#4f7548;height:20px;cursor:pointer}.threshold-results{display:flex;gap:22px;margin-left:auto}.threshold-results>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#8e9a81}.threshold-results strong{font-size:13px;margin-left:6px;color:var(--ink)}.data-details{margin:0 -28px;padding:0 28px;border-bottom:1px solid var(--border);margin-top:18px}.data-details>summary{cursor:pointer;color:#849578;font-size:10px;list-style:none;padding-bottom:14px}.data-details>summary:before{content:'+';margin-right:7px}.data-details[open]>summary:before{content:'−'}.table-scroll{overflow:auto;max-height:270px;margin-bottom:18px}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;font-variant-numeric:tabular-nums}th,td{padding:9px 12px;border-bottom:1px solid var(--border);font-weight:400}thead th{background:#f1f5eb;position:sticky;top:0;font-weight:600}th:not(:first-child),td{text-align:right}.chart-footnote{font-size:9px;color:#939e88;line-height:1.6;padding:13px 0 16px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 30px;font-size:9px;color:#96a089}footer>span{display:flex;align-items:center;gap:9px}footer strong{color:#7e8e71;font-size:14px;letter-spacing:-.5px;font-weight:600}footer .text-button{font-size:9px;font-weight:400}.footer-divider{margin:0 3px;color:#c1c8b8}dialog{border:1px solid var(--border);border-radius:10px;width:min(680px,calc(100% - 32px));max-height:88vh;padding:27px;background:#fff;color:var(--ink);box-shadow:0 20px 100px #183d3430}dialog::backdrop{background:#223b3466;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-top .eyebrow{font-size:9px}dialog h2{font-size:26px;letter-spacing:-1px;margin-bottom:22px}.dialog-body h3{font-size:14px;margin:24px 0 10px}.dialog-body p{font-size:12px;line-height:1.85;margin:10px 0;color:#75856a}.dialog-body p strong{color:#44643b}.source-list{padding-left:18px;font-size:12px;line-height:2.3;color:#4f7144}.muted{font-size:11px;color:#8b987e;line-height:1.7}.callout{padding:15px;background:#eef3e8;border-radius:4px}.save-row{display:flex;gap:9px;margin:9px 0 20px}.save-row input{width:100%;min-width:0;border:1px solid var(--border);border-radius:4px;padding:12px;background:#f8faf5;color:var(--ink)}#scenario-form>label{font-size:11px;color:#849478}.saved-scenario{display:flex;border-top:1px solid var(--border);align-items:center;padding:8px 0}.scenario-load{padding:10px 4px;text-align:left;flex:1;min-width:0}.scenario-load strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.scenario-load small{display:block;font-size:10px;color:#91a082;margin-top:5px}.empty-state{padding:20px 0 30px;font-size:12px;color:#8d9b81}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:14px 22px;border-radius:6px;background:#204b40;color:white;box-shadow:0 8px 30px #204b4030;z-index:20;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 35px);width:max-content;line-height:1.6}.toast.visible{opacity:1;transform:translate(-50%,0)}.error{padding:24px;font-size:12px;color:#956a4c;line-height:1.7}.error h2{font-size:18px;margin-bottom:10px}
@media(min-width:1450px){.outlook-main{gap:24px}.probability-ring{width:127px;height:127px}.outlook-text h2{font-size:23px}.model-name input{font-size:23px}}
@media(max-width:1180px){.header-context{display:none}.topbar nav{gap:20px}.workspace{gap:20px;grid-template-columns:minmax(0,1.6fr) minmax(295px,1fr)}.models{gap:12px}.model-card{padding:16px 13px 0}.trait-group{margin:0 -13px;padding:0 13px}.model-top{gap:5px;letter-spacing:.7px}.active-chip{font-size:7px;padding:5px}.outlook-main{padding:24px 18px;gap:13px}.probability-ring{width:100px;height:100px}.probability-ring strong{font-size:22px}.outlook-text h2{font-size:18px}.section-label>span:last-child{font-size:8px}.threshold-control{gap:16px}.threshold-results{gap:14px}.threshold-results>span{font-size:9px}.chart-panel{padding-left:22px;padding-right:22px}.data-details{margin-left:-22px;margin-right:-22px;padding:0 22px}.field-grid{gap:12px 8px}.model-name input{font-size:19px}.model-index{width:18px;height:21px}}
@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr)}.results{position:static}.models{gap:20px}.model-card{padding:20px 22px 0}.trait-group{margin:0 -22px;padding:0 22px}.model-name input{font-size:24px}.model-top{font-size:9px}.active-chip{font-size:9px}.section-label>span:last-child{font-size:10px}.outlook-panel{display:grid;grid-template-columns:1fr 1fr}.initiative-banner,.friendly-result{grid-column:1/-1}.outlook-main{grid-column:1;padding:23px}.metric-grid{grid-column:2;grid-row:2;padding:30px 20px;align-items:center}.opponent-outlook{grid-column:1/-1;margin:0 23px}.result-mini{grid-column:1/-1;grid-template-columns:1fr auto 1fr auto;gap:20px}.opponent-outlook dl{max-width:500px}.outlook-text h2{font-size:22px}.probability-ring{width:110px;height:110px}.threshold-control{flex-wrap:wrap}.threshold-results{margin-left:0;flex:1;justify-content:flex-end}.topbar .status{display:none}.chart-heading h2{font-size:22px}footer{flex-wrap:wrap}.chart svg{min-height:240px}.chart-controls{align-items:flex-start}.legend{gap:8px;flex-direction:column}.opponent-outlook>div>span:last-child{margin-left:15px}}
@media(max-width:600px){.topbar{height:66px;padding:0 20px;gap:10px}.brand{font-size:22px;gap:9px}.brand-mark{width:28px;height:31px;font-size:21px}.brand-sub{font-size:18px}.topbar nav{gap:12px}.topbar nav .text-button{font-size:0;gap:0}.topbar nav .text-button>span{font-size:18px}.topbar .button{font-size:10px;padding:10px 11px;gap:5px}.intro{margin-bottom:25px}.intro .eyebrow{font-size:8px}.intro h1{font-size:34px;line-height:1.23;letter-spacing:-1.5px;margin:15px 0 13px}.mobile-break{display:block}.intro-copy{font-size:11px;max-width:220px;line-height:1.7}.intro-seal{width:39px;font-size:22px}.intro-seal>span{font-size:17px}main{padding:30px 18px 0}.workspace-toolbar{gap:10px;align-items:center;padding-bottom:18px;margin-bottom:22px}.mode-switch button{padding:9px 12px;font-size:10px;min-height:36px;gap:6px}.mode-switch button>span{font-size:15px}.toolbar-actions{gap:14px}.toolbar-actions .text-button{font-size:0;gap:0}.toolbar-actions .text-button>span{font-size:21px}.toolbar-actions .icon-button{width:30px;height:30px}.models{gap:10px}.model-card{padding:14px 11px 0;border-radius:5px}.trait-group{margin:0 -11px;padding:0 11px}.model-top{font-size:7px;gap:5px;letter-spacing:.2px;flex-wrap:wrap;align-content:start;min-height:39px}.model-index{width:18px;height:18px;font-size:8px}.active-chip{font-size:7px;margin-left:0;line-height:1.4;min-height:23px}.model-chip{font-size:7px}.model-name{margin:11px 0 15px}.model-name input{font-size:18px;letter-spacing:-.7px}.core-fields{gap:7px}.field{font-size:8px;letter-spacing:0;gap:6px}.stepper{height:34px}.stepper button{width:20px;font-size:14px}.stepper input{font-size:15px}.hp-row{padding:14px 0 16px;gap:5px;flex-wrap:wrap;align-items:center}.hp-row>.field{min-width:0;max-width:none;flex:1}.hp-blocks{display:none}.trait-group>summary{font-size:9px;gap:4px;padding:13px 0}.trait-count{font-size:7px;gap:5px}.trait-count>span{font-size:11px}.field-grid{grid-template-columns:1fr;gap:10px}.trait-fields{gap:12px}.field>select{font-size:9px;padding:6px 4px;height:34px}.field-help{font-size:8px;line-height:1.6}.toggle{font-size:9px;gap:6px;min-height:28px}.switch{width:24px;height:14px}.switch:after{width:8px;height:8px}.toggle>input:checked+.switch:after{transform:translateX(10px)}.input-footnote{font-size:9px}.section-label>span:first-child{font-size:8px;letter-spacing:1px}.section-label>span:last-child{font-size:8px;max-width:175px;text-align:right}.calculation-note{margin-top:16px;padding:12px;gap:10px}.calculation-note p{font-size:9px}.workspace{gap:22px}.outlook-panel{display:block}.initiative-banner{font-size:10px;padding:14px 17px}.initiative-banner small{font-size:8px}.outlook-main{padding:24px 20px;gap:22px}.probability-ring{height:116px;width:116px}.probability-ring strong{font-size:26px}.outlook-text h2{font-size:22px}.outlook-text p:last-child{font-size:10px}.metric-grid{padding:0 24px 24px}.metric-grid strong{font-size:28px}.opponent-outlook{margin:0 20px}.opponent-outlook dl{gap:10px}.opponent-outlook dt{font-size:8px}.opponent-outlook dd{font-size:18px}.result-mini{gap:8px;display:grid;grid-template-columns:1fr auto}.result-method{font-size:9px}.chart-panel{margin-top:20px;padding:20px 16px 0}.chart-heading{align-items:flex-start;gap:10px}.chart-heading h2{font-size:19px;line-height:1.4;max-width:235px}.chart-heading p:last-child{font-size:10px;line-height:1.7;max-width:250px}.chart-heading>.text-button{font-size:0;gap:0}.chart-heading>.text-button>span{font-size:22px}.chart-heading .eyebrow{font-size:7px}.chart-controls{margin:19px 0 12px;flex-direction:column;gap:14px}.plot-switch button{font-size:9px;padding:8px 10px}.legend{flex-direction:row;gap:15px;font-size:9px}.chart{min-height:180px}.chart svg{min-height:180px;min-width:0}.axis-label{font-size:19px}.axis-caption{font-size:15px}.threshold-control{padding:12px;gap:10px;display:grid;grid-template-columns:auto 1fr}.threshold-control>label{font-size:9px;gap:10px}.threshold-control input{width:100%}.threshold-results{grid-column:1/-1;justify-content:space-between;gap:10px;margin-top:4px}.threshold-results>span{font-size:9px;flex-wrap:wrap}.threshold-results strong{font-size:12px}.data-details{margin-left:-16px;margin-right:-16px;padding:0 16px}.chart-footnote{font-size:8px}.conditions-panel{padding:16px}.conditions-panel>.field-grid{grid-template-columns:1fr 1fr}.conditions-panel .field{font-size:10px}.conditions-panel .field>select{font-size:11px}.conditions-grid{gap:12px}.condition{font-size:9px}.friendly-toggle strong{font-size:10px}.friendly-toggle small{font-size:9px}.friendly-config .field-grid{grid-template-columns:1fr 1fr}.friendly-config .field-help{font-size:9px}.friendly-config .toggle{font-size:11px}.friendly-result{padding:14px 17px}footer{font-size:8px;gap:7px;padding:23px 0 25px}footer>span{flex-wrap:wrap;gap:5px}footer>span:last-child{font-size:8px}footer .text-button{font-size:8px}dialog{padding:20px;max-height:90vh}dialog h2{font-size:23px}.dialog-body p{font-size:12px}.source-list{font-size:11px}.toast{bottom:16px;font-size:11px}.result-method{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.axis-label{font-size:11px}.axis-caption{font-size:10px}.chart svg{min-height:240px}}
@media(max-width:480px){
  .models{grid-template-columns:1fr;gap:15px}.model-card{padding:18px 20px 0}.model-top{font-size:9px;letter-spacing:1px;min-height:24px;flex-wrap:nowrap}.model-index{width:22px;height:22px;font-size:10px}.active-chip{margin-left:auto;font-size:9px;padding:6px 10px}.model-chip{font-size:9px}.model-name{margin:13px 0 18px}.model-name input{font-size:23px}.core-fields{gap:16px}.field{font-size:11px;gap:7px}.stepper{height:43px}.stepper button{width:36px;font-size:18px}.stepper input{font-size:18px}.hp-row{padding:18px 0}.hp-row>.field{max-width:170px}.hp-row .stepper{height:38px}.hp-blocks{display:flex;margin-left:12px;max-width:85px}.hp-blocks i{width:7px;height:11px}.trait-group{margin:0 -20px;padding:0 20px}.trait-group>summary{font-size:12px;min-height:45px}.trait-count{font-size:9px;gap:10px}.field-grid{grid-template-columns:1fr 1fr;gap:14px}.field>select{font-size:11px;height:40px;padding:8px}.field-help{font-size:10px}.toggle{font-size:12px;min-height:36px}.switch{width:30px;height:18px}.switch:after{width:12px;height:12px}.toggle>input:checked+.switch:after{transform:translateX(12px)}.section-label>span:last-child{font-size:9px}.model-top .model-chip{font-size:8px}.conditions-panel .stepper button{width:26px}.trait-fields{gap:15px}
}
.stepper input:disabled,.stepper button:disabled{opacity:.4;cursor:not-allowed}
/* Compact calculator: every model parameter stays visible. */
.topbar{height:64px}main{padding-top:24px}.intro{margin-bottom:20px}.intro h1{font-size:30px;margin:8px 0 5px;letter-spacing:-1px}.intro-copy{font-size:11px}.intro-seal{width:35px;font-size:21px}.intro-seal>span{font-size:15px}.workspace-toolbar{padding-bottom:12px;margin-bottom:18px}.section-label{margin-bottom:9px}.workspace{gap:20px;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr)}.models{gap:12px;align-items:start}.model-card{padding:13px 14px 0}.model-name{margin:7px 0 9px}.model-name input{font-size:20px;padding-bottom:3px}.core-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px}.field{font-size:10px;gap:4px}.field>span:first-child{min-height:14px}.stepper{height:31px}.stepper input{font-size:14px}.stepper button{width:23px;font-size:14px}.trait-group{margin:0 -14px;padding:10px 14px;border-top:1px solid var(--border)}.trait-heading{font-size:10px;font-family:'DM Sans',sans-serif;letter-spacing:.3px;font-weight:600;color:#5e7354;margin:0 0 8px}.trait-fields{gap:9px;padding:0}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px}.select-grid,.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;align-items:center}.select-field select{font-size:10px;height:32px;padding:4px 7px}.toggle{font-size:10px;min-height:27px;gap:6px}.toggle input:disabled+.switch{opacity:.3}.toggle:has(input:disabled){color:#a0aa98}.switch{width:25px;height:15px}.switch:after{width:9px;height:9px;margin:3px}.toggle>input:checked+.switch:after{transform:translateX(10px)}.input-footnote{font-size:9px;margin-top:8px}.calculation-note{margin-top:10px;padding:10px 13px}.calculation-note p{font-size:9px}.results{position:static}.results .chart-panel{margin-top:16px;padding:18px 16px 0}.results .chart-heading{gap:10px;align-items:flex-start}.results .chart-heading h2{font-size:17px;margin-top:5px}.results .chart-heading p:last-child{font-size:10px;line-height:1.6}.results .chart-heading>.text-button{font-size:0}.results .chart-heading>.text-button>span{font-size:18px}.results .chart-controls{flex-direction:column;align-items:flex-start;gap:10px;margin:15px 0 8px}.results .legend{font-size:9px;flex-direction:row;gap:12px}.results .plot-switch button{font-size:10px;padding:7px 9px}.results .chart{min-height:220px}.results .threshold-control{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.results .threshold-control>label{font-size:10px}.results .threshold-control input{width:110px;min-width:60px}.results .threshold-results{width:100%;justify-content:space-between;margin:0;gap:10px}.results .data-details{margin-left:-16px;margin-right:-16px;padding:0 16px}.results .chart-footnote{font-size:9px}.outlook-main{padding:18px;gap:18px}.probability-ring{width:90px;height:90px;padding:6px}.probability-ring strong{font-size:22px}.outlook-text h2{font-size:19px}.metric-grid{padding:0 20px 17px}.metric-grid strong{font-size:25px}.initiative-banner{padding:11px 16px}.opponent-outlook{padding:12px 0;margin:0 16px}.opponent-outlook dl{margin-top:9px}.result-mini{padding:10px 16px}.result-method{padding:9px 1px 0}.conditions-panel{padding:15px}.conditions-grid{gap:10px}.friendly-config{padding:12px}.friendly-config .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px) and (min-width:951px){.workspace{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.model-card{padding-left:11px;padding-right:11px}.trait-group{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px}.field-grid{gap:8px 6px}.stepper button{width:18px}.field{font-size:9px}.toggle{font-size:9px}.select-grid{grid-template-columns:1fr}.outlook-main{gap:10px}}
@media(max-width:950px){.workspace{grid-template-columns:1fr}.model-card{padding:15px 18px 0}.trait-group{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.outlook-panel{display:block}.results .chart-panel{margin-top:16px}.results .chart-controls{flex-direction:row;align-items:center;justify-content:space-between}.results .chart-heading>.text-button{font-size:11px}.results .chart-controls .legend{flex-direction:row}.results .threshold-results{width:auto;flex:1}.result-mini{grid-template-columns:1fr auto}.results .chart{min-height:240px}.outlook-main{padding:20px}.opponent-outlook dl{max-width:none}}
@media(max-width:600px){.topbar{height:60px}main{padding-top:20px}.intro h1{font-size:27px;max-width:290px}.intro-copy{max-width:none;font-size:10px}.mobile-break{display:none}.intro{margin-bottom:18px}.intro-seal{display:none}.workspace-toolbar{margin-bottom:16px}.models{grid-template-columns:1fr;gap:14px}.model-card{padding:14px 16px 0}.model-top{font-size:9px;min-height:24px;flex-wrap:nowrap;letter-spacing:.4px}.active-chip{font-size:9px;margin-left:auto}.model-name{margin:8px 0 12px}.model-name input{font-size:20px}.trait-group{margin:0 -16px;padding:11px 16px}.trait-heading{font-size:11px;margin-bottom:9px}.field{font-size:10px}.stepper{height:35px}.stepper button{width:27px}.stepper input{font-size:15px}.core-fields{gap:10px}.core-fields .stepper{height:38px}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 9px}.toggle{font-size:11px;min-height:31px}.select-grid{grid-template-columns:1fr 1fr}.select-field select{font-size:11px;height:35px}.trait-fields{gap:10px}.results .chart-controls{flex-direction:column;align-items:flex-start;gap:12px}.results .chart-heading>.text-button{font-size:0}.results .threshold-results{width:100%;flex:auto}.results .threshold-control{display:flex}.probability-ring{width:98px;height:98px}.results .chart-panel{padding-top:18px}.switch{width:27px;height:16px}.switch:after{width:10px;height:10px}.toggle>input:checked+.switch:after{transform:translateX(11px)}.conditions-panel>.field-grid{grid-template-columns:1fr 1fr}.friendly-config .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.model-card .select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Small ink-style wayfinding marks; labels carry the meaning. */
.ability-icon{display:inline-block;width:12px;height:12px;flex:0 0 12px;color:#7d9171;vertical-align:-2px;pointer-events:none}.trait-heading{display:flex;align-items:center;gap:7px;min-height:17px}.trait-heading .group-icon{width:16px;height:16px;flex-basis:16px}.icon-attack,.icon-critical,.icon-dual,.icon-combo,.icon-assassin{color:var(--red)}.icon-defence,.icon-durable,.icon-kata{color:#63805b}.select-label,.toggle-label{display:flex;align-items:center;gap:5px;min-width:0}.toggle-label>span{min-width:0;line-height:1.3}.toggle:has(input:checked) .ability-icon{color:var(--green)}.toggle:has(input:checked) .icon-critical{color:var(--red)}.toggle:has(input:disabled) .ability-icon{opacity:.4}
@media(max-width:600px){.trait-heading .group-icon{width:16px;height:16px}.toggle-label{gap:4px}.ability-icon{width:12px;height:12px;flex-basis:12px}}
/* Semantic accents: colour assists the existing labels and symbols. */
[data-tone="attack"]{--field-accent:#995d54;--field-wash:#fcf7f5;--field-line:#e9dcd7}[data-tone="defence"]{--field-accent:#496e5a;--field-wash:#f5f8f3;--field-line:#dce5d7}[data-tone="reroll"]{--field-accent:#57758a;--field-wash:#f5f8fa;--field-line:#dce4e9}[data-tone="neutral"]{--field-accent:var(--ink);--field-wash:#fafbf7;--field-line:#e1e7da}.field{color:#778074}.field[data-valued="false"] .stepper input{color:#8b9487;font-weight:500}.field[data-valued="true"] .stepper input{color:var(--field-accent)}.field[data-valued="true"] .stepper{background:var(--field-wash);border-color:var(--field-line)}.field[data-valued="true"] .stepper button{color:var(--field-accent);opacity:.65}.field .stepper button:hover{color:var(--field-accent);background:var(--field-wash);opacity:1}.field[data-valued="true"]>select{color:var(--field-accent);background:var(--field-wash);border-color:var(--field-line)}.trait-group[data-tone]:not([data-tone="neutral"]) .trait-heading{color:var(--field-accent)}.trait-group[data-tone]:not([data-tone="neutral"]) .group-icon{color:var(--field-accent)}.toggle[data-tone]:not([data-tone="neutral"]) input:checked+.switch{background:var(--field-accent)}.toggle[data-tone]:not([data-tone="neutral"]):has(input:checked) .ability-icon{color:var(--field-accent)}.select-field[data-tone="reroll"] .ability-icon{color:var(--field-accent)}.stepper input:disabled{color:#8b9487!important}
.field{color:#6b7567}.field[data-valued="false"] .stepper input{color:#6d7769}.stepper input:disabled{color:#6d7769!important}
.field[data-valued="true"]>input[type="number"]{color:var(--field-accent);background:var(--field-wash);border-color:var(--field-line)}.field[data-valued="false"]>input[type="number"]{color:#6d7769}
.core-fields.ranged-core{grid-template-columns:repeat(2,minmax(0,1fr))}.model-card:has([data-key="ranged"]) .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* All range bands share one compact comparison. */
.conditions-panel>.ranged-modifiers{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-dot.third{background:#57758a}.ranged-outlook{overflow:hidden}.range-table-wrap{padding:4px 14px 0;overflow-x:auto}.range-table{font-size:10px;table-layout:fixed}.range-table th,.range-table td{padding:11px 5px;vertical-align:middle}.range-table th:first-child{width:39%;text-align:left}.range-table thead th{background:transparent;font-weight:600;text-align:right}.range-table thead th:first-child{color:var(--muted);font-weight:400}.range-table thead .range-0{color:#2e6654}.range-table thead .range-1{color:#9b6d58}.range-table thead .range-2{color:#57758a}.range-table thead small{display:block;font-size:8px;color:#87917e;font-weight:400;margin-top:4px;white-space:normal}.range-table tbody th{color:#77816f;font-weight:400}.range-table .range-emphasis td{font-family:Manrope,sans-serif;font-size:15px;font-weight:650;letter-spacing:-.3px}.range-table .friendly-risk td{color:#995d54}.range-note{font-size:9px;line-height:1.7;color:#85927a;padding:12px 18px 15px}.ranged-outlook .friendly-result{padding:12px 18px}.ranged-outlook .friendly-result strong{font-size:14px}.ranged-outlook .friendly-result p{line-height:1.6;margin-top:7px}.results .threshold-results:has(>span:nth-child(3)){gap:10px;flex-wrap:wrap}.results .threshold-results:has(>span:nth-child(3))>span{font-size:9px;gap:4px}.results .threshold-results:has(>span:nth-child(3)) strong{margin-left:2px;font-size:12px}
@media(max-width:600px){.range-table{font-size:11px}.range-table .range-emphasis td{font-size:16px}.range-table th:first-child{width:39%}.range-table th,.range-table td{padding:12px 5px}}
/* Immediate point readouts, shared by mouse, touch and keyboard. */
.chart{position:relative}.chart-point{pointer-events:none}.chart-point.is-inspected{r:5px;stroke-width:2px}.chart-hit{cursor:crosshair;touch-action:pan-y;outline:none}.chart-hit:focus-visible{fill:#2e66540a;stroke:#71836b;stroke-width:1;stroke-dasharray:3 4}.chart-tooltip{position:absolute;z-index:3;pointer-events:none;min-width:155px;max-width:calc(100% - 16px);padding:12px 14px;border:1px solid #dce4d5;border-radius:6px;background:#fffffff7;box-shadow:0 5px 18px #263d3416;color:var(--ink);font-size:11px;line-height:1.5}.chart-tooltip[hidden]{display:none}.tooltip-heading{display:block;font-family:Manrope,sans-serif;font-size:11px;font-weight:650;margin-bottom:8px}.tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:5px;font-variant-numeric:tabular-nums}.tooltip-row>span{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.tooltip-row>strong{white-space:nowrap;font-weight:600}
/* Compact profile exchange and damage summaries. */
.models{position:relative}.swap-profiles{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:1;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--paper);color:var(--green);font-size:22px;box-shadow:0 2px 8px #263d3410}.swap-profiles:hover{background:var(--light)}
.damage-view-switch{display:flex;align-items:center;gap:3px;padding:13px 16px 5px;font-size:10px}.damage-view-switch>span{color:var(--muted);margin-right:auto}.damage-view-switch button{padding:5px 8px;border-radius:4px;color:var(--muted)}.damage-view-switch button[aria-pressed=true]{background:var(--light);color:var(--green);font-weight:600}
.damage-summaries{display:grid;gap:8px;padding:13px 16px}.ranged-summaries{grid-template-columns:repeat(3,minmax(0,1fr))}.damage-summary{margin:0;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;min-width:0}.damage-ring{width:82px;height:82px;flex-shrink:0;border-radius:50%;background:conic-gradient(#b77d6b var(--damage),#e4ebdf 0);display:grid;place-items:center}.damage-ring>div{width:65px;height:65px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column}.damage-ring strong{font-family:Manrope,sans-serif;font-size:17px;font-variant-numeric:tabular-nums}.damage-ring span{font-size:8px;color:var(--muted)}.damage-summary figcaption{display:grid;gap:3px;font-size:9px;color:var(--muted)}.damage-summary figcaption>strong{font-size:10px;color:var(--ink);font-weight:500}.damage-summary figcaption>span{font-variant-numeric:tabular-nums}.melee-summaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 16px 0;gap:20px}.side-summary{min-width:0}.side-summary h2{font-size:13px;margin-bottom:16px;overflow-wrap:anywhere}.side-summary h2>span{display:block;color:var(--muted);font-size:9px;font-weight:400;margin-top:4px}.damage-metrics{margin:18px 0 0;font-size:10px}.damage-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.damage-metrics dt{color:var(--muted)}.damage-metrics dd{margin:0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.melee-summaries+.range-note{padding-top:15px}.ranged-summaries .damage-ring{width:70px;height:70px}.ranged-summaries .damage-ring>div{width:55px;height:55px}.ranged-summaries .damage-ring strong{font-size:14px}
@media(max-width:600px){.melee-summaries{gap:16px}.side-summary h2{font-size:14px}.damage-metrics{font-size:10px}.damage-metrics dd{font-size:14px}.damage-view-switch{font-size:11px}.ranged-summaries .damage-ring{width:76px;height:76px}.ranged-summaries .damage-ring>div{width:60px;height:60px}.ranged-summaries .damage-ring strong{font-size:16px}}
.complexity-switch{display:flex;align-items:center;gap:2px;padding:3px;background:#e9ede4;border-radius:5px;margin-left:15px}.complexity-switch button{font-size:11px;color:var(--muted);padding:7px 11px;border-radius:3px}.complexity-switch button[aria-pressed=true]{background:white;color:var(--green);box-shadow:0 1px 3px #263d3410}.field-grid:empty,.select-grid:empty,.toggle-grid:empty{display:none}
@media(max-width:600px){.workspace-toolbar{flex-wrap:wrap;gap:10px}.complexity-switch{margin-left:auto}.complexity-switch button{font-size:10px;padding:7px 9px}.toolbar-actions{width:100%;justify-content:flex-end}}
@media(max-width:600px){.swap-profiles{position:static;transform:none;justify-self:center;margin:-4px 0;grid-column:1}}
.results[aria-busy=true] #result-content,.chart-panel[aria-busy=true] #chart{opacity:.45}.advertisement[hidden]{display:none}.advertisement{max-width:970px;margin:30px auto 0;padding:12px 0 4px;border-top:1px solid var(--border);text-align:center}.ad-label{display:block;font-size:9px;color:var(--muted);letter-spacing:.08em;margin-bottom:8px}.adsbygoogle{display:block;min-height:90px}.ad-preview .adsbygoogle{border:1px dashed var(--border);border-radius:4px;background:#eef1e740}
@media(max-width:600px){.advertisement{margin-top:22px}.adsbygoogle{min-height:100px}}
