.model-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.relationship{margin:20px 0;padding:20px;background:#edf2f4;border:1px solid #ccd8de;border-radius:8px}.relationship figcaption{margin-bottom:15px;font-weight:700}.model-cell{position:relative;background:#fff;padding:18px;border-top:4px solid #386675;border-radius:5px;color:#19364a}.model-cell:not(:last-child):after{content:'→';position:absolute;right:-21px;top:42%;color:#386675;font-size:22px}.model-cell p{margin:10px 0 0}.resource-panel svg{display:block;max-width:550px;width:100%;margin:20px auto;font-family:inherit;fill:#19364a}#custom-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#custom-editor label,.toolkit-controls label{display:block;font-weight:700;color:#19364a}#custom-editor textarea,.toolkit-controls input,.toolkit-controls select{display:block;width:100%;margin-top:8px;min-height:44px;padding:12px;border:1px solid #a9bdc7;border-radius:5px;font:inherit;background:#fff;color:#19364a}#custom-editor textarea{resize:vertical;min-height:100px}.toolkit-controls{display:grid;grid-template-columns:2fr 1fr;gap:16px}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.directory-card{display:flex;flex-direction:column;padding:20px;border:1px solid #ccd8de;border-top:4px solid #386675;background:#fff;border-radius:7px;text-decoration:none;color:#19364a}.directory-card h2{font-size:21px}.directory-card p{flex:1}.directory-card .button{align-self:flex-start}.directory-card[hidden]{display:none}.resource-panel details{padding:16px;border:1px solid #ccd8de;border-radius:6px}.resource-panel summary{cursor:pointer;min-height:44px;font-weight:700}button{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a64b32;outline-offset:3px}#save-status{min-height:24px;color:#19364a}@media(max-width:680px){.model-flow,.directory-grid,#custom-editor,.toolkit-controls{grid-template-columns:1fr}.model-cell:not(:last-child):after{content:'↓';right:50%;top:auto;bottom:-25px}.tabs{overflow-x:auto}.relationship{padding:14px}}@media print{body>*{display:none!important}main{display:block!important}main>*{display:none!important}#student-print{display:block!important}#student-print .print-cell{border:1px solid #777;padding:12px;min-height:95px;break-inside:avoid;margin:12px 0}#student-print h1{font-size:24px}#student-print p{white-space:pre-wrap}}
