@font-face{font-family:Franie;src:url(/fonts/Franie-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Franie;src:url(/fonts/Franie-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Franie;src:url(/fonts/Franie-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Franie;src:url(/fonts/Franie-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Franie;src:url(/fonts/Franie-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Rooyin;src:url(/fonts/RooyinFree-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--wolvy-ink: #0b0616;--wolvy-violet: #7e3dd9;--wolvy-violet-hover: #976be7;--wolvy-banana: #f7ee7f;--wolvy-mint: #60f5bd;--wolvy-pink: #ec4881;--wolvy-lake: #7dd2fc;--wolvy-lavender: #f6f4fe;--bg-app: #0b0616;--bg-surface: #140c24;--bg-surface-elevated: #1a0f2e;--bg-card: rgba(26, 15, 46, .85);--bg-card-hover: rgba(36, 21, 64, .95);--bg-input: #080410;--bg-sunken: #080410;--border-subtle: rgba(126, 61, 217, .2);--border-medium: rgba(126, 61, 217, .38);--border-glow: rgba(126, 61, 217, .6);--border-strong: #7e3dd9;--brand-primary: #7e3dd9;--brand-secondary: #6228da;--brand-light: #cbbcf6;--brand-glow: rgba(126, 61, 217, .4);--brand-accent: #f7ee7f;--text-primary: #f6f4fe;--text-secondary: #e2dafa;--text-muted: #b096ef;--text-dim: #7839c8;--danger: #ec4881;--danger-glow: rgba(236, 72, 129, .3);--success: #22e5a2;--success-glow: rgba(34, 229, 162, .3);--warning: #f7ee7f;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(11, 6, 22, .5);--shadow-lg: 0 16px 40px rgba(11, 6, 22, .7);--shadow-glow: 0 0 35px rgba(126, 61, 217, .3);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Franie", "Outfit", var(--font-sans);--font-pixel: "Rooyin", monospace;--transition-fast: .15s cubic-bezier(.2, 0, 0, 1);--transition-smooth: .25s cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:-15vw;left:50%;transform:translate(-50%);width:70vw;height:35vw;background:radial-gradient(ellipse at center,rgba(126,61,217,.18),transparent 70%);pointer-events:none;z-index:0;filter:blur(60px)}a{color:var(--brand-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#fff}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea{font-family:inherit;font-size:inherit;color:var(--text-primary)}.app-layout{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:20px 16px 40px;display:flex;flex-direction:column}@media (min-width: 768px){.main-content{padding:24px 24px 48px}}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0b0616e0;border-bottom:1px solid var(--border-subtle);padding:12px 16px;transition:all var(--transition-smooth)}@media (min-width: 768px){.site-header{padding:14px 24px}}.header-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:flex-start}.brand-link{display:inline-flex;align-items:center;text-decoration:none}.brand-logo-img{height:28px;width:auto;object-fit:contain;display:block}@media (min-width: 768px){.brand-logo-img{height:32px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;transition:all var(--transition-smooth);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-primary{background:var(--wolvy-violet);color:#fff;box-shadow:0 4px 14px var(--brand-glow)}.btn-primary:hover{background:var(--wolvy-violet-hover);transform:translateY(-1px);box-shadow:0 6px 20px var(--brand-glow);color:#fff}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--border-medium);color:#fff}.glass-card{background:var(--bg-card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.glass-card:hover{border-color:var(--border-medium)}.player-stage-wrap{width:100%;margin-bottom:20px;position:relative;transition:all var(--transition-smooth)}.player-frame-outer{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000;border:1px solid var(--border-subtle);box-shadow:0 20px 50px #000000bf,0 0 35px #7e3dd926;transition:box-shadow var(--transition-smooth)}.player-frame-outer:hover{box-shadow:0 25px 60px #000000d9,0 0 45px #7e3dd940}.player-aspect-ratio{position:relative;width:100%;padding-bottom:56.25%;background:#05020c}.player-aspect-ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block}.player-ambient-glow{position:absolute;top:5%;left:5%;width:90%;height:90%;filter:blur(50px);opacity:.35;pointer-events:none;z-index:-1;background-size:cover;background-position:center;transition:opacity .5s ease}.player-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0e081eeb;border-top:1px solid rgba(255,255,255,.05);font-size:.82rem;color:var(--text-muted);gap:12px}@media (min-width: 600px){.player-toolbar{padding:10px 16px}}.player-toolbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.player-toolbar-title{color:var(--text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.drm-secure-tag{display:inline-flex;align-items:center;gap:5px;color:var(--wolvy-mint);font-weight:600;font-size:.72rem;background:#60f5bd1a;padding:2px 7px;border-radius:var(--radius-pill);border:1px solid rgba(96,245,189,.25);flex-shrink:0}.player-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.78rem;font-weight:500;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);transition:all var(--transition-fast)}.tool-btn:hover{background:#ffffff1f;color:#fff;border-color:var(--border-medium)}.video-meta-wrapper,.video-info-section{width:100%}.video-main-meta{padding:18px}@media (min-width: 768px){.video-main-meta{padding:24px}}.video-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.video-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:#fff;line-height:1.3;letter-spacing:-.015em;word-break:break-word}@media (min-width: 768px){.video-title{font-size:1.55rem}}.video-actions-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle)}.video-description-box{background:var(--bg-sunken);border-radius:var(--radius-md);padding:14px 16px;border:1px solid var(--border-subtle)}@media (min-width: 768px){.video-description-box{padding:16px 20px}}.video-description-heading{font-size:.78rem;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.video-description-text{color:var(--text-secondary);font-size:.92rem;white-space:pre-wrap;word-break:break-word;line-height:1.6}.video-description-text.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.toggle-desc-btn{margin-top:8px;font-weight:600;font-size:.82rem;color:var(--brand-light);display:inline-flex;align-items:center}.toggle-desc-btn:hover{text-decoration:underline;color:#fff}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 16px;max-width:520px;margin:32px auto}.state-icon-wrap{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.state-icon-wrap.disabled{background:#ec488126;color:var(--danger);box-shadow:0 0 25px var(--danger-glow)}.state-icon-wrap.not-found{background:#f7ee7f26;color:var(--warning)}.state-icon-wrap.error{background:#ec488126;color:var(--danger)}.state-title{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:#fff;margin-bottom:8px}.state-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin-bottom:20px}.skeleton{background:linear-gradient(90deg,#140c24,#22143d,#140c24);background-size:200% 100%;animation:shimmer 1.6s infinite ease-in-out;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.modal-card{width:100%;max-width:500px;background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 50px #7e3dd940;overflow:hidden;animation:modalPop .25s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.modal-header h3{font-family:var(--font-display);font-size:1.1rem;color:#fff}.modal-close-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.modal-close-btn:hover{background:#ffffff1a;color:#fff}.modal-body{padding:18px;display:flex;flex-direction:column;gap:16px}.copy-input-group{display:flex;gap:8px}.text-field{flex:1;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:9px 12px;color:#fff;font-size:.85rem;outline:none;min-width:0;transition:border-color var(--transition-fast)}.text-field:focus{border-color:var(--wolvy-violet);box-shadow:0 0 0 3px #7e3dd940}.social-share-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}@media (max-width: 480px){.social-share-row{grid-template-columns:repeat(3,1fr)}}.social-share-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 4px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);font-size:.7rem;font-weight:500;transition:all var(--transition-fast);text-align:center}.social-share-btn:hover{background:#7e3dd933;border-color:var(--border-medium);color:#fff;transform:translateY(-2px)}.qr-container{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--radius-md);background:var(--bg-sunken);border:1px solid var(--border-subtle)}@media (max-width: 420px){.qr-container{flex-direction:column;text-align:center}}.qr-box{background:#fff;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.site-footer{margin-top:auto;border-top:1px solid var(--border-subtle);background:#080410;padding:18px 16px}@media (min-width: 768px){.site-footer{padding:20px 24px}}.footer-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--text-muted)}.footer-copyright{color:var(--text-secondary)}.footer-brand-name{font-weight:600;color:#fff}.footer-brand-name:hover{color:var(--wolvy-banana)}.footer-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.footer-links a{color:var(--text-muted);font-size:.82rem;transition:color var(--transition-fast)}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-dot{color:var(--text-dim);font-size:.9rem}.player-layout-grid{display:flex;flex-direction:column;width:100%;gap:16px;margin-bottom:24px}@media (min-width: 1024px){.player-layout-grid.with-transcript{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px}}.transcript-panel{background:var(--bg-surface-elevated, #170d2b);border:1px solid var(--border-medium, rgba(126, 61, 217, .35));border-radius:var(--radius-lg, 16px);display:flex;flex-direction:column;height:100%;max-height:580px;min-height:380px;overflow:hidden;box-shadow:var(--shadow-md, 0 10px 25px rgba(0, 0, 0, .4));animation:fadeIn .2s ease-out}@media (min-width: 1024px){.transcript-panel{max-height:calc(100vh - 220px);min-height:480px}}.transcript-panel-header{padding:14px 16px;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));display:flex;flex-direction:column;gap:10px;background:#0e0818b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0}.transcript-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.transcript-panel-title{font-family:var(--font-display, sans-serif);font-size:1.05rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.transcript-header-actions{display:flex;align-items:center;gap:8px}.transcript-panel-close-btn{width:28px;height:28px;border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;color:var(--text-muted, #94a3b8);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.transcript-panel-close-btn:hover{background:#ffffff1a;color:#fff}.transcript-lang-picker{display:flex;align-items:center;gap:6px;background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:var(--radius-md, 8px);padding:3px 8px}.transcript-lang-icon{color:var(--text-muted, #94a3b8);flex-shrink:0}.transcript-lang-select{background:transparent;border:none;color:#fff;font-size:.78rem;font-weight:500;outline:none;cursor:pointer}.transcript-lang-select option{background:#170d2b;color:#fff}.transcript-search-container{display:flex;flex-direction:column;gap:6px;width:100%}.transcript-search-input-wrap{position:relative;display:flex;align-items:center;width:100%}.transcript-search-icon{position:absolute;left:10px;color:var(--text-muted, #94a3b8);pointer-events:none}.transcript-search-input{width:100%;background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:var(--radius-md, 8px);padding:7px 30px;color:#fff;font-size:.82rem;outline:none;transition:border-color var(--transition-fast, .15s ease),box-shadow var(--transition-fast, .15s ease)}.transcript-search-input:focus{border-color:var(--wolvy-violet, #7e3dd9);box-shadow:0 0 0 2px #7e3dd940}.transcript-search-clear-btn{position:absolute;right:8px;color:var(--text-muted, #94a3b8);display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:2px;border-radius:4px;cursor:pointer}.transcript-search-clear-btn:hover{color:#fff;background:#ffffff1a}.transcript-search-controls{display:flex;align-items:center;justify-content:space-between;font-size:.74rem;color:var(--text-secondary, #cbd5e1);padding:0 2px}.transcript-search-stepper{display:flex;align-items:center;gap:4px}.transcript-step-btn{width:22px;height:22px;border-radius:var(--radius-sm, 6px);background:#ffffff0f;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));color:var(--text-secondary, #cbd5e1);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.transcript-step-btn:hover:not(:disabled){background:#7e3dd94d;color:#fff;border-color:var(--border-medium, rgba(126, 61, 217, .4))}.transcript-step-btn:disabled{opacity:.35;cursor:not-allowed}.transcript-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.transcript-segment-list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px;outline:none}.transcript-segment-list:focus-visible{box-shadow:inset 0 0 0 2px var(--wolvy-violet, #7e3dd9)}.transcript-row{display:flex;gap:12px;padding:6px 8px;border-radius:var(--radius-md, 8px);transition:background var(--transition-fast, .15s ease);content-visibility:auto;contain-intrinsic-size:0 40px}.transcript-row:hover{background:#ffffff0a}.transcript-timestamp{font-family:var(--font-mono, monospace);font-size:.76rem;font-weight:600;color:#a78bfa;flex-shrink:0;padding-top:2px;-webkit-user-select:none;user-select:none}.transcript-text{font-size:.85rem;line-height:1.5;color:#e2e8f0;word-break:break-word;-webkit-user-select:text;user-select:text}.transcript-mark{background:#f7ee7f59;color:#fff;padding:0 2px;border-radius:2px}.transcript-mark-current{background:#f59e0b;color:#000;font-weight:600;outline:2px solid #fbbf24}.transcript-state-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--text-secondary, #cbd5e1);font-size:.86rem}.transcript-spinner{width:28px;height:28px;border:3px solid rgba(126,61,217,.2);border-top-color:var(--wolvy-violet, #7e3dd9);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.transcript-state-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 16px;text-align:center;color:var(--text-secondary, #cbd5e1)}.transcript-error-icon{color:var(--danger, #ef4444)}.transcript-error-message{font-size:.84rem;line-height:1.45;color:var(--text-secondary, #cbd5e1);margin:0;max-width:280px}.transcript-retry-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 14px;border-radius:var(--radius-md, 8px);background:#7e3dd940;border:1px solid var(--border-medium, rgba(126, 61, 217, .4));color:#fff;font-size:.82rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.transcript-retry-btn:hover{background:var(--wolvy-violet, #7e3dd9)}.tool-btn.active{background:#7e3dd959;border-color:var(--border-glow, rgba(126, 61, 217, .6));color:#fff;box-shadow:0 0 12px #7e3dd966}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
