@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_3a6cb3{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_3a6cb3{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#F4F0E6;--ink:#20242B;--ink2:#565D68;--ink3:#8A8F97;--line:#D6CFBE;--line2:#E6E0D2;--teal:#0F5C5A;--teal2:#14807C;--teal-soft:#DDE9E6;--clay:#B4552F;--clay-soft:#F0DED4;--amber:#C08A1E;--amber-soft:#F1E5C6;--green:#3F7A3B;--green-soft:#DBE8D5;--violet:#5B4B8A;--violet-soft:#E4DFF0;--card:#FBF9F3;--radius:3px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);line-height:1.55}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal2);outline-offset:2px}.wrap{max-width:1200px;margin:0 auto;padding:2.2rem 1.6rem 5rem}header{border-bottom:2px solid var(--ink);padding-bottom:1.1rem;margin-bottom:1.4rem}.eyebrow{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}.eyebrow,h1{margin-bottom:.5rem}h1{font-family:var(--font-fraunces),"Fraunces",serif;font-weight:500;font-size:36px;line-height:1.04;letter-spacing:-.5px}.sub{color:var(--ink2);font-size:14px;max-width:66ch}.meta{margin-top:.7rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}.save-status{white-space:nowrap;color:var(--teal)}.save-status.error,.save-status.saving{color:var(--clay)}.header-actions{gap:.45rem;margin-top:.9rem}.flow,.header-actions{display:flex;flex-wrap:wrap}.flow{align-items:stretch;gap:.4rem;margin:1.4rem 0 1.8rem}.flow-step{flex:1 1;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem}.flow-step .fs-n{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--clay);letter-spacing:.06em}.flow-step .fs-t{font-weight:600;font-size:13.5px;margin:.15rem 0}.flow-step .fs-d{font-size:12px;color:var(--ink2);line-height:1.38}.flow-arrow{align-self:center;color:var(--ink3);font-size:18px}@media(max-width:820px){.flow-arrow{transform:rotate(90deg)}}nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:1.8rem;display:flex;gap:.35rem;padding:.5rem 0;flex-wrap:wrap}nav button{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;background:none;border:1px solid transparent;color:var(--ink2);padding:.4rem .65rem;border-radius:var(--radius);cursor:pointer;transition:.15s}nav button:hover{color:var(--ink);background:var(--line2)}nav button.active{background:var(--ink);color:var(--paper)}section{margin-bottom:2.8rem;scroll-margin-top:56px}.sec-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.4rem}.sec-num{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;color:var(--clay)}.sec-num,h2{font-weight:500}h2{font-family:var(--font-fraunces),"Fraunces",serif;font-size:24px;letter-spacing:-.3px}.sec-intro{color:var(--ink2);font-size:13.5px;max-width:74ch;margin-bottom:1.2rem}.howto{background:var(--teal-soft);border-left:3px solid var(--teal);padding:.9rem 1.1rem;border-radius:var(--radius);font-size:13px;color:var(--ink);margin-bottom:1.4rem}.howto b{color:var(--teal)}.cap-strip{display:flex;gap:1rem;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.4rem;align-items:flex-end}.cap-field{display:flex;flex-direction:column;gap:.25rem}.cap-field label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.cap-field input,.cap-field label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.cap-field input{font-size:15px;border:1px solid var(--line);border-radius:2px;padding:.4rem .5rem;background:#fff;color:var(--ink);width:130px}.cap-field input:focus{outline:2px solid var(--teal2);outline-offset:-1px;border-color:transparent}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.6rem;gap:.6rem}.goal-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem}.goal-id{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;font-weight:500;color:var(--clay);display:block;margin-bottom:.15rem}.goal-t{font-weight:600;font-size:13px;margin-bottom:.1rem}.goal-d{font-size:12px;color:var(--ink2);line-height:1.4}.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}table{border-collapse:collapse;width:100%}#ntbl{min-width:640px}#ptbl2{min-width:1180px}th{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);text-align:left;padding:.55rem;border-bottom:1.5px solid var(--line);background:var(--line2);white-space:nowrap;vertical-align:bottom}th.goal-col{writing-mode:horizontal-tb;transform:none;min-width:145px;height:58px;text-align:center;padding:.45rem .4rem;white-space:normal;line-height:1.25;cursor:help}td,th.goal-col{vertical-align:middle}td{padding:.35rem .5rem;border-bottom:1px solid var(--line2);font-size:13px}tr:last-child td{border-bottom:none}input[type=date],input[type=number],input[type=text],textarea{font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;font-size:13px;border:1px solid var(--line);border-radius:2px;padding:.3rem .4rem;background:#fff;color:var(--ink);width:100%}input[type=number]{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}input:focus,textarea:focus{outline:2px solid var(--teal2);outline-offset:-1px;border-color:transparent}select{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;border:1px solid var(--line);border-radius:2px;padding:.3rem;background:#fff;color:var(--ink2)}td.name-col{min-width:150px}td.name-col input{min-width:140px}.num-col{width:82px}.num-col input{width:72px;text-align:right}.term-col{width:120px}.score-cell{text-align:center;width:34px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:500;font-size:13px;color:var(--ink3);transition:.12s}.score-cell:hover{background:var(--line2)}.score-cell.s3{background:var(--teal-soft);color:var(--teal)}.score-cell.s2{background:var(--green-soft);color:var(--green)}.score-cell.s1{background:var(--amber-soft);color:var(--amber)}.val-cell{text-align:center;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;font-size:13px;width:52px;color:var(--ink)}.prio-cell{text-align:center;width:66px}.theme-tag{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--violet);background:var(--violet-soft);padding:.08rem .35rem;border-radius:2px;display:inline-block}.theme-tag.ext{color:var(--clay);background:var(--clay-soft)}.flag{font-size:11px;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;letter-spacing:.03em;padding:.15rem .45rem;border-radius:2px;white-space:nowrap}.flag-muss{background:var(--teal-soft);color:var(--teal)}.flag-soll{background:var(--green-soft);color:var(--green)}.flag-kann{background:var(--amber-soft);color:var(--amber)}.flag-frag{background:var(--clay-soft);color:var(--clay)}.del-btn{background:none;border:none;color:var(--ink3);cursor:pointer;font-size:16px;line-height:1;padding:.2rem .3rem;border-radius:2px}.del-btn:hover{color:var(--clay);background:var(--clay-soft)}.row-actions{display:flex;gap:.5rem;margin-top:.8rem;flex-wrap:wrap}.btn{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.5rem .9rem;border-radius:var(--radius);cursor:pointer;transition:.15s}.btn:hover{background:var(--teal);border-color:var(--teal)}.btn.ghost{background:none;color:var(--ink)}.btn.ghost:hover{background:var(--line2)}.btn.small{font-size:10.5px;padding:.34rem .58rem}.btn:disabled,.del-btn:disabled{cursor:not-allowed;opacity:.45}.legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin:.9rem 0 0;font-size:12px;color:var(--ink2)}.legend span{display:inline-flex;align-items:center;gap:.35rem}.dot{width:11px;height:11px;border-radius:2px;display:inline-block}.dot.t{background:var(--teal)}.dot.g{background:var(--green)}.dot.a{background:var(--amber)}.size-legend{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1.2rem}.size-legend .sl-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-right:.2rem;min-width:190px}.size-def{display:flex;align-items:center;gap:.35rem;font-size:12px}.size-def input{width:78px;text-align:right;font-size:12px;padding:.2rem .3rem;border:1px solid var(--line);border-radius:2px}.size-def input,.size-pill{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.size-pill{font-weight:600;font-size:11px;min-width:22px;height:20px;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.size-pill.S{background:var(--green-soft);color:var(--green)}.size-pill.M{background:var(--amber-soft);color:var(--amber)}.size-pill.L{background:var(--clay-soft);color:var(--clay)}.size-pill.XL{background:var(--violet-soft);color:var(--violet)}.cat-lane{margin-bottom:1.1rem}.cat-lane h3{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:.3rem 0;border-bottom:1px solid var(--line);margin-bottom:.4rem}.need{display:flex;align-items:center;gap:.6rem;padding:.5rem .3rem;border-bottom:1px dotted var(--line2);flex-wrap:wrap}.need:last-child{border-bottom:none}.need .chk{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--teal)}.need .need-name{flex:1 1;min-width:200px;font-size:13.5px}.need.off .need-name{color:var(--ink3)}.need.covered .need-name{color:var(--violet)}.need .ctrls{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.need .sizes{display:flex;gap:.22rem}.need .sizes button{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;font-size:11px;min-width:32px;height:26px;padding:0 .3rem;border:1px solid var(--line);background:#fff;color:var(--ink3);border-radius:3px;cursor:pointer;transition:.12s}.need .sizes button:hover{border-color:var(--teal2)}.need .sizes button.active.S{background:var(--green);color:#fff;border-color:var(--green)}.need .sizes button.active.M{background:var(--amber);color:#fff;border-color:var(--amber)}.need .sizes button.active.L{background:var(--clay);color:#fff;border-color:var(--clay)}.need .sizes button.active.XL{background:var(--violet);color:#fff;border-color:var(--violet)}.need .phase-sel{font-size:11px;padding:.28rem .3rem;color:var(--ink2)}.need .cover-toggle,.need .phase-sel{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;border:1px solid var(--line);border-radius:3px;background:#fff}.need .cover-toggle{font-size:10px;letter-spacing:.03em;color:var(--ink3);padding:.28rem .45rem;cursor:pointer;white-space:nowrap}.need .cover-toggle.on{background:var(--violet);color:#fff;border-color:var(--violet)}.need .spill-pt{width:66px}.need .spill-pt input{width:60px;padding:.28rem .3rem;border:1px solid var(--violet);border-radius:3px}.need .need-pt,.need .spill-pt input{text-align:right;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px}.need .need-pt{color:var(--ink2);min-width:118px}.need.off .ctrls,.need.off .need-pt{opacity:.4}.need.covered .phase-sel,.need.covered .sizes{opacity:.35;pointer-events:none}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.9rem;gap:.9rem;margin-bottom:1.3rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.stat .n{font-family:var(--font-fraunces),"Fraunces",serif;font-size:28px;font-weight:500;line-height:1;color:var(--ink)}.stat .n small{font-size:14px;color:var(--ink2)}.stat .l{font-size:12px;color:var(--ink2);margin-top:.35rem}.stat.bound{border-top:3px solid var(--clay)}.stat.free{border-top:3px solid var(--teal)}.stat.demand{border-top:3px solid var(--amber)}.stat.gap{border-top:3px solid var(--green)}.stat.future{border-top:3px solid var(--violet)}.stat.neg .n{color:var(--clay)}.capbar-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1.4rem}.capbar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin-bottom:.4rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.capbar{height:26px;background:var(--line2);border-radius:3px}.capbar,.capbar .seg{overflow:hidden;display:flex}.capbar .seg{height:100%;align-items:center;justify-content:center;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:#fff;white-space:nowrap;transition:width .3s}.seg.bound{background:var(--clay)}.seg.demand{background:var(--amber)}.seg.ext{background:var(--violet)}.capbar-note{font-size:12px;color:var(--ink2);margin-top:.5rem}.capbar-note.warn{color:var(--clay);font-weight:500}.range-hint{font-size:11px;color:var(--ink3);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.9rem;gap:.9rem}.bucket{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.bucket h3{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--line2)}.bucket.muss h3{color:var(--teal)}.bucket.soll h3{color:var(--green)}.bucket.kann h3{color:var(--amber)}.bucket.frag h3{color:var(--clay)}.bucket ul{list-style:none}.bucket li{font-size:13px;padding:.3rem 0;border-bottom:1px dotted var(--line2);display:flex;justify-content:space-between;gap:.5rem}.bucket li:last-child{border-bottom:none}.bucket li .pd{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);white-space:nowrap}.bucket .empty{font-size:12px;color:var(--ink3);font-style:italic;padding:.4rem 0}.cov-item{margin-bottom:.55rem}.cov-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:.2rem}.cov-top .cov-n{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);font-size:11px}.cov-bar{height:7px;background:var(--line2);border-radius:4px;overflow:hidden}.cov-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .3s}.cov-fill.warn{background:var(--clay)}.cov-fill.mid{background:var(--amber)}.agenda{counter-reset:step;list-style:none}.agenda li{position:relative;padding:.75rem 0 .75rem 3rem;border-bottom:1px solid var(--line2)}.agenda li:last-child{border-bottom:none}.agenda li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.7rem;width:1.9rem;height:1.9rem;background:var(--ink);color:var(--paper);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:13px;display:flex;align-items:center;justify-content:center;border-radius:50%}.agenda .a-t{font-weight:600;font-size:14px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.agenda .a-time{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--clay);font-weight:400}.agenda .a-d{font-size:13px;color:var(--ink2);margin-top:.15rem}.qbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-top:1rem}.qbox h4{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}.qbox ul{list-style:none}.qbox li{padding:.35rem 0 .35rem 1.2rem;position:relative;font-size:13.5px}.qbox li:before{content:"→";position:absolute;left:0;color:var(--teal)}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.4rem}.calc-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.calc-head .ch-t{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.calc-head .ch-sum,.calc-head .ch-t{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.calc-head .ch-sum{font-size:13px;color:var(--teal);font-weight:500}#calctbl{min-width:640px}#calctbl th{background:transparent;border-bottom:1px solid var(--line)}#calctbl td{border-bottom:1px dotted var(--line2)}.calc .res-pt{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;text-align:right;color:var(--ink);width:80px}.calc-foot{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap;align-items:center}.calc-note{font-size:11px;color:var(--ink3)}.rule-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.4rem;overflow:hidden}.rule-toggle{width:100%;text-align:left;background:none;border:none;padding:.85rem 1.1rem;font-family:var(--font-plex-sans),"IBM Plex Mono",sans-serif;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.rule-toggle .chev{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);transition:transform .2s}.rule-panel.open .chev{transform:rotate(90deg)}.rule-body{display:none;padding:0 1.1rem 1.1rem}.rule-panel.open .rule-body{display:block}.rule-flow{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.rule-row{display:flex;align-items:center;gap:.7rem;font-size:13px}.rule-row .flag{flex-shrink:0}.rule-row .rd{color:var(--ink2)}.thresholds{display:flex;gap:1.5rem;flex-wrap:wrap;padding-top:.8rem;border-top:1px solid var(--line2)}.thr-field{display:flex;flex-direction:column;gap:.3rem}.thr-field label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}.thr-field .thr-ctrl{display:flex;align-items:center;gap:.5rem}.thr-field input[type=range]{width:130px;accent-color:var(--teal)}.thr-field .thr-val{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;color:var(--teal);min-width:20px}.gantt{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;overflow-x:auto}.gantt-grid{min-width:620px}.gantt-yearhead{display:grid;grid-template-columns:270px 1fr 1fr;border-bottom:1.5px solid var(--line);margin-bottom:.5rem}.gantt-yearhead .yh{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);padding:.3rem .5rem;text-align:center}.gantt-yearhead .yh.lbl{text-align:left;color:var(--ink3)}.gantt-yearhead .yh.y27{border-left:1px solid var(--line2)}.gantt-cat{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--clay);margin:.7rem 0 .25rem;padding-bottom:.15rem}.gantt-cat,.gantt-row{border-bottom:1px dotted var(--line2)}.gantt-row{display:grid;grid-template-columns:270px 1fr 1fr;align-items:center;min-height:26px}.gantt-row:last-child{border-bottom:none}.gantt-name{font-size:12px;padding:.15rem .5rem .15rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.3rem}.gantt-track{position:relative;height:26px}.gantt-track.y27{border-left:1px solid var(--line2)}.gbar{position:absolute;top:5px;height:16px;border-radius:3px;display:flex;align-items:center;padding:0 .4rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;color:#fff;white-space:nowrap;overflow:hidden}.gbar.muss{background:var(--teal)}.gbar.soll{background:var(--green)}.gbar.kann{background:var(--amber)}.gbar.frag{background:var(--clay)}.gbar.spill{background:var(--violet)}.gantt-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.9rem;font-size:11.5px;color:var(--ink2)}.gantt-legend span{display:inline-flex;align-items:center;gap:.35rem}.glg{width:14px;height:10px;border-radius:2px;display:inline-block}.glg.muss{background:var(--teal)}.glg.soll{background:var(--green)}.glg.kann{background:var(--amber)}.glg.frag{background:var(--clay)}.glg.spill{background:var(--violet)}.summary-heading{font-family:var(--font-fraunces),"Fraunces",serif;font-weight:500;font-size:18px;margin:.4rem 0 .8rem}.summary-decision{margin-top:.1rem}.summary-decision p{font-size:13.5px;color:var(--ink2)}.summary-decision b{color:var(--ink)}.coverage-grid{margin-top:1.3rem}.counts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}.counts .flag{display:inline-block}.overlay{position:fixed;inset:0;z-index:100;background:rgba(32,36,43,.28);display:flex;justify-content:flex-end}.drawer{width:min(620px,100%);height:100%;overflow-y:auto;background:var(--paper);border-left:2px solid var(--ink);padding:1.6rem;box-shadow:-12px 0 28px rgba(32,36,43,.12)}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(32,36,43,.28);display:flex;align-items:center;justify-content:center;padding:1.2rem}.modal{width:min(720px,100%);max-height:calc(100vh - 2.4rem);overflow-y:auto;background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:0 14px 40px rgba(32,36,43,.18)}.drawer-head,.modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.drawer-head h2,.modal-head h2{font-size:22px}.close-btn{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink2);padding:.25rem .45rem;cursor:pointer;font-size:12px}.close-btn:hover{background:var(--line2);color:var(--ink)}.snapshot-form{display:flex;gap:.5rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap}.snapshot-form .cap-field{flex:1 1;min-width:210px}.snapshot-list{display:flex;flex-direction:column;gap:.5rem}.snapshot-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem}.snapshot-title{font-weight:600;font-size:13px}.snapshot-meta{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink3);margin-top:.1rem}.snapshot-actions{display:flex;gap:.4rem;flex-shrink:0}.empty-note{font-size:12px;color:var(--ink3);font-style:italic;padding:.4rem 0}.ai-answer{font-size:13.5px;color:var(--ink);line-height:1.6}.ai-answer h2{font-size:15px;font-weight:700;margin:1.1rem 0 .4rem}.ai-answer h2,.ai-answer h3{font-family:var(--font-fraunces),"Fraunces",serif;color:var(--ink)}.ai-answer h3{font-size:13.5px;font-weight:600;margin:.9rem 0 .3rem}.ai-answer p{margin:.4rem 0}.ai-answer ol,.ai-answer ul{margin:.3rem 0 .3rem 1.2rem}.ai-answer li{margin:.15rem 0}.ai-answer strong{font-weight:700}.ai-answer em{font-style:italic}.ai-answer hr{border:none;border-top:1px solid var(--line);margin:.8rem 0}.ai-error{background:var(--clay-soft);color:var(--clay);border-left:3px solid var(--clay);padding:.75rem .9rem;font-size:13px}.loading-line{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;color:var(--teal);padding:.8rem 0}.presentation-mode .hide-in-presentation{display:none!important}.presentation-mode .flow{display:none}.presentation-mode .score-cell{cursor:default;pointer-events:none}.presentation-mode nav{top:0}@media(max-width:720px){.wrap{padding:1.45rem 1rem 3rem}h1{font-size:30px}.header-actions{gap:.35rem}nav{top:0;margin-bottom:1.2rem}nav button{font-size:10px;padding:.38rem .48rem}.drawer{padding:1.15rem}.modal{padding:1rem}.snapshot-item{align-items:flex-start;flex-direction:column}}@media print{.btn,.del-btn,.header-actions,.hide-in-print,.modal-overlay,.overlay,.row-actions,.save-status,nav{display:none!important}body{background:#fff}.wrap{max-width:100%}section{page-break-inside:avoid}.rule-body{display:block!important}}