/* AI tutor + skills portfolio (Priority 3). Uses the site tokens so light and dark themes both work. */
.tutor-answer { border-left: 4px solid var(--bs-primary, #1f4e8c); padding: .75rem 1rem; background: var(--bs-tertiary-bg, #f6f8fb); border-radius: .5rem; overflow-wrap: anywhere; }
.tutor-cites { list-style: decimal; padding-left: 1.4rem; }
.tutor-cites li { margin-bottom: .5rem; overflow-wrap: anywhere; }
.tutor-kind { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.tutor-refusal { border-left-color: var(--bs-warning, #b58100); }
.tutor-drawer { position: fixed; inset: auto 0 0 auto; width: min(420px, 100vw); max-height: 85vh; overflow: auto; z-index: 1060;
  background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border: 1px solid var(--bs-border-color, #ccd);
  border-radius: .75rem .75rem 0 0; box-shadow: 0 -4px 24px rgba(0,0,0,.25); padding: 1rem; }
.tutor-drawer[hidden] { display: none; }
.tutor-fab { position: fixed; right: 7.5rem; bottom: max(.75rem, env(safe-area-inset-bottom)); z-index: 1050; min-height: 44px; border-radius: 999px; padding: .45rem .95rem; box-shadow: 0 6px 20px rgba(0,0,0,.22); }
body.has-mobile-tabbar .tutor-fab { bottom: calc(var(--tabbar-h, 64px) + .75rem); }
@media (max-width: 767.98px) {
  body.has-mobile-tabbar .tutor-drawer { bottom: var(--tabbar-h, 64px); }
}
.pf-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.pf-badge { display: inline-block; margin: .15rem .25rem .15rem 0; padding: .2rem .55rem; border-radius: 1rem; font-size: .8rem;
  background: var(--bs-success-bg-subtle, #d1e7dd); color: var(--bs-success-text-emphasis, #0a3622); }
.pf-bar { height: .6rem; background: var(--bs-secondary-bg, #e9ecef); border-radius: .3rem; overflow: hidden; }
.pf-bar > span { display: block; height: 100%; background: var(--bs-primary, #1f4e8c); }
.pf-table { width: 100%; }
.pf-table td, .pf-table th { padding: .3rem .4rem; vertical-align: top; overflow-wrap: anywhere; }
@media print { .no-print, nav, header, footer, .tutor-fab { display: none !important; } .card { break-inside: avoid; } }
.pf-bar > span.pf-w-0 { width: 0%; }
.pf-bar > span.pf-w-5 { width: 5%; }
.pf-bar > span.pf-w-10 { width: 10%; }
.pf-bar > span.pf-w-15 { width: 15%; }
.pf-bar > span.pf-w-20 { width: 20%; }
.pf-bar > span.pf-w-25 { width: 25%; }
.pf-bar > span.pf-w-30 { width: 30%; }
.pf-bar > span.pf-w-35 { width: 35%; }
.pf-bar > span.pf-w-40 { width: 40%; }
.pf-bar > span.pf-w-45 { width: 45%; }
.pf-bar > span.pf-w-50 { width: 50%; }
.pf-bar > span.pf-w-55 { width: 55%; }
.pf-bar > span.pf-w-60 { width: 60%; }
.pf-bar > span.pf-w-65 { width: 65%; }
.pf-bar > span.pf-w-70 { width: 70%; }
.pf-bar > span.pf-w-75 { width: 75%; }
.pf-bar > span.pf-w-80 { width: 80%; }
.pf-bar > span.pf-w-85 { width: 85%; }
.pf-bar > span.pf-w-90 { width: 90%; }
.pf-bar > span.pf-w-95 { width: 95%; }
.pf-bar > span.pf-w-100 { width: 100%; }
