:root{font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;color:#263b37;background:#eef1ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #d9e1db;padding:9px 13px;border-radius:7px;font-size:12px;transition:background .15s}button:hover{background:#edf3ef}button.active,.primary{background:#255b49;color:white;border-color:#255b49}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c68e4b;outline-offset:2px}[hidden]{display:none!important}.masthead{height:74px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;background:#fafcf9;border-bottom:1px solid #dae1da;gap:12px}.identity{display:flex;gap:12px;align-items:center}.identity strong{font-size:18px;font-weight:650}.logo{display:grid;place-items:center;width:40px;height:40px;background:#255b49;color:#f2e7ce;border-radius:10px;font-size:24px;font-family:Georgia,serif}.eyebrow{display:block;font-size:9px;letter-spacing:1.8px;color:#789184;font-weight:650;margin-top:5px}.header-right{display:flex;gap:8px;align-items:center}.simulation-tag{color:#7c836e;font-size:11px;border:1px solid #d9dfd2;padding:6px 10px;border-radius:20px;margin-right:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 364px;height:calc(100dvh - 74px);min-height:650px}.stage{position:relative;overflow:hidden;background:#eef1ed}#viewport{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}.scene-heading{position:absolute;top:23px;left:26px;pointer-events:none}.scene-heading h1{font-size:23px;font-weight:500;letter-spacing:.3px;margin:9px 0}.scene-heading p{color:#818e84;font-size:11px;margin:0}.scene-heading p span{margin:0 8px}.views{position:absolute;right:20px;top:28px;display:flex;gap:4px;background:#fafcf9dd;border:1px solid #d9e1d7;border-radius:9px;padding:4px;backdrop-filter:blur(8px)}.views button{border:0;padding:8px 10px;background:transparent}.views button.active{background:#255b49}.scene-options{position:absolute;left:24px;bottom:118px;display:flex;gap:13px;flex-wrap:wrap;background:#fafcf9e8;padding:9px 12px;border:1px solid #dce2d9;border-radius:8px;max-width:calc(100% - 48px);font-size:11px;backdrop-filter:blur(8px)}.scene-options label{display:flex;gap:5px;align-items:center;cursor:pointer}.scene-options input{margin:0;accent-color:#255b49}.scene-help{position:absolute;left:26px;bottom:90px;color:#7b887e;font-size:10px;pointer-events:none}.playbar{position:absolute;bottom:20px;left:24px;right:24px;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dae1d7;background:#fbfcf9f0;box-shadow:0 6px 18px #40523f08;border-radius:12px}.time{display:flex;flex-direction:column;border-left:1px solid #dce1d8;padding-left:16px;margin-left:4px;min-width:76px}.time b{font-family:Consolas,monospace;font-size:20px;font-weight:500}.time span{font-size:9px;color:#8c978c}.speed-label{font-size:11px;margin-left:auto;display:flex;gap:7px;align-items:center}select{padding:6px;background:white;border:1px solid #d7dfd4;border-radius:5px;color:#354d40;font-size:12px}#run-state{font-size:11px;color:#82907f;min-width:62px}.research{background:#fafcf9;border-left:1px solid #d9e1d7;padding:24px 23px;overflow-y:auto}.panel-title h2{font-size:24px;font-weight:550;margin:8px 0}.panel-title p{font-size:12px;color:#899186;margin:0 0 20px}.cohorts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cohorts button{display:flex;align-items:center;gap:7px;text-align:left;font-size:11px}.cohorts button.all{grid-column:span 2;justify-content:center}.cohorts i,.dot{display:inline-block;border-radius:50%;width:7px;height:7px;flex-shrink:0}.cohorts .count{margin-left:auto;font-family:Consolas,monospace;color:#8d978c}.cohorts button.active .count{color:#fff}.filter-note{font-size:10px;color:#8a958a;margin:9px 0 18px}.kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce4d9;border-bottom:1px solid #dce4d9;padding:16px 0;gap:15px}.kpis div{display:flex;flex-direction:column;gap:5px}.kpis div+div{border-left:1px solid #dce4d9;padding-left:20px}.kpis span{font-size:11px;color:#7b897d}.kpis b{font-size:32px;font-weight:450;font-variant-numeric:tabular-nums}.kpis small{font-size:10px;color:#8b9587}.tabs{display:flex;gap:22px;border-bottom:1px solid #dde4d9;margin:18px 0}.tabs button{border:0;border-radius:0;padding:10px 0;background:transparent;color:#8b9587}.tabs button.active{border-bottom:2px solid #285b48;color:#285b48}h3{font-size:12px;font-weight:600;margin:18px 0 12px}h3 span{float:right;color:#909a8b;font-size:9px;font-weight:400}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px;font-variant-numeric:tabular-nums}th{color:#8d9788;font-size:9px;font-weight:450;padding:5px 0 9px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}td{padding:10px 0;border-top:1px solid #e7ece3;text-align:right}td .dot{margin-right:5px;width:6px;height:6px}.subtle{font-size:10px;line-height:1.7;color:#8a9585}.bar-row{margin:12px 0}.bar-label{display:flex;justify-content:space-between;font-size:10px;color:#72816d;margin-bottom:6px;font-variant-numeric:tabular-nums}.bar-track{height:5px;background:#e9eee5;border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;min-width:0}.insight{border-left:2px solid #9eb7a0;background:#edf3e9;font-size:11px;line-height:1.8;color:#718367;padding:10px 12px;margin:20px 0}.export{width:100%;background:#285b48;color:white;border-color:#285b48}.export:hover{background:#39755c}.secondary-export{width:100%;margin-top:7px;background:transparent}.research footer{font-size:10px;line-height:1.7;color:#a0a79a;margin-top:20px;border-top:1px solid #e1e7da;padding-top:13px}.field{font-size:11px;color:#72826e;display:flex;flex-direction:column;gap:7px;margin-bottom:13px}.field input,.field select{width:100%;padding:9px;font-size:12px}.field input{border:1px solid #d9e1d2;border-radius:5px;background:white;color:#334b3b;min-width:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.assumption{border-top:1px solid #e0e7d9;padding:13px 0}.assumption strong{font-size:11px;font-weight:500;display:block;margin-bottom:10px}.assumption .fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.assumption label{font-size:9px;margin:0}.assumption input{padding:7px}.wide{width:100%}#settings-error{font-size:12px;color:#a04435}.selection{position:absolute;right:20px;top:88px;background:#fcfdf9f5;border:1px solid #d7e1d0;border-radius:10px;padding:16px;width:252px;box-shadow:0 8px 30px #2a40220c;backdrop-filter:blur(10px)}.selection>button{float:right;border:0;background:transparent;font-size:20px;padding:0}.selection h3{font-size:17px;margin:10px 0}.selection p{font-size:11px;color:#7b8971;line-height:1.7;margin:8px 0}.selection #person-metrics{font-size:12px;line-height:1.9;color:#506448}.heat-scale{position:absolute;left:26px;top:129px;background:#fff9;border-radius:5px;padding:6px;display:flex;align-items:center;gap:8px;font-size:10px}.heat-scale i{width:75px;height:7px;background:linear-gradient(90deg,#b9dcd3,#e8cc73,#d2744e)}#loading,#error{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);padding:20px;background:#fff;border:1px solid #d7dfd3;border-radius:10px;font-size:13px;max-width:90%}#error{color:#a33d2d;line-height:1.8}dialog{border:1px solid #d7e1d0;border-radius:14px;padding:22px;max-width:min(94vw,1350px);max-height:92dvh;color:#354b3e;background:#fcfdf9}dialog::backdrop{background:#20352688;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px}.dialog-head h2{font-size:20px;margin:0}#drawing img{display:block;width:100%;max-height:77vh;object-fit:contain}#help{max-width:680px;font-size:14px;line-height:1.9}#help p{color:#788970}
@media(max-width:1180px){main{grid-template-columns:minmax(0,1fr) 320px}.research{padding:21px 17px}.scene-heading h1{font-size:19px}.views{top:112px;left:24px;right:auto}.selection{top:170px}.heat-scale{top:166px}.scene-options{gap:9px}.playbar{gap:7px}#run-state{display:none}}
@media(max-width:780px){.masthead{height:64px;padding:0 13px}.identity{gap:8px}.identity strong{font-size:15px}.logo{width:33px;height:33px;font-size:20px}.eyebrow{font-size:8px;letter-spacing:1px}.simulation-tag{display:none}.header-right{gap:5px}.header-right button{padding:9px;font-size:10px}main{display:flex;flex-direction:column;height:auto;min-height:0}.stage{height:66dvh;min-height:510px}.research{overflow:visible;border-left:0;border-top:1px solid #d8e0d2;padding:21px 18px}.scene-heading{left:16px;top:16px}.scene-heading h1{font-size:17px}.views{left:14px;top:100px;padding:3px}.views button{min-height:38px;padding:8px 12px}.scene-options{left:12px;bottom:102px;max-width:calc(100% - 24px);gap:10px;padding:5px 10px}.scene-options label{min-height:31px;font-size:10px}.scene-options input{width:16px;height:16px}.scene-help{left:16px;bottom:79px;font-size:9px}.playbar{left:12px;right:12px;bottom:12px;padding:10px;gap:6px}.playbar button{padding:10px 9px;min-height:40px;font-size:11px}.playbar .time{padding-left:9px;min-width:56px}.time b{font-size:18px}.speed-label{font-size:10px;gap:4px}.speed-label select{min-height:38px}.selection{top:153px;right:12px;width:222px;padding:12px}.heat-scale{top:149px;left:16px;font-size:9px}.heat-scale i{width:43px}.cohorts{grid-template-columns:repeat(2,1fr)}.cohorts button{min-height:40px}table{font-size:12px}th{font-size:10px}.subtle{font-size:11px}.bar-label{font-size:12px}.tabs button{min-height:44px}.research footer{font-size:11px}.field input,.field select{font-size:16px}.cohorts button.all{grid-column:span 2}.panel-title h2{font-size:23px}#help{font-size:13px}h3 span{font-size:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
