/* Only the new IB workspaces; existing screen layout rules remain untouched. */
.library-app .ib-shell{--paper:#f6f3eb;--brand:#183b77;--brand-deep:#102a56;--brand-soft:#edf1f7;--ink:#0b2346;--ink-soft:#556173;--ink-faint:#657185;--line:#ded9d1;background:var(--paper)}
.library-app .ib-shell .topbar{background:#fcfaf3}.library-app .ib-shell .teacher-workspace{padding:28px}
.ib-shell #content{max-width:1440px;margin:auto;min-width:0}
.ib-page{color:#17345e;font-family:"IBM Plex Sans",sans-serif}
.ib-hero{min-height:210px;border-radius:16px;background:#f3f0e7 var(--ib-art) center right/cover no-repeat;overflow:hidden;margin-bottom:18px}
.ib-hero>div{min-height:210px;display:flex;flex-direction:column;justify-content:center;padding:26px 30px;background:linear-gradient(90deg,#f7f4eb 0%,#f7f4ebf0 35%,#f7f4eb00 77%)}
.ib-page h1,.ib-page h2,.ib-page h3{font-family:"Source Serif 4",Georgia,serif;color:#102c57;line-height:1.16;margin:0 0 14px;letter-spacing:-.02em}
.ib-page h1{font-size:clamp(32px,3.7vw,52px);max-width:620px}.ib-hero p{font-family:"Source Serif 4",Georgia,serif;font-size:22px;margin:0;max-width:520px}.ib-eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.ib-page h2{font-size:27px}.ib-page h3{font-size:19px}.ib-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:start}
.ib-card{min-width:0;background:#fff;border:1px solid #dbe1e9;border-radius:15px;padding:24px}.ib-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ib-heading h2{margin:0}
.ib-page button,.ib-upload{border:1px solid #cbd6e5;background:#fff;color:#183b77;border-radius:9px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;line-height:1.3;max-width:100%}
.ib-page button:hover{background:#edf3fc}.ib-page button:focus-visible,.ib-page input:focus-visible,.ib-page textarea:focus-visible,.ib-upload:focus-within{outline:3px solid #578ce1;outline-offset:2px}
.ib-page .ib-primary,.ib-tabs button[aria-pressed=true]{color:#fff;background:#183b77;border-color:#183b77}.ib-page button:disabled,.ib-upload:has(input:disabled){opacity:.55;cursor:wait}
.ib-page .ib-primary:hover,.ib-tabs button[aria-pressed=true]:hover{color:#fff;background:#102a56;border-color:#102a56}
.ib-tabs,.ib-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.ib-modes{margin:0 0 10px}.ib-status{font-size:13px;line-height:1.5;margin:10px 0 16px;overflow-wrap:anywhere}
.ib-field{display:block;margin:16px 0;color:#17345e;font-size:14px}.ib-field>span{display:block;font-weight:500;margin-bottom:7px}
.ib-page input:not([type=checkbox]):not([type=file]),.ib-page textarea{width:100%;box-sizing:border-box;border:1px solid #cbd6e5;border-radius:8px;padding:11px 12px;font:inherit;color:#17345e;background:#fff;line-height:1.55;min-width:0}.ib-page textarea{resize:vertical;min-height:100px;max-height:none}.ib-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ib-muted,.ib-disclaimer{font-size:13px;line-height:1.6;color:#66768f}.ib-disclaimer{margin:22px 0 0;border-top:1px solid #e1e6ec;padding-top:15px}
.ib-experiences{display:grid;gap:8px;margin-bottom:20px}.ib-page .ib-experience{text-align:left;width:100%;padding:14px;font-weight:500;overflow-wrap:anywhere}.ib-page .ib-experience.selected{background:#edf3fc;border-color:#749ddb}
.ib-editor{border-top:1px solid #e2e7ee;padding-top:6px}.ib-strands{margin:18px 0;padding:12px;border:1px solid #dbe1e9;border-radius:8px;display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.ib-strands label{display:flex;align-items:center;gap:7px}.ib-strands input{accent-color:#183b77;width:17px;height:17px}
.ib-entry{border:1px solid #dbe1e9;border-radius:10px;margin:16px 0;padding:14px;min-width:0}.ib-entry legend{padding:0 8px;font-weight:500}.ib-entry .ib-field:first-of-type{margin-top:4px}.ib-page .ib-delete{margin-left:auto;color:#8f3341}
.ib-outline-entry summary{cursor:pointer;font-size:14px;font-weight:500;overflow-wrap:anywhere}.ib-outline-entry summary span{display:inline-grid;place-items:center;border-radius:50%;background:#edf3fc;width:25px;height:25px;margin-right:7px}.ib-outline-entry[open] summary{padding-bottom:14px;border-bottom:1px solid #e1e6ec;margin-bottom:14px}.ib-outline-entry summary:focus-visible{outline:3px solid #578ce1;outline-offset:3px}
.ib-files{display:grid;gap:8px;margin-bottom:12px}.ib-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f4f7fb;border-radius:8px;padding:9px;font-size:13px}.ib-file a{color:#183b77;overflow-wrap:anywhere}.ib-file a:first-child{flex:1;min-width:100px}.ib-file button{padding:6px 9px;font-size:12px}.ib-upload{display:inline-block;position:relative;overflow:hidden}.ib-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.ib-question{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.ib-answer{background:#eef3fa;border-radius:12px;padding:16px;margin:10px 0 20px;font-size:14px;line-height:1.7}.ib-answer p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.ib-ai-empty{background:#f2f5fa;border-radius:12px;padding:24px 18px;color:#60738e;line-height:1.7;margin:22px 0}.ib-ai>.ib-primary{display:block;margin-left:auto}
.student-shell .ib-nav-label{font-size:11px;color:#66768f;text-transform:uppercase;letter-spacing:.1em;padding:12px 10px 5px;border-top:1px solid #dedfdc;margin-top:6px}
@media(max-width:1100px){.ib-card{padding:18px}.ib-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.ib-pair{grid-template-columns:1fr}}
@media(max-width:980px){.student-shell .ib-nav-label{grid-column:1/-1;padding:3px 0;margin:0;text-align:center}.library-app .student-shell:has(.ib-nav-label){padding-bottom:calc(290px + env(safe-area-inset-bottom))}.library-app .ib-shell .teacher-workspace{padding:20px 16px 32px}.ib-columns{grid-template-columns:1fr}.ib-hero>div{padding:22px;background:linear-gradient(90deg,#f7f4ebf5,#f7f4ebbd 65%,#f7f4eb55)}.ib-hero,.ib-hero>div{min-height:180px}.ib-hero p{font-size:19px}.ib-page h2{font-size:25px}}
@media(max-width:480px){.ib-card{padding:16px}.ib-heading{align-items:flex-start}.ib-hero>div{padding:20px 16px}.ib-strands{gap:12px}.ib-page .ib-delete{margin-left:0}.ib-tabs button{flex-grow:1}.ib-page h1{font-size:32px}}
