:root{--bg:#f6f7f4;--surface:#fff;--ink:#1c2a26;--muted:#5b6b66;--line:#dfe4df;--brand:#0f5c4a;--brand-ink:#fff;--brand-soft:#e3f1ec;--green:#2f7d4f;--amber:#b7791f;--red:#b83a3a;--green-soft:#e1f2e7;--amber-soft:#fbf0d8;--red-soft:#f9e1e1;--radius:10px;--shadow:0 1px 2px #14281e0f, 0 4px 14px #14281e0d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111916;--surface:#18221e;--ink:#e6efeb;--muted:#98aaa3;--line:#2a3832;--brand:#5cc2a1;--brand-ink:#0b1612;--brand-soft:#1b2e27;--green:#5fbf85;--amber:#e0a84a;--red:#e57373;--green-soft:#1b2f23;--amber-soft:#33291a;--red-soft:#35201f;--shadow:none}}*{box-sizing:border-box}html{font-size:16px}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.25rem}h2{font-size:1.5rem}h3{font-size:1.05rem}button,input,textarea{font:inherit;color:inherit}.loading{padding:2rem 16px}.shell{min-height:100vh}.top{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.sub{color:var(--muted);margin:2px 0 0;font-size:.85rem}.top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 14px}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}button.ghost:hover{background:var(--brand-soft)}button.danger{color:var(--red)}button:focus-visible,input:focus-visible,textarea:focus-visible,label:focus-within{outline:2px solid var(--brand);outline-offset:2px}.start{max-width:720px;margin:40px auto;padding:0 16px}.start h2{font-size:1.9rem}.facts{gap:8px;margin:1rem 0 1.5rem;padding-left:1.1rem;display:grid}.draft{color:var(--muted);margin-top:1.5rem;font-size:.85rem}.body{grid-template-columns:290px 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:20px 16px 48px;display:grid}.side{flex-direction:column;align-self:start;gap:4px;display:flex;position:sticky;top:16px}.side button{text-align:left;background:0 0;border:0;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.side button.on{background:var(--brand-soft);font-weight:600}.side button:hover{background:var(--brand-soft)}.side em{color:var(--muted);font-size:.8rem;font-style:normal}.side em.done{color:var(--green)}.side .results-link{border-top:1px solid var(--line);border-radius:0;margin-top:8px;padding-top:12px}.main{min-width:0}.lead{color:var(--muted);margin:0 0 1rem}.req{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 16px;padding:16px}.req header{margin-bottom:10px}.rid{color:var(--muted);letter-spacing:.04em;font-size:.75rem}.ref{color:var(--brand);margin:2px 0;font-size:.85rem}.obl{color:var(--muted);margin:6px 0 0;font-size:.92rem}.q{border:0;min-width:0;margin:14px 0 0;padding:0}.q>legend,.q>label{margin-bottom:6px;padding:0;font-weight:600;display:block}.q-main{border-bottom:1px dashed var(--line);padding-bottom:10px}.maturity{gap:6px;display:grid}.mat{border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:8px 10px;display:grid}.mat input{opacity:0;position:absolute}.mat .lvl{background:var(--bg);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-grid}.mat.on{border-color:var(--brand);background:var(--brand-soft)}.mat.on .lvl{background:var(--brand);color:var(--brand-ink)}.choices{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.92rem;font-weight:400}.chip input{opacity:0;position:absolute}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}textarea,input[type=text],input[type=date],input[type=number]{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:8px 10px}input.short{max-width:240px}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.grid label{color:var(--muted);margin-bottom:2px;font-size:.85rem;font-weight:400;display:block}.hint{color:var(--muted);margin-bottom:6px;font-size:.85rem}.verify{margin-top:8px;font-weight:400;display:block}.derived{background:var(--brand-soft);border-radius:var(--radius);margin-top:20px;padding:14px 16px}.derived dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.derived dt{color:var(--muted)}.derived dd{margin:0}.muted{color:var(--muted);font-size:.85rem}.pager{justify-content:space-between;margin-top:24px;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0 24px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:2px;padding:14px 16px;display:grid}.card .k{color:var(--muted);font-size:.85rem}.card .v{font-size:2rem;font-weight:700}.card .v small{color:var(--muted);font-size:1rem;font-weight:400}.notice{background:var(--amber-soft);border-left:4px solid var(--amber);border-radius:6px;padding:8px 12px}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:.92rem;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);font-size:.78rem}.bar-col{width:24%}.bar{background:var(--bg);border-radius:6px;height:10px;margin-top:6px;position:relative}.bar .fill{border-radius:6px;height:100%}.fill.green{background:var(--green)}.fill.amber{background:var(--amber)}.fill.red{background:var(--red)}.fill.none{background:var(--line)}.bar .tick{background:var(--ink);width:2px;height:16px;position:absolute;top:-3px}.pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.pill.green{background:var(--green-soft);color:var(--green)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.none{background:var(--bg);color:var(--muted)}.reg-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 8px;display:flex}.gaps .clickable{cursor:pointer}.gaps .clickable:hover{background:var(--brand-soft)}.gaps .detail td{background:var(--bg)}.gaps .detail p{margin:4px 0}.gaps .ref{color:var(--muted);font-size:.85rem}.domains,.gaps{margin-top:8px}@media (max-width:820px){.body{grid-template-columns:1fr}.side{flex-direction:row;padding-bottom:6px;position:static;overflow-x:auto}.side button{white-space:nowrap}.bar-col,.gaps .ref{display:none}}@media print{.top-actions,.side,.pager,.top{display:none!important}.body{display:block}body{background:#fff}}h1 a{color:inherit;text-decoration:none}a{color:var(--brand)}.linkbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 14px;text-decoration:none;display:inline-block}.linkbtn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600}.page{max-width:1000px;margin:0 auto;padding:24px 16px 48px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:18px}.panel-head{align-items:center;gap:12px;display:flex}.panel h3{margin-top:18px}.auth{max-width:440px;margin:40px auto;padding:0 16px}.auth-form{gap:14px;margin:16px 0;display:grid}.auth-form label{gap:4px;font-weight:600;display:grid}.auth-form input{font-weight:400}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.inline-form input{flex:240px;width:auto}.inline-form select{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:8px;padding:8px 10px}.form-error{color:var(--red);margin:0}.banner{border-radius:0;margin:0}.save{color:var(--muted);font-size:.85rem}.save.error{color:var(--red)}code{background:var(--bg);word-break:break-all;border-radius:4px;padding:2px 6px}fieldset:disabled .mat,fieldset:disabled .chip{cursor:default}fieldset:disabled{opacity:.85}.files{border:1px dashed var(--line);background:var(--bg);border-radius:8px;margin:10px 0 0;padding:10px 12px}.files-head{margin-bottom:4px;font-size:.85rem;font-weight:600}.files ul{gap:4px;margin:4px 0 8px;padding-left:1.1rem;display:grid}.files li{word-break:break-word}button.small{margin-left:8px;padding:2px 8px;font-size:.8rem}.upload{cursor:pointer;display:inline-block}.ghost-like{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 12px;font-size:.9rem;display:inline-block}.upload:hover .ghost-like{background:var(--brand-soft)}.small-note{margin:6px 0 0;font-size:.78rem}.results .reg-head h2{margin:0}.prov{vertical-align:middle;margin-left:8px;font-size:.7rem}.guidance{gap:14px;padding:4px 0;display:grid}.guidance h4{color:var(--brand);margin:0 0 4px;font-size:.95rem}.guidance p{margin:4px 0}.g-meta{color:var(--muted);margin:0 0 6px;font-size:.88rem}.g-step{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:8px 0;padding:10px 12px}.g-step.now{border-color:var(--amber)}.g-step-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.g-stage{background:var(--brand);width:22px;height:22px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid}.g-actions{gap:10px;margin:8px 0 0;padding-left:1.2rem;display:grid}.g-actions li p{margin:2px 0}.g-why{color:var(--muted);font-size:.88rem}.g-why span{color:var(--ink);font-weight:600}.g-beyond>summary{cursor:pointer;color:var(--muted);margin:6px 0}.g-holdbacks{margin:4px 0;padding-left:1.1rem}.learn{max-width:1200px;margin:0 auto;padding:20px 16px 0}.learn-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.learn-head h2{margin:0}.learn .body{padding-top:8px}.small-notice{font-size:.85rem}.lead-strong{font-size:1.08rem;line-height:1.55}.keypoints li{margin:6px 0}.example-box{background:var(--brand-soft);border-radius:var(--radius);margin:14px 0;padding:12px 14px}.audience-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.audience-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 12px}.audience-card p{margin:4px 0 0}.pillars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0;display:grid}.pillar{border:1px solid var(--line);border-top:4px solid var(--brand);background:var(--surface);border-radius:8px;padding:10px 12px}.pillar h4{color:var(--brand);margin:0 0 4px}.pillar p{margin:4px 0}.timeline{border-left:3px solid var(--brand);gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:110px 1fr;gap:10px;padding-left:12px;display:grid}.steps,.levels{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:28px 1fr;align-items:start;gap:10px;display:grid}.steps p{margin:2px 0 0}.levels li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.exercise{border:1px dashed var(--brand);border-radius:var(--radius);margin-top:18px;padding:12px 14px}.exercise h3{margin-top:0}.cards{columns:2;padding-left:1.1rem}.notice.ok{background:var(--green-soft);border-left-color:var(--green)}.mat.right{border-color:var(--green);background:var(--green-soft)}.mat.wrong{border-color:var(--red);background:var(--red-soft)}.glossary{gap:10px;margin-top:12px;display:grid}.glossary dt{font-weight:700}.glossary dd{color:var(--muted);margin:2px 0 0}.about{color:var(--muted);margin:28px 0 40px}.summary-block{break-inside:avoid}@media print{.learn .side,.learn .top-actions,.no-print,.small-notice{display:none!important}.learn .body{display:block}}.qhelp{margin:-4px 0 16px;font-size:.92rem}.qhelp summary{cursor:pointer;color:#1d4ed8;padding:4px 0;font-weight:600;display:inline-block}.qhelp[open]{background:#f3f6fb;border:1px solid #d6e0f0;border-radius:8px;padding:8px 14px 10px}.qhelp p{margin:2px 0 6px}.qhelp-how,.qhelp-term{margin-top:8px}.qhelp-how b,.qhelp-term b{display:block}
