:root{color:#111827;background:#f3f4f6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0}body,#app,.app-shell{min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 32px;background:#111827;color:#fff}.app-header h1{margin:0;font-size:24px}.app-header p{margin:4px 0 0;color:#d1d5db}.app-header__actions{display:flex;align-items:center;gap:16px}.app-header nav{display:flex;gap:16px}.app-header a{color:#fff;text-decoration:none;font-weight:600}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:#ffffff1a;font-size:13px}.user-chip__icon{font-size:16px}.app-main{max-width:1200px;margin:0 auto;padding:24px 32px 48px}.page-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0f172a14}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}.placeholder-box{border:1px dashed #9ca3af;border-radius:12px;padding:16px;background:#f9fafb}.search-bar{display:flex;gap:12px;margin-top:16px}.search-bar input{flex:1;padding:12px 14px;border-radius:10px;border:1px solid #d1d5db}.search-bar button{padding:12px 18px;border:none;border-radius:10px;background:#2563eb;color:#fff;cursor:pointer}.meta-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.meta-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e5e7eb;font-size:13px}.meta-badge--primary{background:#dbeafe;color:#1d4ed8}.page-section{margin-top:28px}.page-section__header h3{margin:0;font-size:20px}.page-section__header p{margin:6px 0 0;color:#6b7280}.page-section__body{margin-top:16px}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.video-card{border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden}.video-card__preview-link{display:block;text-decoration:none}.preview-cover{border-bottom:1px solid #e5e7eb;background:#0f172a}.preview-cover--detail{border-radius:16px;overflow:hidden;border:1px solid #e5e7eb}.preview-cover__screen{position:relative;height:148px;display:flex;align-items:center;justify-content:center;padding:16px}.preview-cover--detail .preview-cover__screen{height:320px}.preview-cover__screen span{font-size:32px;font-weight:800;letter-spacing:2px}.preview-cover__play{position:absolute;left:16px;bottom:16px;width:48px;height:48px;border:none;border-radius:999px;background:#0f172ab8;color:#fff;font-size:20px}.preview-cover--detail .preview-cover__play{left:24px;bottom:24px;width:64px;height:64px;font-size:26px}.preview-cover__controls{padding:12px 14px 14px;background:#111827;color:#e5e7eb}.preview-cover__progress{height:6px;border-radius:999px;background:#ffffff26;overflow:hidden}.preview-cover__progress span{display:block;width:38%;height:100%;border-radius:999px;background:#f97316}.preview-cover__toolbar{display:flex;justify-content:space-between;margin-top:10px;font-size:13px}.video-card__body{padding:16px}.video-card h3{margin:0;font-size:18px}.video-card h3 a{color:#111827;text-decoration:none}.video-card__meta,.video-card__subtitle,.helper-text,.eyebrow{color:#6b7280}.video-card__meta,.video-card__subtitle,.helper-text{margin:8px 0 0}.detail-header h2{margin:6px 0 0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.product-tag-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.product-tag-group-card{border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:16px}.product-tag-group-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-tag-group-card__body{margin-top:12px}.product-tag-item+.product-tag-item{margin-top:14px;padding-top:14px;border-top:1px dashed #d1d5db}.product-tag-item__title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0;transform:translateY(8px)}
