*{margin:0;padding:0;box-sizing:border-box}:root{font-family:"Source Sans 3",Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.7;font-weight:400;color:#1f2933;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}} button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{min-height:100vh;background:#f6f7f8;padding:2.5rem 1.25rem}.app-header{text-align:left;color:#1f2933;margin-bottom:2.5rem}.app-header h1{font-size:2rem;margin:0 0 .35rem;font-weight:600;letter-spacing:.2px}.tagline{font-size:1rem;color:#52606d;margin:0}.container{max-width:840px;margin:0 auto}.section{background:#fff;border-radius:10px;padding:2rem 2.25rem;margin-bottom:1.75rem;box-shadow:0 2px 6px #1018280f;border:1px solid #e4e7eb}.section h2{margin:0 0 1.25rem;color:#102a43;font-size:1.35rem;font-weight:600}.hint{color:#6b7280;font-size:.95rem;margin:-.35rem 0 1.25rem}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.5rem;color:#3e4c59;font-weight:600;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.75rem .85rem;border:1px solid #d9e2ec;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box;color:#102a43;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#9fb3c8}.outcome-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem;padding:1rem 1.25rem;background:#fafbfc;border-radius:8px;border:1px solid #e4e7eb}.outcome-number{width:28px;height:28px;background:#e4e7eb;color:#52606d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;font-size:.85rem}.outcome-fields{flex:1;display:flex;flex-direction:column;gap:.75rem}.outcome-fields>input{width:100%;padding:.7rem .8rem;border:1px solid #d9e2ec;border-radius:8px;font-size:1rem;box-sizing:border-box}.outcome-numbers{display:flex;gap:1rem}.number-input{flex:1}.number-input label{display:block;font-size:.85rem;color:#6b7280;margin-bottom:.35rem;font-weight:600;position:relative;cursor:help}.value-label-tooltip{position:relative}.value-label-tooltip:after{content:attr(title);position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:.75rem;border-radius:6px;font-size:.75rem;line-height:1.4;white-space:normal;width:220px;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1000;font-weight:400;text-decoration:none;box-shadow:0 2px 8px #00000026}.value-label-tooltip:hover:after{opacity:1}.tooltip-icon{font-size:.7rem;color:#667eea;font-weight:700;margin-left:.25rem;display:inline-block;width:14px;height:14px;border:1px solid #667eea;border-radius:50%;text-align:center;line-height:1.2}.number-input input{width:100%;padding:.7rem .8rem;border:1px solid #d9e2ec;border-radius:8px;font-size:1rem;box-sizing:border-box}.input-helper{margin-top:.35rem;font-size:.85rem;color:#7b8794;line-height:1.5}.btn-remove{background:#f2f2f2;color:#7b8794;border:1px solid #d9e2ec;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.btn-remove:hover{background:#e9ecef}.btn-primary{width:100%;padding:.95rem 2rem;background:#334e68;color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:background .2s;margin-bottom:1.5rem}.btn-primary:hover{background:#243b53}.btn-secondary{padding:.7rem 1.25rem;background:#fff;color:#52606d;border:1px solid #cbd2d9;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.btn-secondary:hover{background:#f0f4f8;color:#102a43}.probability-total{text-align:right;margin-top:1.25rem;font-weight:600;color:#52606d;font-size:1rem}.error{background:#fff9f9;color:#b91c1c;padding:1rem;border-radius:8px;border-left:4px solid #e07a7a;margin-bottom:1.5rem;font-weight:500}.results{background:#fff;color:#102a43}.results h2{color:#102a43}.results-subtext{color:#6b7280;font-size:.95rem;margin:-.75rem 0 1.5rem;font-weight:500}.lens-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:#eef2f7;color:#52606d;font-size:.8rem;font-weight:600;margin-bottom:.75rem}.lens-label{text-transform:uppercase;letter-spacing:.5px;opacity:.85;font-size:.7rem}.lens-pill{background:#fff;color:#334e68;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid #d9e2ec}.result-card{background:#fff;border-radius:10px;padding:2rem;color:#1f2933;border:1px solid #e4e7eb}.result-card h3{margin:0 0 1.25rem;color:#102a43;font-size:1.35rem;font-weight:600}.result-card h4{margin:2rem 0 1rem;color:#52606d;font-size:1.05rem}.expected-value{text-align:left;padding:1.5rem;background:#f8fafc;border-radius:10px;margin-bottom:2rem;border:1px solid #e4e7eb}.ev-label{font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;margin-bottom:.5rem;font-weight:600}.ev-number{font-size:2.6rem;font-weight:700;color:#102a43}.ev-number.positive{color:#0f766e}.ev-number.negative{color:#b42318}.ev-subtext{font-size:.9rem;color:#6b7280;margin-top:.65rem;font-style:normal}.summary{margin-bottom:2rem}.summary-item{padding:1rem 1.1rem;background:#f9fafb;border-radius:8px;margin-bottom:.75rem;line-height:1.7;border:1px solid #eef2f7}.range-subtext,.variance-subtext{font-size:.9rem;color:#6b7280;margin-top:.5rem;font-style:normal;display:block}.impact-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-weight:600;margin-left:.5rem;font-size:.85rem}.impact-badge.positive{background:#e7f5ee;color:#0f5132}.impact-badge.negative{background:#fce8e8;color:#7f1d1d}.outcomes-list{display:flex;flex-direction:column;gap:.75rem}.outcome-result{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-radius:8px;border-left:3px solid #9fb3c8}.outcome-info{display:flex;flex-direction:column;gap:.25rem}.outcome-name{font-weight:600;color:#1f2933}.outcome-meta{font-size:.9rem;color:#6b7280}.outcome-impact{font-size:1.35rem;font-weight:700}.outcome-impact.positive{color:#48bb78}.outcome-impact.negative{color:#f56565}.btn-review{padding:.85rem 1.5rem;background:#fff;color:#334e68;border:1px solid #cbd2d9;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:2rem;width:100%}.btn-review:hover:not(:disabled){background:#f0f4f8;color:#102a43}.btn-review:disabled{opacity:.7;cursor:not-allowed}.unlock-row{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e4e7eb}.unlock-note{margin:0 0 .75rem;color:#6b7280;font-size:.9rem;line-height:1.6}.unlock-error{margin:.75rem 0 0;color:#b91c1c;font-size:.9rem}.review-panel{background:#fff;border-radius:10px;padding:2.25rem;margin-top:1.75rem;box-shadow:0 2px 6px #1018280f;border:1px solid #e4e7eb}.review-panel h3{margin:0 0 .5rem;color:#102a43;font-size:1.4rem;font-weight:600}.review-subtext{color:#7b8794;font-size:.95rem;margin:0 0 1.75rem;font-weight:500}.review-section{margin-bottom:1.9rem}.review-section:last-child{margin-bottom:0}.review-section h5{margin:0 0 .75rem;color:#3e4c59;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.review-section p{margin:0;color:#1f2933;line-height:1.75;font-size:1rem}.review-disclaimer{margin-top:1.75rem;color:#7b8794;font-size:.9rem;line-height:1.6}@media(max-width:768px){.app{padding:1.5rem 1rem}.section{padding:1.5rem}.app-header{text-align:left}.app-header h1{font-size:1.75rem}.outcome-row,.outcome-numbers{flex-direction:column}.expected-value{padding:1.25rem}.ev-number{font-size:2.2rem}.review-panel{padding:1.75rem}.review-section p{font-size:.98rem}.value-label-tooltip:after{width:200px;font-size:.7rem}}.app-header{text-align:left}@media(max-width:768px){.app-header{text-align:center}}
