:root{--bg: #ebebeb;--surface: #ffffff;--brand: #ff565b;--brand-dark: #e04046;--ink: #1a1a1a;--ink-soft: #666666;--ink-muted: #aaaaaa;--border: #e0e0e0;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:52px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:100}.app-logo{color:var(--brand);font-weight:800;font-size:16px;letter-spacing:.04em;text-decoration:none}.app-header-sep{color:var(--border);font-size:14px;-webkit-user-select:none;user-select:none}.app-header-breadcrumb{font-size:13px;color:var(--ink-soft);font-weight:500}.app-header-userid{margin-left:auto;font-size:11px;color:var(--ink-muted);font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.04em}.page-root{min-height:100vh;display:flex;flex-direction:column}.home-center{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.home-card{background:var(--surface);width:100%;max-width:420px;padding:32px;border-radius:8px;box-shadow:0 4px 24px #00000014}.home-badge{display:inline-block;background:#fff3f3;color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:4px;border:1px solid #ffcfcf;margin-bottom:16px}.home-title{font-size:22px;font-weight:800;color:var(--ink);margin:0 0 8px;letter-spacing:.01em}.home-user{font-size:13px;color:var(--ink-soft);margin:0 0 20px;font-weight:500}.home-user code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;background:#f5f5f5;padding:1px 5px;border-radius:3px}.home-divider{border:none;border-top:1px solid var(--border);margin:0 0 20px}.home-disclaimer{font-size:12.5px;color:var(--ink-soft);line-height:1.65;margin:0 0 24px}.home-disclaimer strong{color:var(--ink)}.btn-primary{width:100%;background:var(--brand);color:#fff;border:none;padding:12px;border-radius:5px;font-size:14px;font-weight:600;letter-spacing:.03em;cursor:pointer;font-family:var(--sans);transition:background .15s ease}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.full-notice{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.full-notice .home-badge{margin-bottom:0;white-space:nowrap;flex-shrink:0}.full-notice-body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink)}.full-notice-body code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;background:#f5f5f5;padding:1px 5px;border-radius:3px}.full-notice-disclaimer{font-size:11.5px;color:var(--ink-soft);line-height:1.5}.full-notice-disclaimer strong{color:var(--ink)}.viewer-main{display:flex;flex-direction:column;padding:16px 24px 20px;max-width:860px;width:100%;margin:0 auto;gap:12px;height:calc(100vh - 52px)}.video-area{flex:1;min-height:0;position:relative;border-radius:6px;overflow:hidden;box-shadow:0 4px 20px #00000026;background:#000}.video-area .video-frame{position:absolute;top:0;right:0;bottom:0;left:0;flex:unset;min-height:unset;border-radius:0;box-shadow:none}.video-frame--hidden{visibility:hidden}.video-frame-wrap{flex:1;min-height:0;position:relative;border-radius:6px;overflow:hidden}.video-frame-wrap .video-frame{position:absolute;top:0;right:0;bottom:0;left:0;flex:unset;min-height:unset;border-radius:0;box-shadow:none}.video-frame{flex:1;min-height:0;margin:0;padding:0;position:relative;overflow:hidden;border-radius:6px}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;display:block}.progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:2px;transition:width .3s ease}.pager{display:flex;align-items:center;justify-content:space-between;gap:16px}.pager-button{font-family:var(--sans);font-size:13px;font-weight:500;background:transparent;border:1px solid var(--border);color:var(--ink-soft);padding:9px 18px;border-radius:4px;cursor:pointer;min-width:120px;transition:border-color .15s,color .15s,opacity .15s}.pager-button:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.pager-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pager-button-primary{background:var(--brand);border-color:var(--brand);color:#fff}.pager-button-primary:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.pager-button:disabled{opacity:.35;cursor:not-allowed}.pager-indicator{font-size:12px;color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums}.video-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#1a1a1a,#2a2a2a,#1a1a1a);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.video-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#f4eee4;font-size:.9rem;padding:24px;text-align:center}.video-error-detail{font-size:.74rem;color:#b8b1a3;font-family:ui-monospace,SF Mono,Menlo,monospace;max-width:100%;overflow-wrap:anywhere}.page-status{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--ink-soft);font-size:14px}.page-status-error{color:var(--brand)}@media (max-width: 520px){.viewer-main{padding:12px;gap:12px}.home-card{padding:24px}.pager-button{min-width:90px;padding:8px 12px;font-size:12px}}
