:root{--fs:18px;--ink:#1d1d1f;--muted:#52514e;--paper:#fff;--page:#f5f5f7;--line:#d2d2d7;--accent:#0b57d0}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs);margin:0;line-height:1.45}.chart{background:var(--paper);touch-action:pan-y;cursor:pointer;border:1px solid #e4e3de;border-radius:12px;width:100%;height:auto;display:block}.chart text{font-family:inherit}.screen{max-width:600px;font-size:var(--fs);margin:0 auto;padding:8px 16px 48px}.big{--fs:22px}button{font:inherit;color:inherit;cursor:pointer;min-height:48px}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.top h1{margin:0;font-size:1.2em}.top-actions{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);background:var(--paper);border-radius:24px;padding:6px 16px}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.status{border:2px solid;border-radius:16px;align-items:flex-start;gap:12px;margin:8px 0 12px;padding:16px;display:flex}.status-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:2em;height:2em;font-weight:700;display:grid}.status-word{font-size:1.4em}.status-text{margin:4px 0 0}.status-good{color:#0f3d22;background:#e8f5ec;border-color:#1b6e3c}.status-good .status-icon{background:#1b6e3c}.status-tight{color:#4d3300;background:#fff4d6;border-color:#8a5a00}.status-tight .status-icon{background:#8a5a00}.status-bad{color:#5c1212;background:#fde8e8;border-color:#a12525}.status-bad .status-icon{background:#a12525}.slider{margin:12px 0 4px}.readout{margin:0 0 4px;font-size:1.15em;font-weight:600}.slider input[type=range]{width:100%;height:48px;accent-color:var(--accent);margin:0}.slider-ends{color:var(--muted);justify-content:space-between;display:flex}.note{color:var(--muted);margin:8px 0 16px}.link{color:var(--accent);background:0 0;border:0;min-height:48px;padding:0 4px;text-decoration:underline}.scenarios{border:0;margin:16px 0;padding:0}.scenarios legend{margin-bottom:8px;padding:0;font-size:1.15em;font-weight:700}.sim-card{margin-bottom:8px;display:block;position:relative}.sim-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sim-card .box{background:var(--paper);border:2px solid var(--line);border-radius:14px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.sim-card .dot{border:3px solid #898781;border-radius:50%;flex:none;width:24px;height:24px}.sim-card input:checked+.box{border-color:var(--accent);background:#eaf1fd}.sim-card input:checked+.box .dot{border-color:var(--accent);background:radial-gradient(var(--accent) 45%, transparent 50%)}.sim-card input:focus-visible+.box{outline:3px solid var(--accent);outline-offset:2px}.stepper{gap:8px;margin:4px 0 8px;display:flex}.stepper button{border:2px solid var(--line);background:var(--paper);border-radius:14px;flex:1;min-width:48px;padding:6px 10px}.result{background:var(--paper);border:2px solid var(--line);border-radius:16px;margin:8px 0 16px;padding:12px 16px}.result h2{margin:0 0 4px;font-size:1.1em}.result ul{margin:0;padding-left:1.2em}.result li{margin:4px 0}.warning{color:#4d3300;background:#fff4d6;border-left:6px solid #8a5a00;margin:8px 0 0;padding:8px 12px}.fold{background:var(--paper);border:2px solid var(--line);border-radius:14px;margin:8px 0;padding:0 16px}.fold summary{cursor:pointer;align-items:center;min-height:48px;font-weight:600;display:flex}.table-wrap{margin-bottom:12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 8px}th:first-child,td:first-child{text-align:left}.told{padding-left:1.2em}.told li{margin:4px 0}.primary{background:var(--accent);color:#fff;border:0;border-radius:14px;width:100%;margin:20px 0 8px;padding:10px 16px;font-weight:700;display:block}.secondary{background:var(--paper);border:2px solid var(--accent);color:var(--accent);border-radius:14px;margin:4px 0 12px;padding:8px 16px;font-weight:600}.wizard h2{margin:8px 0;font-size:1.4em}.progress{color:var(--muted);margin:12px 0 0}.help{color:var(--muted);margin:4px 0 8px}.field{border:0;margin:0 0 16px;padding:0}.field label,.field legend{margin-bottom:4px;padding:0;font-weight:600;display:block}.field input[type=text],.field select{width:100%;min-height:52px;font:inherit;color:var(--ink);background:var(--paper);border:2px solid #898781;border-radius:12px;padding:8px 12px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#a12525}.error{color:#a12525;margin:6px 0 0;font-weight:600}.month-row{gap:8px;display:flex}.month-row select{flex:1;min-width:0}.choice{background:var(--paper);border:2px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-height:56px;margin-bottom:8px;padding:10px 14px;display:flex;position:relative;font-weight:400!important}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice .dot{border:3px solid #898781;border-radius:50%;flex:none;width:24px;height:24px}.choice input:checked~.dot{border-color:var(--accent);background:radial-gradient(var(--accent) 45%, transparent 50%)}.choice input:focus-visible~.dot{outline:3px solid var(--accent);outline-offset:2px}.row{border:2px solid var(--line);background:var(--paper);border-radius:16px;margin:0 0 16px;padding:12px 16px}.row legend{padding:0 6px;font-weight:700}.nav{gap:12px;margin-top:24px;display:flex}.nav .primary{flex:1;margin:0}.nav .secondary{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notice{background:var(--paper);border:2px solid var(--line);border-left:6px solid var(--accent);border-radius:12px;margin:12px 0;padding:10px 14px}.notice.bad{border-left-color:#a12525}a.primary{text-align:center;background:var(--accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;min-height:48px;margin:20px 0 8px;padding:10px 16px;font-weight:700;text-decoration:none;display:flex}.login h2{margin:16px 0 8px;font-size:1.4em}.foot{max-width:600px;font-size:var(--fs);margin:0 auto;padding:8px 16px 32px}.foot a{min-height:48px;color:var(--accent);align-items:center;display:inline-flex}.saved{margin:12px 0;padding:0;list-style:none}.saved li{background:var(--paper);border:2px solid var(--line);border-radius:14px;margin-bottom:8px;padding:12px 16px}.saved .when{color:var(--muted);margin:2px 0 8px}.saved .actions{flex-wrap:wrap;gap:8px;display:flex}.legal h2{margin:20px 0 4px;font-size:1.15em}.legal p{margin:4px 0 8px}.danger{color:#fff;background:#a12525;border:0;border-radius:14px;padding:8px 16px;font-weight:700}
