.tw-context{display:grid;grid-template-columns:1fr minmax(220px,1fr) auto;align-items:center;gap:14px;padding:16px 20px;margin:12px 0 18px;border:1px solid #c9d8ee;border-radius:18px;background:linear-gradient(120deg,#eff8ff,#f3efff)}.tw-context strong{font-size:18px}.tw-context p{margin:5px 0}.tw-context label{margin:0}.tw-context select{margin:5px 0 0}.tw-teacher #teacher-note-create{display:none!important}.tw-teacher #teacher-content>.grid{grid-template-columns:1fr}.tw-sources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.tw-sources button{text-align:left;background:white;border:1px solid #d8e1f0;color:#193459;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:14px;min-height:145px;white-space:normal;margin:0}.tw-sources button span{font-size:25px}.tw-sources button small{font-weight:normal;line-height:1.5}.tw-sources button.selected{border:2px solid #5141c8;background:#f3f1ff}.tw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tw-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tw-hero{padding:20px;color:white;background:linear-gradient(120deg,#1b4b8a,#6143ce);border-radius:20px;margin:15px 0}.tw-hero h2,.tw-hero p{color:inherit}.tw-pattern-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center;border-bottom:1px solid #e0e8f4;padding:8px 0}.tw-check{display:flex;align-items:center;gap:8px}.tw-check input{width:auto!important}.tw-link-library{border-top:1px solid #dce4f0;margin-top:20px;padding-top:14px}.tw-link-library summary{cursor:pointer;font-weight:bold}.tw-library{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.tw-note-state,.tw-ai-state{white-space:pre-wrap;line-height:1.6}.tw-teacher #tw-wallet .vb-usage-wrap,.tw-teacher #tw-wallet .vb-banner{margin:12px 0}.tw-note-create textarea[name="body"]{min-height:240px}.tw-shell{padding-bottom:100px}.tw-shell input,.tw-shell textarea,.tw-shell select,.tw-note-create input,.tw-note-create select,.tw-note-create textarea{max-width:100%;box-sizing:border-box}.tw-teacher .vb-banner:not(#tw-wallet .vb-banner),.tw-teacher .vb-usage-wrap:not(#tw-wallet .vb-usage-wrap){display:none!important}@media(max-width:720px){.tw-context{grid-template-columns:1fr}.tw-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-grid{grid-template-columns:1fr}.tw-pattern-row{grid-template-columns:1fr 1fr}.tw-pattern-row strong{grid-column:1/-1}.tw-sources button{min-height:140px}}

 #teacher-content .source-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.tsn-panel{border:1px solid #c9d7f3;border-radius:18px;padding:16px;background:linear-gradient(135deg,#f0f7ff,#faf4ff)}.tsn-panel h3{margin:0 0 8px}.tsn-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tsn-actions button{margin:0}.tsn-pages{display:grid;gap:12px}.tsn-page{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #d3dff2;border-radius:14px;background:white}.tsn-page img{width:100%;max-height:210px;object-fit:contain;cursor:zoom-in}.tsn-page textarea{min-height:150px}.tsn-warning{color:#a53d00;font-size:13px;white-space:pre-wrap}.tsn-status{font-size:13px;color:#30436f;white-space:pre-wrap}.tsn-editor{background:white;border:1px solid #bfd0ea;border-radius:14px;padding:12px}.tsn-editor canvas{width:100%;max-height:65vh;object-fit:contain;touch-action:none;display:block;cursor:crosshair}.tsn-editor[hidden]{display:none!important}#tsn-final{min-height:220px}#tsn-review{width:auto;margin-right:8px}#tsn-review-label{display:flex;align-items:center;gap:6px}.tsn-live{min-height:22px;color:#4e5d80;font-style:italic}.tsn-photo-view{position:fixed;inset:0;background:#14203be8;z-index:100000;display:flex;flex-direction:column;align-items:center;padding:20px}.tsn-photo-view img{max-width:100%;max-height:85vh;object-fit:contain}.tsn-photo-view button{align-self:flex-end}.tsn-mic-active{background:#b33447!important}@media(max-width:540px){.tsn-page{grid-template-columns:1fr}.tsn-page img{max-height:160px}.tsn-panel{padding:12px}.tsn-actions button{flex:1 1 140px}}

