:root{--blue:#0659ef;--ink:#18202b;--muted:#647184;--paper:#f4f6f8;--line:#e2e7ee}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-weight:750}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--blue);color:white}
button{font:inherit;font-weight:650;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:9px 13px;cursor:pointer}button:disabled{opacity:.45}.primary{background:var(--blue);color:white;border-color:var(--blue);padding:12px 20px}
.page{max-width:1050px;margin:auto;padding:24px 16px 60px}.intro{max-width:620px;margin:9vh auto 0;text-align:center;padding:35px 20px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 40px #15243a0b}
.file-symbol{display:grid;place-items:center;margin:auto;width:64px;height:64px;border-radius:18px;background:#eaf1ff;color:var(--blue);font-size:32px}h1{font-size:clamp(1.4rem,4vw,2rem);line-height:1.2;overflow-wrap:anywhere}.intro p,.status{color:var(--muted)}.supported,.notice{font-size:.86rem}.hidden{display:none!important}
.reader{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.document-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--line)}.document-heading h1{margin:3px 0;font-size:1.25rem}.eyebrow{margin:0;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.12em}.status{margin:3px 0;font-size:.9rem}
.pdf-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pdf-controls button{min-width:38px;padding:7px}#pageNumber{width:54px;padding:6px;border:1px solid var(--line);border-radius:7px;font:inherit}
.document-content{padding:20px;min-height:50vh;overflow:auto}.pdf-page{margin:0 auto 20px;max-width:100%;background:white;box-shadow:0 2px 12px #15243a1a}.pdf-page canvas{display:block;max-width:100%;height:auto;margin:auto}
.docx-content{max-width:850px;margin:auto;padding:clamp(12px,4vw,48px);line-height:1.75;overflow-wrap:anywhere}.docx-content img{max-width:100%;height:auto}.docx-content table{border-collapse:collapse;max-width:100%}.docx-content td,.docx-content th{border:1px solid #bfc7d1;padding:6px}
.text-content{white-space:pre-wrap;overflow-wrap:anywhere;max-width:900px;margin:auto;font:15px/1.75 ui-monospace,Consolas,monospace}.slide-list{display:grid;gap:16px;max-width:900px;margin:auto}.slide{border:1px solid var(--line);border-radius:12px;padding:18px;background:white}.slide h2{font-size:1rem;color:var(--blue);margin:0 0 8px}.slide p{white-space:pre-wrap;overflow-wrap:anywhere}
.error-box{margin:18px 0;padding:16px;border:1px solid #ffc6c6;border-radius:12px;background:#fff1f1;color:#8a1d1d}footer{text-align:center;padding:20px;color:var(--muted);font-size:.8rem}
@media(max-width:600px){.toolbar{padding:10px 12px}.brand{font-size:.9rem}.brand-mark{width:32px;height:32px}.toolbar button{padding:8px;font-size:.82rem}.document-heading{align-items:flex-start;flex-direction:column}.document-content{padding:10px}.intro{margin-top:4vh;padding:28px 16px}}
@media(prefers-color-scheme:dark){:root{--ink:#eef2f7;--muted:#aab5c5;--paper:#11151b;--line:#303844}body{background:var(--paper)}.toolbar,.intro,.reader,.slide{background:#1a2029}.brand{color:var(--ink)}button{background:#222a35;color:var(--ink);border-color:var(--line)}.error-box{background:#351c20;color:#ffd7da;border-color:#75323b}}

.media-content{padding:clamp(12px,3vw,28px);display:grid;place-items:center;min-height:35vh}
.media-content audio{width:min(100%,760px)}
.media-content video{display:block;width:100%;max-height:75vh;background:#080a0d;border-radius:12px}
.media-content img{display:block;max-width:100%;max-height:75vh;object-fit:contain;border-radius:10px}
.media-controls{display:flex;gap:6px;flex-wrap:wrap}
.photo-viewer{width:100%;display:grid;place-items:center;gap:12px}
.photo-viewer .photo-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.photo-viewer img{transition:transform .15s ease}
.media-caption{color:var(--muted);font-size:.9rem;text-align:center;overflow-wrap:anywhere}
