.ucs-file-viewer-p2{--p2-border:var(--ucs-border,#e4e7ec);--p2-ink:var(--ucs-ink,#101828);--p2-muted:var(--ucs-muted,#667085);--p2-surface:var(--ucs-surface,#fff);--p2-soft:var(--ucs-soft,#f8fafc);display:grid;gap:18px}.ucs-p2-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.ucs-p2-head h3{margin:2px 0 0;color:var(--p2-ink);font-size:1.15rem}.ucs-p2-head p{margin:0;max-width:680px;color:var(--p2-muted)}.ucs-p2-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ucs-primary,#2563eb)}.ucs-p2-upload{position:relative;display:grid;place-items:center;min-height:150px;padding:24px;border:1.5px dashed var(--p2-border);border-radius:var(--ucs-radius-lg,16px);background:linear-gradient(180deg,var(--p2-surface),var(--p2-soft));cursor:pointer;text-align:center;transition:.18s ease}.ucs-p2-upload:hover,.ucs-p2-upload.is-dragging{border-color:var(--ucs-primary,#2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--ucs-primary,#2563eb) 10%,transparent)}.ucs-p2-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.ucs-p2-upload-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--ucs-primary,#2563eb) 10%,white);color:var(--ucs-primary,#2563eb);font-size:24px;font-weight:700}.ucs-p2-upload strong{margin-top:7px;color:var(--p2-ink)}.ucs-p2-upload small{color:var(--p2-muted)}.ucs-p2-status{margin:0;padding:10px 12px;border:1px solid var(--p2-border);border-radius:10px;background:var(--p2-soft);color:var(--p2-muted);font-size:.9rem}.ucs-p2-status.is-ok{border-color:#b7ebc6;background:#f0fdf4;color:#166534}.ucs-p2-status.is-error{border-color:#fecaca;background:#fef2f2;color:#b42318}.ucs-p2-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.ucs-p2-toolbar>.ucs-field{min-width:130px;flex:0 1 200px}.ucs-p2-toolbar>.ucs-field:first-child{flex-grow:1}.ucs-p2-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.ucs-p2-stats>div{padding:12px;border:1px solid var(--p2-border);border-radius:12px;background:var(--p2-surface)}.ucs-p2-stats strong,.ucs-p2-stats span{display:block}.ucs-p2-stats strong{color:var(--p2-ink);font-size:.95rem;overflow-wrap:anywhere}.ucs-p2-stats span{margin-top:3px;color:var(--p2-muted);font-size:.78rem}.ucs-p2-source{margin:0;max-width:100%;max-height:620px;overflow:auto;padding:16px;border:1px solid var(--p2-border);border-radius:12px;background:#0b1220;color:#e5e7eb;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;tab-size:2}.ucs-p2-note{margin:0;color:var(--p2-muted);font-size:.83rem;line-height:1.55}.ucs-p2-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--p2-border);border-radius:12px}.ucs-p2-table{width:100%;border-collapse:collapse;min-width:680px;background:var(--p2-surface)}.ucs-p2-table th,.ucs-p2-table td{padding:9px 11px;border-bottom:1px solid var(--p2-border);text-align:left;vertical-align:top;font-size:.85rem}.ucs-p2-table th{position:sticky;top:0;background:var(--p2-soft);color:var(--p2-ink);z-index:1}.ucs-p2-hash{display:block;max-width:100%;overflow:auto;word-break:break-all;color:var(--p2-ink)}
.ucs-pptx-shell,.ucs-epub-shell,.ucs-yaml-shell,.ucs-sql-shell{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:14px;min-height:500px}.ucs-pptx-side,.ucs-epub-toc,.ucs-yaml-outline,.ucs-sql-outline{min-width:0;padding:12px;border:1px solid var(--p2-border);border-radius:14px;background:var(--p2-soft);overflow:auto}.ucs-pptx-thumbs,.ucs-epub-toc-list,.ucs-yaml-outline,.ucs-sql-outline{display:grid;gap:8px}.ucs-pptx-thumb,.ucs-epub-toc button,.ucs-yaml-outline button,.ucs-sql-outline button{width:100%;border:1px solid var(--p2-border);border-radius:9px;background:var(--p2-surface);color:var(--p2-ink);padding:8px;text-align:left;cursor:pointer}.ucs-pptx-thumb.is-active,.ucs-epub-toc button.is-active{border-color:var(--ucs-primary,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--ucs-primary,#2563eb) 12%,transparent)}.ucs-pptx-main,.ucs-epub-reader{display:grid;gap:12px;min-width:0}.ucs-pptx-stage{display:grid;place-items:start center;min-height:420px;padding:16px;overflow:auto;border:1px solid var(--p2-border);border-radius:14px;background:#e5e7eb}.ucs-pptx-slide{position:relative;width:min(100%,960px);overflow:hidden;transform-origin:top center;box-shadow:0 12px 36px rgba(16,24,40,.12);background:#fff}.ucs-pptx-slide.is-thumb{width:100%;box-shadow:none}.ucs-pptx-object{position:absolute;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;white-space:pre-wrap;line-height:1.15}.ucs-pptx-object img{width:100%;height:100%;object-fit:contain}.ucs-pptx-object.is-text{padding:1px 2px}.ucs-pptx-table{width:100%;height:100%;border-collapse:collapse;font-size:8px}.ucs-pptx-table td{border:1px solid #cbd5e1;padding:2px}.ucs-pptx-thumb>span{display:block;margin-bottom:5px;font-size:.75rem;color:var(--p2-muted)}.ucs-epub-reader iframe{width:100%;min-height:640px;border:1px solid var(--p2-border);border-radius:14px;background:#fff}.ucs-epub-toc-list{margin-top:10px;max-height:680px;overflow:auto}
.ucs-svg-shell,.ucs-heic-shell,.ucs-font-shell,.ucs-binary-shell,.ucs-metadata-shell,.ucs-jsonl-shell,.ucs-log-shell,.ucs-large-text-shell,.ucs-archive-p2-shell{display:grid;gap:14px}.ucs-svg-preview,.ucs-heic-shell canvas{display:grid;place-items:center;max-width:100%;overflow:auto;padding:20px;border:1px solid var(--p2-border);border-radius:14px;background-image:linear-gradient(45deg,#f2f4f7 25%,transparent 25%),linear-gradient(-45deg,#f2f4f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f2f4f7 75%),linear-gradient(-45deg,transparent 75%,#f2f4f7 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.ucs-svg-preview img{max-width:100%;max-height:640px}.ucs-heic-shell canvas{height:auto;padding:0;background:#fff}.ucs-font-specimen,.ucs-font-glyphs{padding:20px;border:1px solid var(--p2-border);border-radius:14px;background:var(--p2-surface);color:var(--p2-ink);overflow-wrap:anywhere}.ucs-font-specimen{min-height:130px;display:flex;align-items:center}.ucs-font-glyphs{white-space:pre-wrap;font-size:28px;line-height:1.6}.ucs-hex-grid{overflow:auto;border:1px solid var(--p2-border);border-radius:12px;background:#0b1220;color:#e5e7eb;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.ucs-hex-row{display:grid;grid-template-columns:90px minmax(390px,1fr) minmax(140px,.5fr);gap:14px;padding:4px 10px;border-bottom:1px solid #1f2937}.ucs-hex-offset{color:#93c5fd}.ucs-hex-bytes{white-space:pre}.ucs-hex-ascii{color:#a7f3d0;white-space:pre}.ucs-yaml-shell>section,.ucs-sql-shell>section{min-width:0;display:grid;gap:10px}.ucs-yaml-outline,.ucs-sql-outline{max-height:650px;align-content:start}.ucs-yaml-outline>strong,.ucs-sql-outline>strong{margin-bottom:6px}.ucs-yaml-outline button,.ucs-sql-outline button{font-size:.8rem}.ucs-log-view{max-height:680px;overflow:auto;border:1px solid var(--p2-border);border-radius:12px;background:#0b1220;color:#e5e7eb;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.ucs-log-line{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:3px 8px;border-bottom:1px solid #172033}.ucs-log-line code{white-space:pre}.ucs-log-view.is-wrap .ucs-log-line code{white-space:pre-wrap;overflow-wrap:anywhere}.ucs-log-line.is-error,.ucs-log-line.is-fatal{background:rgba(239,68,68,.09)}.ucs-log-line.is-warn{background:rgba(245,158,11,.08)}.ucs-log-line.is-info{background:rgba(59,130,246,.05)}.ucs-log-filter{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--p2-muted)}.ucs-large-text-shell>.ucs-p2-source{min-height:520px}.ucs-p2-details summary{cursor:pointer;color:var(--p2-ink);font-weight:700;margin-bottom:8px}
@media(max-width:860px){.ucs-pptx-shell,.ucs-epub-shell,.ucs-yaml-shell,.ucs-sql-shell{grid-template-columns:1fr}.ucs-pptx-side,.ucs-epub-toc{max-height:220px}.ucs-pptx-thumbs,.ucs-epub-toc-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.ucs-p2-head{align-items:flex-start;flex-direction:column}.ucs-pptx-stage{min-height:300px}.ucs-epub-reader iframe{min-height:520px}.ucs-hex-row{grid-template-columns:74px minmax(360px,1fr) 130px}}
@media(max-width:600px){.ucs-p2-toolbar{align-items:stretch}.ucs-p2-toolbar>.ucs-field{flex:1 1 100%;min-width:0}.ucs-p2-toolbar>.ucs-button{flex:1}.ucs-p2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ucs-pptx-stage{padding:8px}.ucs-pptx-thumbs,.ucs-epub-toc-list{grid-template-columns:1fr 1fr}.ucs-font-specimen{padding:14px}.ucs-hex-grid{font-size:11px}.ucs-large-text-shell>.ucs-p2-source{min-height:420px}}
