/* v4.3 private portfolio + teacher-made printables; stays separate from student play area. */
#caa2-portfolio-studio{font-family:'Poppins',system-ui,sans-serif;color:#102b5c;min-width:0}
#caa2-portfolio-studio[hidden]{display:none!important}
.caa2-pf-head{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(125deg,rgba(255,255,255,.96),rgba(218,239,255,.87) 52%,rgba(239,226,255,.82));border:1px solid rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(15,58,115,.1);border-radius:28px;min-height:148px;padding:20px 24px;overflow:hidden}
.caa2-pf-head small{font-size:11px;font-weight:900;letter-spacing:.13em;color:#2265bd}.caa2-pf-head h2{font-size:clamp(23px,3vw,34px);margin:6px 0;color:#061b53;line-height:1.1}.caa2-pf-head p{font-size:14px;max-width:470px;margin:6px 0;line-height:1.5}.caa2-pf-head img{width:124px;height:124px;object-fit:contain;flex:none}
.caa2-pf-toolbar,.caa2-pf-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 3px}.caa2-pf-toolbar{justify-content:space-between}.caa2-pf-toolbar label{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px}.caa2-pf-toolbar select{max-width:230px}
.caa2-pf-toolbar span{font-size:12px;color:#557299}.caa2-pf-tabs{padding-top:0}.caa2-pf-tabs button{font-weight:900;border-radius:14px;padding:12px 18px;background:rgba(255,255,255,.83);color:#123666;border:1px solid rgba(51,111,190,.17);cursor:pointer;box-shadow:0 4px 14px rgba(18,58,110,.06)}.caa2-pf-tabs button[aria-pressed="true"]{background:linear-gradient(135deg,#1267cc,#328fdc);color:white}
.caa2-pf-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:start}
.caa2-pf-form,.caa2-pf-card{padding:22px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,248,255,.9));border:1px solid rgba(255,255,255,.9);box-shadow:0 9px 26px rgba(27,64,115,.075);min-width:0}.caa2-pf-form h3,.caa2-pf-card h3{font-size:20px;font-weight:900;margin:0 0 8px;color:#061b53}.caa2-pf-card>p,.caa2-pf-form>p{font-size:13px;line-height:1.5;color:#5b759a}
.caa2-pf-fields{display:grid;grid-template-columns:1fr 170px;gap:12px}.caa2-pf-form label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:13px;font-weight:850;color:#1a3f75}.caa2-pf-form input,.caa2-pf-form textarea,.caa2-pf-form select,.caa2-pf-toolbar select{width:100%;max-width:100%;font:inherit;border:1px solid #bfd6f1;border-radius:12px;background:#fff;padding:11px 12px;color:#153e73;box-sizing:border-box;min-height:44px}.caa2-pf-form textarea{resize:vertical;line-height:1.5}.caa2-pf-form label small{font-size:11px;color:#637f9d;font-weight:600}
.caa2-pf-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.caa2-pf-actions button,.caa2-pf-actions a,.caa2-pf-primary{font:inherit;text-decoration:none;font-size:13px;font-weight:900;color:#0e4783;border:1px solid #c3dcf5;background:#eaf5ff;border-radius:12px;padding:10px 14px;min-height:43px;cursor:pointer}.caa2-pf-primary{background:linear-gradient(135deg,#1369c8,#3196e0);border-color:#2e8bdc;color:#fff;padding:12px 20px}.caa2-pf-actions button:hover,.caa2-pf-primary:hover{filter:brightness(.95)}
.caa2-pf-entry{padding:14px 0;border-bottom:1px solid #dce9f6;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.caa2-pf-entry:last-child{border-bottom:0}.caa2-pf-entry strong{font-size:14px;color:#183a6d;display:block}.caa2-pf-entry small{display:block;color:#6783a3;font-size:12px;margin-top:3px}.caa2-pf-entry p{font-size:12px;color:#547397;line-height:1.45}.caa2-pf-entry .caa2-pf-actions{margin:0;flex:none}.caa2-pf-entry .caa2-pf-actions button,.caa2-pf-entry .caa2-pf-actions a{min-height:36px;padding:8px}
.caa2-pf-notice:not([hidden]){margin:0 0 12px;background:#e4f2ff;border:1px solid #b8dcfa;border-radius:12px;padding:12px;color:#1a527f;font-weight:800;font-size:13px}.caa2-pf-foot{font-size:12px;padding:14px 4px;color:#5b759a}.caa2-pf-disclaimer{color:#61788c!important}
#caa2-pf-print{display:none}
@media(max-width:850px){.caa2-pf-grid{grid-template-columns:1fr}.caa2-pf-head{padding:14px 18px}.caa2-pf-head img{width:85px;height:90px}.caa2-pf-tabs button{flex:1 1 140px}.caa2-pf-entry{flex-direction:column}.caa2-pf-entry .caa2-pf-actions{width:100%}}
@media(max-width:450px){.caa2-pf-fields{grid-template-columns:1fr}.caa2-pf-head p{font-size:12px}.caa2-pf-head h2{font-size:22px}.caa2-pf-form,.caa2-pf-card{padding:16px}.caa2-pf-tabs button{font-size:12px;padding:11px 8px}.caa2-pf-head img{width:70px}}
@media print{
 body.caa2-pf-printing > *:not(#caa2-pf-print){display:none!important}
 body.caa2-pf-printing #caa2-pf-print{display:block!important;position:static!important;background:white!important;box-shadow:none!important;color:#000!important}
 #caa2-pf-print .caa2-pf-sheet{font-family:'Poppins',sans-serif;font-size:13pt;line-height:1.6;padding:0!important;max-width:none;color:#111;background:white}
 #caa2-pf-print h1{text-align:center;text-transform:uppercase;font-size:21pt;color:#0c1c53;margin:0 0 12px}
 #caa2-pf-print h2{font-size:18pt;color:#123a6b}
 #caa2-pf-print h3{font-size:13pt;margin:12px 0 3px}
 #caa2-pf-print ul,#caa2-pf-print ol{margin:4px 0 10px}
 #caa2-pf-print li{margin:4px 0}
 #caa2-pf-print .caa2-pf-pagebreak{break-before:page;page-break-before:always}
 #caa2-pf-print .caa2-pf-drawing{min-height:4in;border:1px dashed #899cae;margin:20px 0}
 #caa2-pf-print .caa2-pf-drawing.caa2-pf-small{min-height:2.8in}
 #caa2-pf-print .caa2-pf-lines div{border-bottom:1px solid #888;min-height:46px}
 #caa2-pf-print .caa2-pf-trace{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}
 #caa2-pf-print .caa2-pf-trace span{font-size:50pt;text-align:center;color:#c3c7cf;border-bottom:1px solid #9ca4b0}
 #caa2-pf-print .caa2-pf-problems{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:34px 0;font-size:18pt}
 #caa2-pf-print .caa2-pf-print-footer{text-align:center;margin-top:36px;font-size:9pt;color:#777}
 @page{size:letter;margin:.55in}
}
