/* Scorer — interactive Compass worksheet */
.scorer{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);align-items:start}
@media (max-width:1000px){.scorer{grid-template-columns:1fr}.sum{position:static!important}}
.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6);border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-4)}
.tab{display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem .55rem .6rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer}
.tab .tn{width:1.6rem;height:1.6rem;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface-offset);font-size:.78rem}
.tab:hover{color:var(--color-text);border-color:var(--color-border-strong)}
.tab[aria-selected="true"]{background:var(--color-primary);border-color:transparent;color:var(--color-text-inverse)}
.tab[aria-selected="true"] .tn{background:color-mix(in srgb,var(--color-text-inverse) 22%,transparent)}
.tab .tok{display:none;color:inherit}
.tab.done .tok{display:inline}
.pane[hidden]{display:none}
.pane-intro{color:var(--color-text-muted);margin:0 0 var(--space-6);max-width:64ch}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.fgrid .full{grid-column:1 / -1}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}}
.fld{display:grid;gap:.4rem}
.fld>span{font-size:var(--text-sm);font-weight:600}
.fld small{color:var(--color-text-faint);font-weight:400}
.fld input,.fld textarea,.fld select{font:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.65rem .8rem;width:100%}
.fld textarea{min-height:5.2rem;resize:vertical;line-height:1.5}
.fld input:focus,.fld textarea:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:0;border-color:var(--color-primary)}
.dim{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-5)}
.dim-head{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}
.dim-head .acc-num{width:2.2rem;height:2.2rem;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-primary-tint);color:var(--color-primary);font:500 1.05rem/1 var(--font-display);border:1px solid var(--color-border)}
.dim-head h3{margin:0;font-size:1.08rem}
.dim-head p{margin:.2rem 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}
.picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin:var(--space-5) 0 var(--space-3)}
.picker button{font:inherit;cursor:pointer;padding:.7rem .3rem;border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:var(--radius-md);display:grid;gap:.1rem;justify-items:center;color:var(--color-text-muted)}
.picker button b{font:500 1.5rem/1 var(--font-display);color:var(--color-text)}
.picker button small{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.picker button:hover{border-color:var(--color-border-strong);background:var(--color-surface)}
.picker button[aria-pressed="true"]{background:var(--color-primary);border-color:transparent;color:color-mix(in srgb,var(--color-text-inverse) 80%,transparent)}
.picker button[aria-pressed="true"] b{color:var(--color-text-inverse)}
.lvdesc{min-height:2.8rem;padding:var(--space-3) var(--space-4);background:var(--color-primary-tint);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}
.lvdesc.empty{background:var(--color-surface-2);color:var(--color-text-faint)}
.dim details{margin-bottom:var(--space-4);font-size:var(--text-sm)}
.dim summary{cursor:pointer;color:var(--color-primary);font-weight:600}
.dim details ul{margin:.6rem 0 0;padding-left:1.2rem;color:var(--color-text-muted)}
.dim details .ex-pair{margin-top:var(--space-3)}
.sub-h{font:500 var(--text-lg)/1.2 var(--font-display);margin:var(--space-8) 0 var(--space-2)}
.sub-h:first-of-type{margin-top:0}
.sub-p{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}
.lrow{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start;margin-bottom:var(--space-3)}
.lrow .lbl{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);padding-top:.75rem;min-width:4.6rem}
.lrow input{font:inherit;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.65rem .8rem;background:var(--color-surface);color:var(--color-text);width:100%}
.xbtn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-md);width:2.5rem;height:2.5rem;cursor:pointer;display:grid;place-items:center}
.xbtn:hover{color:var(--color-accent);border-color:var(--color-accent)}
.addbtn{font:inherit;font-size:var(--text-sm);font-weight:600;border:1px dashed var(--color-border-strong);background:transparent;color:var(--color-primary);border-radius:var(--radius-md);padding:.55rem .9rem;cursor:pointer}
.addbtn:hover{background:var(--color-primary-tint)}
.trk{width:100%;border-collapse:collapse;min-width:560px}
.trk td{font-weight:400}
.trk td:first-child{font-weight:400;width:46%}
.trk input{font:inherit;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .6rem;background:var(--color-surface);color:var(--color-text);width:100%}
.trk .emptyrow td{color:var(--color-text-faint);font-style:italic}
.seg{display:flex;flex-wrap:wrap;gap:.4rem}
.pane-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}
.sum{position:sticky;top:calc(var(--header-h) + 1.25rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.sum-top{padding:var(--space-6);border-bottom:1px solid var(--color-divider)}
.sum-name{font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-4);color:var(--color-text-muted)}
.sum-total{display:flex;align-items:baseline;gap:.35rem}
.sum-total b{font:500 4rem/0.9 var(--font-display);color:var(--color-text)}
.sum-total span{color:var(--color-text-faint);font-size:var(--text-sm)}
.sum-band{margin-top:var(--space-4);display:grid;gap:.5rem}
.sum-band p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}
.meter{position:relative;height:.5rem;border-radius:var(--radius-full);margin-top:var(--space-5);background:linear-gradient(90deg,#1f7a4d 0 25%,#01696f 25% 50%,#9a6312 50% 75%,#964219 75% 100%);opacity:.85}
.meter i{position:absolute;top:50%;width:1rem;height:1rem;border-radius:50%;background:var(--color-surface);border:3px solid var(--color-text);transform:translate(-50%,-50%);transition:left .25s}
.meter-l{display:flex;justify-content:space-between;font-size:.68rem;color:var(--color-text-faint);margin-top:.45rem}
.sum-bars{padding:var(--space-5) var(--space-6);display:grid;gap:.7rem;border-bottom:1px solid var(--color-divider)}
.sbar{display:grid;grid-template-columns:1fr auto;gap:.3rem .6rem;font-size:.8rem}
.sbar span{color:var(--color-text-muted)}
.sbar b{font-weight:700}
.sbar .tr{grid-column:1 / -1;height:.35rem;border-radius:var(--radius-full);background:var(--color-surface-offset);overflow:hidden}
.sbar .tr i{display:block;height:100%;background:var(--color-primary);border-radius:inherit;transition:width .25s}
.sum-act{padding:var(--space-5) var(--space-6);display:grid;gap:.5rem}
.sum-act .btn{justify-content:center;width:100%}
.sum-act .row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sum-note{font-size:.75rem;color:var(--color-text-faint);margin:.3rem 0 0;text-align:center}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%) translateY(150%);background:var(--color-text);color:var(--color-bg);padding:.7rem 1.1rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-md);transition:transform .25s,opacity .25s,visibility .25s;z-index:1300;opacity:0;visibility:hidden}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible}
.pf-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--text-sm)}
.pf td{font-weight:400;white-space:nowrap}
.pf td:first-child{font-weight:600;white-space:normal;min-width:14rem}
.pf td.n{text-align:center;font-variant-numeric:tabular-nums}
.pf th.n{text-align:center}
.pf .tot{font:500 1.35rem/1 var(--font-display)}
.pf .acts{display:flex;gap:.4rem}
.linkbtn{font:inherit;font-size:var(--text-sm);background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font-weight:600}
.linkbtn.del{color:var(--color-text-faint)}
.linkbtn.del:hover{color:var(--color-accent)}
.pf-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}
.pf-head h2{font:500 var(--text-2xl)/1.04 var(--font-display);margin:0 0 .4rem}
.pf-head p{margin:0;color:var(--color-text-muted);max-width:60ch}
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:var(--space-6)}
.print-only{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{
.site-header,.mobile-nav,.site-footer,.tabs,.pane-nav,.sum-act,.toolbar,.addbtn,.xbtn,#portfolio,.breadcrumb,.skip-link,.dim details{display:none!important}
.pane[hidden]{display:block!important}
.scorer{grid-template-columns:1fr}
.sum{position:static;box-shadow:none;break-inside:avoid}
.dim{break-inside:avoid}
.print-only{display:block}
body{background:#fff}
}

#printReport{display:none}
@media print{
body.print-report>*:not(#printReport){display:none!important}
body.print-report #printReport{display:block!important;font:10.5pt/1.45 "Work Sans",Helvetica,Arial,sans-serif;color:#23201a}
#printReport .pr-k{font-size:8pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#01696f}
#printReport h1{font:400 24pt/1.1 "Instrument Serif",Georgia,serif;margin:4pt 0 4pt}
#printReport h2{font-size:9pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#01696f;margin:16pt 0 5pt;break-after:avoid}
#printReport .pr-meta{color:#65625b;font-size:9pt;margin:0 0 8pt}
#printReport .pr-total{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:6pt;margin:10pt 0;padding:10pt 12pt;border:1px solid #dcd8cf;border-radius:6pt}
#printReport .pr-total b{font:400 26pt/1 "Instrument Serif",Georgia,serif}
#printReport .pr-total span{color:#65625b}
#printReport .pr-total p{margin:0 0 0 8pt;font-size:9.5pt}
#printReport .pr-band{font-style:normal;font-weight:700;font-size:9pt;color:#fff;padding:2pt 8pt;border-radius:99pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#printReport .pr-low{background:#1f7a4d}#printReport .pr-moderate{background:#01696f}#printReport .pr-high{background:#9a6312}#printReport .pr-critical{background:#964219}
#printReport table{width:100%;border-collapse:collapse;font-size:9.5pt;break-inside:avoid}
#printReport th,#printReport td{border:1px solid #dcd8cf;padding:4pt 6pt;text-align:left;vertical-align:top}
#printReport th{background:#eef4f1;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#printReport .pr-n{text-align:center;font-weight:700;width:40pt}
#printReport .pr-empty{color:#9c988f;margin:0}
#printReport .pr-sign{display:grid;grid-template-columns:2fr 1fr;gap:24pt;margin-top:36pt}
#printReport .pr-sign div{border-top:1px solid #23201a;padding-top:3pt;font-size:8.5pt;color:#65625b}
#printReport .pr-foot{margin-top:18pt;font-size:8pt;color:#9c988f}
}
