.posts{max-width:760px;margin:0 auto;padding-bottom:32px}
.posts-heading{margin:0 0 24px}.posts-heading h1{margin:0 0 6px}.posts-heading p{margin:0;color:var(--ink-soft);font-size:.875rem}
.posts-composer,.posts-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:20px}
.posts-composer{padding:20px 24px 12px}.posts-composer>div{display:flex;align-items:center;gap:14px}.posts-avatar{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font-size:.9rem;font-weight:600}
.posts-start{flex:1;text-align:left;border:1px solid var(--line-strong);border-radius:30px;padding:14px 20px;background:var(--surface);color:var(--ink-soft);cursor:pointer;min-width:0;font:inherit}.posts-start:hover{background:var(--surface-muted)}
.posts-composer footer{display:flex;gap:8px;margin:12px 0 0 58px}.posts-composer footer .button{border-color:transparent;background:transparent}
.posts-card{padding:24px}.posts-card>header,.posts-author{display:flex;gap:12px;align-items:flex-start}.posts-identity{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.posts-identity strong{font-size:.95rem}.posts-identity span{color:var(--ink-soft);font-size:.75rem}.posts-menu{margin-left:auto;position:relative;flex:none}.posts-menu summary{list-style:none;font-size:1.5rem;line-height:1;cursor:pointer;min-width:36px;min-height:36px;text-align:center}.posts-menu summary::-webkit-details-marker{display:none}.posts-menu>div{position:absolute;right:0;top:34px;z-index:2;background:var(--surface);padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 8px 24px #18373214;min-width:150px}.posts-menu .button{display:block;width:100%;text-align:left;margin:4px 0}
.posts-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:20px 0 0}.posts-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.posts-photos[data-count="1"]{grid-template-columns:1fr}.posts-photo{display:block;padding:0;border:0;border-radius:var(--radius-sm);background:var(--surface-muted);cursor:zoom-in;overflow:hidden}.posts-photo img{width:100%;height:260px;object-fit:contain;display:block}.posts-photos[data-count="1"] img{height:auto;max-height:540px}.posts-photo img[hidden]{display:none}
.posts-pdf{display:flex;align-items:center;gap:14px;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;margin-top:20px}.posts-pdf-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:54px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font-size:.7rem;letter-spacing:.05em;flex:none}.posts-pdf>div{min-width:0}.posts-pdf strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.posts-pdf span:not(.posts-pdf-icon){display:block;color:var(--ink-soft);font-size:.8rem;margin-top:5px}.posts-pdf-actions{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap}.posts a{color:var(--brand-deep);font-size:.85rem}.posts-empty{text-align:center;padding:44px 16px;color:var(--ink-soft)}.posts-empty h2{font-size:1.15rem;color:var(--ink)}.posts-status:empty{display:none}.posts-status{margin:12px 0}.posts-status .button{margin-left:12px}
.posts-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:24px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);overflow-y:auto}.posts-dialog::backdrop{background:#102c32a3}.posts-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.posts-dialog-header h2{font-size:1.2rem;margin:0}.posts-form textarea{display:block;box-sizing:border-box;width:100%;min-height:180px;margin:20px 0 12px;padding:8px 0;border:0;background:transparent;color:var(--ink);resize:vertical;font:inherit;line-height:1.6}.posts-add{display:flex;gap:8px}.posts-hint{font-size:.75rem;line-height:1.55;color:var(--ink-soft);margin:12px 0}.posts-form footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.posts-dialog-status{color:var(--ink-soft);font-size:.875rem}.posts-selected-file{display:flex;gap:12px;align-items:center;padding:10px;background:var(--surface-muted);border-radius:var(--radius-sm);margin-bottom:8px}.posts-selected-file img{width:70px;height:70px;object-fit:contain}.posts-selected-file>span:not(.posts-pdf-icon){flex:1;min-width:0;overflow-wrap:anywhere;font-size:.8rem}.posts-selected-file small{display:block;color:var(--ink-soft);margin-top:5px}.posts-preview-image{display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:auto}.posts-unavailable{padding:16px;color:var(--ink-soft)}
.posts button:focus-visible,.posts summary:focus-visible,.posts a:focus-visible,.posts-dialog button:focus-visible,.posts-dialog textarea:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:980px){.library-app .student-shell .sidebar-nav:has([data-view=posts]) .nav-group{grid-template-columns:repeat(3,minmax(0,1fr))}.library-app .student-shell .sidebar-nav:has([data-view=posts]) .nav-item{grid-column:auto}.library-app .student-shell:has([data-view=posts]){padding-bottom:calc(180px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.posts-composer,.posts-card{padding:16px}.posts-composer footer{margin-left:0}.posts-pdf{flex-wrap:wrap;padding:14px}.posts-pdf-actions{width:100%;margin:0}.posts-photo img{height:180px}.posts-dialog{padding:18px}.posts-dialog-header{margin-bottom:16px}.posts-selected-file{flex-wrap:wrap}.posts-heading{margin-bottom:18px}}
