.textbook-library .material-library-section{border-top:1px solid var(--line);margin-top:54px;padding-top:28px}.textbook-library .material-library-section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.textbook-library .material-library-section-heading h2{letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(20px,2vw,28px)}.textbook-library .material-library-count{color:var(--muted);white-space:nowrap;font-size:11px}.textbook-library .material-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.textbook-library .material-library-card{border:1px solid var(--line);background:linear-gradient(145deg,#151c24,#10161d);border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:16px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.textbook-library .material-library-card:hover{border-color:#54b7e773;transform:translateY(-2px);box-shadow:0 14px 35px #0000002e}.textbook-library .material-library-icon{color:#bfeaff;width:52px;height:62px;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;background:linear-gradient(145deg,#54b7e72e,#101b24);border:1px solid #54b7e74d;border-radius:7px;place-items:center;font-size:11px;font-weight:800;display:grid}.textbook-library .material-library-icon.kind-pdf{color:#ffb1b5;background:linear-gradient(145deg,#ff6b702b,#21151a);border-color:#ff6b7066}.textbook-library .material-library-icon.kind-video{font-size:20px}.textbook-library .material-library-icon.kind-word{color:#a7c8ff;background:linear-gradient(145deg,#5899ff2b,#121b2a);border-color:#5899ff66;font-size:22px}.textbook-library .material-library-icon.kind-presentation{color:#ffd08e;background:linear-gradient(145deg,#ffa6522b,#241b13);border-color:#ffa65266;font-size:22px}.textbook-library .material-library-card-body{min-width:0}.textbook-library .material-library-card-topline{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.textbook-library .material-library-badge{color:#ffae73;white-space:nowrap;background:#ff7a221a;border:1px solid #ff7a2259;border-radius:4px;align-items:center;min-height:21px;padding:0 7px;font-size:9px;font-weight:700;display:inline-flex}.textbook-library .material-library-category{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.textbook-library .material-library-card h3{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.textbook-library .material-library-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.textbook-library .material-library-meta{color:var(--dim);flex-wrap:wrap;gap:6px 10px;margin-top:11px;font-size:9px;display:flex}.textbook-library .material-library-meta span+span:before{color:#45515e;content:"·";margin-right:10px}.textbook-library .material-library-button{color:#fff7f0;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#d86824,#a9441e);border:1px solid #ff7a228c;border-radius:5px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:10px;font-weight:750;display:inline-flex}.textbook-library .material-library-button:disabled{cursor:wait;opacity:.62}.textbook-library .material-library-button.secondary{color:#dce9ef;background:#16212b;border-color:#3c5060}.textbook-library .material-library-button.secondary:hover:not(:disabled){background:#1b2a36;border-color:#5d778b}.textbook-library .material-library-state{min-height:92px;color:var(--muted);background:#11171fa3;border:1px dashed #354554;border-radius:8px;justify-content:center;align-items:center;gap:11px;padding:18px;font-size:11px;display:flex}.textbook-library .material-library-state strong{color:var(--ink);font-size:12px}.textbook-library .material-library-state.is-error{color:#ffb2b6;background:#ff6b700f;border-color:#ff6b7061;flex-wrap:wrap}.textbook-library .material-library-state.is-error .material-library-button{flex-basis:100%;width:fit-content}.textbook-library .material-library-spinner{border:2px solid #31424d;border-top-color:var(--orange);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite material-library-spin}@keyframes material-library-spin{to{transform:rotate(360deg)}}.material-preview-backdrop{z-index:120;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03060ad6;place-items:center;display:grid;position:fixed;inset:0}.material-preview-dialog{background:#0e141b;border:1px solid #3b4b59;border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(1080px,100%);height:min(760px,100%);min-height:0;display:grid;overflow:hidden;box-shadow:0 30px 100px #0000008c}.material-preview-header{border-bottom:1px solid var(--line);background:#131a22;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex}.material-preview-header h2{text-overflow:ellipsis;white-space:nowrap;margin:7px 0 3px;font-size:17px;overflow:hidden}.material-preview-header small{max-width:min(62vw,640px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.material-preview-actions{align-items:center;gap:8px;display:flex}.material-preview-close{color:#d7e1e8;cursor:pointer;background:#19232d;border:1px solid #364553;border-radius:5px;place-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:grid}.material-preview-close:hover{background:#24313d;border-color:#6b7d8c}.material-preview-content{background:#080b10;place-items:center;min-height:0;padding:18px;display:grid;overflow:auto}.material-preview-content iframe,.material-preview-content video{background:#05070a;border:0;width:100%;height:100%;min-height:0;display:block}.material-preview-content img{object-fit:contain;max-width:100%;max-height:100%;display:block}@media (width<=900px){.textbook-library .material-library-grid{grid-template-columns:1fr}}@media (width<=560px){.textbook-library .material-library-card{grid-template-columns:44px minmax(0,1fr);gap:11px;padding:12px}.textbook-library .material-library-icon{width:44px;height:54px}.textbook-library .material-library-card .material-library-button{grid-column:1/-1;width:100%}.material-preview-header{align-items:flex-start}.material-preview-actions{flex-direction:column-reverse}.material-preview-actions .material-library-button{padding:0 8px;font-size:9px}}@media (width>=901px) and (height<=820px){.textbook-library .material-library-section{margin-top:34px}.textbook-library .material-library-card{padding:12px}}.textbook-library .material-library-card{border-color:var(--line);background:var(--panel);color:var(--ink)}.textbook-library .material-library-card:hover{border-color:var(--blue)}.textbook-library .material-library-icon{border-color:var(--line);background:var(--panel-2);color:var(--blue)}.textbook-library .material-library-icon.kind-pdf{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-ink)}.textbook-library .material-library-icon.kind-word{border-color:var(--blue);background:var(--panel-2);color:var(--blue)}.textbook-library .material-library-icon.kind-presentation{border-color:var(--warning-ink);background:var(--warning-bg);color:var(--warning-ink)}.textbook-library .material-library-badge{border-color:var(--line);background:var(--orange-soft);color:var(--orange)}.textbook-library .material-library-category,.textbook-library .material-library-meta{color:var(--muted)}.textbook-library .material-library-card h3,.textbook-library .material-library-state strong{color:var(--ink)}.textbook-library .material-library-card p,.textbook-library .material-library-count{color:var(--muted)}.textbook-library .material-library-button{border-color:var(--orange);background:var(--primary-bg);color:var(--primary-ink)}.textbook-library .material-library-button:hover:not(:disabled){background:var(--primary-hover-bg)}.textbook-library .material-library-button:focus-visible,.material-preview-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.textbook-library .material-library-button.secondary{border-color:var(--line);background:var(--panel-2);color:var(--ink)}.textbook-library .material-library-button.secondary:hover:not(:disabled){border-color:var(--blue);background:var(--panel-3)}.textbook-library .material-library-state{border-color:var(--line);background:var(--panel-2);color:var(--muted)}.textbook-library .material-library-state.is-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-ink)}.textbook-library .material-library-state.is-error strong{color:var(--danger-ink)}.textbook-library .material-library-spinner{border-color:var(--line);border-top-color:var(--orange)}.material-preview-backdrop{background:var(--overlay-scrim);overscroll-behavior:contain;overflow-y:auto}.material-preview-dialog{border-color:var(--line);background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.material-preview-header{border-color:var(--line);background:var(--panel-2)}.material-preview-header small{color:var(--muted);overflow-wrap:anywhere;white-space:normal}.material-preview-close{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.material-preview-close:hover{border-color:var(--blue);background:var(--panel-2)}.material-preview-content,.material-preview-content iframe,.material-preview-content video{background:var(--viewer-bg)}.textbook-library .material-library-card-topline,.textbook-library .material-library-card-body,.material-preview-header>div:first-child{min-width:0}.material-preview-header>div:first-child{flex:1 1 0}.material-preview-header h2{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;max-width:100%;overflow:visible}.textbook-library .material-library-card h3,.textbook-library .material-library-category{overflow-wrap:anywhere;white-space:normal}@media (width<=560px){.material-preview-dialog{height:auto;max-height:100%}.material-preview-header{flex-wrap:wrap;gap:10px}.material-preview-actions{flex-flow:wrap}.material-preview-header h2{overflow-wrap:anywhere;white-space:normal}}
